python - 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(西部):
问题是为什么数据包被发送到错误的目的地,或者即使它们是,还有其他方法可以将数据包发送到空中吗?
解决方案
当我直接在conf.iface
设置中指定监视器接口时出现问题。但是当接口作为sendp
函数的参数给出时,数据包被释放到正确的目的地。
>>> sendp(__pkt, iface="wlan1mon")
推荐阅读
- javascript - 使用 findById 时无法在数组中传递多个文档
- spring-boot - 在 Spring Boot 中使用 ScheduledExecutorService 在每月的第一天运行一个任务
- sql - 如何在列中列出唯一条目以及在下一列中它们重复的相应时间?
- python - 在 python 中使用 csv.reader 搜索删除
- c# - 调用 MainWindow 时出现 System.StackOverflowException
- reactjs - 道具“已禁用”的值无效
- php - 尽管被拒绝,但允许发布请求
- javascript - 过滤对象数组返回空数组
- php - 使用ajax提交文件上传时出现问题
- r - 比较 R 数据框中的列