端口镜像与抓包
场景
要抓某台服务器的流量分析,但服务器上没有 tcpdump,或者交换机上就能看。
前置条件
- 有一台能接镜像口的分析机(装了 Wireshark 或 tcpdump)
- 知道要镜像哪个口、哪个方向
- 交换机支持本地镜像
配置
H3C
system-view
mirroring-group 1 local
interface GigabitEthernet1/0/1
mirroring-group 1 mirroring-port both
quit
interface GigabitEthernet1/0/24
mirroring-group 1 monitor-port
quit
华为
system-view
observe-port 1 interface GigabitEthernet0/0/24
interface GigabitEthernet0/0/1
port-mirroring to observe-port 1 both
quit
both 是双向,也可以 inbound / outbound。
验证
分析机上:
tcpdump -i eth0 -nn -c 20
ip -s link show eth0
能看到流量就说明镜像生效。
回滚
undo mirroring-group 1
或者:
interface GigabitEthernet0/0/1
undo port-mirroring to observe-port 1
坑
- 镜像口不能再当业务口用,接上去的机器只能抓包。
- 镜像流量可能超过分析机网卡能力,丢包导致分析结论错。
- 镜像口和业务口在同一个 VLAN 时,可能产生环路。
- 双向镜像在高峰时段流量翻倍,交换机 CPU 会上去。
- 只镜像一个方向会看不出完整会话。
- 抓包文件别存系统盘,半小时就能写几个 G。