我有一个非 PC 无线客户端,我想知道它的一些连接。我想查看通过 Wi-Fi 连接从网络到我的设备交换的实际数据包。
我在 PC 上运行 Wireshark,并观察网络上的流量,但每当设备从网络加载信息时,它都不会显示在嗅探器上。我已将其设置为混杂模式,但仍然没有结果。
有人知道如何让数据包嗅探器看到某些东西吗?
答案1
如果你使用 Linux,那么这一切都太难了。如今大多数无线网卡都支持监控模式,允许使用它们在单个通道上捕获所有数据包,包括 802.11 管理和控制帧。
如果您的无线网卡支持此模式(很可能支持),请执行以下操作(我假设您使用基于 Debian 的发行版):
$ sudo su
# aptitude install aircrack-ng
# airmon-ng start wlan0
# airodump-ng mon0
此时,您应该会看到无线网络和已连接客户端的列表。记下您的网络/客户端正在运行的频道号。您需要它来将您的 NIC 锁定在特定频道上:现在它会按顺序切换所有频道以检测每个网络。
^C
# airodump-ng mon0 -c $channel
您实际上不需要任何 airodump-ng 输出,它只是用于设置频道。您也可以使用iw
/iwconfig
来使用它或仅连接到网络(是的,您可以同时连接到网络并使用监控模式),但这是最简单且容易出错的方式。
现在您可以启动 Wireshark 并将其指向mon0
接口。您将能够看到通过网络传输的所有数据包。如果您只想查看数据包,请使用此过滤器:wlan.fc.type_subtype == 0x20
。
需要注意的是,我想说这在 Windows 上可能是可行的,但更难,而且支持的适配器范围要窄得多,因为 Windows 中没有用于监视模式的标准 API。
答案2
我也遇到过这种情况。我的有线/无线路由器内有一个托管交换机,它将所有流量镜像到传感器端口,然后路由到主 PC 上的辅助 NIC,这样我就可以看到基本上所有的流量,除了无线。我正在考虑的一个解决方案是添加另一个管理型交换机(如今它们出奇地便宜)外部路由器,位于调制解调器和路由器之间,这样我就可以捕获无线流量。只有一个问题:它还会发现大量来自互联网的无用流量,而这些流量通常会被路由器忽略,我通常根本看不到。我不确定这是否算作答案,但我对其他人对这个话题的补充非常感兴趣。