我刚刚看了格伦·威尔金森(Glenn Wilkinson)的一篇有趣的演讲,题目是:背叛他们主人的机器。
他说你的手机一直在广播它曾经连接过的所有 SSID。攻击者如何能够捕获这些 wifi 请求?
我刚刚看了格伦·威尔金森(Glenn Wilkinson)的一篇有趣的演讲,题目是:背叛他们主人的机器。
他说你的手机一直在广播它曾经连接过的所有 SSID。攻击者如何能够捕获这些 wifi 请求?
老实说相当容易,你需要做的就是倾听探测请求。有一个很好的博客解释了如何设置一台带有 BT5 的计算机来收听它们。
使用支持“监控模式”的网卡,您可以接收所谓的“探测请求”。将网卡设置为监控模式后,您可以使用aircrack、wireshark或hoover之类的工具来捕获探测请求。
例如使用ubuntu和wireshark时,将网卡设置为监控模式:
sudo ifconfig wlan0 down
sudo iwconfig wlan0 mode monitor
sudo ifconfig wlan0 up
现在启动wireshark并为“wlan.fc.type_subtype eq 4”设置过滤器。
就是这样,现在您可以看到您周围正在探测的所有 SSID。
例如,使用出色的 aircrack-ng,特别是其中的airodump-ng实用程序。您要查找的信息将显示在下部的“探针”下。
这应该适用于大多数 Linux:
sudo apt-get install aircrack-ng
sudo airmon-ng start <card>
sudo airodump-ng mon0
这将输出所有设备尝试连接的列表。有些设备只探测可用的网络,然而,正如你所怀疑的,智能手机会探测他们知道的所有网络,无论它们是否可用·
如其他答案所述,将无线网卡置于监控模式后,您可以执行以下操作以打印出 MAC 地址和 ssid。此代码依赖于 scapy 库/工具。
#!/usr/bin/env python
from scapy.all import *
conf.iface = "mon0"
def handle_pkt(pkt):
if Dot11 in pkt and pkt[Dot11].type == 0 and pkt[Dot11].subtype == 4:
hwaddr = pkt[Dot11].addr2
ssid = pkt[Dot11Elt][0].info
print hwaddr, repr(ssid)
sniff(prn=handle_pkt)
快乐的黑客
airmon-ng 的替代方法是使用 iwconfig 将卡设置为监控模式(如果它支持) - 这种方法的缺点是您在嗅探原始无线数据包时无法与接入点关联。
ifconfig wlan0 down
iwconfig wlan0 mode Monitor
iwconfig wlan0 channel 1
ifconfig wlan0 up