python - 无法使用 Scapy 传输/注入 802.11 数据包
问题描述
我正在尝试在台式机和笔记本电脑之间传输数据帧(在 ubuntu 18.04 中使用 scapy)。我希望 MSDU 只是一些原始数据,而不是上层帧。无论出于何种原因,我都无法检测到设备之间传输的数据包。
两个设备都设置为监控模式并连接到相同的频率/频道。例如,我的桌面有无线接口wlp4s0,我设置如下:
sudo ifconfig wlp4s0 down
sudo iwconfig wlp4s0 mode monitor
sudo ifconfig wlp4s0 up
sudo iwconfig wlp4s0 channel n
当我检查iw dev
或iwconfig
我可以看到两个无线接口都处于监控模式并且频率相同且发射功率非零时。
我使用以下代码使用 scapy 嗅探频道没有问题:
sniff(iface = "wlp4s0", prn = output)
prn 只是打印出任何数据包的摘要。
当我尝试传输时,我在一台设备上使用以下代码:
header = Dot11(
addr1 = "00:16:ea:12:34:56",
addr2 = "00:16:ea:12:34:56",
addr3 = "ff:ff:ff:ff:ff:ff",
type = 2,
subtype = 0,
FCfield = 0)
data = "testtesttesttest"
packet = header / data
sendp(data, iface= "wlp4s0", loop = 1, inter = 0.100)
尽管发送设备声明数据包已发送,但其他设备在嗅探信道时看不到任何数据包。同样,在使用“ifconfig”时,接口的tx_count不会增加。
我尝试在这两种设备上切换角色,但也没有运气。
任何帮助将不胜感激,谢谢!
解决方案
您似乎正在向自己发送数据包。addr1 用于接收器。addr2 用于发送者。
推荐阅读
- javascript - 如何在 jQuery 中从 $.getScript 获取变量
- java - IBM MQ 使用 Java 程序发送消息
- sql - 试图在我的 SQL 表中插入多行。总是显示 SQL 命令未正确结束
- node.js - req.body 返回空数据,如何解决?
- javascript - 倒数计时器进入负数而不是替换html
- javascript - 为示例创建表单。使用 2 个 iframe。在 iframe “A” 上的源代码 php 在 iframe “B” 上的结果
- docker - Docker Swarm 上的气流无法识别环境变量
- r - 与 guix 相比,nix 中 rPackages(包的 pin 版本)的可重复性更好
- python - 当 True 时在蜡烛上方绘制标记 - Plotly
- c++ - precomp.h 中的循环依赖