我正在使用 wireshark 捕获我国内无线网络上的流量。为此,我必须: - 使用 airmon-ng 脚本从我的无线接口设置一个新的监控接口; - 在 wireshark 中在我的监控接口上启用混杂模式。
我不完全明白我做了什么,也不知道为什么有必要这么做。Google 没有提供任何相关答案,因为使用 airmon-ng 或 aircrack-ng 关键字进行搜索会找到破解 WEP 保护网络的教程... 我找到了 airmon-ng 的源代码,这让我漫无目的地徘徊在我的 /sys/devices 中。
我理解,默认情况下,无线网卡会过滤数据包,以便只有发送给它的数据包(正确的 MAC 地址或广播)才会转发到系统。以下是我的问题:
- 这是硬件还是软件过滤(驱动程序?)?
- airmon-ng 有什么作用?
- 为什么有些设备无法启用监控模式?是驱动程序的问题吗?
- 为什么需要创建另一个接口?
- 互联网接口是否与从集线器接收流量有任何相似之处?我的意思是,在这种配置中,数据包是否经过“预过滤”?
- 如果所有工作都在较低级别完成,那么 wireshark 中“混杂模式”复选框的用途是什么?
很抱歉问了这些菜鸟问题,这不是我的专业;-) 谢谢!
答案1
首先,请注意,Wi-Fi 中的混杂模式和监控模式是不同的:
“混杂”模式会禁用对具有不同目标 MAC 的 L2 帧的过滤。但在 Wi-Fi 中,您仍然只能接收同一网络的数据。
“监控”模式禁用 L1 的过滤,以便您看到任何事物无线电能够接收(包括其他网络;信标等控制帧;有时甚至是来自其他渠道的内容)。
(同时,在集线器以太网中,它只是一种“混杂”模式。)
这是硬件还是软件过滤(驱动程序?)?
通常它是基于硬件的——与基于 CPU 的过滤相比,可以节省大量电力。
airmon-ng 能做什么?
对于现代基于 nl80211 的无线驱动程序,它大致相当于:
iw phy0 interface add mon0 type monitor
...
iw mon0 interface del
其中的许多代码只是为了与旧驱动程序(WEXT 和奇怪的东西)兼容。
为什么有些设备无法启用监控模式?是驱动程序的问题吗?
情况有所不同 - 有时驱动程序不支持它,有时设备本身的固件不允许它。
为什么需要创建另一个接口?
这就是 nl80211 的架构。它可能可以将托管接口切换到监控模式。
互联网接口是否与从集线器接收流量有任何相似之处?我的意思是,在这种配置中,数据包是否经过“预过滤”?
是的,有点类似。Wi-Fi 和集线器以太网都是共享媒体网络;所有主机都会接收所有内容,并丢弃不需要的内容。
[W]如果所有工作都在较低级别完成,wireshark 中“混杂模式”复选框的用途是什么?
参见上文 – 这是一个更旧的设置,但对于以太网或其他连接类型仍然有用。