在设备上直接抓包
排障到一定程度就必须看报文:路由器有没有收到、转出去了没有、有没有被改写。华为部分平台自带 capture-packet,一条命令就能带 ACL 过滤抓包并输出到终端或文件;思科在 IOS-XE 上用嵌入式抓包(EPC)的多条 monitor capture 命令;H3C 的传统做法是把流量镜像到某个端口,再接抓包机分析。选哪种取决于设备能力与现场条件。
基本信息
| 适用平台 | 华为 VRP 部分平台、思科 IOS-XE、H3C Comware |
|---|---|
| 输出方式 | 终端直接显示、写入设备文件、镜像到外部抓包机 |
| 过滤手段 | ACL 或匹配表达式,用于把抓包范围收窄到目标流量 |
| 权限要求 | 华为部分平台需在诊断视图或具备相应权限 |
| 风险提示 | 抓包会消耗 CPU 与带宽,生产环境须限流限时 |
典型使用场景
- 确认报文是否到达设备:区分丢在设备前还是设备内
- 验证 NAT 或 ACL 改写效果:抓包看地址与端口是否按预期转换
- 协议协商失败:抓取交互报文判断哪一步没有回应
- 单向不通:两端同时抓包,判断请求与应答各到了哪里
- 业务侧无法复现:在设备上定点抓取,取得可分析的原始证据
华为 VRP
华为 VRP
capture-packet interface GigabitEthernet0/0/1 destination terminal
capture-packet interface GigabitEthernet0/0/1 acl 3000 destination terminal
capture-packet interface GigabitEthernet0/0/1 destination file flash:cap.cap
! 用 ACL 收窄范围:只抓目标主机与端口,避免终端被刷屏
! 抓包文件导出后用协议分析工具打开思科 IOS-XE
思科 IOS-XE
SW-CORE-01# monitor capture cap interface GigabitEthernet0/1 both
SW-CORE-01# monitor capture cap match ipv4 any any
SW-CORE-01# monitor capture cap start
SW-CORE-01# monitor capture cap stop
SW-CORE-01# monitor capture cap export flash:cap.pcap
SW-CORE-01# show monitor capture cap buffer brief # 确认抓到多少报文H3C Comware
H3C Comware
[H3C] mirroring-group 1 local
[H3C] mirroring-group 1 mirroring-port GigabitEthernet1/0/1 both
[H3C] mirroring-group 1 monitor-port GigabitEthernet1/0/2
! 监控口接抓包机;部分 Comware 版本也支持设备侧抓包命令
<H3C> display mirroring-group all三厂抓包方式对照
| 对比项 | 华为 VRP | 思科 IOS-XE | H3C Comware |
|---|---|---|---|
| 就地抓包 | capture-packet 一条命令带过滤 | monitor capture 多条命令 | 部分版本支持设备侧抓包命令 |
| 输出到终端 | destination terminal | 抓完后查看缓冲区 | 通常不支持 |
| 输出到文件 | destination file | export 到 flash | 以镜像到抓包机为主 |
| 过滤能力 | 通过 ACL 限定范围 | match 表达式 | 依靠抓包机的过滤能力 |
| 注意事项 | 终端输出速率受限容易丢包 | 缓冲区大小有限,需限时抓取 | 镜像口带宽应足够,避免镜像丢包 |
终端输出速率受 SSH 或控制台带宽限制,大流量抓包会丢包失真,结论也就不可靠。生产环境优先输出到文件或镜像给外部抓包机,并用 ACL 把范围收窄;抓包前后都要确认设备 CPU 与内存没有明显上升。