Linux Sniffer辅助网络故障排查的核心流程与实践
Linux Sniffer(如tcpdump、Wireshark)通过捕获、分析网络数据包,帮助管理员定位网络故障根源,是网络运维的重要工具。其辅助排查的流程可分为以下关键步骤:
sudo(如sudo tcpdump -i eth0)。-i参数选择监听的网络接口(如eth0为有线接口、wlan0为无线接口),可使用tcpdump -D查看所有可用接口;host 192.168.1.100(抓取与该IP通信的所有流量);port 80(抓取HTTP流量)、src port 22(抓取源端口为SSH的流量);icmp(抓取Ping包)、tcp(抓取TCP协议流量);host 192.168.1.100 and (port 80 or port 443)(抓取该IP的HTTP/HTTPS流量)。-w参数将捕获的数据包保存为.pcap文件(如sudo tcpdump -i eth0 -w fault.pcap),便于后续用Wireshark等工具详细分析。tcpdump的实时输出查看数据包的基本信息(如源/目标IP、端口、协议),例如:
sudo tcpdump -nn -i eth0(-nn禁用主机名和端口解析,提升抓包速度);sudo tcpdump -A -s0 port 80(-A以ASCII格式显示数据内容,-s0抓取完整数据包,避免截断)。.pcap文件,通过以下功能深入分析:
tcp.syn == 1查看TCP SYN包、http.request查看HTTP请求)快速定位可疑流量;tcp.analysis.retransmission),若有大量重传,可能是网络拥塞、链路质量差或路由器故障;通过“统计→往返时间”查看延迟分布,识别高延迟节点。http.request.method(如GET/POST)是否正确,http.response.code(如404/500)是否为预期值;dns.qry.name(查询域名)与dns.resp.name(响应域名)是否一致,dns.resp.type(响应类型)是否为A记录(IPv4)或AAAA记录(IPv6)。tcpdump过滤广播流量(ether broadcast),若广播包数量急剧增加(占接口流量比例过高),可能是网络中存在环路(如交换机端口误接)、设备故障(如网卡广播风暴)。tcp[tcpflags] & (tcp-syn) != 0 and tcp[tcpflags] & (tcp-ack) == 0,仅抓取SYN包)检测异常流量(如SYN Flood攻击),及时采取措施(如调整防火墙规则、启用入侵防御系统)。.pcap文件包含敏感信息(如密码、个人信息),需妥善保管,避免泄露。