Linux中网络调试常用命令的使用完全指南

 更新时间:2026年08月13日 08:47:26   作者:新时代牛马  
网络问题是 Linux 运维和开发中最高频的故障来源,掌握常用的网络调试命令,能快速定位连通性、DNS、端口、路由和性能问题,本文系统整理了 Linux 网络调试的核心工具与实战技巧,希望对大家有所帮助

网络问题是 Linux 运维和开发中最高频的故障来源。掌握常用的网络调试命令,能快速定位连通性、DNS、端口、路由和性能问题。本文系统整理 Linux 网络调试的核心工具与实战技巧。

一、连通性测试

1.1 ping 测试主机可达性

# 基本连通性测试
ping -c 4 baidu.com

# 指定源地址测试
ping -I eth0 8.8.8.8

# 禁止反查 DNS(加速)
ping -n 10.0.0.1

ping 使用 ICMP 协议。注意:很多服务器会屏蔽 ICMP,ping 不通不代表网络不通。

1.2 追踪路由 traceroute

# 追踪到达目标经过的路由节点
traceroute baidu.com

# 使用 TCP 方式(探测被防火墙过滤的中间节点)
traceroute -T -p 443 baidu.com

可用 mtr 提供持续可达性统计,更适合长期诊断:

mtr -n --report baidu.com

二、端口与连接排查

2.1 端口连通性测试

# TCP 连接测试(最可靠,可测防火墙)
nc -zv 10.0.0.1 443

# 发送 HTTP 请求探测
curl -v https://example.com

# 测试 UDP
nc -zv -u 10.0.0.1 53

2.2 查看本机监听端口

# 查看所有监听端口
ss -tlnp

# 查看已建立的连接
ss -tnp

# 传统 netstat 方式
netstat -tlnp

ssnetstat 的现代替代品,性能更好、信息更全。

2.3 检查服务是否存活

# 查看端口对应的进程
lsof -i :8080

# 查看进程监听的端口
ss -tlnp | grep nginx

三、DNS 解析问题

# 使用系统解析器查询
nslookup example.com

# 指定 DNS 服务器
nslookup example.com 8.8.8.8

# 更强大的查询工具
dig example.com
dig @114.114.114.114 example.com +short

# 查看本地 DNS 配置
cat /etc/resolv.conf

常见 DNS 故障排查思路:

  • dig 指定公共 DNS(如 8.8.8.8),判断是本地 DNS 还是公共 DNS 问题
  • ping 域名与 ping IP 对比,判断是否为域名解析失败
  • 修改 /etc/resolv.conf 后需重启 systemd-resolvedNetworkManager

四、抓包分析

4.1 tcpdump 抓包

# 抓取指定网卡所有包
tcpdump -i eth0

# 抓取指定端口
tcpdump -i eth0 port 80

# 抓取特定主机通信
tcpdump -i eth0 host 10.0.0.1

# 抓取并保存到文件
tcpdump -i eth0 -w /tmp/capture.pcap host 10.0.0.1 and port 443

# 读取抓包文件
tcpdump -r /tmp/capture.pcap

4.2 常用抓包过滤器

# 按协议过滤
tcpdump -i eth0 icmp
tcpdump -i eth0 tcp
tcpdump -i eth0 udp

# 按端口组合
tcpdump -i eth0 'tcp port 80 or tcp port 443'

# 抓 SYN 包(排查连接建立问题)
tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0'

五、路由与网关

# 查看路由表
ip route show
route -n

# 添加默认网关
ip route add default via 192.168.1.1

# 添加静态路由
ip route add 10.10.0.0/16 via 192.168.1.1

# 删除路由
ip route del 10.10.0.0/16

路由排查思路:

  • 默认网关是否存在且可达
  • 目标网段是否有正确路由
  • ip route get <目标IP> 查看实际走哪条路由

六、网卡与 IP 配置

# 查看所有网卡信息
ip addr show
ip link show

# 查看网卡速率/状态
ethtool eth0

# 启用/禁用网卡
ip link set eth0 up
ip link set eth0 down

# 查看网卡错误统计
ifconfig eth0
ip -s link show eth0

