pcap-auto-filter
SKILL.md
PCAP Auto Filter Skill
自动下载、过滤并智能分析 PCAP 文件的 OpenClaw Skill。
功能
- 从 URL 下载 PCAP 文件
- 支持多种过滤条件(端口、主叫、被叫、Call-ID)
- 自动调用 tshark 进行过滤
- 智能分析通话质量问题(无声、卡顿、失败、单通、杂音)
- 生成详细的诊断报告,包含音频质量评分
- 支持 Windows、Linux、MacOS 跨平台
- 完善的错误处理和异常情况处理
- 新增高级分析指标:音频质量评分、抖动缓冲区分析、重复包检测、带宽估算等
版本更新
v2.0.0
- 新增工具定义和完整的输入输出 schema
- 增强 Windows 系统支持
- 添加更多触发词和使用场景
- 新增高级分析指标和功能
- 优化错误处理和异常情况处理
- 改进报告格式和内容
使用方法
基础过滤
帮我下载过滤出来这个包 <URL> 端口是<端口号>
帮我下载过滤出来这个包 <URL> 主叫是<号码>
帮我下载过滤出来这个包 <URL> 被叫是<号码>
帮我下载过滤出来这个包 <URL> CallID是<Call-ID>
过滤 + 智能分析
在指令末尾加上问题描述,会自动进行分析:
帮我下载过滤出来这个包 <URL> 端口是<端口号>,通话无声
帮我下载过滤出来这个包 <URL> 端口是<端口号>,通话卡顿
帮我下载过滤出来这个包 <URL> 端口是<端口号>,呼叫失败
帮我下载过滤出来这个包 <URL> 端口是<端口号>,单通
帮我下载过滤出来这个包 <URL> 端口是<端口号>,杂音回声
其他触发词
分析这个pcap <URL> 通话无声
帮我分析pcap <URL> 端口是5060
下载并分析pcap <URL> 主叫是1000
过滤并分析pcap <URL> CallID是123456
帮我过滤pcap文件 <URL> 端口是5060
分析通话问题 <URL> 通话卡顿
检查通话质量 <URL> 端口是5060
诊断通话故障 <URL> 呼叫失败
示例
帮我下载过滤出来这个包 https://res.qiyukf.net/fs-diagnose/2026-03-13-11-02-15_sip_public.pcap228.pcap.0 端口是5060,通话无声
分析这个pcap https://example.com/call.pcap 通话卡顿
帮我分析pcap https://example.com/sip.pcap 端口是5060,单通
支持的分析类型
| 问题类型 | 分析内容 |
|---|---|
| 通话无声 | RTP 流检查、静音包、编解码协商、SDP 协商失败 |
| 通话卡顿 | 丢包率、抖动、延迟、乱序、带宽不足 |
| 呼叫失败 | SIP 错误码、超时、认证失败、路由问题 |
| 单通 | 单向 RTP、防火墙/NAT、端口未开放 |
| 杂音回声 | 回声消除、编解码问题、增益异常 |
分析报告内容
分析报告包含以下内容:
- 问题类型和严重程度
- 详细的诊断发现
- 具体的处理建议
- 基础统计信息(总包数、SIP 包数、RTP 包数)
- RTP 流分析(丢包率、抖动、乱序包、重复包)
- 音频质量评分(0-100)
- 带宽估算
- 平均包大小
依赖
- Python 3.6+
- tshark (Wireshark 命令行工具)
安装依赖
Windows
- 从 Wireshark 官网 下载并安装 Wireshark
- 确保在安装过程中选择安装 tshark 命令行工具
- 将 Wireshark 安装目录添加到系统 PATH 环境变量
Linux
bash install_tshark.sh
MacOS
brew install wireshark
故障排除
常见问题
1. 未找到 tshark 错误
- 原因:系统中未安装 Wireshark 或 tshark 未在 PATH 中
- 解决方法:
- Windows: 重新安装 Wireshark 并确保选择安装 tshark
- Linux: 运行
bash install_tshark.sh - MacOS: 运行
brew install wireshark
2. 下载失败
- 原因:网络问题、URL 格式错误或文件不存在
- 解决方法:
- 检查网络连接
- 确保 URL 以 http:// 或 https:// 开头
- 验证 URL 是否可访问
3. 过滤后文件为空
- 原因:过滤条件过于严格或 PCAP 文件中没有匹配的流量
- 解决方法:
- 尝试使用更宽松的过滤条件
- 检查 PCAP 文件是否包含相关流量
4. 分析失败
- 原因:PCAP 文件格式错误或不包含 SIP/RTP 流量
- 解决方法:
- 确保 PCAP 文件格式正确
- 验证 PCAP 文件是否包含 SIP/RTP 流量
错误代码
| 错误信息 | 可能原因 | 解决方法 |
|---|---|---|
未找到 tshark |
Wireshark 未安装 | 安装 Wireshark |
下载失败 |
网络问题或 URL 错误 | 检查网络和 URL |
过滤后文件为空 |
过滤条件过于严格 | 调整过滤条件 |
分析过程出错 |
PCAP 文件格式错误 | 检查 PCAP 文件 |
文件说明
pcap_filter.py- 核心处理脚本(过滤 + 分析)install_tshark.sh- Linux 依赖安装脚本skill.json- 技能配置文件SKILL.md- 本文件
注意事项
- 确保网络连接正常,能够访问 PCAP 文件 URL
- 对于大型 PCAP 文件,分析过程可能需要较长时间
- 确保系统有足够的临时存储空间来处理 PCAP 文件
- 如需更详细的分析,可以使用 Wireshark GUI 工具打开过滤后的 PCAP 文件