发送探测请求帧 | 接收探测响应——Scapy

信息安全 嗅探器 Python 路由 802.1x
2021-08-15 04:44:27

客观的

使用 Scapy发送探测请求帧subtype=4并接收探测响应subtype=5

最终目标是通过 Scapy 检测附近的接入点(而不是通过嗅探信标帧

这样做的目的是学习如何发起探测请求并收集响应。

尝试

可能的方法 1

监控模式下的无线网卡

向任何可以听到的人广播探测请求并将响应立即记录到变量中

packet = RadioTap()/Dot11(type=0,subtype=4,addr1="ff:ff:ff:ff:ff:ff", addr2="00:11:22:33:44:55",addr3="ff:ff:ff:ff:ff:ff")
response = sr(packet)

可能的方法 2

监控模式下的无线网卡

向任何可以听到的人广播探测请求,然后嗅探以获取响应

packet = RadioTap()/Dot11(type=0,subtype=4,addr1="ff:ff:ff:ff:ff:ff", addr2="00:11:22:33:44:55",addr3="ff:ff:ff:ff:ff:ff")
sendp(packet)
packets = sniff(count=50, timeout=30)

问题

方法 1 和方法 2 都没有为我提供成功的结果。我很不确定我是否正确地处理了这个问题。我在网上找到了很多关于“嗅探探测请求”的文档,但这不是我想做的。

1个回答

那是因为你没有包含“Dot11Elt”层,试试这个:

RadioTap()/Dot11(type=0,subtype=4,addr1="ff:ff:ff:ff:ff:ff", addr2="00:11:22:33:44:55",addr3="ff:ff:ff:ff:ff:ff")/Dot11Elt(ID="SSID", info="")

或者:

RadioTap()/Dot11(addr1="ff:ff:ff:ff:ff:ff",addr2="00:11:22:33:44:55",addr3="ff:ff:ff:ff:ff:ff")/Dot11ProbeReq()/Dot11Elt(ID="SSID", info="")