用Wireshark提取WPA握手包

进入正文前,先来看一张截图,如图1,使用“aircrack-ng wpa.cap -w password.lst”命令后,程序会提示输入待破解网络的序号,此时只要提供一个序号即可。注意:1:命令中不需要输入麻烦的ESSID;2:存在 一个非WPA加密的ESSID。



    当你想把含有WPA握手包的CAP文件分享给别人的时候,你可能会发现CAP包是如此的巨大,实际上,对于aircrack-ng程序而言,CAP包中实际需要的信息可能还不超过10KB,如何将这些信息提取出来呢?

    从CAP文件中提取WPA的握手包实际上就是提取EAPOL(LAN上的EAP)协议包,在Wireshark的Filter中输入“eapol”即可获得,如图2:



但这样获得的CAP文件用aircrack-ng打开会发现丢失了ESSID,注意:那个非WPA加密的ESSID已经消失了,如图3:



    解决的方法:保留CAP包中的Beacon frame,更改Filter为:“eapol or wlan.fc.type_subtype == 0x08”,其中,“0x08”为Subtype,即:“Beacon frame”。如图4:



再次运行aircrack-ng,发现已经恢复了ESSID,如图5:



此时CAP包的体积已经小了很多了。

    当然,也可以进一步将EAPOL-STAR包去掉,更改Filter为:“(eapol and eapol.type != 1) or wlan.fc.type_subtype == 0x08”,其中,“type != 1”意思是丢掉STAR包,但这样写Wireshark会给出一个警告,解决方法:只保留包含KEY信息的包,更改Filter为:“eapol.type == 3 or wlan.fc.type_subtype == 0x08”,其中,
“3”为KEY信息包的Subtype。如图6:



附:保存Filter后数据的方法:File->Save as,分别选中[All packets]和[Displayed],然后起名保存即可。

我的 Blog :
http://blog.csdn.net/prince_vegeta
http://vegeta.blog.enorth.com.cn

原文地址:https://www.cnblogs.com/rainbowzc/p/5410891.html