手机搜到一个Wi-Fi热点但未接入,Wi-Fi会记录手机无线网卡的MAC地址吗?
能否认为手机或笔记本电脑等其他带无线网卡的设备在探测附近的wifi热点时,其实就是在通过无线电波使用数据链路层协议进行广播,只要手机能探测到wifi热点,哪怕手机还未真正接入这个热点,这个热点其实已经和手机基于二层协议进行了数据链路层的数据交互,只不过如果真正接入热点后,则是再进一步分配了IP地址,并进行网络层数据传输?
也就是说,一个未接入的wifi热点,哪怕我没有接入他,他也可以记录下我手机的无线网卡MAC地址了?
是的,只要手机或笔记本无线网卡主动发出Probe Request信号,且成功收到Probe Response,Wi-Fi网络一定发现了接入的Station。而Probe Request是携带802.11 MAC Header的,那么Station的MAC地址就记录了下来。
有同学会说,如果一个AP将SSID隐藏起来,周期性广播的Beacon信标SSID为空白,将AP设置成:如果Station的Probe Request的SSID为空白,AP将不予以理睬。是不是就无法记录Station的MAC地址了?
一样会记录,不理睬是一回事,但是该记录还是会记录,Probe Request里有MAC信息啊。
还有同学要说,如果Station 发出的Probe Request信号的信道(channel),没有任何一个AP工作在此信道上,包括正常工作的AP以及全职工作在Monitor Mode的AP,是不是就无法记录Station 的MAC地址了?
是的,恭喜。
但是不要高兴得太早,Station每个信道都会轮流发送三个Probe Request,用来探测是否有AP热点,所以迟早会被发现的。换句话说,只要一台Station发送Probe Request信号,迟早会被发现的。
通常只要手机或电脑显示AP热点列表,说明两件事:
- AP热点被Station发现了
- Station同样也被AP发现了
也许有同学会有不同的意见,如果无线网卡一直在Listening,即只听不说,通过被动接收Beacon信标,是不是可以发现AP,而不被AP发现?
刚开始是这样,但是你却无法控制无线网卡的行为,网卡一旦收集了多个Beacon信标,会从中挑选RSSI最优的来尝试连接,一旦Authentication报文发出,就露出了MAC地址。
可是,被动侦听Beacon发现AP的存在是一个漫长的过程,即使空中有Beacon信标在飞舞,只要无线网卡没有tune到该信道,那么Beacon就如同噪音一样擦肩而过。为了缩短发现AP的存在,通常都会尝试主动发出Probe Request来探测AP的存在。
以上谈论是无线网卡两种常用工作模式的一种,Managed Mode。这是无线网卡的标准工作模式,也是手机、电脑无线网卡的正常使用模式。
无线网卡还有一种监控模式,即Monitor Mode。监控模式最大的特点是,只听不说,只看不说,秘密监控无线信号的交互。
由于需要监控无线网络,所以该模式还有一个特点,只要可以解码的信号一律接收。而ManagedMode网卡却不是这样的,只有目的MAC地址是自己的、广播MAC地址、感兴趣的组播MAC地址才会接收。
所以一旦无线网卡工作在Monitor Mode,是不会发出任何报文的,也不会被无线网络所发现。但是这种无线网卡需要特定的网卡驱动程序才能工作。
通过上文的介绍,只要网卡发出报文,迟早会被网络监控到。一旦你发现手机上已经有了热点列表,说明手机已经被无线网络发现了。如果不被网络发现,你的网卡只要不发出报文即可,但是这也意味着你的手机上不了网。
