Linux 网络排查的五个实用命令
服务器"连不上"是运维中最常见的问题之一。与其凭感觉猜,不如按层次用命令逐步定位。下面五个命令覆盖了从链路到应用的大部分场景。
一、ip addr 与 ip route:先看本机
排查第一步是确认本机网卡有地址、默认路由正确。ip addr 查看网卡状态和 IP,ip route 查看路由表。如果默认路由缺失或网关写错,后面所有测试都会失败。
二、ping 与 mtr:测连通和丢包
ping 能快速判断目标是否可达、延迟多少。mtr 把 ping 和 traceroute 结合起来,持续显示每一跳的丢包率,适合定位"中间哪一段网络有问题"。注意部分云主机默认禁 ICMP,ping 不通不一定代表服务不可用。
三、ss:看端口有没有在监听
ss -tlnp 列出所有 TCP 监听端口及对应进程。服务启动了却访问不到,常见原因是只监听在 127.0.0.1,或者端口被别的进程占用。ss 比老的 netstat 更快,信息也更全。
四、curl -v 与 nc:测应用层
端口通不代表服务正常。curl -v 能看到 DNS 解析、TCP 连接、TLS 握手和 HTTP 响应的全过程;nc -zv 主机 端口 可以快速测试任意 TCP 端口是否能建立连接。
五、tcpdump:抓包看真相
当以上命令都说不清楚时,就抓包。tcpdump -i eth0 port 80 -nn 可以看到请求是否真的到达本机、是否有回包。配合 -w 保存文件,再用 Wireshark 分析更直观。
小结
按"本机配置 → 链路连通 → 端口监听 → 应用响应 → 抓包分析"的顺序排查,大多数网络问题都能在几分钟内找到原因。同时别忘了检查云平台的安全组和主机防火墙,它们是最容易被忽略的一环。
- 点赞
- 收藏
- 关注作者
评论(0)