This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
grityu-model-duplication/merge_pcap.py
2023-03-16 22:42:35 +08:00

33 lines
941 B
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Name:fang xiaoyu
# Time: 2023/3/11 11:40
import os
import dpkt
import pcapy
# 指定要合并的文件夹路径和合并后的文件名
folder_path = "/path/to/folder"
merged_file = "merged.pcap"
# 获取文件夹内所有的pcap文件
pcap_files = [f for f in os.listdir(folder_path) if f.endswith('.pcap')]
# 打开第一个pcap文件读取第一个数据包的时间戳
reader = pcapy.open_offline(os.path.join(folder_path, pcap_files[0]))
pcap = dpkt.pcap.Reader(reader)
_, ts = next(pcap)
# 创建一个新的pcap文件并写入第一个数据包
writer = dpkt.pcap.Writer(open(merged_file, 'wb'))
writer.writepkt(_, ts)
# 依次读取每个pcap文件的数据包并写入到新的pcap文件中
for pcap_file in pcap_files:
reader = pcapy.open_offline(os.path.join(folder_path, pcap_file))
pcap = dpkt.pcap.Reader(reader)
for ts, buf in pcap:
writer.writepkt(buf, ts)
# 关闭文件句柄
writer.close()