在Linux系统中,查看网卡信息是网络管理、故障排查和系统维护的基础操作,无论是临时查看网络接口状态,还是获取网卡的硬件参数、流量统计,Linux都提供了丰富的命令工具,本文将详细介绍多种查看网卡信息的方法,涵盖基础状态查询、硬件信息获取、流量监控等场景,并辅以实例说明,帮助用户全面掌握Linux网卡查看技巧。
基础网络接口状态查询
查看网络接口的基本状态(如是否启用、IP地址、MAC地址等)是最常用的操作,主要通过ip
命令和ifconfig
命令实现。
使用ip
命令(推荐)
ip
命令是iproute2
包中的工具,功能强大且是现代Linux系统的标配,用于显示和操作路由、网络设备、策略路由等,查看网络接口状态的核心命令是ip addr
或ip link
。
-
查看所有网络接口的IP地址和状态
ip addr show
输出示例:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 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:1a:2b:3c:4d:5e 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::21a:2bff:fe3c:4d5e/64 scope link valid_lft forever preferred_lft forever
关键字段说明:
eth0
:网络接口名称(如以太网卡、无线网卡等)。<BROADCAST,MULTICAST,UP,LOWER_UP>
:接口状态,UP
表示已启用,LOWER_UP
表示物理链路正常。link/ether
:MAC地址(物理地址)。inet
:IPv4地址及子网掩码(如168.1.100/24
)。inet6
:IPv6地址。
-
查看特定接口的详细信息
ip addr show eth0
-
查看接口的链路状态(如MTU、是否启用)
ip link show eth0
输出会显示接口的MTU(最大传输单元)、MAC地址、是否启用(
UP
/DOWN
)等信息。
使用ifconfig
命令(传统工具)
ifconfig
是早期的网络配置工具,部分系统(如Ubuntu)默认未安装,需通过sudo apt install net-tools
安装,其功能与ip addr
部分重叠,但语法更简单。
- 查看所有接口状态
ifconfig -a
- 查看特定接口状态
ifconfig eth0
输出示例:
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:1a:2b:3c:4d:5e 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
表示运行中。inet
:IPv4地址及子网掩码。ether
:MAC地址。RX packets/bytes
:接收的数据包数量和字节数。TX packets/bytes
:发送的数据包数量和字节数。
网卡硬件信息与参数查询
除了基础状态,有时需要查看网卡的硬件参数(如速率、双工模式、驱动信息等),可通过ethtool
、lspci
等工具实现。
使用ethtool
查看网卡硬件参数
ethtool
是用于查询和修改网卡参数的工具,需安装(如sudo apt install 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 MDIO support: Yes Link detected: yes
关键信息:
Speed
:当前速率(如1000Mb/s
表示千兆)。Duplex
:双工模式(Full
为全双工,Half
为半双工)。Link detected: yes
:物理链路是否正常连接。
-
查看网卡驱动信息
ethtool -i eth0
输出示例:
driver: r8169 version: 2.3LK-NAPI firmware-version: rtl8168g-2_0.0.1 03/27/12 expand-nvram: yes bus-info: 0000:02:00.0
使用lspci
查看网卡硬件厂商信息
lspci
用于列出PCI设备,网卡通常作为PCI设备存在,可通过其识别厂商和型号。
-
安装`lspci(若未安装)
sudo apt install pciutils # Debian/Ubuntu sudo yum install pciutils # CentOS/RHEL
-
查看网卡PCI信息
lspci | grep Ethernet
输出示例:
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
输出中包含网卡厂商(Realtek)和型号(RTL8111/8168/8411),可用于查找驱动或硬件兼容性信息。
网络流量与连接监控
查看网卡的流量统计和连接状态,有助于分析网络性能或排查异常连接。
使用iftop
实时监控流量
iftop
是一款实时流量监控工具,显示各主机的带宽使用情况,需安装(sudo apt install iftop
)。
- 监控指定接口流量
sudo iftop -i eth0
输出界面会实时显示源IP和目标IP的带宽占用(以
Mbps
为单位),按q
退出。
使用nload
查看实时流量图表
nload
以图表形式显示网卡的实时入站(In)和出站(Out)流量,更直观。
- 安装并运行
sudo apt install nload sudo nload -i eth0
界面分为上下两部分,分别显示入站和出流量的实时曲线和当前速率(
KB/s
)。
使用ss
查看网络连接状态
ss
是netstat
的替代工具,更高效,用于查看TCP/UDP连接状态。
- 查看所有TCP连接
ss -t
- 查看所有UDP连接
ss -u
- 查看监听端口
ss -ltn
输出示例:
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 511 0.0.0.0:80 0.0.0.0:*
常用网卡查看命令对比
为方便快速选择工具,以下表格总结了常用命令的功能和适用场景:
命令 | 功能描述 | 适用场景 | 常用参数 |
---|---|---|---|
ip addr |
显示网络接口IP地址和状态 | 查看IPv4/IPv6地址、接口状态 | show (查看所有)、eth0 (指定接口) |
ifconfig |
显示/配置网络接口(传统工具) | 快速查看接口IP、MAC、流量 | -a (所有接口)、eth0 (指定接口) |
ethtool |
查看网卡硬件参数(速率、双工) | 硬件状态排查、驱动信息 | -i (驱动信息)、eth0 (指定接口) |
lspci |
查看PCI设备(网卡硬件信息) | 识别网卡厂商、型号 | grep Ethernet (过滤网卡) |
iftop |
实时流量监控(按主机) | 分析带宽占用、异常流量 | -i eth0 (指定接口) |
nload |
实时流量图表(入站/出站) | 直观查看流量趋势 | -i eth0 (指定接口) |
ss |
查看网络连接状态(TCP/UDP) | 排查端口占用、连接异常 | -t (TCP)、-u (UDP)、-l (监听) |
相关问答FAQs
Q1:Linux下如何查看网卡的实时流量,并按IP排序显示带宽占用?
A:可以使用iftop
或nethogs
工具。iftop
按连接显示流量,而nethogs
按进程/IP显示流量,适合定位具体主机占用。
- 使用
iftop
(按连接):sudo iftop -i eth0 -n # -n不解析主机名,显示IP
- 使用
nethogs
(按进程/IP):sudo apt install nethogs sudo nethogs -i eth0
输出会显示每个进程/IP的实时上传/下载速率,按
q
退出。
Q2:如何查看网卡的MTU值,并修改临时MTU?
A:MTU(Maximum Transmission Unit)是网络接口的最大传输单元,可通过ip link
查看,并通过ip link set
临时修改。
- 查看MTU:
ip link show eth0
输出中的
mtu 1500
即为当前MTU值。 - 临时修改MTU(如设置为1400):
sudo ip link set eth0 mtu 1400
修改后需重启网络服务或重启接口使生效(
sudo ip link set eth0 down && sudo ip link set eth0 up
),注意:临时修改重启后失效,永久修改需修改网络配置文件(如/etc/network/interfaces
或NetworkManager配置)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/32559.html