2013-10-24 44 views

回答

5

Scapy中的sniff()函数有一个超时参数。您可以在几秒钟内提供超时。

您可以通过打印sniff.__doc__找到其他选择。

[email protected]:~$ scapy 
>>> print sniff.__doc__ 
Sniff packets 
sniff([count=0,] [prn=None,] [store=1,] [offline=None,] [lfilter=None,] + 
     L2ListenSocket args) -> list of packets 

    count: number of packets to capture. 0 means infinity 
    store: wether to store sniffed packets or discard them 
    prn: function to apply to each packet. If something is returned, 
     it is displayed. Ex: 
     ex: prn = lambda x: x.summary() 
lfilter: python function applied to each packet to determine 
     if further action may be done 
     ex: lfilter = lambda x: x.haslayer(Padding) 
offline: pcap file to read packets from, instead of sniffing them 
timeout: stop sniffing after a given time (default: None) 
L2socket: use the provided L2socket 
opened_socket: provide an object ready to use .recv() on 
stop_filter: python function applied to each packet to determine 
      if we have to stop the capture after this packet 
      ex: stop_filter = lambda x: x.haslayer(TCP) 
+0

是的,我知道超时时间,但我问自己是否有办法阻止自己编程时间之后没有任何事情发生。 – yoyo

+0

据我所知,超时是你唯一的选择。其他一切都需要接收数据包。 – RyPeck

+0

是的,我认为是经过一些研究后,谢谢^^ – yoyo

相关问题