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

如何查看Linux网卡详细状态及流量统计信息?

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

如何查看Linux网卡详细状态及流量统计信息?

基础命令查看网卡状态

最常用的网卡状态查看命令是ifconfigip命令,在传统Linux发行版中,ifconfig属于net-tools工具包,而现代系统更推荐使用ip命令(iproute2工具包),后者功能更强大且信息更详细。

使用ifconfig命令

执行ifconfigifconfig -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 showip 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 -Iip route get 1.1.1.1 | awk '{print $7}'

查看路由表信息

通过ip route show可查看系统的路由表,了解网关配置。

如何查看Linux网卡详细状态及流量统计信息?

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-OKTX-OK分别表示成功接收和发送的数据包数。

使用ss命令替代netstat

ss -tulnnetstat的替代品,性能更优,支持显示更多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查看详细统计计数器。

如何查看Linux网卡详细状态及流量统计信息?

实时监控与日志分析

使用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 firewalldiptables -L查看防火墙规则。

网卡丢包/延迟高

  • 使用ping -c 100 8.8.8.8统计丢包率。
  • 检查网卡错误:ethtool -S eth0查看rx_errorstx_errors计数器。
  • 检查系统资源:tophtop观察CPU、内存使用情况。

查看Linux网卡状态需要结合多种工具和方法,从基础的ifconfig/ip命令到高级的ethtoolnetstat,每种工具都有其适用场景,管理员应根据实际需求选择合适的命令,并学会通过日志和实时监控快速定位问题,掌握这些技能不仅能提升网络管理效率,还能在故障发生时迅速响应,确保系统稳定运行,在日常维护中,建议定期记录网卡状态基线,便于后续对比分析异常变化。

赞(0)
未经允许不得转载:好主机测评网 » 如何查看Linux网卡详细状态及流量统计信息?