一、先明确排查目标
排查网络问题前,先别急着改配置。建议先问四个问题:
1. 是所有人打不开,还是只有我打不开? 2. 是域名打不开,还是 IP 也打不开? 3. 是整个网站打不开,还是某个端口或接口异常? 4. 是一直失败,还是偶尔失败?这四个问题能帮你把故障范围缩小到几个方向:
| 现象 | 可能方向 |
|---|---|
| 只有自己打不开 | 本机 DNS、本地网络、代理、防火墙 |
| 所有人都打不开 | 服务器、域名解析、CDN、证书、端口 |
| 域名不通但 IP 通 | DNS 或 CDN 调度 |
| IP 也不通 | 网络路径、服务器防火墙、服务未监听 |
| 偶尔失败 | 抖动、丢包、后端负载、连接超时 |
稳如狗网络工具箱适合放在这个流程的第一步:先从外部视角看域名、端口、延迟和响应状态,避免只站在自己电脑上判断。
二、第一步:查 DNS 解析是否正常
域名访问异常,第一件事通常是看解析。
可以先在在线工具里查:
- A 记录
- AAAA 记录
- CNAME
- 解析 IP
- TTL
- 不同 DNS 服务器结果是否一致
然后再用本机命令交叉验证。
Windows:
nslookup www.wenrugou.net nslookup example.com 223.5.5.5 nslookup example.com 8.8.8.8Linux/macOS:
digexample.comdig@223.5.5.5 example.comdig@8.8.8.8 example.com重点看几个信息:
| 字段 | 怎么判断 |
|---|---|
| 解析是否成功 | 如果返回 NXDOMAIN,先查域名配置 |
| IP 是否正确 | 看是否解析到预期服务器或 CDN |
| 不同 DNS 是否一致 | 不一致可能是缓存、污染或调度差异 |
| TTL 是否异常 | TTL 太长会导致旧记录长时间不更新 |
如果在线工具能解析,本机解析失败,多半是本地 DNS 或网络环境问题。
如果在线工具和本机都解析失败,就要回到域名服务商检查解析记录。
三、第二步:Ping 只能看基础连通性
Ping 很常用,但它只能说明 ICMP 层面的基础连通性,并不能代表 HTTP、HTTPS 或具体业务一定正常。
Windows:
ping example.com-n 20Linux/macOS:
ping-c20example.com观察结果时不要只看平均值。
更应该看:
- 是否丢包
- 最大延迟是否很高
- 延迟是否忽高忽低
- 是否偶发超时
比如:
平均延迟:35ms 最大延迟:980ms 丢包率:0%这并不代表网络很好。最大延迟接近 1 秒,说明链路可能有明显抖动,对接口请求、远程桌面和实时通信都会有影响。
如果在线工具的 Ping 正常,但你本机 Ping 异常,说明问题可能在本地网络、运营商路径或本机配置。
四、第三步:检查端口是否开放
网站打不开时,很多人只看域名和 Ping,却忘了端口。
一个服务器可能:
- IP 能 Ping 通,但 80/443 端口未开放。
- 端口开放,但后端服务没启动。
- 本地防火墙放行了 ICMP,但拦截了 TCP。
- 云服务器安全组没有放行对应端口。
Windows 可以用:
Test-NetConnectionwww.wenrugou.net-Port 443Test-NetConnectionexample.com-Port 80Test-NetConnectionexample.com-Port 22Linux/macOS 可以用:
nc-vzexample.com443nc-vzexample.com80或者:
telnet example.com443判断结果:
| 结果 | 说明 |
|---|---|
| TCP connect succeeded | 端口可连通 |
| timed out | 可能被防火墙拦截或路径不通 |
| refused | 主机可达,但端口没有服务监听 |
| no route to host | 路由或网络层面异常 |
在线端口检测工具的价值在于,它能从外部网络发起连接。如果本机不通、在线工具通,说明服务器可能没问题,问题更可能在本地网络或运营商路径。
五、第四步:检查 HTTP 状态码和响应头
端口通不代表网站正常。
HTTPS 端口开放,只能说明能建立 TCP 连接。真正的 Web 服务还要看 HTTP 状态码、证书、重定向、响应头。
命令行可以用:
curl-Ihttps://www.wenrugou.netcurl-Ihttps://example.com常见状态码:
| 状态码 | 含义 |
|---|---|
| 200 | 正常 |
| 301/302 | 重定向 |
| 403 | 权限或防护策略拦截 |
| 404 | 路径不存在 |
| 500 | 服务端异常 |
| 502 | 网关或反向代理异常 |
| 503 | 服务不可用 |
| 504 | 网关超时 |
如果在线 HTTP 检测返回 200,但本机浏览器打不开,可能是本地代理、DNS 缓存、浏览器缓存或安全软件干扰。
如果在线检测也返回 502/504,就要重点查反向代理、上游服务和服务器负载。
六、第五步:路由追踪判断路径是否绕远
当 DNS、端口、HTTP 都没明显问题,但访问仍然慢,就需要看路径。
Windows:
tracert example.comLinux/macOS:
tracerouteexample.com如果安装了 MTR:
mtr-rwzc100example.com路由追踪主要看:
- 哪一跳开始延迟明显升高
- 是否跨运营商绕路
- 是否出现连续超时
- 终点是否丢包
- 同一目标不同时间路径是否变化
需要注意:中间节点不回复 ICMP 很常见,单个中间节点星号不一定代表故障。更重要的是终点是否异常,以及某一跳之后是否持续变差。
七、在线工具和本机命令怎么配合?
推荐用下面这种方式:
1. 在线 DNS 查询:确认外部解析是否正常 2. 本机 nslookup/dig:确认自己电脑解析是否一致 3. 在线 Ping:确认外部网络到目标是否正常 4. 本机 Ping:确认本地链路是否异常 5. 在线端口检测:确认服务端端口是否开放 6. 本机端口检测:确认本机到服务端是否可达 7. 在线 HTTP 检测:确认服务响应状态 8. 本机 curl:拆解响应头和状态码这样可以形成一个很清晰的判断:
| 在线结果 | 本机结果 | 判断 |
|---|---|---|
| 正常 | 正常 | 基础网络大概率正常,继续查业务 |
| 正常 | 异常 | 本机、运营商或本地 DNS 问题 |
| 异常 | 正常 | 在线检测节点到目标路径异常 |
| 异常 | 异常 | 目标服务或域名配置问题概率高 |
稳如狗网络工具箱的优势在于把这些常见检测入口集中到一起,适合先做外部视角的快速判断,再决定是否需要深入抓包或登录服务器。
八、一个完整排障案例
假设用户反馈:
网站偶尔打不开,刷新几次又好了。可以按这个步骤查:
1. 查 DNS:确认解析 IP 是否稳定 2. 查 Ping:看是否存在明显延迟尖峰 3. 查端口:确认 80/443 是否持续开放 4. 查 HTTP:看是否偶发 502/504 5. 查路由:看是否某个时间段路径变化 6. 查服务器日志:对比异常时间点本机记录命令:
for($i=1;$i-le10;$i++){curl.exe-I-s https://example.comStart-Sleep-Seconds 3}如果发现偶尔返回 504,那么问题不一定在用户网络,可能是网关到后端服务超时。
如果 HTTP 状态一直正常,但用户访问慢,继续看 DNS、CDN、路径和本机环境。
九、建议保存排障记录
排障时最好不要只截图,要留下结构化记录。
可以用一个简单表格:
time,target,dns_ip,ping_avg,ping_max,port_443,http_code,note 10:00,example.com,203.0.113.10,32,88,true,200,normal 10:10,example.com,203.0.113.10,35,620,true,200,latency spike 10:20,example.com,203.0.113.10,34,90,true,504,gateway timeout有了记录,后续和云厂商、运营商、开发同事沟通都会更清楚。
十、总结
网络排障不一定要复杂。基础问题可以先从 DNS、Ping、端口、HTTP 状态和路由追踪这五个方向入手。
比较推荐的思路是:先用在线工具从外部视角做快速检查,再用本机命令做交叉验证,最后根据结果判断是本地问题、链路问题、服务端问题还是域名配置问题。
稳如狗网络工具箱比较适合作为日常排障的第一站,把常见检测能力集中起来,减少临时找工具、装工具、切换工具的时间。对开发者和站长来说,先把问题定位到正确方向,比盲目修改配置更重要。
参考资料
- 免费的稳如狗网络工具箱:https://www.wenrugou.net/tools
- DNS over HTTPS 标准 RFC 8484:https://www.rfc-editor.org/rfc/rfc8484
- DNS over TLS 标准 RFC 7858:https://www.rfc-editor.org/rfc/rfc7858
- EDNS Client Subnet 标准 RFC 7871:https://www.rfc-editor.org/rfc/rfc7871