mcpField
N
net

net

github.com/zhinkgit开发772639 次安装1 周前更新
代码仓库

关于 net

Net Debug Skill 提供嵌入式网络调试命令,涵盖接口发现、抓包、离线分析、连通性测试、端口扫描和流量统计。它通过可配置脚本执行操作,并返回结构化 JSON 结果。

主要功能

  1. 01列出网络接口
  2. 02按过滤条件抓包
  3. 03离线分析 pcap 文件
  4. 04测试连通性并追踪路由
  5. 05扫描端口并获取 Banner
  6. 06汇总流量统计

适用场景

  1. 01抓取网络流量以调试协议
  2. 02检查已保存的 pcap 文件
  3. 03测试主机或 TCP 端口连通性
  4. 04扫描目标的指定端口

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/zhinkgit/embeddedskills --skill net

安装后在 Claude Code 中输入/net确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

config.example.json
README.md
references/
common_protocols.json
scripts/
net_analyze.py
net_capture.py
net_iface.py
net_ping.py
net_runtime.py
net_scan.py
net_stats.py
tests/
test_net_platform.py

详细介绍

来自项目 README

Net Debug Skill

嵌入式网络通信调试工具,统一封装接口发现、抓包、离线分析、连通性测试、端口扫描和流量统计能力。

脚本与配置路径

  • 脚本目录: <skill-dir>/scripts/
  • 环境级配置: <skill-dir>/config.json(仅工具路径)
  • 工程级配置: <workspace>/.embeddedskills/config.json(网络参数)
  • 协议参考: <skill-dir>/references/common_protocols.json

依赖

  • tshark (随 Wireshark 安装,需加入 PATH)
  • dumpcap (随 Wireshark 安装)
  • 可选: capinfos
  • Windows 自带: ipconfig、ping、tracert、netstat、arp、nslookup
  • Linux 接口枚举 / ICMP ping / 路由追踪分别需要 iproute2(ip)、iputils-ping(ping)、traceroute;这三项功能仅支持 Windows / Linux
  • Python 3.x (仅标准库)
  • 抓包需要 Npcap 驱动,部分环境需管理员权限

配置

环境级配置 (skill/config.json)

仅保留工具路径相关的环境级配置:

{
  "tshark_exe": "tshark",
  "capinfos_exe": "capinfos"
}
工程级配置 (.embeddedskills/config.json)

工作区下的 .embeddedskills/config.json 存放工程级网络配置:

{
  "net": {
    "interface": "",
    "target": "",
    "capture_filter": "",
    "display_filter": "",
    "duration": 30,
    "timeout_ms": 1000,
    "scan_ports": "",
    "capture_format": "pcapng",
    "log_dir": ".embeddedskills/logs/net"
  }
}
参数解析优先级
  1. CLI 参数 (--interface, --target 等) - 最高优先级
  2. 工程级配置 (.embeddedskills/config.json 中的 net 部分)
  3. 状态文件 (.embeddedskills/state.json 中的历史记录)
  4. 默认值 - 最低优先级

连接和采集参数按优先级解析,脚本通过 CLI 参数接收覆盖值。若配置缺少必要项或连接失败,询问用户并引导修改配置。

执行流程

  1. 检查 tshark 是否可用;若不可用,提示用户安装 Wireshark(含 tshark)并确认已加入 PATH;若需要抓包,还需提示安装 Npcap 驱动;依赖缺失时终止执行并输出 status: error 及安装指引
  2. 按优先级解析参数:CLI > 工程级配置 > 状态文件 > 默认值;若多个来源对同一参数均有值,以更高优先级来源为准,并在输出 summary 中注明被覆盖的来源
  3. 若无子命令,默认执行 iface(列出网络接口)
  4. 成功执行后,将确认的参数写回工程配置
  5. 运行对应脚本并输出结构化 JSON 结果
  6. 失败时优先提示权限、Npcap、过滤器、接口选择等问题

子命令

