在Linux系统中,网卡接口(简称“网卡口”)是设备与外部网络通信的核心硬件,查看其状态、配置及硬件信息是系统管理和网络排错的日常操作,本文将详细介绍通过不同命令查看网卡口信息的方法,涵盖基本信息、硬件参数、流量统计等实用场景,帮助用户高效掌握Linux网卡管理技巧。
使用ip
命令查看网络接口基本信息
ip
命令是现代Linux系统(内核2.0+)中iproute2
工具包的核心命令,功能全面且高效,已逐步替代传统的ifconfig
命令,查看网卡口基本信息时,可通过以下方式操作:
-
查看所有网络接口的简要信息
执行ip a
或ip addr show
,系统会输出所有网络接口的编号、状态(UP/DOWN)、MAC地址、IP地址(IPv4/IPv6)等关键信息。1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UP group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 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
输出中,
eth0
为网卡接口名称,link/ether
后为MAC地址,inet
后为IPv4地址及子网掩码,state UP
表示接口已启用。 -
查看特定接口的详细信息
若需聚焦某个网卡口(如eth0
),可使用ip addr show eth0
,或结合grep
过滤关键字(如ip a | grep eth0
)。
使用ifconfig
命令(传统方法)
ifconfig
是早期Linux系统中广泛使用的网络配置工具,部分旧版系统(如CentOS 7)仍默认安装,虽然功能被ip
命令取代,但在兼容性场景下仍有使用价值:
-
查看所有接口信息
执行ifconfig
,输出格式与ip a
类似,但信息更简洁: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.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
flags
中的UP
表示接口启用,ether
为MAC地址,inet
为IPv4地址。 -
注意事项
在Ubuntu 20.04+、CentOS 8+等新系统中,ifconfig
默认未安装,需通过sudo apt install net-tools
(Ubuntu)或sudo yum install net-tools
(CentOS)手动安装。
使用ethtool
查看网卡硬件参数
ethtool
是Linux下查看和配置网卡硬件属性的强大工具,可获取网卡速率、双工模式、驱动信息、链路状态等底层参数,适用于硬件故障排查和性能优化:
-
安装
ethtool
Ubuntu/Debian系统:sudo apt install ethtool
CentOS/RHEL系统:sudo yum install ethtool
-
查看网卡硬件信息
执行sudo 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 MDIO: unsupported Link detected: yes
关键信息解读:
Speed
为当前速率(如1000Mb/s),Duplex
为双工模式(Full为全双工),Link detected: yes
表示链路正常连接。 -
查看网卡统计信息
使用sudo ethtool -S eth0
可查看网卡的详细收发包统计,如接收/发送字节数、错误包数、丢包数等,用于定位网络异常。
使用lspci
/lsusb
查看网卡硬件厂商信息
若需了解网卡的硬件厂商、设备型号及驱动信息,可通过lspci
(PCI网卡)或lsusb
(USB网卡)命令查询:
-
查看PCI网卡信息
执行lspci | grep Ethernet
,列出系统中的所有PCI网卡设备:03:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)
结合
lspci -k
可进一步查看驱动信息:03:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03) Subsystem: Lenovo ThinkPad I211 Gigabit Network Connection Kernel driver in use: e1000e Kernel modules: e1000e
Kernel driver in use
表示当前加载的驱动模块(如e1000e
)。 -
查看USB网卡信息
对于USB接口的网卡,使用lsusb | grep Ethernet
:Bus 001 Device 005: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
使用nmcli
查看NetworkManager管理的网络接口
在采用NetworkManager管理网络的系统中(如Ubuntu、CentOS 7+),可通过nmcli
命令查看接口的连接状态、IP配置、DNS等信息:
-
查看所有接口状态
执行nmcli device status
,输出接口的连接名称、类型、状态及IP地址:DEVICE TYPE STATE CONNECTION eth0 ethernet connected eth0-connection lo loopback unmanaged --
STATE
为connected
表示接口已连接,CONNECTION
为对应的连接配置名称。 -
查看接口详细配置
使用nmcli device show eth0
,可获取IPv4/IPv6地址、网关、DNS服务器、MAC地址等完整配置信息,适合网络调试场景。
查看网络接口流量统计
若需监控网卡口的实时流量或历史统计,可通过以下方式:
-
查看
/proc/net/dev
文件
该文件是内核提供的网络接口统计信息接口,执行cat /proc/net/dev
:Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed eth0: 12345678 12345 0 0 0 0 0 0 987654 6789 0 0 0 0 0 0
Receive
列为接收流量(bytes为字节数,packets为包数),Transmit
列为发送流量。 -
使用
netstat
命令netstat -i
可格式化输出接口统计信息,更易读:Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 12345 0 0 0 6789 0 0 0 BMRU
常用Linux查看网卡口命令对比
命令 | 主要用途 | 适用场景 | 输出关键信息示例 |
---|---|---|---|
ip addr |
查看接口IP、MAC、状态 | 日常查看、基础网络配置 | eth0的IPv4地址、MAC地址、状态 |
ifconfig |
传统接口信息查看 | 旧系统兼容 | 接口标志位、IP、收发包统计 |
ethtool |
硬件参数(速率、双工、驱动) | 硬件故障排查、性能优化 | 网卡速率、双工模式、链路状态 |
lspci/lsusb |
网卡硬件厂商、设备ID、驱动 | 硬件识别、驱动问题诊断 | Intel I211网卡、e1000e驱动 |
nmcli |
NetworkManager管理的连接配置 | 图形化网络环境下的调试 | 连接状态、DNS、网关信息 |
相关问答FAQs
Q1:为什么执行ifconfig
命令提示“command not found”?
A:在Ubuntu 20.04+、CentOS 8+等新版本Linux中,ifconfig
命令默认未被安装(已被ip
命令取代),可通过以下方式解决:
- Ubuntu/Debian系统:执行
sudo apt install net-tools
安装net-tools
包(包含ifconfig
)。 - CentOS/RHEL系统:执行
sudo yum install net-tools
安装。
安装后即可正常使用ifconfig
命令。
Q2:如何实时查看网卡的流量使用情况(如实时速率)?
A:可使用iftop
或nload
工具实时监控网卡流量,需先安装:
- 安装iftop(Ubuntu):
sudo apt install iftop
;(CentOS):sudo yum install iftop
使用示例:sudo iftop -i eth0
(指定网卡),界面实时显示每个IP的上传/下载速率、总流量等。 - 安装nload(Ubuntu):
sudo apt install nload
;(CentOS):sudo yum install nload
使用示例:sudo nload eth0
,界面以动态图表形式显示实时接收(RX)和发送(TX)速率,直观展示流量负载。
两者均适合排查网络拥堵、异常流量等问题。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/38480.html