服务器测评网
我们一直在努力

Linux检查网络命令有哪些?不同场景下怎么选?

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

Linux检查网络命令有哪些?不同场景下怎么选?

基础网络连通性检查

网络连通性是判断网络是否正常的首要步骤,Linux中最常用的工具包括pingtracerouteip命令。

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地址及是否启用。

网络连接与端口状态分析

确认基础连通性后,需进一步检查端口开放情况及连接状态,常用工具包括netstatsstelnet

Linux检查网络命令有哪些?不同场景下怎么选?

ss命令替代netstat

ssnetstat的替代品,速度更快且功能更全,查看所有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 routecat /etc/resolv.conf等工具排查。

查看和配置路由表

路由表决定了数据包的转发路径,查看当前路由表:

ip route show          # 显示所有路由条目  
ip route get 目标IP    # 查看到达目标IP的具体路由路径  

ip route get 8.8.8.8会显示数据包经过的网关、接口及MTU(最大传输单元)。

DNS解析问题排查

DNS故障会导致域名无法解析,需检查/etc/resolv.conf文件及nslookupdig命令。

  • 查看DNS配置:cat /etc/resolv.conf,默认 nameserver 通常为0.0.53(本地缓存)或运营商DNS;
  • 测试域名解析:nslookup www.baidu.comdig 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使配置生效。

Linux检查网络命令有哪些?不同场景下怎么选?

高级网络诊断工具

对于复杂网络问题,可结合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的连接带宽占用,帮助定位异常流量或带宽瓶颈。

常见网络故障排查流程

当网络异常时,可按以下步骤系统排查:

  1. 检查物理连接:确认网线是否插好、网卡灯是否闪烁;
  2. 验证本地网络:使用ip addr检查IP配置,ping 网关测试本地网络连通性;
  3. 测试DNS解析:用nslookup确认域名能否解析为IP;
  4. 检查路由网关:通过ip route get确认数据包是否正确转发;
  5. 抓包分析:若以上步骤正常,用tcpdump抓包定位数据包异常点。

通过以上工具和方法,Linux用户可以高效解决大部分网络问题,确保系统网络的稳定运行。

赞(0)
未经允许不得转载:好主机测评网 » Linux检查网络命令有哪些?不同场景下怎么选?