iface — 列出网络接口
python <skill-dir>/scripts/net_iface.py [--filter <关键词>] [--tshark] [--json]
  • --tshark: 同时显示 tshark 抓包接口索引映射
  • --filter: 按关键词筛选接口
  • 无副作用,可直接执行
capture — 抓包
python <skill-dir>/scripts/net_capture.py [--interface <接口>] [--duration <秒>] [--capture-filter <过滤器>] [--display-filter <过滤器>] [--output <文件路径>] [--format <pcapng|pcap>] [--decode-as <规则>] [--json]
  • 接口、过滤器、时长按优先级解析
  • --interface: 抓包接口(覆盖配置)
  • --duration: 抓包时长(覆盖配置)
  • --capture-filter: BPF 抓包过滤器(覆盖配置)
  • --display-filter: Wireshark 显示过滤器(覆盖配置)
  • --output: 保存抓包文件路径
  • --json: 输出 JSON Lines 格式(基于 tshark -T ek)
  • --decode-as: 自定义解码规则
  • 默认格式 pcapng,参数完整后直接执行
analyze — 分析 pcap 文件
python <skill-dir>/scripts/net_analyze.py <pcap_file> [--mode <summary|protocols|conversations|endpoints|io|anomalies|all>] [--filter <显示过滤器>] [--top <数量>] [--decode-as <规则>] [--export-fields <字段列表>] [--output <CSV路径>] [--json]
  • 基于 tshark 和 capinfos 进行离线分析
  • --mode all 输出全部分析维度
  • 无副作用,可直接执行
ping — 连通性测试
python <skill-dir>/scripts/net_ping.py [--target <目标>] [--tcp <端口>] [--count <次数>] [--traceroute] [--concurrent <线程数>] [--timeout <毫秒>] [--json]
  • 目标按优先级解析
  • --target: 目标地址(覆盖配置)
  • --tcp: TCP 连通性测试(指定端口)
  • --traceroute: 执行路由追踪
  • --timeout: 超时毫秒数(覆盖配置)
  • 参数完整后直接执行
scan — 端口扫描
python <skill-dir>/scripts/net_scan.py [--target <目标>] [--ports <端口范围>] [--timeout <毫秒>] [--banner] [--concurrent <线程数>] [--json]
  • 目标和端口范围按优先级解析
  • --target: 目标地址(覆盖配置)
  • --ports: 端口范围,如 '80,443,8000-8100'(覆盖配置)
  • --banner: 尝试获取服务 Banner
  • 默认收敛到嵌入式常用端口集
  • 参数完整后直接执行
stats — 流量统计
python <skill-dir>/scripts/net_stats.py [--interface <接口>] [--duration <秒>] [--display-filter <过滤器>] [--interval <秒>] [--mode <overview|protocol|endpoint|port>] [--json]
  • 接口和时长按优先级解析
  • --interface: 抓包接口(覆盖配置)
  • --duration: 统计时长(覆盖配置)
  • --display-filter: Wireshark 显示过滤器(覆盖配置)
  • 默认输出按时段汇总的 JSON
  • 无副作用,可直接执行

输出格式

所有脚本输出统一的 JSON 结构:

{
  "status": "ok",
  "action": "<子命令名>",
  "summary": "<简要描述>",
  "details": { ... }
}

错误时:

{
  "status": "error",
  "action": "<子命令名>",
  "error": {
    "code": "<错误码>",
    "message": "<错误描述>"
  }
}

capture --json 输出 JSON Lines,进度信息写入 stderr。

交互策略

  • 按优先级解析参数:CLI > 工程级配置 > 状态文件 > 默认值
  • 优先用解析后的参数直接执行,不额外询问
  • 连接失败时再询问用户并引导修改配置
  • 成功执行后,确认的参数自动写回 .embeddedskills/config.json
  • 未给扫描范围时默认收敛到单主机、小范围端口
  • 结果中明确回显目标范围、过滤器和持续时间
  • 抓包结果优先总结异常协议、重传、RST 等
  • 抓包失败优先提示权限和 Npcap 问题

协议参考

需要查询嵌入式常用端口和协议映射时,读取 references/common_protocols.json。

评论

支持 Markdown