如何在python中停止sniff(count = 0)

时间:2019-03-25 10:20:17

标签: python scapy

首先,对我的英语不好道歉。 我正在火花塞中收集包装。作业启动时,它将在从站上启动一个python程序,该程序使用sniff(count=0)获取软件包,然后使用wrpcap("/home/demo.pcap",dpkt)函数将它们包装在pcap文件中以备后用。但是在这种情况下,嗅探将无限运行,我不知道如何使其停止并转到下一行。

我的计划是使用python dpkt_writer.py 0 &在后​​台运行此程序,然后执行一些操作使其停止并获取demo.pcap。但是首先,当计数等于0时,除非手动使用sniff(count=0),否则CTRL+C不会停止,而且当它在后面运行时,我也不知道该怎么做。我所能做的就是重写porgram以每20个软件包包装一个pcap,但是由于文件数量太多,我会变得很混乱。

# original
import sys
import os
from scapy.sendrecv import sniff
from scapy.utils import wrpcap


cs = int(sys.argv[1])
dpkt = sniff(count = cs)
wrpcap("/home/demo.pcap", dpkt)
# modified
import sys
import os
from scapy.sendrecv import sniff
from scapy.utils import wrpcap

i=1
while(True):
    print("starting "+bytes(i))
    dpkt = sniff(count = 10)
    print("ending "+bytes(i))
    wrpcap("/home/demo"+bytes(i)+".pcap",dpkt)
    i=i+1

我应该怎么做?

0 个答案:

没有答案