Từ trang wiki này :
WPA và WPA2 sử dụng các khóa có nguồn gốc từ một cái bắt tay EAPOL để mã hóa lưu lượng. Trừ khi tất cả bốn gói bắt tay đều có mặt cho phiên bạn đang cố giải mã, Wireshark sẽ không thể giải mã lưu lượng. Bạn có thể sử dụng bộ lọc hiển thị eapol để xác định vị trí các gói EAPOL trong bản chụp của bạn.
Tôi cũng nhận thấy rằng việc giải mã cũng hoạt động với (1, 2, 4), nhưng không phải với (1, 2, 3). Theo như tôi biết thì hai gói đầu tiên là đủ, ít nhất là đối với những gì liên quan đến lưu lượng unicast. Ai đó có thể vui lòng giải thích chính xác làm thế nào để Wireshark đối phó với điều đó, nói cách khác tại sao chỉ có chuỗi cũ hoạt động, cho rằng gói thứ tư chỉ là một sự thừa nhận? Ngoài ra, có đảm bảo rằng (1, 2, 4) sẽ luôn hoạt động khi (1, 2, 3, 4) hoạt động không?
Trường hợp thử nghiệm
Đây là cái bắt tay được nén (1, 2, 4) và một ARP
gói được mã hóa (SSID : SSID
, password password
:) trong base64
mã hóa:
H4sICEarjU8AA2hhbmRzaGFrZS5jYXAAu3J400ImBhYGGPj / n4GhHkhfXNHr37KQgweqAwQzMAgx 6HkAKbFWzgUMhxgZGDiYrjIwKGUqcW5g4Ldd3rcFQn5IXbWKGaiso4 + RmSH + H0MngwLUZMarj4Rn S8vInf5yfO7mgrMyr9g / Jpa9XVbRdaxH58v1fO3vDCQDkCNv7mFgWMsAwXBHMoEceQ3kSMZbDFDn ITk1gBnJkeX / GDkRjmyccfus4BKl75HC2cnW1eXrjExNf66uYz + VGLl + snrF7j2EnHQy3JjDKPb9 3fOd9zT0TmofYZC4K8YQ8IkR6JaAT0zIJMjxtWaMmCEMdvwNnI5PYEYJYSTHM5EegqhggYbFhgsJ 9gJXy42PMx9JzYKEcFkcG0MJULYE2ZEGrZwHIMnASwc1GSw4mmH1JCCNQYEF7C7tjasVT + 0 / J3LP gie59HFL + 5RDIdmZ8rGMEldN5s668eb / tp8vQ + 7OrT9jPj / B7425QIGJI3Pft72dLxav8BefvcGU 7 + kfABxJX + SjAgAA
Giải mã với:
$ base64 -d | gunzip > handshake.cap
Chạy tshark
để xem nếu nó giải mã chính xác ARP
gói:
$ tshark -r handshake.cap -o wlan.enable_decryption:TRUE -o wlan.wep_key1:wpa-pwd:password:SSID
Nó nên in:
1 0,000000 D-Link_a7: 8e: b4 -> HonHaiPr_22: 09: b0 Khóa EAPOL 2 0,006997 HonHaiPr_22: 09: b0 -> D-Link_a7: 8e: b4 Khóa EAPOL 3 0,038137 HonHaiPr_22: 09: b0 -> D-Link_a7: 8e: b4 Khóa EAPOL 4 0,376050 ZyxelCom_68: 3a: e4 -> HonHaiPr_22: 09: b0 ARP 192.168.1.1 nằm ở 00: a0: c5: 68: 3a: e4