网卡丢包排查看 ip -s link 的 RX/TX errors 与 drops 字段。

七、性能与带宽测试

# 测试 TCP 带宽
iperf3 -s                  # 服务端
iperf3 -c 10.0.0.1         # 客户端

# 测试 UDP 带宽
iperf3 -u -b 100m -c 10.0.0.1

# 查看系统连接统计
ss -s

八、实战排查流程

场景:网站无法访问

  1. ping 域名 → 判断 DNS 是否解析
  2. dig 域名 → 确认解析结果
  3. nc -zv <IP> 443 → 判断端口连通性
  4. traceroute → 定位卡在哪个节点
  5. ss -tlnp → 确认本机服务是否监听
  6. tcpdump 抓包 → 分析具体包交互
  7. iptables -L → 检查防火墙规则
  8. ip route → 检查路由是否正确

总结

Linux 网络调试的关键是分层排查:从物理链路 → 网卡配置 → IP/路由 → 端口/服务 → DNS → 应用层,逐层缩小范围。熟练掌握 pingsstraceroutedigtcpdumpip 这六个核心命令,就能解决绝大多数网络问题。建议将这些命令整理成自己的排查清单,遇到故障时按顺序执行,效率会极大提升。

到此这篇关于Linux中网络调试常用命令的使用完全指南的文章就介绍到这了,更多相关Linux网络调试内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • linux之source.list的使用解析

    linux之source.list的使用解析

    /etc/apt/source.list文件定义了软件源的相关信息,包括档案类型、仓库地址和版本代号,仓库地址指向了软件包的索引文件和具体存放路径,修改该文件后需要更新软件包列表,才能安装新的软件
    2025-03-03
  • linux系统报xfs_vm_releasepage警告问题的处理方法

    linux系统报xfs_vm_releasepage警告问题的处理方法

    这篇文章主要给大家介绍了关于linux系统报xfs_vm_releasepage警告问题的处理方法,文中通过示例代码介绍的非常详细,对大家学习或者使用linux系统具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Linux flock原理分析(shell进阶)

    Linux flock原理分析(shell进阶)

    flock锁在内核openfiletable中,文件打开涉及用户与内核的fd、inode表,多个进程共享v节点,未同步写入可能导致数据覆盖,劝告式锁需进程主动申请生效
    2025-07-07
  • Linux find命令如何根据时间筛选出文件进行删除

    Linux find命令如何根据时间筛选出文件进行删除

    这篇文章主要介绍了Linux find命令如何根据时间筛选出文件进行删除的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-07-07
  • Ubuntu下安装CUDA10.0以及问题

    Ubuntu下安装CUDA10.0以及问题

    这篇文章主要介绍了Ubuntu下安装CUDA10.0以及问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Centos7下的根口令重置与GRUB修复方式

    Centos7下的根口令重置与GRUB修复方式

    文章总结了三种在Linux系统中重置根口令的方法:利用GRUB进入单用户模式,利用Linux系统安装光盘进入急救模式,以及如果GRUB损坏利用光盘重装GRUB,每种方法都有详细的步骤说明
    2026-01-01
  • Linux环境使用Tinyproxy代理详解

    Linux环境使用Tinyproxy代理详解

    Tinyproxy是一个轻量级、高效的HTTP代理服务器,适用于防火墙后面共享Internet连接或大型网络中的多用户HTTP访问,它支持多种平台,配置简单易懂,适合资源有限的环境
    2026-01-01
  • linux 分区,格式化,挂载的命令详细介绍

    linux 分区,格式化,挂载的命令详细介绍

    这篇文章主要介绍了linux 分区,格式化,挂载的命令详细介绍的相关资料,这里对命令进行了详解并附简单实例说明该如何实现,需要的朋友可以参考下
    2016-11-11
  • CentOS7 重新分配分区大小的实现方法

    CentOS7 重新分配分区大小的实现方法

    这篇文章主要介绍了CentOS7 重新分配分区大小的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 修改.htaccess实现子目录绑定示例分享

    修改.htaccess实现子目录绑定示例分享

    这篇文章主要介绍了修改.htaccess实现子目录绑定示例,需要的朋友可以参考下
    2014-03-03

最新评论