我正在尝试使用 scapy 从我的接入点向客户端发送 802.11 数据包。但每次将数据包发送到空中时,它都会被发送到错误的目的地。我尝试过做的事情:
from scapy.all import *
conf.iface = 'wlan1mon'
ap = '34:af:90:4a:bb:57'
client = 'ff:ff:ff:ff:ff:ff'
__pkt = RadioTap() / Dot11(addr1=client, addr2=ap, addr3=ap) / Dot11Deauth(reason=2)
sendp(__pkt, count=70)
现在,从数据包字段来看,它应该发送到广播地址,但是当我启动 Wireshark 时,数据包被发送到未知目的地:00:00:c0:00:00:00(西方):
问题是为什么数据包被发送到错误的目的地,或者即使是,是否有其他方法将数据包发送到空中?
当我直接在
conf.iface
设置中指定显示器接口时,出现了这个问题。但是,当接口作为 sendp
函数中的参数给出时,数据包将被发送到正确的目的地。
>>> sendp(__pkt, iface="wlan1mon")