首页 > 解决方案 > sendp 的奇怪行为,将数据包发送到错误的目的地 [scapy]

问题描述

我正在尝试使用 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(西部):

线鲨

问题是为什么数据包被发送到错误的目的地,或者即使它们是,还有其他方法可以将数据包发送到空中吗?

标签: pythonscapywirelesswifi

解决方案


当我直接在conf.iface设置中指定监视器接口时出现问题。但是当接口作为sendp函数的参数给出时,数据包被释放到正确的目的地。

>>> sendp(__pkt, iface="wlan1mon")

推荐阅读