其报文交互大致如下:
终端接入 → 设备检测到新MAC
↓
设备向云端发送 [MAC触发请求] (目标端口: 50100)
↓
云端返回 [认证结果/策略下发] (源端口: 50100)
↓
设备根据响应放行或阻断终端,并记录日志
能提供的报文内容吗
我这边暂时手里没有具体报文
注意:50100 是 UDP 端口,不是 TCP,很多人会误记为 TCPH3C;协议为 CMCC MAC‑Bind 协议(移动 Portal 无感知私有协议),H3C Comware7/9 使用该协议,用于 Portal MAC 无感知认证;设备侧叫
portal mac‑trigger‑server。 报文没有公开 Wireshark 解析插件,抓包只能看到 UDP payload 十六进制原始字节,无法直接解析字段,下面是完整交互时序、报文类型、设备侧调试查看方法。
free‑traffic threshold),设备生成mac‑trigger表项,终端此时还未 Portal 认证,可以跑少量免认证流量H3C。关键区分:
- UDP50100:仅 NAS ↔ MAC‑Bind 服务器之间查询 / 保存绑定关系。
- Portal 认证报文(用户名密码鉴权)走传统 Portal UDP 2000,不走 50100 端口H3C。
设备 debug / 日志打印报文 type 编号,对应含义:
表格
| 报文类型 | 名称 | 方向 | 作用 |
|---|---|---|---|
| 48 | bind_mac_info | NAS→Server | BIND‑REQ 查询 MAC 是否存在绑定 |
| 49 | ack_macbind_info | Server→NAS | BIND‑RSP 查询结果应答(0 = 已绑定;1 = 未绑定;其他 = 错误) |
| 50 | save_macbind_info | NAS→Server | BIND‑SAVE,Portal 认证成功后上报 MAC + 账号,要求服务器保存绑定 |
| 51 | ack_save_macbind_info | Server→NAS | 应答保存是否成功 |
现场日志样例(设备
debugging portal packet输出):
PORTAL/7/PACKET: MAC‑Trigger send bind_mac_info(48),mac=xxxx‑xxxx‑xxxx
PORTAL/7/PACKET: Portal received 16 bytes of packet: Type=ack_macbind_info(49), ErrCode=1
ErrCode=1:未绑定;ErrCode=0:已绑定,可以执行无感知 Portal。
display portal mac‑trigger‑server name mts
display portal mac‑trigger‑server packet‑statistics name mts
可以看到:发送多少 bind‑req、收到多少 ack、未绑定 / 已绑定应答计数,不需要抓包也能判断交互是否通。
terminal debugging
terminal monitor
debugging portal packet
debugging portal event
复现终端上线,看日志输出,可以看到上面的 type=48/49/50/51 报文,以及 ErrCode 返回码。
udp.port == 50100,抓到的 payload 是 CMCC 私有二进制,H3C 没有对外公开 wireshark 解析器,只能看到十六进制字节,无法自动翻译成字段。portal mac‑trigger‑server mts key xxx设备密钥必须和 MAC‑Bind 服务器密钥完全一致,否则报文校验丢弃。free‑traffic threshold设置过大,终端流量一直达不到阈值,永远不会触发 mac‑trigger 查询。ErrCode=0(已绑定),但是后续 Portal(UDP2000)认证失败,无感知依旧失败。mac‑authentication bypass‑portal关键区分(和你上一个问题对照)
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
我这边暂时手里没有具体报文