Skip to content

Commit 0d79b05

Browse files
committed
docs(wireshark): update README for FCC dissector with Huawei protocol details
- Expanded the README to include support for Huawei protocol variants in the FCC dissector. - Added detailed descriptions of message types and fields for both Telecom and Huawei protocols. - Included examples for filtering and distinguishing between Telecom and Huawei messages. - Clarified handling of NAT traversal packets and provided additional context for protocol differentiation.
1 parent a0ff2b8 commit 0d79b05

File tree

1 file changed

+74
-9
lines changed

1 file changed

+74
-9
lines changed

wireshark-support/README.md

Lines changed: 74 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# FCC 协议 Wireshark 分析器使用说明
22

3-
这是一个用于分析 FCC (Fast Channel Change) 协议的 Wireshark Lua dissector。
3+
这是一个用于分析 FCC (Fast Channel Change) 协议的 Wireshark Lua dissector,支持电信 (Telecom) 和华为 (Huawei) 两种协议变体
44

55
## 快速开始
66

@@ -32,8 +32,11 @@ Dissector 会自动识别以下情况的 FCC 协议包:
3232

3333
- UDP 端口 8027/15970 的流量(默认 FCC 服务器端口)
3434
- 符合 FCC 协议特征的 RTCP 包(自动启发式检测)
35+
- 华为 NAT 穿透包(8 字节,magic 0x0003)
3536

36-
## 支持的消息类型
37+
## 支持的协议变体
38+
39+
### 电信协议 (Telecom)
3740

3841
| FMT | 消息类型 | 说明 |
3942
| --- | ----------------- | ------------------------ |
@@ -42,26 +45,56 @@ Dissector 会自动识别以下情况的 FCC 协议包:
4245
| 4 | Sync Notification | 同步通知(可加入组播) |
4346
| 5 | Termination | 终止消息 |
4447

48+
### 华为协议 (Huawei)
49+
50+
| FMT | 消息类型 | 说明 |
51+
| --- | ----------------- | --------------------------- |
52+
| 5 | Client Request | RSR - Rapid Stream Request |
53+
| 6 | Server Response | 服务器响应 |
54+
| 8 | Sync Notification | 同步通知(可加入组播) |
55+
| 9 | Termination | SCR - Stream Change Request |
56+
| - | NAT Traversal | NAT 穿透包(非 RTCP 格式) |
57+
58+
> **注意**: FMT 5 在两种协议中含义不同。Dissector 会根据包长度自动区分:
59+
>
60+
> - 32 字节:华为客户端请求
61+
> - 16 字节:电信终止消息
62+
4563
## 过滤器示例
4664

4765
```text
4866
# 显示所有 FCC 协议包
4967
fcc
5068
51-
# 只显示客户端请求
69+
# 只显示客户端请求(电信)
5270
fcc.fmt == 2
5371
54-
# 只显示服务器响应
72+
# 只显示服务器响应(电信)
5573
fcc.fmt == 3
5674
57-
# 只显示成功的响应
75+
# 只显示华为服务器响应
76+
fcc.fmt == 6
77+
78+
# 只显示华为终止消息
79+
fcc.fmt == 9
80+
81+
# 只显示成功的电信响应
5882
fcc.resp.result == 0
5983
60-
# 只显示服务器重定向消息
84+
# 只显示成功的华为响应
85+
fcc.hw.resp.result == 1
86+
87+
# 只显示服务器重定向消息(电信)
6188
fcc.resp.action == 3
6289
90+
# 只显示华为重定向消息
91+
fcc.hw.resp.type == 3
92+
6393
# 显示特定组播地址的请求
6494
fcc.req.mcast_ip == 239.1.1.1
95+
96+
# 显示华为 NAT 穿透包
97+
fcc.hw.nat.session_id
6598
```
6699

67100
## 字段说明
@@ -72,14 +105,14 @@ fcc.req.mcast_ip == 239.1.1.1
72105
- `fcc.fmt`: 反馈消息类型
73106
- `fcc.media_ssrc`: 媒体源地址(显示为 IP)
74107

75-
### 客户端请求字段
108+
### 电信客户端请求字段
76109

77110
- `fcc.req.client_port`: 客户端端口
78111
- `fcc.req.mcast_port`: 组播端口
79112
- `fcc.req.mcast_ip`: 组播地址
80113
- `fcc.req.stb_id`: 机顶盒 ID
81114

82-
### 服务器响应字段
115+
### 电信服务器响应字段
83116

84117
- `fcc.resp.result`: 结果代码(0=成功,1=错误)
85118
- `fcc.resp.action`: 动作代码(2=启动单播,3=重定向)
@@ -89,11 +122,37 @@ fcc.req.mcast_ip == 239.1.1.1
89122
- `fcc.resp.speed`: 突发速率(自动显示为 Mbps/Kbps)
90123
- `fcc.resp.speed_after_sync`: 同步后速率
91124

92-
### 终止消息字段
125+
### 电信终止消息字段
93126

94127
- `fcc.term.stop_bit`: 停止位(0=正常,1=强制)
95128
- `fcc.term.seqn`: 首个组播包序列号
96129

130+
### 华为客户端请求字段
131+
132+
- `fcc.hw.req.local_ip`: 本地 IP 地址
133+
- `fcc.hw.req.client_port`: 客户端端口
134+
- `fcc.hw.req.flag`: 标志位
135+
- `fcc.hw.req.redirect_flag`: 重定向支持标志
136+
137+
### 华为服务器响应字段
138+
139+
- `fcc.hw.resp.result`: 结果代码(1=成功,其他=错误)
140+
- `fcc.hw.resp.type`: 响应类型(1=无需单播,2=单播流,3=重定向)
141+
- `fcc.hw.resp.nat_flag`: NAT 标志
142+
- `fcc.hw.resp.server_port`: 服务器端口
143+
- `fcc.hw.resp.session_id`: 会话 ID
144+
- `fcc.hw.resp.server_ip`: 服务器 IP 地址
145+
146+
### 华为终止消息字段
147+
148+
- `fcc.hw.term.status`: 状态(1=成功加入组播,2=错误)
149+
- `fcc.hw.term.seqn`: 首个组播包序列号
150+
151+
### 华为 NAT 穿透包字段
152+
153+
- `fcc.hw.nat.magic`: Magic 值 (0x0003)
154+
- `fcc.hw.nat.session_id`: 会话 ID
155+
97156
## 自定义端口
98157

99158
如果你的 FCC 服务器使用非标准端口,可以编辑 `fcc_dissector.lua` 文件:
@@ -126,3 +185,9 @@ udp_port:add(8027, fcc_proto) -- 改为你的端口
126185

127186
- 确认数据包完整(未被截断)
128187
- 检查数据包长度是否符合协议要求
188+
189+
**Q: 如何区分电信和华为协议?**
190+
191+
- 查看 Info 列:会显示 "(Telecom)" 或 "(Huawei)" 后缀
192+
- 电信协议使用 FMT 2/3/4/5
193+
- 华为协议使用 FMT 5/6/8/9

0 commit comments

Comments
 (0)