无法使用Scapy传输/注入802.11数据包

时间:2019-01-04 03:19:27

标签: python ubuntu scapy wireless wlan

我正在尝试在台式机和笔记本电脑之间传输数据帧(在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 deviwconfig时,我看到两个无线接口都处于监视模式,并且具有相同的频率,且发射功率不为零。

我没有问题,可以使用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 不会增加。

我尝试过在两种设备上切换角色,但是也没有运气。

任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:0)

似乎您正在向自己发送数据包。 addr1用于接收者。 addr2用于发件人。