在Scapy中接收数据包之间的时间

时间:2017-08-02 12:48:42

标签: python scapy packet-sniffers

我正在使用Scapy进行项目,其中一个要求是我需要嗅探数据包并将包含每个数据包数据的请求发送到网站以获取某些数据。到目前为止没问题。

有一个问题:我每小时只能向网站发送一定数量的请求,否则会阻止我。我需要在我嗅到新数据包时发送每个请求。

以下是我目前的情况(无需深入了解此处的内容):

from scapy.all import * . . . packets = sniff(lfilter = is_valid_ip, prn = print_the_ip_that_is_not_me)

在没有添加外部功能的情况下,有没有办法在每个数据包之间延迟或等待?我知道我可以在其中一个函数(sleep()is_valid_ip)中添加print_the_ip_that_is_not_me,但是现在我只想在sniff()内添加一些内容本身。

提前致谢。

1 个答案:

答案 0 :(得分:0)

scapy本身在发送数据包时提供了延迟选项。您可以选择inter的任何值,它将以秒为单位提供延迟。例如,如果要在第3层发送数据包。

send(pkt, inter=0)

或者您可以为第2层执行此操作。

sendp(x, inter=0)