python 停止工作 scapy_Python scapy timeout选项不工作

我在嗅探数据包时scapy的超时选项有问题。据我所知,如果你用这种方法:test = sniff(filter="ip and icmp ", timeout = 2)

print(test)

你的嗅探应该在2秒后停止。然而,这是100%不起作用。根据我收集到的信息,最大的问题之一也是,如果设置timeout=5并运行嗅探器,然后运行ping谷歌在并行命令提示符下,它将捕获4个数据包,直到嗅探完成后才会显示,然后无限期地坐在那里,直到您再发送或接收1个icmp数据包,只有一个,然后,它将杀死嗅探和打印(测试),其中5个icmp4来自第一个ping集,1个来自第二个ping。在

我正在使用windows,这可能是我不知道的问题。我有python2.7。我的整个脚本,为了测试这一点,必须将它与一个更大的脚本隔离开来:

^{pr2}$

就这样-如果timeout=1,它也不会停止,直到收到一个包。在

这是斯卡比的密码发送接收.py嗅探超时if timeout is not None:

stoptime = time.time()+timeout

remain = None

while 1:

try:

if timeout is not None:

remain = stoptime-time.time()

if remain <= 0:

break

从scapy中取出函数后发送接收.py意识到函数也有同样的问题,我把问题缩小了。当您将过滤器传递到sniff函数时,它会出现,它会改变超时的工作方式。如果您运行:

从所有人进口*test = sniff(timeout = 5)

print(test)

你会没事的,它会在5秒时自动超时,否则它会挂起,并且无法正确完成超时循环。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值