<!-- title: pcap三件合诊：造改读一条线 -->

# pcap三件合诊：造改读一条线——同赛道横评之「抓包验尸线」

## 概述

本栏 Skills 生态定期观察，又一场同赛道横评。今早的电信四件横评把镜头对准了整间 5G 实验室——查规范、仿基站、起核心网、抓包验尸四个工位各评了一轮；本期把镜头推进实验室最里侧那条**抓包验尸线**：`pcap-generator`（造包）、`pcap-modifier`（改包）、`pcap-analyzer`（读包）三件同台。这三件是装机盘里最特殊的家族：**从不上货架、只在 Assembly 里成套出现、五个月零撞名记录**。核心发现三条：其一，三件用「动词后缀」把一条流水线切成三个互斥工位，是装机端最健康的命名法样本；其二，analyzer 是全栏成绩单最多的件——四张分纸从 4.2 漂到 3.20，本期拒发第五张，改做三件合诊；其三，三件真正的用法从来不是单件，而是闭环——造卷、毁证、验尸，一环扣一环。

## 口径：老规矩，先说清哪些能信

本期在线搜索与抓取通道未放行（搜索与抓取请求在本会话被权限策略拦下，报错在案），素材沿用 09-25 期立下的三层证据口径：

- **实读**：三件的目录树与脚本清单，有 09-24 期《拆pcap-generator》逐文件清点在案，一字可复现（`ls -R ~/.claude/skills/pcap-generator`）；
- **旁证**：analyzer 的功能实测（06-04 期 90 秒出报告）、命名法判例（09-05 期、09-28 期装机普查两度立档）、闭环定位（06-15 期「构造—修改—分析」）；
- **推断**：modifier 的脱敏用途（09-03 期提出假设，至今无人实测坐实）——凡属推断，逐处标注。

凡属存档印刷值，注明期数，本期不翻案、不另开分。

## 赛道全景：一条验尸线，三个动词

「验尸线」这个说法是今早电信四件横评里的一句彩蛋，本期把它展开。三件的名字就是三个动词，三个动词就是三道工序：

```mermaid
flowchart TD
    Q["排障或测试需求"] --> D{"手头有包吗"}
    D -->|没有| G["generator 造包"]
    D -->|有| C{"包能直接用吗"}
    G --> C
    C -->|涉密或欠异常| M["modifier 动手术"]
    C -->|干净| A["analyzer 验尸"]
    M --> A
    A --> R["报告与时间线"]
    R -->|要改场景重跑| G
```

眼熟的读者会认出来：这就是官方 document-skills 家族「读、建、改」分诊台的民间镜像——09-24 期拆 generator 时点破过，两批作者、两个领域、互不相认，收敛到同一套动词三分。**任何「文件进、文件出」的工种，拆到底就这三个动词。**这条结论经过五个月再检验，依然成立。

## 评测对比表

三件的分纸履历并不对称，先摆清楚再谈分数：

| 件 | 工位 | 五维印刷值（09-24 期） | 成绩单履历 | 证据等级 |
|---|---|---|---|:---:|
| pcap-generator | 造 | 功能★★★★★ 设计★★★★★ 实战★★★★ 上手★★★ 活跃★★ → **4.2** | 1 张 | 实读（逐文件） |
| pcap-analyzer | 读 | 功能★★★★☆ 设计★★★★☆ 实战★★★★ 上手★★★★ 活跃★★ → **3.9** | **4 张**：4.2（06-04）/ 3.80（08-27 转引）/ 4.15（09-28 晨）/ 3.20（09-28 晨二） | 实读（多期） |
| pcap-modifier | 改 | 功能★★★ 设计★★★ 实战★★★ 上手★★ 活跃★★ → **2.9** | 1 张 | 结构实读＋用途半推断 |

三件事必须说破：

1. **本期不发新分。**analyzer 已经攒了四张成绩单，最高 4.2、最低 3.20，本栏此前专文写过「同一件 Skill 两张成绩单」的分歧现象——现在它是四张。再发第五张，只会让读者学会看分数运气，而不是看件本身。
2. **活跃度统一按两星计**，不是贬低：09-15 期与 09-21 期连续点名，这三个名字「从来不在货架上，只在本机装配里」，无星可查、无下载可引。
3. **实战分的四星有物证**：三件目录深处都留着 `__pycache__`（Python 3.13 编译缓存），说明它们在这台机器上真跑过——analyzer 更是全家族唯一留下运行痕迹的件（09-15 期判语）。

## 逐件横评

### pcap-analyzer：全栏成绩单之王，验尸线上的老师傅

**定位**：给它一个 pcap/pcapng 文件，按协议栈分层剥开——SCTP 承载里的 NGAP、嵌套的 NAS 消息、GTP-U 隧道、PFCP 会话，直到 IMS 域的 SIP/SDP，产出一份人能读的时间线（05-27 期在案）。设计哲学一句话：**让网络工程师用自然语言替代 tshark 命令行**——输入「分析这个 PCAP 中的 PDU 会话建立流程，列出每步时延」，它调 TShark 提取报文，生成带时间戳的 Mermaid 时序图和统计表（06-04 期实测：5000 条报文的 5G 注册流程，90 秒出完整报告）。

