温馨提示×

centos sniffer怎么排查故障

小樊
35
2026-09-15 06:30:05
栏目: 智能运维

在 CentOS 上用 sniffer(抓包)排查故障,通常指使用 tcpdump / wireshark / tshark 等工具分析网络问题。下面按「场景 → 命令 → 分析思路」给你一套实用方法。


一、常用抓包工具

1. tcpdump(最常用,CentOS 自带)

yum install -y tcpdump

2. tshark(Wireshark 命令行版)

yum install -y wireshark

二、基础抓包命令

1. 监听某块网卡

tcpdump -i eth0

2. 抓指定 IP

tcpdump -i eth0 host 192.168.1.100

3. 抓指定端口(如 80 / 3306)

tcpdump -i eth0 port 80

4. 抓 TCP 三次握手

tcpdump -i eth0 tcp flags syn

5. 保存文件后用 Wireshark 分析

tcpdump -i eth0 -w debug.pcap

三、常见故障排查场景

✅ 场景 1:服务端口不通

tcpdump -i eth0 port 8080

现象判断:

  • 有 SYN,无 ACK → 服务没监听 / 防火墙挡
  • 完全没包 → 网络路由问题

检查:

ss -lntp | grep 8080
iptables -L -n

✅ 场景 2:网络延迟高 / 丢包

tcpdump -i eth0 host 10.0.0.5

看:

  • TCP Retransmission(重传)
  • TCP Dup ACK
  • RTT 明显变大

✅ 场景 3:DNS 解析慢或失败

tcpdump -i eth0 udp port 53

看:

  • 是否有 DNS 请求
  • 是否有响应
  • 响应时间

✅ 场景 4:HTTP 请求异常

tcpdump -i eth0 port 80 -A

或:

tshark -i eth0 -Y http

✅ 场景 5:SSH 连接慢

tcpdump -i eth0 port 22

配合看:

  • 是否 DNS 反向解析慢
  • 是否有大量重传

四、结合系统命令一起用

# 看连接状态
ss -antp

# 看网卡丢包
ip -s link

# 看路由
ip route

# 看防火墙
iptables -L -n -v

五、典型故障判断速查

现象 可能原因
只有 SYN 服务未监听 / 防火墙
大量重传 网络拥塞 / 链路问题
RST 包 服务拒绝 / 端口关闭
DNS 无响应 DNS 配置错误
延迟突然增大 网卡 / 交换机问题

六、建议排查流程(实战)

  1. 确认服务是否监听
  2. 本地 curl / telnet 测试
  3. tcpdump 抓包
  4. 看 SYN / ACK / RST
  5. 必要时保存 pcap 给同事或厂商分析

如果你能告诉我:

  • 具体故障现象(连不上?慢?丢包?)
  • 使用的服务(Web / DB / SSH)
  • CentOS 版本

我可以直接给你针对性抓包命令和分析步骤。

0 踩