Python 如何反复发送数据包直到收到响应(Scapy)

Python 如何反复发送数据包直到收到响应(Scapy),python,scapy,packet,Python,Scapy,Packet,我已经用Scapy(使用Python)构建了一个ARP数据包,我正在尝试一次又一次不间断地发送这个数据包,直到从目的地接收并应答,保存响应并打破循环。 我试着用谷歌搜索,但没有成功。因此,我在这里碰碰运气,很高兴能得到一个有效的方法。谢谢 Scapy的sr1函数发送一个数据包,并等待其应答,最多等待timeout秒。如果收到应答,sr1返回收到的数据包(如果有),或者None返回收到的数据包。因此,您基本上可以使用此循环执行您想要的操作: 从scapy.all导入ARP,sr1 循环=真 请求=

我已经用Scapy(使用Python)构建了一个ARP数据包,我正在尝试一次又一次不间断地发送这个数据包,直到从目的地接收并应答,保存响应并打破循环。
我试着用谷歌搜索,但没有成功。因此,我在这里碰碰运气,很高兴能得到一个有效的方法。谢谢

Scapy的
sr1
函数发送一个数据包,并等待其应答,最多等待
timeout
秒。如果收到应答,
sr1
返回收到的数据包(如果有),或者
None
返回收到的数据包。因此,您基本上可以使用此循环执行您想要的操作:

从scapy.all导入ARP,sr1
循环=真
请求=ARP(pdst=“10.0.0.1”)
while循环:
响应=sr1(请求,超时=5)
如果响应为无:
打印('5秒后没有响应。正在重试…')
其他:
循环=错误
打印('我得到了答案:')
response.show()

您也可以尝试
srflood