12-利用scapy抓包并写入.pcap文件中
部分设备不能安装抓包软件,可以使用脚本制作工具进行抓包,然后将保存的抓包文件拿到特定的环境打开分析
抓包工具直接上代码:
mycaptor.py
from scapy.all import *
import sys
import signal
import time
def packet_callback(packet, now, filename): # 增加signum和frame参数
wrpcap(r".\{}_{}.pcap".format(filename,now), packet, append=True)
print(packet.show())
def stop_sniffing(signum, frame): # 定义一个新的函数来处理SIGINT信号
print("Sniffing stopped by user")
sys.exit(0)
try:
num = int(sys.argv[1])
except:
num = 0
try:
filename = sys.argv[2]
except:
filename = 'default'
signal.signal(signal.SIGINT, stop_sniffing) # 设置SIGINT信号的处理函数为stop_sniffing
now = time.strftime("%Y-%m-%d-%H%M%S", time.localtime())
sniff(prn=lambda x: packet_callback(x, now, filename), count=num, store=1) # 修改这里,直接传递now和filename参数
print(f"Sniffing stopped auto due to capture packets {num}")
运行:

结果:


如下,可使用wireshark打开:

本文来自博客园,作者:段愿仁长九,转载请注明原文链接:https://www.cnblogs.com/gaogaoing/p/17926577.html

浙公网安备 33010602011771号