0x00 目标
实现简单的物联网设备流量抓包分析, 获取相关IP/DNS信息.
环境
- Ubuntu 22.04
- 支持 Monitor Mode 的 USB Wifi
- Wireshark
0x01 原理
usb wifi 设备启用监听模式后, 可以获取环境中的指定信道的无线数据包.
通过配置相应的SSID的访问信息后, 可以解密经过这个路由器上的数据报文.
0x02 过程
2.1 安装工具:
sudo apt update
sudo apt install wireshark aircrack-ng
2.2 获取 usb wifi名称
iwconfig
自行识别, 会打印包含 Monitor Mode 信息.
2.3 关闭所有wifi 设备
sudo airmon-ng check kill
2.4 启用指定监听网卡
sudo airmon-ng start <接口名>
2.5 获取目标路由器的信道
sudo airodump-ng <接口包>
会打印周围的热点名称和信道(CH)
注意: 目前仅支持 WPA2 加密的热点
2.6 启动监听
sudo iw dev <监听接口> set channel <目标信道号>
2.7 打开Wireshark
打开软件后, 在监听网卡之前, 先配置一下数据包解密
在 Preference > Protocols > IEEE 802.11 下面
- 勾上: Enable decryption
- 配置 Decryption Key:
- 添加 : wpa-pwd, 值格式为: {wifi_pwd}:{ssid}
2.8 监听过程
在Wireshark 中选择本地监听网卡,进入数据包监控模式, 在过滤器中 输入 eapol
此时需要把设备进行重新联网, 在wireshark 中观测到 4/4 eapol 数据消息后,
后续才可以进行正常的数据解密.
2.9 常用过滤器
上述正常的话, 基本可以确认待分析设备的本地ip 或 mac地址了,
在 wireshark 过滤器中, 输入
- 查询 tls:
ip.src_host == 192.168.1.118 && tls - 查询 http:
ip.src_host == 192.168.1.118 && http - 查询 域名:
ip.src_host == 192.168.1.118 && dns
0x03 最后
上述可以查看 http报文内容, 但无法解密 https 加密信息