skills/skills.netease.im/pcap-auto-filter

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

  1. Wireshark 官网 下载并安装 Wireshark
  2. 确保在安装过程中选择安装 tshark 命令行工具
  3. 将 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 - 本文件

注意事项

  1. 确保网络连接正常,能够访问 PCAP 文件 URL
  2. 对于大型 PCAP 文件,分析过程可能需要较长时间
  3. 确保系统有足够的临时存储空间来处理 PCAP 文件
  4. 如需更详细的分析,可以使用 Wireshark GUI 工具打开过滤后的 PCAP 文件
Installs
1
First Seen
Apr 23, 2026