全部文章

网络诊断工具

ping、traceroute、nslookup、tcpdump、Wireshark 等网络排查工具

目录 22 节

网络诊断工具

网络排障最怕“命令全会一点,但不知道先跑哪个”。更高效的方式是先判断问题大概落在哪一层:DNS、路由、端口、TLS、应用响应,接着再挑对应工具。

推荐排障顺序

  1. 先看本机网络是否正常
  2. 再看域名是否解析正确
  3. 再看路由和端口是否可达
  4. 最后再看 TLS、HTTP 响应和抓包细节

先按问题选工具

  • 连不通pingtracertmtr
  • 域名异常nslookupdig
  • 端口 / 服务不通Test-NetConnectionssnetstat
  • HTTPS / 响应慢curl -vI、响应时间测试
  • 要看底层流量tcpdump、Wireshark

基础命令

ping

ping example.com
ping -c 4 example.com         # 发送 4 次
ping -t example.com            # Windows 持续 ping

ping 适合先看基础连通性和延迟趋势,但目标主机禁 ICMP 时,ping 不通不代表网站一定不可用。

traceroute / tracert

# Linux/macOS
traceroute example.com

# Windows
tracert example.com

# 更好的替代:mtr
mtr example.com

mtr 比单纯的 traceroute 更适合持续观察丢包和波动。

nslookup / dig

# DNS 查询
nslookup example.com
nslookup -type=MX example.com

# dig(更详细)
dig example.com
dig example.com MX
dig @8.8.8.8 example.com      # 指定 DNS 服务器
dig +short example.com         # 简洁输出

DNS 问题最常见的不是“完全解析失败”,而是解析到错误 IP、旧记录或地区差异结果。

curl 诊断

# 查看响应时间
curl -o /dev/null -s -w "DNS: %{time_namelookup}s\nConnect: %{time_connect}s\nTTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n" https://example.com

# 查看 TLS 信息
curl -vI https://example.com 2>&1 | grep -E "SSL|subject|expire"

# 测试 HTTP/2
curl -I --http2 https://example.com

curl 非常适合判断“是网络问题,还是应用层响应问题”。

ss / netstat

# 查看监听端口
ss -tlnp
netstat -tlnp                  # 旧版

# 查看所有连接
ss -tanp

# 查看特定端口
ss -tlnp | grep :80

这组命令很适合本机服务启动后自检,尤其是 Nginx、Node、数据库和代理服务。

高级工具

tcpdump

# 抓取指定端口
tcpdump -i eth0 port 80

# 抓取指定主机
tcpdump -i eth0 host 1.2.3.4

# 保存到文件
tcpdump -i eth0 -w capture.pcap

# 只看 HTTP
tcpdump -i eth0 -A port 80 | grep -E "GET|POST|HTTP"

抓包前先缩小范围:主机、端口、协议尽量先限定,否则信息量会大到难以分析。

Wireshark

图形化抓包分析工具。

winget install WiresharkFoundation.Wireshark

常用过滤器:

http                           # HTTP 流量
tcp.port == 443                # HTTPS 端口
ip.addr == 1.2.3.4            # 指定 IP
dns                            # DNS 查询
tcp.flags.syn == 1             # SYN 包
http.request.method == "POST"  # POST 请求

Wireshark 适合做“我知道有问题,但不知道到底在哪里”的深入分析。

nmap

端口扫描工具。

# 扫描常用端口
nmap example.com

# 扫描指定端口
nmap -p 80,443,8080 example.com

# 扫描所有端口
nmap -p- example.com

# 服务版本检测
nmap -sV example.com

# 操作系统检测
nmap -O example.com

nmap 更适合资产扫描和服务识别;面对自己不控制的目标时,要先确认使用边界和合规性。

在线工具

工具说明
ping.pe全球多节点 ping
DNS CheckerDNS 传播检查
SSL LabsSSL 证书检测
PageSpeed网站性能分析
ipinfo.ioIP 信息查询
whatismyip.com查看公网 IP

PowerShell 网络命令

# DNS 查询
Resolve-DnsName example.com
Resolve-DnsName example.com -Type MX

# 端口测试
Test-NetConnection example.com -Port 443

# 路由追踪
Test-NetConnection example.com -TraceRoute

# 查看网络配置
Get-NetIPAddress
Get-DnsClientServerAddress

常见排障路径

网站打不开

  • nslookup / dig
  • curl -vI
  • Test-NetConnectiontracert

域名刚改解析但还没生效

  • 看权威 DNS 和公共 DNS 返回是否一致
  • 用 DNS Checker 做多地区验证

服务器应用起来了,但外网访问不到

  • 先看服务监听端口
  • 再看防火墙 / 安全组
  • 最后看域名和反向代理

常见问题

ping 通但网页打不开

这通常说明网络基础连通不一定有问题,故障更可能在端口、TLS、反向代理或应用服务本身。

DNS 看起来正常,但访问还是不对

可能是 CDN、缓存、SNI、证书或上游服务分流导致的,别只盯着 DNS 一项。

参考链接

阅读建议
  • - 先读标题和摘要,再结合目录决定从哪个章节开始精读。
  • - 看到具体命令、配置或步骤时,尽量在自己的环境里同步验证。
  • - 如果你只是快速查资料,可先看目录和相关文档,再决定是否深入全文。
适合谁看
  • - 希望把零散经验整理成长期可复用工作流的人
  • - 需要处理网络链路或基础安全配置的人
  • - 希望阅读时顺手建立自己的操作清单或收藏体系的人
执行前检查
  • - 先浏览标题、摘要和目录,带着问题阅读会更高效
  • - 确认当前网络拓扑、路由权限以及是否会影响其他设备访问
  • - 如果页面里提到相关文档,尽量一起打开对照,效果通常更完整
同类内容
← 上一篇设计资源与工具