温馨提示×

CentOS Sniffer怎么排查网络故障

小樊
53
2026-08-30 08:27:03
栏目: 智能运维

在 CentOS 上排查网络故障,通常不需要也不推荐使用“Sniffer”这类抓包工具作为首选,而是建议分层排查。下面我先给你一个实战排查思路,再重点讲 Sniffer / 抓包(tcpdump) 的正确用法。


一、CentOS 网络故障典型排查流程(推荐顺序)

1️⃣ 先确认物理 & 基础网络

ip a
ip route
  • 是否拿到 IP
  • 是否缺默认路由
  • 网卡是否 UP
ping -c 4 8.8.8.8
ping -c 4 www.baidu.com
  • 通 → 网络层 OK
  • 不通 → 继续排查

2️⃣ 检查 DNS

cat /etc/resolv.conf
nslookup www.baidu.com
dig www.baidu.com

3️⃣ 检查防火墙 & SELinux

systemctl status firewalld
firewall-cmd --list-all
getenforce

临时关闭测试:

systemctl stop firewalld
setenforce 0

4️⃣ 检查端口 & 服务监听

ss -lntp
netstat -lntp   # 没装 net-tools 用 ss

二、什么时候才用 Sniffer(抓包)

适合场景

  • TCP 连接卡住
  • 丢包、重传
  • 应用层无响应
  • 防火墙拦截(看得到 SYN 看不到 ACK)

不适合

  • 基础网络不通(先 ping)

三、CentOS 常用 Sniffer 工具

✅ tcpdump(最常用,强烈推荐)

安装

yum install -y tcpdump

常见抓包示例

1️⃣ 抓指定网卡

tcpdump -i eth0

2️⃣ 抓某端口(如 80)

tcpdump -i eth0 port 80

3️⃣ 抓某 IP

tcpdump -i eth0 host 192.168.1.10

4️⃣ 抓 HTTP(调试用)

tcpdump -i eth0 port 80 -A

5️⃣ 抓 SYN(看是否三次握手)

tcpdump -i eth0 'tcp[tcpflags] & (tcp-syn) != 0'

6️⃣ 保存 pcap 文件(Wireshark 分析)

tcpdump -i eth0 -w net.pcap

四、典型网络故障抓包分析思路

场景 1:服务端口能 ping 但访问不了

tcpdump -i eth0 port 8080

✅ 看到:

  • SYN 进来
  • 没有 ACK
    ➡️ 说明 服务没监听 / 防火墙拦截

场景 2:TCP 重传

看到大量:

Flags [.], seq xxx:xxx, ack xxx, win xxx, length xxx

➡️ 网络丢包 / MTU 问题


场景 3:DNS 问题

tcpdump -i eth0 port 53

五、图形化 Sniffer(可选)

Wireshark(本地或下载 pcap)

yum install -y wireshark

更推荐:

在 CentOS 抓包 → 拷到 Windows → Wireshark 分析


六、常见误区(重点)

❌ 把 Sniffer 当第一排查工具
❌ 不看方向(IN/OUT)
❌ 不看 TCP 状态(SYN / ACK / RST)
❌ 抓包不保存 pcap


七、我可以继续帮你

你可以直接告诉我:

  • CentOS 版本(6 / 7 / 8 / Stream)
  • 故障现象(访问慢?连不上?丢包?)
  • 涉及端口 / IP
  • ✅ 是否生产环境

我可以给你 一步步精确命令,甚至帮你 直接分析 tcpdump 输出

0