Python-3.4 Scapy发送ARP数据包

时间:2015-09-27 04:44:30

标签: python-3.x scapy

我有这个脚本:

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()函数吗?

1 个答案:

答案 0 :(得分:1)

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

Scapy's official API documentation读到:

  

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