尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Linux 网络调试完全指南

Linux 网络调试完全指南 网络问题是 Linux 运维和开发中最高频的故障来源。掌握常用的网络调试命令能快速定位连通性、DNS、端口、路由和性能问题。本文系统整理 Linux 网络调试的核心工具与实战技巧。一、连通性测试1.1 ping 测试主机可达性# 基本连通性测试ping-c4baidu.com# 指定源地址测试ping-Ieth08.8.8.8# 禁止反查 DNS加速ping-n10.0.0.1ping使用 ICMP 协议。注意很多服务器会屏蔽 ICMPping 不通不代表网络不通。1.2 追踪路由 traceroute# 追踪到达目标经过的路由节点traceroutebaidu.com# 使用 TCP 方式探测被防火墙过滤的中间节点traceroute-T-p443baidu.com可用mtr提供持续可达性统计更适合长期诊断mtr-n--reportbaidu.com二、端口与连接排查2.1 端口连通性测试# TCP 连接测试最可靠可测防火墙nc-zv10.0.0.1443# 发送 HTTP 请求探测curl-vhttps://example.com# 测试 UDPnc-zv-u10.0.0.1532.2 查看本机监听端口# 查看所有监听端口ss-tlnp# 查看已建立的连接ss-tnp# 传统 netstat 方式netstat-tlnpss是netstat的现代替代品性能更好、信息更全。2.3 检查服务是否存活# 查看端口对应的进程lsof-i:8080# 查看进程监听的端口ss-tlnp|grepnginx三、DNS 解析问题# 使用系统解析器查询nslookupexample.com# 指定 DNS 服务器nslookupexample.com8.8.8.8# 更强大的查询工具digexample.comdig114.114.114.114 example.com short# 查看本地 DNS 配置cat/etc/resolv.conf常见 DNS 故障排查思路先dig指定公共 DNS如 8.8.8.8判断是本地 DNS 还是公共 DNS 问题ping域名与pingIP 对比判断是否为域名解析失败修改/etc/resolv.conf后需重启systemd-resolved或NetworkManager四、抓包分析4.1 tcpdump 抓包# 抓取指定网卡所有包tcpdump-ieth0# 抓取指定端口tcpdump-ieth0 port80# 抓取特定主机通信tcpdump-ieth0host10.0.0.1# 抓取并保存到文件tcpdump-ieth0-w/tmp/capture.pcaphost10.0.0.1 and port443# 读取抓包文件tcpdump-r/tmp/capture.pcap4.2 常用抓包过滤器# 按协议过滤tcpdump-ieth0 icmp tcpdump-ieth0 tcp tcpdump-ieth0 udp# 按端口组合tcpdump-ieth0tcp port 80 or tcp port 443# 抓 SYN 包排查连接建立问题tcpdump-ieth0tcp[tcpflags] tcp-syn ! 0五、路由与网关# 查看路由表iproute show route-n# 添加默认网关iprouteadddefault via192.168.1.1# 添加静态路由iprouteadd10.10.0.0/16 via192.168.1.1# 删除路由iproute del10.10.0.0/16路由排查思路默认网关是否存在且可达目标网段是否有正确路由ip route get 目标IP查看实际走哪条路由六、网卡与 IP 配置# 查看所有网卡信息ipaddr showiplinkshow# 查看网卡速率/状态ethtooleth0# 启用/禁用网卡iplinkseteth0 upiplinkseteth0 down# 查看网卡错误统计ifconfigeth0ip-slinkshow eth0网卡丢包排查看ip -s link的 RX/TX errors 与 drops 字段。七、性能与带宽测试# 测试 TCP 带宽iperf3-s# 服务端iperf3-c10.0.0.1# 客户端# 测试 UDP 带宽iperf3-u-b100m-c10.0.0.1# 查看系统连接统计ss-s八、实战排查流程场景网站无法访问ping域名 → 判断 DNS 是否解析dig域名 → 确认解析结果nc -zv IP 443→ 判断端口连通性traceroute→ 定位卡在哪个节点ss -tlnp→ 确认本机服务是否监听tcpdump抓包 → 分析具体包交互iptables -L→ 检查防火墙规则ip route→ 检查路由是否正确总结Linux 网络调试的关键是分层排查从物理链路 → 网卡配置 → IP/路由 → 端口/服务 → DNS → 应用层逐层缩小范围。熟练掌握ping、ss、traceroute、dig、tcpdump、ip这六个核心命令就能解决绝大多数网络问题。建议将这些命令整理成自己的排查清单遇到故障时按顺序执行效率会极大提升。
返回列表