
锐捷AP上线全流程抓包解析用Wireshark透视CAPWAP隧道建立当你第一次看到锐捷AP启动时闪烁的指示灯是否好奇背后究竟发生了什么作为网络工程师我们常常需要面对AP无法上线的故障。传统排查方式依赖命令行和日志但今天我要分享一种更直观的方法——用Wireshark抓包透视整个CAPWAP隧道建立过程。通过真实报文交互你将看到抽象的网络协议如何转化为具体的数据流。1. 实验环境搭建与抓包准备在开始抓包前我们需要搭建一个最小化的实验环境。推荐使用以下配置硬件设备锐捷AP如RG-AP520系列支持CAPWAP的AC控制器二层交换机用于连接AP和AC安装了Wireshark的笔记本网络拓扑[AP] ---- [Switch] ---- [AC] | [Wireshark PC]提示将Wireshark主机连接到交换机的镜像端口Port Mirroring确保能捕获AP与AC之间的所有流量。关键抓包技巧在Wireshark中设置捕获过滤器udp port 5246 or udp port 5247仅捕获CAPWAP控制与数据报文开启允许捕获广播流量选项确保能捕获DHCP发现阶段的广播报文建议保存为.pcapng格式以保留完整元数据2. DHCP交互阶段AP如何获取初始IP当AP通电启动后首先需要获取IP地址才能与AC通信。这个阶段会触发完整的DHCP四步握手DHCP DiscoverAP发送广播报文目的MACff:ff:ff:ff:ff:ffWireshark过滤条件bootp.option.dhcp 1关键字段解析Transaction ID: 0x3a5b7c (随机生成) Client MAC: AP的BIA地址 Option 60: 厂商标识如RuijieDHCP Offer服务器回应可用IP地址关键字段Your IP: 192.168.1.100 (示例) Subnet Mask: 255.255.255.0 Router: 192.168.1.1 Option 43: AC地址列表如AC_IP10.1.1.1DHCP RequestAP确认接受的IP地址特别注意此时可能携带Option 50请求特定IPDHCP Ack服务器最终确认租约检查是否包含关键OptionOption 51: 租期时间如86400秒 Option 54: DHCP服务器标识常见问题排查表现象可能原因解决方案无DHCP Offer响应服务器未配置/网络隔离检查DHCP服务状态收到Offer但无RequestIP冲突/AP拒绝地址抓包查看ARP冲突AC地址未通过Option 43下发DHCP配置缺失添加子选项到Option 433. CAPWAP发现阶段AP如何定位AC获取IP后AP需要发现可用的AC控制器。这个过程会发送Discovery Request报文CAPWAP Header: Type: Control (0) Control Message Type: Discovery (2) Seq Num: 1 Flags: 0x8000 (Discovery)典型发现机制对比发现方式触发条件报文特征适用场景DHCP Option 43强制优先使用目标地址为指定AC IP集中管理环境DNS查询配置了域名查询CAPWAP._udp.多AC负载均衡本地广播无预配置信息目的IP 255.255.255.255临时调试当AC收到Discovery Request后会回复Discovery Response其中包含CAPWAP Control Header: Message Type: Discovery Response (3) AC Descriptor: - AC Name: RG-AC-01 - Max Supported APs: 256 - Current AP Count: 42 - Security: DTLS Supported注意如果收到多个AC响应AP会根据优先级Priority字段和负载情况选择最优AC。4. DTLS握手阶段安全隧道的建立现代网络环境中DTLS加密已成为CAPWAP隧道的标配。抓包观察这个阶段需要解密流量预置条件在Wireshark中导入AC证书Edit → Preferences → Protocols → DTLS设置PSK密钥如有握手过程抓包Handshake Protocol: Client Hello Random: 5b3a...c7d Cipher Suites: TLS_PSK_WITH_AES_128_GCM_SHA256Handshake Protocol: Server Hello Version: DTLS 1.2 Cipher Suite: TLS_PSK_WITH_AES_128_GCM_SHA256 Session ID: 42:5a...e9DTLS状态机对照表报文类型AP状态转换超时处理Client HelloDTLS Setup →60秒无响应则TeardownServer Hello→ DTLS Connect重传3次失败则中止Finished→ DTLS Done进入Join阶段如果握手失败常见原因包括证书过期/不匹配PSK密钥错误时钟不同步导致证书有效期检查失败5. Join与配置阶段AP的正式注册成功建立DTLS连接后AP发送Join Request报文CAPWAP Control Message: Type: Join Request (8) Seq Num: 5 Payload: - Board Data: AP硬件信息 - MAC Address: AP的无线MAC - Version: 11.1(5)B2AC回应Join Response关键字段包括Result Code: Success (0) Status: Config Update Required (2) Image Identifier: AP_IMAGE_11.1(5)B3此时可能出现两种情况情况一需要固件升级AP发送Image Data RequestAC分片传输固件观察Fragment Offset字段升级完成后AP自动重启情况二直接进入配置阶段Config Status Request: Radio Config: - Channel: Auto - Tx Power: 20 dBm WLAN Config: - SSID: Ruijie-Employee - Security: WPA2-Enterprise6. Run状态维护隧道保活机制进入Run状态后AP与AC通过两种机制维持隧道控制通道保活Echo Request/Response默认间隔30秒过滤条件capwap.control.message_type 23数据通道保活Keepalive报文UDP 5247端口特征capwap.data.header.k 1保活异常处理流程连续3次Echo超时 → 触发DTLS TeardownAP状态机回退到Discovery阶段重新尝试建立隧道在实际运维中我曾遇到一个典型案例某AP频繁掉线抓包发现Keepalive间隔异常波动。最终定位是中间链路的QoS策略错误限制了UDP 5247端口的带宽。7. 数据报文解析用户流量的封装正常工作的AP会通过CAPWAP隧道转发用户数据。观察一个典型的HTTP请求封装CAPWAP Data Header: Radio MAC: 00:0a:f5:12:34:56 WLAN ID: 3 Flags: 0x01 (802.11 Frame) 802.11 Frame: Type/Subtype: Data (0x0020) DS Status: To DS (0x01) SSID: Ruijie-Guest IP Packet: Src: 192.168.3.45 Dst: 8.8.8.8 Protocol: UDP (DNS)加密与非加密数据对比特征加密数据报文非加密数据报文CAPWAP头Type字段1 (DTLS)0 (Plain)可读性需解密才能查看内容可直接查看Payload典型场景开放WLAN用户数据已配置WPA3的流量掌握这些抓包技巧后下次当AP指示灯异常时你可以快速定位问题是处在DHCP、Discovery还是DTLS阶段。比起盲目查看日志报文交互能提供更直接的证据链。