2017-08-13 81 views
0

我使用的发送数据包:如何捕获您在Scapy中发送的数据包?

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

但我不能在任何其他附近的机器(包括一个带有IP 192.168.1.114)来捕获这些数据包是在同一网络上。我正在使用wlan作为我的界面。

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

回答

0

我第一次尝试在执行程序捕获流量发送者机器上使用tcpdump:

tcpdump -i any udp dst 192.168.1.114 

,如果你能看到流量离开源主机,那么它可能是因为它不会在到达目标主机。 UDP数据包是任何网络设备首先丢弃的数据包,因为它是UDP的性质,所以它不会被重新传输。如果您确定数据包离开源,请确认它是否到达目标:

tcpdump -i any upd dst 192.168.1.114 

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

+0

我可以捕获发送者机器上的流量,但不是在目标主机上。我也尝试关闭防火墙。没有嗅探器能够捕捉scapy正在播放的数据包。 – n0unc3

+0

@ n0unc3你是否有一些专业的网络交换机,你可以在其上存储流量?你是否也可以看到一些计数器有多少udp数据包被丢弃。 – dom

0

我终于解决了这个问题。这是我制作的清单,可以帮助其他人在使用scapy进行重放/模糊处理时使用。

  1. 检查,如果你正在处理的所有IP地址都在
    网络(使用PING)活着
  2. 理解的send()(第3层)和sendp()之间的差异(2层)
  3. 如果变异现有的分组确保 删除校验和(使用“删除”),并重新计算校验和 或者使用show2()或使用STR数据包串 转换,然后将它们转换回到包
0

你应该Scapy的使用Wireshark,或在呼吸功能,让它非常打印屏幕上的内容:

sniff(lambda x:x.show()) 
相关问题