# pcap流量清洗工具 **Repository Path**: clozero/cleanpcap ## Basic Information - **Project Name**: pcap流量清洗工具 - **Description**: No description available - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2026-05-31 - **Last Updated**: 2026-05-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CleanPCAP 一个用于清洗和处理网络流量捕获(PCAP)文件的 Python 工具。 ## 功能特性 - **协议过滤**:支持按 TCP/UDP 协议筛选流量 - **IP 地址过滤**:支持指定源 IP 和目标 IP 地址范围 - **流拆分**:将混合的 PCAP 文件拆分为独立的 Flows - **超时控制**:根据时间间隔识别不同的流量会话 - **统计输出**:生成处理统计清单(Manifest) ## 安装 ```bash pip install -e . ``` 或者直接运行: ```bash python -m traffic_cleaner --help ``` ## 使用方法 ### 基本用法 ```bash python -m traffic_cleaner input.pcap -o output_dir/ ``` ### 按协议过滤 ```bash # 只保留 TCP 流量 python -m traffic_cleaner input.pcap -o output_dir/ --tcp # 只保留 UDP 流量 python -m traffic_cleaner input.pcap -o output_dir/ --udp ``` ### 按 IP 地址过滤 ```bash # 只保留特定源 IP 的流量 python -m traffic_cleaner input.pcap -o output_dir/ --src-ips 192.168.1.100 # 只保留特定目标 IP 的流量 python -m traffic_cleaner input.pcap -o output_dir/ --dst-ips 10.0.0.1 # 指定源和目标 IP 对 python -m traffic_cleaner input.pcap -o output_dir/ --ip-pairs 192.168.1.100->10.0.0.1 ``` ### 过滤参数 ```bash # 设置流的超时阈值(秒) python -m traffic_cleaner input.pcap -o output_dir/ --timeout 30 # 最少数据包数量 python -m traffic_cleaner input.pcap -o output_dir/ --min-packets 10 # 最少字节数 python -m traffic_cleaner input.pcap -o output_dir/ --min-bytes 128 ``` ### 并行处理 ```bash # 使用多个工作进程 python -m traffic_cleaner input.pcap -o output_dir/ --workers 4 ``` ## 示例 ```bash # 完整的过滤示例 python -m traffic_cleaner capture.pcap -o cleaned/ \ --tcp \ --src-ips 192.168.1.0/24 \ --timeout 60 \ --min-packets 5 \ --min-bytes 64 ``` ## 项目结构 ``` src/traffic_cleaner/ ├── __main__.py # 入口点 ├── cli.py # 命令行接口 ├── config.py # 配置定义 ├── models.py # 数据模型 ├── capture_reader.py # PCAP 读取 ├── flow_logic.py # 流处理逻辑 ├── exporters.py # 导出功能 ├── runner.py # 运行器 └── utils.py # 工具函数 ``` ## 输出 处理完成后,会在输出目录生成: - 各个 Flow 的 PCAP 文件(以 `flow