**为什么成绩单漂**：四张分纸的分歧不在件本身，在评的是什么——06-04 期评的是「垂直护城河」（对比 MCPMarket 上的通用取证件 `network-packet-analysis-forensics`，人家回答「这个连接为什么断了」，它回答「PFCP Session Modification Request 为什么被 Reject」），给到 4.2；09-28 晨期评的是「货架视角的轻量实用」，给 3.20。**垂直件在通用标尺下天然吃亏**，这是分数漂移的真正原因，不是件变了。

**短板**（多期在案）：抓包环节常要 root 权限；协议覆盖跟随脚本字典，冷门协议哑火；目录里那片没删的 `TODO.md` 施工日志提醒你它仍在施工——三个脚本 `analyzer.py → analyzer_5g.py → registration_analyzer.py` 三代演进（09-28 晨期称之为「脚本化渐进披露的活教材」，发了设计奖）。

### pcap-generator：五层楼的包工厂，考卷印刷机

**定位**：解决一个被长期忽视的痛点——**没有真实 5G 网络环境时，怎么拿到符合协议规范的测试包**。它用 scapy 产线程序化造包：5G 信令流（NGAP/5G-NAS/PFCP/SBI）、IMS 呼叫流（SIP/SDP）、数据报文（TCP/UDP/HTTP）、GTP 隧道封装全覆盖（05-27 期在案）。

**亮点是精度**：你可以直接说「造一个 AMF 收到 gNB 发的 NGAP Uplink NAS Transport，NAS 消息是 PDU Session Establishment Request，S-NSSAI 为 sst:1 sd:010203」——传统做法要先搭一套 UERANSIM＋free5GC 环境、配一堆参数才能触发这条信令，它一句对话直接出货。09-24 期深拆过它的五层结构：models 层管数据模型，scripts 层里 sbi/gtp/sip 三条产线各配场景库，utils 层藏着 scapy_sip、scapy_http2、scapy_gtp 三件自制工具——**骨架完整到可以当工程样板**。references 里那六份手册（含一份件中件 SKILL.md）连「快速开始」和「提示词速查」都备好了。05-27 期给过它训练营适用性五星：八周 5G 训练营的第七八周，端到端测试验证全靠它。

**短板**：造出来的包是「演习弹」——协议字段合规，但真网元的怪癖、乱序、抖动它没有；批量场景虽有 `batch_generator.py` 加 YAML 配方兜着，单件重量仍然是家族之最。

### pcap-modifier：十二把手术刀，家族里唯一没立过传的件

**定位**（首次单独立传，证据半数来自结构）：一间手术室——references 里两份手册《modification-presets》《protocol-consistency》，scripts 里十二个脚本。多期档案给它叠了三层身份：**字段级改写＋重放前处理**（06-15 期）、**异常注入/脱敏**（09-03 期）、**改完还能过校验的 pcap**（09-24 期）。

**十二个脚本里最值钱的一把叫 `checksum_fixer`**。改包不改校验和，包在协议栈第一跳就被丢——这是网络工程的一条领域真理，09-24 期给过它一句判语：「一个文件抵十篇博客」。这把刀是整个家族里「把踩坑史固化成脚本」的最纯样本。

**为什么只有 2.9**：一是十二个脚本名字连起来「是一部没删干净的开发事故史」，09-24 期把它列为家族最该重构的件（该并成三个）；二是它的两大用途里，异常注入有 06-15 期 Fuzz 闭环判例撑着，**脱敏却至今是假设**——09-03 期放过一句预言：若脱敏坐实，在电信合规场景里它可能反超 analyzer，成为家族出勤王（生产网抓包外发厂商前必须脱敏，这是合规刚需）。预言挂了半年，无人验证。

## 合诊：三件组队的三个玩法

单件评分说不清的价值，组队才看得见：

**玩法一「自己出考卷」**：generator 造一份标准注册流程包 → modifier 注入一处异常 → analyzer 验尸定位。答案对不上的地方，就是你的知识盲区。**排障从「等事故」变成「做实验」**——09-24 期点过这句话，本期把它落成流程。

**玩法二「脱敏外发」**（标注：脱敏环节系推断，未实测）：生产网抓包 → modifier 抹掉用户标识与敏感字段 → analyzer 复检确认包没被改坏 → 外发厂商或社区。这是 09-03 期预言的合规场景，也是 modifier 翻身的唯一赛道。

**玩法三「协议 Fuzz 前菜」**：06-15 期早有判例——generator 造报文、modifier 做异常注入、analyzer 验证，构成协议 Fuzz 与一致性测试的完整闭环。06-11 期更是把它列入「从单点工具到管线编排」的趋势典型。

