我正在使用 scapy 函数 sniff() 进行数据包捕获。我只想捕获 EAP 数据包。我可以使用 tcpdump 使用以下过滤器过滤 EAP 数据包:
# tcpdump -i mon0 -p ether proto 0x888e tcpdump:警告:mon0:未分配 IPv4 地址 tcpdump:详细输出被抑制,使用 -v 或 -vv 进行完整协议解码 监听 mon0,链路类型 IEEE802_11_RADIO(802.11 加上 radiotap 标头),捕获大小 65535 字节 13:04:41.949446 80847234901us tsft 48.0 Mb/s 2437 MHz 11g -16dB 信号天线 1 [bit 14] EAP 数据包 (0) v1, len 5 13:04:46.545776 80851831746us tsft 54.0 Mb/s 2437 MHz 11g -13dB 信号天线 1 [bit 14] EAP 数据包 (0) v1, len 5
同时,我使用相同的过滤器运行 sniff() 函数,但函数不捕获任何 EAP 数据包:
嗅探(filter="ether proto 0x888e",iface="mon0", count = 1)
为什么 sniff() 函数不捕获任何 EAP 数据包?
编辑:
抱歉我的反应迟了,我尝试了你的建议:
> conf.iface = 'mon0'
> pkts = sniff(filter="wlan proto 0x888e", count = 1)
tcpdump: WARNING: mon0: no IPv4 address assigned
> pkts
Sniffed: TCP:0 UDP:0 ICMP:0 Other:1
> EAP in pkts[0]
False
但这仍然不能捕获 EAP 数据包:(