在Linux系统中,查看网卡状态是系统管理和网络故障排查的基础操作,通过命令行工具,管理员可以快速获取网卡的运行状态、IP配置、流量统计等关键信息,本文将详细介绍多种查看网卡状态的方法,涵盖基础命令、进阶分析及常见问题排查思路,帮助用户全面掌握Linux网卡状态监控技巧。

基础命令查看网卡状态
最常用的网卡状态查看命令是ifconfig和ip命令,在传统Linux发行版中,ifconfig属于net-tools工具包,而现代系统更推荐使用ip命令(iproute2工具包),后者功能更强大且信息更详细。
使用ifconfig命令
执行ifconfig或ifconfig -a(显示所有网卡,包括未激活的)可查看网卡的基本信息,包括IP地址、子网掩码、MAC地址及收发包统计。
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
ether 00:1c:23:45:67:89 txqueuelen 1000 (Ethernet)
RX packets 12345 bytes 1234567 (1.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6789 bytes 987654 (964.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
其中flags参数显示网卡状态:UP表示网卡已启用,RUNNING表示网卡正在活动,BROADCAST支持广播,MULTICAST支持多播。
使用ip命令
ip命令是更现代的工具,推荐使用ip addr show或ip link show查看网卡信息。
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:1c:23:45:67:89 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::21c:23ff:fe45:6789/64 scope link
valid_lft forever preferred_lft forever
ip link show重点关注网卡的链路状态,如state UP表示物理链路正常,LOWER_UP表示网卡已连接。
查看详细网络配置信息
检查网卡IP配置
使用ip addr show eth0(替换eth0为目标网卡名)可查看指定网卡的IPv4/IPv6地址、子网掩码、广播地址等,若需快速获取IP,可使用hostname -I或ip route get 1.1.1.1 | awk '{print $7}'。
查看路由表信息
通过ip route show可查看系统的路由表,了解网关配置。

default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.100 metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
其中default via指定默认网关,dev表示出站接口。
查看DNS配置
DNS信息通常存储在/etc/resolv.conf文件中,可通过cat /etc/resolv.conf示例如下:
nameserver 8.8.8.8
nameserver 114.114.114.114
search localdomain
高级网络状态分析工具
使用netstat查看网络连接
netstat -tuln显示所有监听端口及协议,netstat -i显示网卡接口统计信息。
Interface RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1234567 0 0 0 678901 0 0 0 BMRU
RX-OK和TX-OK分别表示成功接收和发送的数据包数。
使用ss命令替代netstat
ss -tuln是netstat的替代品,性能更优,支持显示更多TCP状态信息。
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
使用ethtool查看网卡硬件信息
ethtool eth0可查看网卡速率、双工模式、自动协商等硬件状态。
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
若需检查链路状态,可使用ethtool -S eth0查看详细统计计数器。

实时监控与日志分析
使用watch实时监控
通过watch -n 1 "ip addr show eth0"每秒刷新网卡状态,适合观察动态变化。
查看系统日志
网络相关日志通常位于/var/log/syslog或/var/log/messages,使用grep -i "network\|eth0" /var/log/syslog可查找网络事件记录。
使用NetworkManager管理网络
在支持NetworkManager的系统(如Ubuntu、CentOS 7+)中,可通过nmcli connection show查看网络连接配置,nmcli device status查看设备状态。
常见问题排查思路
网卡无法启动
- 检查物理连接:网线是否松动、交换机端口是否正常。
- 查看驱动状态:
dmesg | grep eth0确认驱动是否加载成功。 - 检查IP配置:
ip addr show确认IP是否正确分配。
网络不通
- 测试链路状态:
ping 192.168.1.1测试网关连通性。 - 检查路由表:
ip route show确认默认网关配置。 - 检查防火墙:
systemctl status firewalld或iptables -L查看防火墙规则。
网卡丢包/延迟高
- 使用
ping -c 100 8.8.8.8统计丢包率。 - 检查网卡错误:
ethtool -S eth0查看rx_errors、tx_errors计数器。 - 检查系统资源:
top或htop观察CPU、内存使用情况。
查看Linux网卡状态需要结合多种工具和方法,从基础的ifconfig/ip命令到高级的ethtool和netstat,每种工具都有其适用场景,管理员应根据实际需求选择合适的命令,并学会通过日志和实时监控快速定位问题,掌握这些技能不仅能提升网络管理效率,还能在故障发生时迅速响应,确保系统稳定运行,在日常维护中,建议定期记录网卡状态基线,便于后续对比分析异常变化。


















