适合初学者的 17 个最佳 Linux 网络和故障排除命令 - 夜莺博客

适合初学者的 17 个最佳 Linux 网络和故障排除命令

Linux 网络排障从来不是靠单个命令解决的,而是把主机名、DNS、连通性、路由、端口、抓包和进程占用几个维度组合起来逐层排查。本文整理了 17 个系统原生自带的高频网络命令,按「查看本机身份、验证 DNS、验证连通性、查看连接、定位链路、深入抓包」六大排障场景给出选型建议和可直接套用的示例,适合刚接触 Linux 运维和 SRE 工作的初学者快速上手。

命令按排障场景怎么选

排障场景 推荐命令 主要用途
查看本机身份和网卡 hostname、ip 主机名、IP、接口、路由
验证 DNS host、dig、nslookup 正向/反向解析、记录类型
验证连通性 ping、curl、wget、nc、telnet ICMP、HTTP、TCP 端口
查看连接状态 ss、lsof 监听端口、已建立连接、端口占用
定位链路问题 traceroute、mtr 路由跳数、链路丢包和延迟
深入分析流量 tcpdump 抓包和协议层证据

基础类命令

hostname 与 host

hostname                          # 查看主机名
hostnamectl set-hostname aliyun01 # 设置主机名
host 8.8.8.8                      # 反向解析
host flashcat.cloud               # 正向解析

ping 连通性测试

ping -c 10 flashcat.cloud        # 限制探测 10 个包

连接与端口类命令

curl 多协议排障

curl -v telnet://192.168.33.10:22   # 检查 22 端口
curl https://example.com             # 检查 Web 服务

ss 查看 socket 状态

ss -tulnp    # 列出所有监听端口

链路与抓包类命令

traceroute / mtr 定位链路

traceroute example.com
mtr example.com        # 持续监测丢包与延迟

tcpdump 抓包取证

sudo tcpdump -i eth0 -c 10        # 抓 eth0 前 10 个包
sudo tcpdump -i any port 80 -w cap.pcap

当普通命令只能证明「连不上」但解释不了「为什么」时,就用 tcpdump 抓包确认 SYN、ACK、RST、DNS 请求和重传等协议层证据。更系统的抓包方法可参考本站的《使用 tcpdump 捕获网络数据包》。

小结

把这张表当作排查起点:先 ip 看本机、ping 测连通、dig 查 DNS、ss 看端口、mtr 看链路,最后用 tcpdump 拿协议层证据。相关实战可参考迈络思设备进入 Shell 模式的授权处理DELL EMC ME4084 管理 IP 设置

原文链接:https://flashcat.cloud/blog/list-linux-networking-troubleshooting-and-commands-beginners/