如何使用Scapy发送RTS 802.11数据包(并获得CTS响应)

时间:2019-06-25 09:13:41

标签: macos scapy packet 802.11

我对Scapy还是很陌生,我正在尝试制作一个RTS数据包并将其发送到AP,以获得CTS响应。但是,我很难确定正确的方法(成为网络和802.11数据包的初学者也无济于事)。

这是我现在拥有的代码:

bytes = struct.pack("<H", 123) # 123 microseconds
timeval = struct.unpack(">H", bytes)[0]
pkt = RadioTap()/Dot11(addr1 = target_addr, addr2 = my_addr, type = 1, subtype = 11, ID = timeval)

我知道type必须等于1,因为它是一个控制包,而subtype必须等于11,因为它是一个RTS包。但是,当我用sr()srp()sr1()发送数据包时,我要么得不到响应(Scapy等待响应,但什么也没有回来,所以它继续等待)或得到我发送的确切消息。

This question提到在末尾添加一个Dot11Elt()层,但是对于我来说并没有任何改变。

这是我得到的回复类型: Scapy RTS result

如果我使用Wireshark打开响应元组的第0个元素,则会得到: Wireshark analysis of response

我已经隐藏了MAC地址,但它们与我放入发送到AP的数据包(target_addrmy_addr)中的MAC地址相同。我希望以my_addr作为“目的地地址”的CTS。

我在做什么错了?

0 个答案:

没有答案