网络排错必备:这几个命令比ping更强大!

“先ping一下”是网络排错的第一反应。

但当 ping 通了却业务不通,或 ping 不通却不知原因时,你就需要更精准、更深入的诊断工具

今天就给大家精选8个比 ping 更强大的网络诊断命令,覆盖路径追踪、端口探测、路由分析、连接监控等高级场景,帮你从“是否通”进阶到“为什么不通”。

1. traceroute / tracert

—— 看清数据包的完整路径

作用:

逐跳显示数据包从源到目的经过的每一台设备。

使用场景:

  • 用户能上网,但访问某网站特别慢
  • 跨地域访问延迟高,需定位瓶颈节点

示例:

# Linux/macOS
traceroute www.baidu.com
# Windows
tracert www.baidu.com

高级技巧(华为交换机):

tracert -a 192.168.10.1 8.8.8.8 # 指定源IP发起追踪

✅ 优势:一眼看出卡在哪一跳(如运营商边界、防火墙)

2. telnet <IP> <Port>

—— 测试TCP端口连通性

作用:

验证目标主机的特定TCP端口是否开放并响应

为什么比 ping 强?

  • ping 只测ICMP(可能被禁)
  • telnet 测真实业务端口(如Web 80、数据库 3306)

示例:

telnet 10.10.1.100 80 # 测试Web服务
telnet 192.168.1.1 22 # 测试SSH是否可达

nc -vz 10.10.1.100 80 # nc(netcat)更轻量

若连接超时 → 防火墙拦截或服务未启动
若连接拒绝 → 服务未监听该端口

3. arp -a / display arp

—— 查看IP与MAC映射

作用:

检查本地ARP表是否正确学习到网关或服务器的MAC地址。

排错场景:

  • 能ping通网关,但无法访问外网
  • 出现“IP冲突”提示

示例:

# Windows
arp -a | findstr 192.168.1.1
# 华为交换机
display arp | include 192.168.1.100

异常信号:

  • 同一IP对应多个MAC → ARP欺骗或IP冲突
  • 网关无ARP条目 → 二层不通(线缆/交换机问题)

4. nslookup / dig

—— 精准诊断DNS解析

作用:

绕过系统缓存,直接向指定DNS服务器查询域名解析结果。

为什么比浏览器测试强?

  • 可区分是“DNS问题”还是“网站宕机”
  • 可测试不同DNS服务器(如8.8.8.8 vs 内网DNS)

示例:

# Windows
nslookup www.qq.com 8.8.8.8
# Linux
dig @114.114.114.114 baidu.com A

关键输出:

  • NXDOMAIN → 域名不存在
  • SERVFAIL → DNS服务器故障
  • 返回正确IP但打不开 → 非DNS问题

5. netstat -an / ss -tuln —— 查看本机网络连接状态

作用:

列出本机所有监听端口和活跃连接。

排错场景:

  • 服务启动了,但外部无法访问
  • 怀疑端口被占用

示例:

# Windows
netstat -an | findstr :80
# Linux(推荐用 ss,更快)
ss -tuln | grep :22

关注字段:

  • LISTEN:服务正在监听
  • ESTABLISHED:已有连接
  • TIME_WAIT:连接已关闭但未释放

若服务未出现在 LISTEN 列表 → 服务未真正启动或绑定错误IP

6. mtr(My TraceRoute)

—— ping + traceroute 的融合神器

作用:

实时持续追踪路径,并统计每跳的丢包率与延迟。

安装(Linux):

yum install mtr -y # CentOS
apt install mtr -y # Ubuntu

使用:

mtr -rwc 10 8.8.8.8 # 发送10个包后报告

输出解读:

Host Loss% Snt Last Avg Best Wrst StDev
1. 192.168.1.1 0.0% 10 1ms 1ms 1ms 2ms 0.3
2. 10.10.1.1 0.0% 10 2ms 2ms 2ms 3ms 0.4
3. ??? 100.0% 10 - - - - 0.0 ← 防火墙屏蔽ICMP

✅ 优势:一次性看清路径质量,比单独 ping 或 traceroute 更高效

7. tcpdump / Wireshark

—— 抓包分析原始流量

作用:

捕获并分析网络接口上的原始数据包。

使用场景:

  • 应用层协议异常(如HTTP 500、SSL握手失败)
  • 怀疑存在异常流量(广播风暴、攻击)

简单示例(Linux):

# 抓取目标IP的HTTP流量
tcpdump -i eth0 host 10.10.1.100 and port 80 -nn -w http.pcap

华为交换机镜像抓包(配合Wireshark):

observe-port 1 interface GigabitEthernet 0/0/24 # 设置观察端口
interface GigabitEthernet 0/0/1
port-mirroring to observe-port 1 inbound # 镜像流量

抓包是终极手段,可看到请求是否发出、响应是否返回、错误码是什么

8. pathping(Windows专属)

—— 微软的智能路径分析

作用:

结合 ping 和 traceroute,对每跳进行多轮探测,计算丢包与延迟。

使用:

pathping 8.8.8.8

输出特点:

  • 先 traceroute 找出路径
  • 再对每跳发送100个包,统计质量
  • 明确指出哪一跳是瓶颈

适合Windows环境下的深度链路质量分析

对比总结:何时用哪个命令?

网络排错必备:这几个命令比ping更强大!

总结

  • ping 回答:“通吗?”
  • telnet/nslookup/mtr 回答:“哪一层断了?”
  • tcpdump 回答:“到底发生了什么?”
阅读剩余
THE END