| 场景 | 首选 | 依据等级 |
|---|---|---|
| 生产网真实排障，手上有一份抓包 | pcap-analyzer | 实读 |
| 无环境造测试样包、备课时出教材包 | pcap-generator | 实读 |
| 给标准流程注入异常做自测 | modifier→analyzer 连用 | 结构＋判例 |
| 抓包外发前的脱敏 | pcap-modifier | 推断，先开箱验证 |

## 安装与唤起

```bash
# 三件已随本机装配盘在架，无需重装；新机安装（analyzer 有 08-27 期安装记录）
npx skills add pcap-analyzer

# generator / modifier 未见于聚合货架，检索命令：
npx skills find pcap

# 底层依赖
sudo apt install tshark     # analyzer 的引擎（09-28 晨期存档记录）
pip install scapy           # generator 的产线（09-24 期结构在案）
```

唤起靠说话，不用记命令（例句转引自 09-24 期）：「用 pcap-generator 造一条 5G 注册流程的包」「用 pcap-analyzer 分析这份抓包里注册卡在哪一步」「用 pcap-modifier 把这条 GTP 流量的目的地址改掉，记得修校验和」——最后那句的「记得修校验和」，就是 `checksum_fixer` 存在的理由。

## 分维度排行榜

| 维度 | 第一名 | 依据 |
|---|---|---|
| 实战出勤 | pcap-analyzer | 全家族唯一留运行痕迹，多期实战分最高 |
| 工程完整度 | pcap-generator | 五层包工厂，印刷分 4.2 并列家族最高 |
| 潜力天花板 | pcap-modifier | 脱敏若坐实，合规场景或反超（09-03 期预言） |
| 命名设计 | 三件并列 | 动词后缀声明分工，名字即路由表，零撞名（09-28 装机普查判例） |
| 重构紧迫度 | pcap-modifier | 十二脚本该并三个（09-24 期） |

**装机建议**：三件都留。它们占的是货架上根本不存在的工位——效率四赛道连续三周零新件时（09-24 期在案），全世界网络工程师每天都在和抓包文件搏斗，却没有一件货架货替他们干活。这三件是「生态没供给、民间自己攒」的活样本。

## 结语

验尸线三件给生态的启示有两条。给**作者**的：一条流水线拆三件，靠的不是三个仓库，是名字里的动词——`analyzer`、`generator`、`modifier`，删掉后缀谁也说不清区别，留着后缀谁也不会叫错门；部署四件用平台名进前缀，pcap 三件用动词进后缀，是同一套幸存者命名法的两个方向。给**评测者**的：analyzer 四张成绩单从 4.2 漂到 3.20，件没变，标尺变了——垂直件在通用标尺下天然吃亏，这大概是本栏该把「行业深度」单列成一个维度的最硬论据。下期走赛道，先还 modifier 那笔债：给它一次带真实抓包的脱敏实测，让预言要么上岸、要么入土。

## 参考来源

1. 本站存档 2026-09-24 期《拆pcap-generator：件里还套着件》（docs/claude-code/skills-review/2026-09-24-skills-ecosystem-r2-0815.html）— 三件目录树逐文件清点、三件五维印刷分 4.2/3.9/2.9、checksum_fixer 判语与「最该先重构」结论的唯一底本
2. 本站存档 2026-09-28 期装机普查《一台机器384个Skill》（output/2026-09-28/skills-ecosystem-0157.md）— pcap 族「后缀声明分工」命名法判例
3. 本站存档 2026-09-28 晨期《全网卷PPT，这四件在搭核心网》（output/2026-09-28/skills-ecosystem-r7-0648.md）— analyzer 3.20 判例、「验尸线」提法出处、短板记录
4. 本站存档 2026-06-04 期（docs/claude-code/skills-review/2026-06-04-skills-ecosystem-2109.md）— analyzer 4.2 判例与 5000 条报文 90 秒实测记录
5. 本站存档 2026-09-03 期（docs/claude-code/skills-review/2026-09-03-skills-ecosystem-r6-0607.html）— modifier「脱敏反超」预言、异常注入/脱敏定位、08-27 期《八器横评》3.80 分转引
6. 本站存档 2026-06-15 期（docs/claude-code/skills-review/2026-06-15-skills-ecosystem-0936.md）与 2026-06-11 期 — 「构造—修改—分析」Fuzz 闭环判例、管线编排趋势典型
7. 本站存档 2026-09-05 期（docs/claude-code/skills-review/2026-09-05-skills-ecosystem-r8-0950.html）— 「主体名词＋动词后缀」幸存者命名法原文
8. [How to Analyze 5G PCAPs in Wireshark — 5G6G Academy](https://www.5g6gacademy.com/learn/wireshark-5g-pcap-analysis-guide) — 5G 报文分析方法论，analyzer 后端原理（转引自本站 07-10 期在线核实记录）

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
