首先,对我的英语不好道歉。
我正在火花塞中收集包装。作业启动时,它将在从站上启动一个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
我应该怎么做?