交换机镜像抓包教程
交换机镜像抓包这事,交换机镜说穿了就三步:配好镜像端口,像抓打开Wireshark,包教看包。交换机镜但真上手的像抓人,十个里有八个卡在第一步——镜像配错了,包教抓回来的交换机镜全是垃圾流量,白忙活一小时。像抓 我见过最典型的包教场景:某次排查办公网卡顿,同事把镜像口接到了服务器上联口,交换机镜抓了半小时全是像抓广播包。后来发现交换机上联口是包教Trunk,带着VLAN标签,交换机镜而他的像抓抓包机没做VLAN剥离,包全带Tag,包教Wireshark里看着全是一堆802.1Q的乱码。这问题不在Wireshark,在于他没想清楚“要抓谁”。 先搞明白镜像方向。交换机镜像分三种:入方向、出方向、双向。你要抓服务器对外响应慢,就镜像服务器上联口的出方向;要抓客户端发来的请求,就镜像入方向。但多数情况你根本不知道问题在哪个方向,直接上双向,代价是流量翻倍,抓包机网卡可能扛不住。我习惯先抓双向30秒,看整体流量特征,再缩小范围。 具体配置命令,以华为S5720为例(思科、锐捷大同小异): ``` observe-port 1 interface GigabitEthernet0/0/1 interface GigabitEthernet0/0/2 port-mirroring to observe-port 1 both ``` 第一行定义观察端口,第二行进入业务端口,第三行把双向流量镜像到观察口。注意观察口千万别接成Trunk,否则你会收到所有VLAN的包。如果你必须用Trunk口做镜像,记得在抓包机上配VLAN子接口,或者用Wireshark的“VLAN”过滤功能先粗看。 抓包机的网卡选择也有讲究。千兆环境用USB3.0的千兆网卡勉强能跑,但一旦流量峰值超过800Mbps,丢包率直接飙到20%。万兆环境就别想了,直接上专业抓包设备或者用交换机的流镜像+远端抓包。我见过有人用笔记本自带网卡抓千兆流量,丢包丢到怀疑人生——后来查了网卡驱动,原来默认开启了“TCP校验和卸载”,硬件把校验和算好了,Wireshark里全是坏包。 抓完包别急着关,先看三个关键指标:丢包率、重传率、TCP窗口大小。如果丢包率超过0.1%,说明交换机镜像口本身丢包,你得降低抓包速率或改用分光器。重传率高,大概率是网络拥塞或对端接收窗口太小。窗口大小突然降到0,那是对端应用层处理不过来,跟交换机没关系。 有一次我抓一个数据库同步慢的问题,镜像口配好了,Wireshark也开着,但抓了十分钟全是正常流量。后来才发现是同步走的是加密端口,数据包看着都正常,实际内容全是密文。这时候你得在交换机上配置ACL,只镜像特定IP和端口,把无关流量全滤掉。命令大致是: ``` acl number 3000 rule 5 permit tcp source 192.168.1.10 0 destination 192.168.1.20 0 destination-port eq 3306 ``` 然后把ACL绑定到镜像规则里。这样抓包文件体积能小90%,分析效率翻倍。 最后说个反常识的坑:镜像口本身的带宽限制。很多交换机把镜像口和普通口共用同一转发芯片,当镜像流量超过端口速率时,交换机会自动丢弃部分包——而且不报错。你看着Wireshark统计显示“received: 10000, displayed: 10000”,但实际交换机已经丢了3000包。怎么验证?看抓包文件里的时间戳,如果相邻包间隔突然从0.1ms跳到5ms,那就是丢包了。这时候只能降低镜像速率,或者干脆用两个端口分别镜像入和出,别混在一起。 抓包这事,工具越简单越容易出结果。别一上来就搞什么分布式抓包系统,先拿个交换机镜像口加笔记本搞定80%的问题。剩下的20%,那是网络架构问题,不是抓包能解决的。
-
上一篇
-
下一篇
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-