当前位置: 首页 > news >正文

别再死记硬背了!用Wireshark抓包实战,带你一步步拆解5G手机的注册与PDU会话建立流程

5G信令实战:用Wireshark透视手机注册与PDU会话建立全流程

当你的5G手机从飞行模式切回蜂窝网络时,屏幕上信号图标旁那个小小的"5G"字样背后,正上演着一场精密的数字芭蕾。作为网络工程师,我们不仅需要理解协议文档中的流程图,更要掌握将这些抽象步骤转化为可观测数据的能力。这就是Wireshark抓包分析的价值所在——它像一台高精度显微镜,让我们能直观看到每个信令交互的细节。

1. 实验环境搭建与抓包准备

1.1 硬件配置方案

要捕获真实的5G NAS信令,你需要:

  • 支持5G的测试手机:建议选用搭载骁龙X55/X60基带的开发设备(如Quectel RM500Q模组),这些设备通常开放更多调试接口
  • 便携式基站模拟器:商业级的Keysight UXM5G或开源版的srsRAN项目都可模拟gNB功能
  • 网络分流器:当使用真实运营商网络时,需通过分光器镜像流量(注意法律合规性)

提示:在实验室环境使用2.6GHz或3.5GHz频段需提前申请无线电实验许可

1.2 Wireshark配置要点

# 安装必要插件 sudo apt install wireshark-qt sudo usermod -aG wireshark $(whoami) # 关键过滤语法(保存为profile) ngap || nas-5gs || http2 || pfcp || diameter

协议支持矩阵

协议层过滤关键字对应接口主要功能
无线接入ngapN2gNB-AMF交互
核心网信令nas-5gsN1UE-AMF加密消息
服务化接口http2N8/N12AMF与AUSF/UDM通信
用户面管理pfcpN4SMF-UPF会话控制
认证授权diameterN6/N7PCF/AAA服务器交互

2. 初始注册流程报文解析

2.1 注册请求(Registration Request)解剖

捕获到的第一条关键消息通常是NAS层的Registration Request,典型字段包括:

5GS Registration Type: 0... .... = Initial registration: True .01. .... = Follow-on request pending: No ...0 0101 = Registration type: Initial registration (0x05) 5G-GUTI or IMSI: Mobile Identity: 5G-GUTI (0x02) MCC: 310 MNC: 410 AMF Region ID: 0x8000 AMF Set ID: 0x01 AMF Pointer: 0x00 TMSI: 0x00000001 UE Security Capability: Encryption algorithms: 128-NEA0, 128-NEA1, 128-NEA2, 128-NEA3 Integrity algorithms: 128-NIA0, 128-NIA1, 128-NIA2

关键观察点

  • 如果看到SUCI而非5G-GUTI,说明正在使用5G的隐私保护功能
  • NEA0/NIA0算法存在表示支持空加密,这在运营商网络中通常会被策略拒绝

2.2 认证与安全建立过程

认证流程会在AMF和AUSF间产生Diameter消息,过滤条件可设为:

diameter && (diameter.cmd.code == 318 || diameter.cmd.code == 319)

典型的安全模式命令(Security Mode Command)报文结构:

NAS Security Mode Command: Security header type: Integrity protected and ciphered (0x02) Message authentication code: 0x8a7b6c5d Sequence number: 1 5GS security algorithms: Ciphering algorithm: 128-NEA2 (0x02) Integrity algorithm: 128-NIA2 (0x02)

注意:若发现反复的Security Mode Reject事件,可能是UE与网络的安全能力集不匹配导致

3. PDU会话建立流程深度解码

3.1 SMF选择与会话创建

PDU会话建立会触发N4接口的PFCP会话建立请求,关键字段包括:

PFCP Session Establishment Request: F-SEID: 0x0102030405060708 PDI: Source Interface: Access (0x00) Network Instance: internet UE IP Address: 192.0.2.1/32 Create PDR: PDR ID: 1 Outer Header Removal: GTP-U/UDP/IPv4 (0x00) FAR ID: 1

关联协议流程

  1. UE发送PDU Session Establishment Request(NAS消息)
  2. AMF通过Nsmf_PDUSession_CreateSMContext(HTTP/2)通知SMF
  3. SMF与UPF建立PFCP会话(N4接口)
  4. UPF分配UE IP并返回响应

3.2 QoS规则与流量过滤器

成功的PDU会话会包含详细的QoS规则,可通过以下过滤条件定位:

nas-5gs && (nas_5gs.sm.message_type == 0x26)

示例QoS规则表:

QFI5QIARPUL MBRDL MBRFlow DirectionFilter Type
16850Mbps100MbpsUplinkIPv4
27510Mbps10MbpsBidirectionalTCP 80
3411Gbps1GbpsDownlinkUDP 5000

4. 异常场景排查手册

4.1 常见错误代码解析

通过nas-5gs.sm.cause过滤可快速定位失败原因:

原因值十六进制典型触发场景解决方案
Insufficient resources0x1AUPF资源不足检查UPF负载均衡配置
Missing or unknown DNN0x2B错误APN配置核对UDM中的订阅数据
Service not supported0x5E5QI不被支持更新SMF的QoS策略模板
Invalid PTI value0x6F会话管理冲突检查UE的PTI分配逻辑

