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打开:

posted @ 2023-12-25 17:28  段愿仁长九  阅读(296)  评论(0)    收藏  举报