捕获数据包
数据包概述
握手包
握手包指采用WPA加密方式的无线AP与无线客户端进行连接前的认证信息包,其中包含后期数据传输的密钥。
握手包只有在客户端和AP连接的时候才会出现,所以在抓包时,需要实施死亡攻击,让已经连接AP的客户端断线,当客户端再次连接时,就可以抓到握手包。
握手包包括4个交互过程,即4个握手包,协议为EAPOL
非加密包
捕获的数据包是否加密,主要取决于无线AP。
非加密包中可以看到每个包的地址、协议、内容等信息
加密包
用户需要解密后才能看到原始的数据包,加密的方式有:WEP或WPA等
802.11帧概述
802.11协议是无线局域网通用的标准
802.11中的帧可以分为三类:管理帧,控制帧和数据帧
数据帧
数据帧结构:
数据帧也分为4类:
- IBSS(独立基本服务集): STA -> AP -> Ethernet
- TO AP: STA -> AP
- FROM AP : AP->STA
- WDS(无线分布式系统): 让AP与AP间通信,WDS充当无线网络中继器
控制帧
控制帧主要用于竞争期间的握手通信和正向确认、结束非竞争期等。
常用的控制帧有四个:
- RTS:请求发送
- CTS:允许发送
- ACK:应答
- PS-poll:省电模式-轮询
管理帧
管理帧主要用于无线客户端与AP之间协商、关系的控制,如关联、认证和同步等
Beacon帧也属于管理帧
捕获数据包
无线网卡在监听数据包时会跳频,为了避免数据包丢失,用户可以手动设置监听信道
airmon-ng start <interface> <channel>
iwconfig [interface] channel N
然后打开wireshark捕获数据包
使用捕获过滤器
指定捕获的Mac地址:ether host xxx
分析数据包
分析Beacons帧可以查看AP的详细信息
解密数据包
路由器的数据包通常是使用WEP或WPA/WPA2进行加密。如果目标AP是使用WEP认证方式加密的话,则捕获到的包也是加密的
wlan.fc.type_subtype == 0x28
来过滤出加密的数据包
对于WEP加密:密钥为AP密码的十六进制ASCII值用冒号连接
对于WPA/WPA2加密方式
- wpa-pwd型的密钥为"密码:BSSID"
- wpa-psk型的密钥为
raw pre-shared key
密钥生成网站:https://www.wireshark.org/tools/wpa-psk.html
也可以通过脚本来永久解密数据包
解密WEP加密数据包:airdecap-ng -w [password] [pcap file]
解密WPA加密数据包:airdecap-ng -e [ESSID] -p [password] [pcap file]