Python的3.4 Scapy的发送ARP数据包

Python的3.4 Scapy的发送ARP数据包

问题描述:

我有这样的脚本:Python的3.4 Scapy的发送ARP数据包

from scapy.all import * 
def ip1(ip): 
    pkt = send(ARP(op=ARP.who_has, psrc="192.168.5.51", pdst=ip)) 
    x = sniff(filter="arp", count=10) 
    print (x.summary()) 
    print ("done") 

ip1("192.168.5.46") 

现在,它被卡在发送线路:它说:

. Sent 1 packets. 

但不会继续脚本(它并不真正发送数据包)。当我按Ctrl + C脚本,然后发送数据包并打印x.summary()并打印完成....我想知道为什么 提前致谢。

编辑:答案是关于sr(),sr1(),srp()和srp1()函数吗?

. Sent 1 packets.”输出实际上证明脚本发送了数据包。但是,它被卡在sniff函数上,直到Ctrl-C被击中。除非timeout参数另有指定,否则此函数会触发无尽的嗅探操作。

Scapy's official API documentation写着:

timeout:停止给定的时间后嗅探(默认:None)。