在Linux系统中,检查网络连接状态、诊断网络故障是系统管理员和开发者的日常任务,Linux提供了丰富的命令行工具和配置文件,帮助用户全面监控和管理网络,本文将详细介绍常用的网络检查命令、配置文件解析以及故障排查方法,涵盖从基础连通性测试到高级网络分析的完整流程。

基础网络连通性检查
网络连通性是判断网络是否正常的首要步骤,Linux中最常用的工具包括ping、traceroute和ip命令。
ping命令测试主机可达性
ping通过发送ICMP回显请求包,检测目标主机是否可达并统计响应时间,基本用法为:
ping [选项] 目标主机IP或域名
常用选项包括:
-c:指定发送数据包数量,如ping -c 4 8.8.8.8只发送4个包;-i:设置发送间隔时间(秒),默认1秒;-W:设置超时时间(秒),如ping -W 2 8.8.8.8等待2秒无响应则超时。
若目标主机响应,会显示往返时间(RTT)和丢包率;若超时,则可能存在网络中断或防火墙阻拦。
traceroute追踪网络路径
traceroute通过逐步增加TTL(生存时间)值,显示数据包到达目标主机所经过的路由节点,安装方式因发行版而异:
- Debian/Ubuntu:
sudo apt install traceroute - CentOS/RHEL:
sudo yum install traceroute
基本用法:
traceroute [选项] 目标主机
常用选项-n可禁用DNS解析,直接显示IP地址,提高速度,例如traceroute -n baidu.com将显示从本机到百度服务器的路由路径及各节点延迟。
ip命令查看网络接口状态
ip是Linux中强大的网络配置工具,替代了传统的ifconfig,查看网络接口信息:
ip addr show # 显示所有网络接口的IP地址、子网掩码等 ip link show # 显示接口的物理状态(如UP/DOWN)
通过ip addr show eth0可查看以太网接口eth0的IPv4地址、MAC地址及是否启用。
网络连接与端口状态分析
确认基础连通性后,需进一步检查端口开放情况及连接状态,常用工具包括netstat、ss和telnet。

ss命令替代netstat
ss是netstat的替代品,速度更快且功能更全,查看所有TCP/UDP连接:
ss -tuln # 显示所有监听(l)和非监听(u/t)端口,不解析DNS(n) ss -t state established # 显示已建立的TCP连接
参数说明:
-t:TCP连接,-u:UDP连接,-l:仅显示监听端口,-n:数字形式显示地址和端口。
telnet测试端口连通性
telnet可快速检测目标主机的指定端口是否开放,安装后使用:
telnet 目标IP 端口号
例如telnet 192.168.1.1 80,若端口开放,会显示黑屏并进入交互模式;若关闭,则提示“Connection refused”。
网络端口状态分类
| 状态类型 | 说明 | 示例命令结果 |
|---|---|---|
| LISTEN | 端口处于监听状态,等待连接 | 0.0.0:22或::22 |
| ESTABLISHED | 连接已建立,数据传输中 | 168.1.100:12345 -> 203.0.113.10:443 |
| TIME_WAIT | 连接刚关闭,等待彻底释放 | 168.1.100:12346 -> 203.0.113.10:80 |
| CLOSED | 端口未开放或连接已关闭 | 无相关监听或连接状态 |
网络配置与路由分析
网络配置错误或路由问题会导致无法访问外部网络,需通过ip route、cat /etc/resolv.conf等工具排查。
查看和配置路由表
路由表决定了数据包的转发路径,查看当前路由表:
ip route show # 显示所有路由条目 ip route get 目标IP # 查看到达目标IP的具体路由路径
ip route get 8.8.8.8会显示数据包经过的网关、接口及MTU(最大传输单元)。
DNS解析问题排查
DNS故障会导致域名无法解析,需检查/etc/resolv.conf文件及nslookup、dig命令。
- 查看DNS配置:
cat /etc/resolv.conf,默认 nameserver 通常为0.0.53(本地缓存)或运营商DNS; - 测试域名解析:
nslookup www.baidu.com或dig www.baidu.com,若返回IP地址则解析正常,否则需检查DNS服务或网络连接。
网络接口配置文件
Linux网络配置通常位于/etc/netplan/(Ubuntu 18.04+)或/etc/sysconfig/network-scripts/(CentOS/RHEL),以netplan为例,配置文件01-netcfg.yaml示例:
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
修改后需运行sudo netplan apply使配置生效。

高级网络诊断工具
对于复杂网络问题,可结合tcpdump抓包分析、nmap端口扫描及iftop流量监控。
tcpdump抓包分析
tcpdump是强大的网络协议分析工具,需root权限运行,常用命令:
tcpdump -i eth0 -nn 'tcp port 80' # 监听eth0接口的80端口TCP流量,不解析DNS tcpdump -i eth0 host 8.8.8.8 # 抓取与8.8.8.8相关的所有数据包
通过分析抓包结果,可定位数据包丢失、重传或协议错误等问题。
nmap端口扫描
nmap用于探测目标主机的端口开放情况和服务版本,安装后使用:
nmap -sS 192.168.1.1 # SYN扫描,快速发现开放端口 nmap -sV -p 1-1000 192.168.1.1 # 扫描1-1000端口并识别服务版本
参数-sS为半开放扫描,隐蔽性较高;-sV可探测服务版本信息。
iftop实时流量监控
iftop以实时方式显示网络接口的流量情况,安装后运行:
sudo iftop -i eth0 # 监控eth0接口的实时流量
界面会显示源/目标IP的连接带宽占用,帮助定位异常流量或带宽瓶颈。
常见网络故障排查流程
当网络异常时,可按以下步骤系统排查:
- 检查物理连接:确认网线是否插好、网卡灯是否闪烁;
- 验证本地网络:使用
ip addr检查IP配置,ping 网关测试本地网络连通性; - 测试DNS解析:用
nslookup确认域名能否解析为IP; - 检查路由网关:通过
ip route get确认数据包是否正确转发; - 抓包分析:若以上步骤正常,用
tcpdump抓包定位数据包异常点。
通过以上工具和方法,Linux用户可以高效解决大部分网络问题,确保系统网络的稳定运行。



















