在交换机上抓包,一般可排查一些网络问题。
下面是总结的在各厂商交换机上抓包方式。
H3C交换机抓包:
在华三交换机上可使用:packet-capture 命令,在用户视图下执行。
具体操作可查看这:https://www.h3c.com/cn/d_202009/1327093_30005_0.htm
1 | 做流统匹配抓包流量 |
需要注意的几点:
- 抓包时尽量使用acl匹配精确的流
- 在traffic behavior中,必须配置流量镜向到CPU。mirror-to cpu, 否则不能抓到包。
- 抓包时做好文件大小限制,autostop filesze 50000, 因为交换机的硬盘都很小,防止把交换机硬盘打满。
- 抓包时尽量选择流量低峰期。
- 配置accounting packet 流量统计后,可通过display qos policy interface 查看匹配情况。
华为交换机抓包:
华为交换机抓包使用:capture-packet 命令,在用户视图下执行。
1 | capture-packet interface 10GE 1/0/5 acl 3000 destination file file.cap packet-num 1000 packet-len 1000 |
注意事项:做好抓包限制,防止打满硬盘。
锐捷交换机抓包:
锐捷交换机抓包使用packet captur命令,在用户视图下执行。
1 | packet capture ? |
Arista交换机抓包:
Arista抓包是需要进入bash,使用linux命令tcpdump来抓包。
1 | Arista# |
Cisco交换机抓包:
Cisco nexus 抓包使用ethanalyze命令。在用户视图下执行。
注:该命令只能捕获去交换机自身和自身发出去的流量。
不能捕获:捕获在硬件中转发的数据平面流量。不支持特定于接口的捕获
如果需要抓取CPU的流量,需要将端口流量镜像到CPU,然后使用ethanalyze抓取。
在抓端口镜像(转发层面的)包时,设备不能配置sflow。
ERROR: SFLOW is configured. Please delete all SFLOW data sources before configuring SPANs
1 | ethanalyzer local interface inband ? |