捕获/查看 WiFi 数据流量?

捕获/查看 WiFi 数据流量?

我的目标:我想分析我的网络上无线设备的网络协议。

我已成功将 Linux 笔记本电脑的 wifi 接口设置为监控和混杂模式。我使用 airmon-ng 创建了处于监控模式的虚拟网络 wifi 接口。

我可以成功地使用 Wireshark 查看网络流量。但是...WiFi 数据包没有被 Wireshark 分解。它们只是显示为“数据”

有没有办法在 IP/TCP/http 等协议级别监视网络流量本身?

问题是 WiFi 是加密的吗?假设我将 WiFi 网关设置为无安全性。那么 Ethershark 能显示更高级别的协议吗?

答案1

如果您的 WiFi 连接已加密(WEP、WPA、WPA2),则必须对其进行解密(破解)才能查看发生了什么,或者关闭加密。加密的目的是防止有人监视无线连接。

答案2

经过几天的调查:

  1. 连接到 wifi 网络。可以是开放网络,也可以是您有密钥的加密网络。(或者使用 aircrack 获取有效密钥)
  2. 使用伊特卡普把你的监控机器安装在目标机器和本地网络网关之间,作为中间人arp攻击。博客文章
  3. Ettercap 可以写入一个文件,然后 Wireshark 可以读取并显示该文件。该文件将显示往返于目标机器的流量。

答案3

您可以使用 tcpdump 来转储网络流量。

例如(在终端中输入):

sudo tcpdump -i wlan0

其中 wlan0 是您的 WiFi 接口。

最后使用以下有用的参数来改进你的转储:

-vvv

(或更少的 v)它将通过分解信息向您显示有关数据包的更多信息,

-X

显示数据包的内容(双 X-显示更多信息)

-nl

处理速度更快(无需 DNS 且无需缓冲)

-s1500

显示完整数据包大小

您也可以使用一些过滤器,例如(将它们与ORAND关键字混合):

not udp
not dns
not tcp
arp
not port 80

因此,我建议拆解交通信息后的转储如下:

sudo tcpdump -i wlan0 -s1500 -nl -XX -vvv

(将 wlan0 更改为您的网络接口,如 eth0 或其他任何接口)

man tcpdump了解更多信息。

相关内容