0

我正在使用以下方式发送数据包:

     send(IP(dst="192.168.1.114")/fuzz(UDP()/NTP(version=4)), loop=1)

但我无法在同一网络上的任何其他附近机器(包括 IP 为 192.168.1.114 的机器)中捕获这些数据包。我使用 wlan 作为我的接口。

我也尝试嗅探,然后使用 scapy 重播,但我仍然无法捕获这些数据包。

4

3 回答 3

0

我将首先尝试在执行程序时使用 tcpdump 捕获发送方机器上的流量:

 tcpdump -i any udp dst 192.168.1.114

如果您可以看到离开源主机的流量,则可能是它没有到​​达目标主机。UDP数据包是任何网络设备丢弃的第一个数据包,因为它是UDP的性质,它不会被重新传输。如果您确定数据包离开源验证它是否到达目标:

tcpdump -i any upd dst 192.168.1.114

要检查的另一点是您的防火墙设置。您的防火墙可能在源系统或目标系统上阻止这些请求。

于 2017-08-13T09:33:14.627 回答
0

我终于解决了这个问题。这是我制作的清单,在使用 scapy 处理重放/模糊测试时可能会对其他人有所帮助。

  1. 检查您正在处理的所有 IP 地址是否都在
    网络中(使用 ping)
  2. 了解 send()(第 3 层)和 sendp()(第 2 层)之间的区别
  3. 如果改变现有数据包,请确保删除校验和(使用'del')并使用 show2() 或使用 str 将数据包转换为字符串然后将它们转换回数据包重新计算校验和
于 2017-08-15T03:50:19.097 回答
0

您应该使用 Wireshark 或 Scapy 中的嗅探功能,并使其漂亮地打印屏幕上的内容:

sniff(lambda x:x.show())
于 2017-08-27T13:03:53.173 回答