4.2 典型故障树分析

场景:PDU会话建立卡在SMF选择阶段

  1. 检查AMF日志确认是否收到Nsmf_PDUSession_CreateSMContext
    http2.frame.type == 0x01 && http2.header.path == "/nsmf-pdusession/v1/sm-contexts"
  2. 若无响应,检查NRF服务发现是否正常
    http2.header.path == "/nnrf-disc/v1/nf-instances"
  3. 若NRF返回404,需验证SMF的NF注册信息是否完整

抓包技巧:在AMF上设置tcpdump -i any -s 0 -w amf.pcap port 8080可捕获服务化接口消息

5. 高阶分析技巧

5.1 时间序列关联分析

使用Wireshark的Statistics > Flow Graph功能生成信令时序图时,注意调整:

时间精度:微秒级 过滤条件:ngap || nas-5gs 显示选项:隐藏ACK/Keepalive报文

典型注册流程时间分布:

阶段平均耗时(ms)主要影响因子
RRC连接建立15-50无线信号质量
NAS安全建立80-120认证服务器响应
PDU会话建立200-500UPF资源准备时间
端到端完成300-700网络切片配置复杂度

5.2 加密报文逆向分析

虽然NAS消息内容被加密,但元数据仍可提供有价值信息:

NAS 5GS Security Protected Message: Security header type: Integrity protected and ciphered (0x02) Message authentication code: 0x9e8d7c6b Sequence number: 42 Protocol discriminator: 5GS mobility management (0x7e)

关键洞察

  • 连续序号中断可能意味着安全同步失败
  • MAC值全零通常表示安全上下文未正确应用
  • 异常频繁的Security Mode Command提示可能存在中间人攻击尝试

在真实网络优化项目中,我们曾通过分析注册请求中的TAC字段分布,发现某厂商基站配置错误导致的频繁位置更新问题。具体表现为同一地理区域的UE上报完全不同的Tracking Area Code,这促使我们开发了自动化TAC一致性检查工具,将类似问题的诊断时间从平均4小时缩短到15分钟。

http://www.jsqmd.com/news/798319/

相关文章:

  • YOLOv11 改进 - 注意力机制 CoordAttention坐标注意力:嵌入位置信息破解通道注意力局限,增强目标空间感知
  • 在树莓派上部署YoloV4-Tiny:用PyTorch Mobile实现边缘端实时目标检测
  • 别再只怪芯片了!拆解一个智能家居产品,看它的EMC静电防护设计到底哪里出了问题
  • 跨越平台鸿沟:ACM LaTeX模板的实战部署与字体兼容性攻坚
  • Windows 10 任务管理器打开后自动退出(点详细信息崩溃)完整排查记录
  • 知网AI率30%50%80%哪个最难降?比话降AI知网专精方案!
  • 牛客:字符串展开
  • 2026年4月市面上比较好的店铺设计装修批发厂家口碑推荐,服装店设计装修/店铺设计装修,店铺设计装修定制厂家推荐 - 品牌推荐师
  • 3分钟解锁QQ音乐加密格式:qmc-decoder音频解密工具完全指南
  • 从‘创建’到‘销毁’:一个RDMA Queue Pair的完整生命周期实战与状态机避坑指南
  • Spring Boot + JWT 实现无状态认证
  • VideoDownloadHelper:3步实现全网视频下载的智能工具
  • Matlab实战:基于EGM2008模型与球谐函数解析全球重力梯度场
  • 学习进度4/10
  • 深度解析:如何构建广谱注入Chromium/V8的通用修改器
  • YOLOv11 改进 - 注意力机制 ACmix自注意力与卷积混合模型:轻量级设计融合双机制优势,实现高效特征提取与推理加速
  • 别再只用Speedtest了!用群晖Docker部署Homebox,打造你的专属内网万兆测速站
  • 健康管理PPT风格描述提示词
  • Java面试跳槽需要提前准备什么内容?
  • 计算机毕业设计:Python医疗文本挖掘与可视化决策平台 Flask框架 随机森林 机器学习 疾病数据 智慧医疗 深度学习(建议收藏)✅
  • Sonos家庭影院音频设置指南:微调设置,提升音质与沉浸感!
  • 07 二叉树的最小深度
  • FanControl深度解析:如何为Windows打造智能静音散热系统
  • 5月重磅|2026苏州GEO优化公司TOP5实力盘点+GEO攻略+GEO优化 - 一网推GEO招财兔
  • 深度解析React核心机制:从组件到虚拟DOM的全面指南
  • H3C WA5320云AP瘦转胖实战:从BootWare升级到固件刷写的完整避坑指南
  • 梯度下降变体:SGD、Adam、RMSProp 对比实验
  • 数字的长征:从蒸汽机到智能体——可计算化革命的底层演进脉络
  • 【AI】FastFolders.exe v5.14.2 许可分析
  • 【实战指南】PLSQL Developer 13 从零配置到高效开发:安装、注册与核心功能详解