系统:Ubuntu20.04
网卡:RTL8188CUS USB网卡
工具安装
sudo apt-get install aircrack-ng
sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt update
sudo apt install -y wireshark
网卡
确认网卡是否支持monitor模式,输入iw list命令,如果输出中有monitor说明支持
$ iw list | grep monitor
* monitor
* monitor
aircrack-ng工具基本使用
# 环境清理,主要是停止一些影响抓包的服务
sudo airmon-ng check kill
# 建立虚拟监听网卡
sudo airmon-ng start wlxxx ch
wlxxx:无线网卡的名称
ch:无线信道,如果不指定表示监听所有信道
ifconfig -a 后会发现出现一个名为“wlan0mon”的网卡。
# 扫描无线网络
sudo airodump-ng wlan0mon
可以扫描出附近的无线信号,信道和mac地址。
# 查看无线网卡的信道
sudo iwlist wlan0mon channel
# 设置无线网卡的信道,需要和抓包的网络一致,否则可能抓不到包
sudo iwconfig wlan0mon channel 13
# 开始监听
sudo airodump-ng wlan0mon -c 6 --bssid 74:7D:24:0E:07:D8 -w ./test.pcap
-c:信道
--bssid:监听指定的mac地址
-w:监听结果保存
利用Wireshark监听和解密
如果热点设置有密码,抓包是看不到数据的,得先配置解密规则,打开wireshark,Edit->Preferences->Protocols->IEEE 802.11
点击Edit添加一个密钥,可以选择wpa-pwd,key格式为:pwd:ssid
注意监听时要抓全wifi连接的4次握手过程,否则也是不能解密的,所以要在开始监听后再连接wifi热点。
这里演示一下抓手机和pc之前的tcp数据。
先断开手机和电脑的wifi连接,选择“wlan0mon”开始抓包。然后连接手机和电脑的wifi。
# 设置过滤路由器的mac地址
wlan contains 50:64:2B:57:47:0D
然后手机安装一个tcp客户端(比如安卓下的TCP Client),PC上安装一个tcp服务器(比如周立功的TCPUDPDebug),用tcp调试助手发送数据,就可以看抓到的数据包了。
要想顺利抓到数据,需要注意以下几点:
网卡支持monitor模式.
网卡当前信道和热点的信道一致.
正确配置解密方式.
抓包开始后再连接热点.