如何一遍又一遍地发送数据包直到响应(Scapy)
How to send a packet over and over until response (Scapy)
我在 Scapy 中构建了一个 ARP 数据包(使用 Python),我正在尝试不停地一遍又一遍地发送这个数据包,直到从目的地接收和应答,保存响应并中断跳出循环。
我尝试 google 它但没有成功。因此,我在这里试试运气,很高兴收到如何以有效方式这样做的想法。谢谢!
Scapy 的 sr1
函数发送一个数据包,并最多等待 timeout
秒的响应。如果收到答复,sr1
returns 收到的数据包(如果有)或 None
否则。所以你基本上可以使用这个循环做你想做的事:
from scapy.all import ARP, sr1
loop = True
request = ARP(pdst="10.0.0.1")
while loop:
response = sr1(request, timeout=5)
if response is None:
print('no response after 5 seconds. retrying ...')
else:
loop = False
print('I got an answer:')
response.show()
我在 Scapy 中构建了一个 ARP 数据包(使用 Python),我正在尝试不停地一遍又一遍地发送这个数据包,直到从目的地接收和应答,保存响应并中断跳出循环。 我尝试 google 它但没有成功。因此,我在这里试试运气,很高兴收到如何以有效方式这样做的想法。谢谢!
Scapy 的 sr1
函数发送一个数据包,并最多等待 timeout
秒的响应。如果收到答复,sr1
returns 收到的数据包(如果有)或 None
否则。所以你基本上可以使用这个循环做你想做的事:
from scapy.all import ARP, sr1
loop = True
request = ARP(pdst="10.0.0.1")
while loop:
response = sr1(request, timeout=5)
if response is None:
print('no response after 5 seconds. retrying ...')
else:
loop = False
print('I got an answer:')
response.show()