网络排查入门:ping、DNS与端口的三步定位法
新手第一次遇到“网站打不开”“接口调不通”,最容易的做法是反复刷新,或者直接怀疑服务挂了。其实网络问题分层很清楚,先把范围缩小,再去找具体原因,往往比盲目重启更省时间。下面这套三步法,就是我自己常用的排查顺序。
第一步:先用 ping 看通不通
ping 是最基础的连通性测试。它发一个小的回显请求,看对方能不能回应。先 ping 域名,再 ping 对应的 IP 地址;如果两者都通,说明本地到目标的基本链路大体正常;如果都不同,就要继续看是本地网络、中间链路还是目标主机的问题。
需要注意,ping 不通不等于服务挂了。很多服务器会关闭 ICMP 回应,防火墙也可能直接丢弃 ping 包,这时即使网站本身正常,ping 也会超时。反过来,ping 通也只说明网络层大体可达,并不能证明应用服务本身在正常工作。所以 ping 的作用是“缩小范围”,不是“最终结论”。
第二步:再查 DNS 解析
如果 ping 域名不通,但 ping IP 能通,问题很可能出在域名解析上。这时可以用 nslookup 或 dig 查一下域名解析到了哪个地址,再对比你期望的地址是否一致。常见的情形包括:域名刚修改解析但还没有生效,本地缓存了旧记录,或者写错了域名本身。
一个简单的区分办法是:换一个网络环境或换一台设备再试一次。如果换环境就好了,问题多半在本地缓存或本地 DNS 配置;如果到处都不对,就要回头检查域名解析记录和生效时间。做这一步时,先确认自己拼写的域名没有多余字符,这是新手最容易忽略的低级错误。
第三步:看端口与服务是否在监听
当前两步都通过,仍然打不开服务,就该看端口和服务本身了。先确认服务是否真的在运行,再确认它监听的是哪个端口、绑定的是本机地址还是全部地址。例如服务只监听了 127.0.0.1,那从别的机器访问自然会失败,这不是网络断了,而是监听范围不对。
接着检查端口是否被防火墙放行,以及访问时用的协议和端口是否匹配。可以在服务器本机先用 curl 或浏览器访问一次:如果本机能访问、外面不能访问,重点查防火墙和安全组;如果本机也不能访问,重点查服务日志和启动状态。
新手可照做的排查顺序
- 先复现问题,记下报错原文和发生时间,不要只说“打不开”。
- ping 域名和 IP,判断是全不通还是只有域名不通。
- 查 DNS 解析结果,确认解析地址是否符合预期。
- 确认服务进程、监听端口和绑定地址。
- 检查防火墙、安全组和端口是否匹配。
- 每改一步只改一个地方,改完立刻复测,避免同时改多处导致无法判断是哪一步起作用。
常见误判提醒
第一,ping 不通不一定是服务挂了,也可能是 ICMP 被禁。第二,浏览器报错不一定是后端问题,也可能是本地 DNS 缓存或代理设置。第三,重启能暂时恢复,不代表找到了原因;如果不记录当时的端口、进程和日志,下次同样的问题还会再来。第四,不要一开始就怀疑最复杂的原因,先把“拼错域名、服务没启动、端口写错”这些简单项排除掉。
结语
总结一下:先 ping 定范围,再查 DNS 定方向,最后看端口和服务定责任。按这个顺序走,你的排查会有记录、有依据,也更容易向别人清楚地描述问题。
- 点赞
- 收藏
- 关注作者
评论(0)