Linux如何查看本机网卡信息?

在Linux系统中,查看本机网卡信息是网络配置和故障排查的基础操作,Linux提供了多种命令和工具,从基础的网络接口状态到详细的硬件信息,均可通过不同命令获取,以下将详细介绍常用查看网卡的方法,包括命令语法、输出解析及适用场景。

linux如何查看本机网卡

使用ip命令(推荐,现代Linux系统默认支持)

ip命令是iproute2工具包的核心命令,功能全面且信息清晰,是目前查看网络接口的首选工具。

查看所有网络接口基本信息

ip addr
# 或简写
ip a

输出解析
执行后会列出所有网络接口(包括物理网卡、虚拟网卡、回环接口等),每部分包含以下关键字段:

  • 接口名:如eth0ens33lo(回环接口),命名规则通常与硬件类型(以太网eth/en)、插槽位置(ens33中的s33表示PCI插槽)相关。
  • 状态UP(接口启用)、DOWN(接口禁用)、UNKNOWN(未知状态)。
  • MAC地址link/ether 00:0c:29:1a:2b:3c,网卡的物理地址。
  • IP地址inet 192.168.1.100/24(IPv4地址)、inet6 fe80::a00:27ff:fe4e:66a1/64(IPv6地址),后缀/24表示子网掩码长度(255.255.255.0)。
  • 广播地址brd 192.168.1.255(IPv4广播地址)。
  • MTUmtu 1500,最大传输单元,默认为1500字节。

示例输出

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: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:1a:2b:3c brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic ens33
       valid_lft 86400sec preferred_lft 86400sec
    inet6 fe80::a00:27ff:fe4e:66a1/64 scope link
       valid_lft forever preferred_lft forever

查看指定网络接口的详细信息

ip link show <接口名>
# 示例:查看ens33接口的链路状态
ip link show ens33

输出重点:显示接口的启用状态(UP/DOWN)、MAC地址、是否启用混杂模式(PROMISC)等,适合排查链路层问题。

使用ifconfig命令(传统工具,需手动安装)

ifconfig是早期Linux网络配置的经典工具,部分系统(如CentOS 7之前)默认安装,但新版本(如Ubuntu 20+、CentOS 8+)需手动安装net-tools工具包。

安装net-tools

# Ubuntu/Debian
sudo apt update && sudo apt install net-tools
# CentOS/RHEL/Fedora
sudo yum install net-tools

查看所有网络接口

ifconfig

输出解析
ip addr类似,但字段略有不同:

  • HWaddr:MAC地址(同ip中的link/ether)。
  • inet addr:IPv4地址(同ip中的inet,但无子网掩码长度,需单独查看Mask字段)。
  • Bcast:广播地址(同ip中的brd)。
  • UP BROADCAST RUNNING MULTICAST:接口状态(RUNNING表示链路已激活)。

示例输出

linux如何查看本机网卡

ens33: 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:0c:29:1a:2b:3c  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

查看网卡硬件信息

使用lspci查看PCI网卡(物理网卡主流接口)

# 安装lspci(若未安装)
sudo apt install pciutils  # Ubuntu/Debian
sudo yum install pciutils  # CentOS/RHEL
# 查看所有PCI网卡设备
lspci | grep -i ethernet
# 或带厂商/设备ID查看(方便查驱动)
lspci -nn | grep -i ethernet

示例输出

0c:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)

-nn参数显示十六进制厂商/设备ID(如8086:1572,Intel Corporation对应8086),可用于匹配驱动型号。

使用lsusb查看USB网卡

若网卡为USB接口(如外接无线网卡),需用lsusb

# 安装lsusb(若未安装)
sudo apt install usbutils  # Ubuntu/Debian
sudo yum install usbutils  # CentOS/RHEL
# 查看所有USB网卡设备
lsusb | grep -i ethernet

示例输出

Bus 001 Device 005: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter

查看网卡详细配置与状态

使用ethtool查看网卡速率、双工模式等

ethtool可查看网卡的物理层参数(如速率、双工模式、驱动信息),需安装:

sudo apt install ethtool  # Ubuntu/Debian
sudo yum install ethtool  # CentOS/RHEL
# 查看指定网卡的详细配置
sudo ethtool <接口名>
# 示例:查看ens33的速率和双工模式
sudo ethtool ens33

输出重点

  • Speed: 速率(如1000Mb/s表示千兆网卡)。
  • Duplex: 双工模式(full全双工,half半双工)。
  • Auto-negotiation: 是否启用自协商(on/off)。
  • Driver: 使用的驱动(如e1000eigb)。
  • Link detected: 是否检测到链路(yes/no),用于排查物理连接问题。

使用nmcli(NetworkManager命令行工具)

nmcli适合管理NetworkManager控制的网络连接,可查看连接配置、IP分配方式(DHCP/静态)等:

linux如何查看本机网卡

# 查看所有网络设备状态
nmcli device status
# 查看指定设备的详细信息
nmcli dev show <接口名>
# 查看网络连接配置(如ens33对应的连接名)
nmcli connection show <连接名>

示例输出(nmcli dev show ens33

GENERAL.DEVICE:                         ens33
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:0C:29:1A:2B:3C
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (连接已激活)
GENERAL.CONNECTION:                     ens33
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/1
IP4.ADDRESS[1]:                         192.168.1.100/24
IP4.GATEWAY[1]:                         192.168.1.1
IP4.DNS[1]:                             8.8.8.8
IP6.ADDRESS[1]:                         fe80::a00:27ff:fe4e:66a1/64

查看内核网络接口统计信息

使用cat /proc/net/dev

该文件是内核提供的网络接口原始统计信息,包含接收(RX)和发送(TX)的字节数、包数、错误数等,适合调试网络流量问题:

cat /proc/net/dev

示例输出(节选)

Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo:  12345      123    0    0    0     0          0         0   12345      123    0    0    0     0       0          0
  ens33: 1234567   12345    0    0    0     0          0         0   987654    6789    0    0    0     0       0          0

常用命令对比表

命令 所属工具包 主要功能 输出信息重点 适用场景
ip addr iproute2 查看所有接口IP、MAC、状态 接口名、IP地址、子网掩码、MTU 日常查看接口基本信息
ifconfig net-tools 传统接口查看(需安装) IPv4地址、广播地址、收发包统计 旧系统或习惯传统工具的用户
lspci/lsusb pciutils/usbutils 查看网卡硬件信息(厂商、型号) 硬件ID、驱动名称 硬件兼容性排查、驱动匹配
ethtool ethtool 查看网卡物理层参数(速率、双工) 链路速率、双工模式、驱动信息 物理链路故障排查
nmcli NetworkManager 管理网络连接、查看DHCP/静态配置 连接状态、DNS、网关、IP分配方式 NetworkManager环境下的网络管理
/proc/net/dev 内核 查看接口收发包统计 RX/TX字节数、包数、错误数 网络流量监控、性能分析

相关问答FAQs

Q1: 为什么在终端输入ifconfig提示“command not found”?如何解决?
A1: ifconfig属于net-tools工具包,而现代Linux系统(如Ubuntu 20.04+、CentOS 8+)默认不再预装该工具包,转而推荐使用iproute2中的ip命令,若习惯使用ifconfig,可通过以下方式安装:

  • Ubuntu/Debian系统:sudo apt update && sudo apt install net-tools
  • CentOS/RHEL系统:sudo yum install net-tools
    安装后即可正常使用ifconfig命令。

Q2: 如何判断Linux系统中的网卡是物理网卡还是虚拟网卡?
A2: 可通过以下方法区分:

  1. 接口名规律
    • 物理网卡:通常以ethens(如eth0ens33)、enpXsY(如enp3s0,表示PCI插槽3的设备0)开头。
    • 虚拟网卡:常见类型包括Docker虚拟网卡(veth开头,如veth123456)、KVM虚拟网卡(virbrvnet开头)、OpenVPN/TUN网卡(tun0tap0)等。
  2. 硬件信息检查
    • 物理网卡:lspci | grep -i ethernetlsusb | grep -i ethernet会列出硬件信息(如厂商、型号)。
    • 虚拟网卡:上述命令无输出,因虚拟网卡无物理硬件对应。
  3. 驱动信息
    • 物理网卡驱动:如e1000e(Intel千兆)、igb(Intel万兆)、r8169(Realtek)等。
    • 虚拟网卡驱动:如virtio_net(KVM虚拟化)、tap(虚拟TAP设备)、veth(虚拟以太网对)等。

通过以上方法可快速识别网卡类型,便于后续网络配置或故障排查。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/34752.html

(0)
酷番叔酷番叔
上一篇 2025年10月3日 01:18
下一篇 2025年10月3日 01:31

相关推荐

  • Ubuntu升级后无法开机?速解

    使用 uname 命令(推荐)uname 是Linux核心工具,直接显示系统架构:uname -m输出示例:x86_64 → 64位Intel/AMD处理器aarch64 → 64位ARM处理器(如树莓派4)i686 或 i386 → 32位x86处理器原理:调用内核信息,100%准确且无需安装额外工具,通过……

    2025年7月30日
    7700
  • CentOS/RHEL 7+淘汰在即,如何应对必知?

    在Linux系统中安装libstdc++(GNU C++标准库)通常通过包管理器完成,不同发行版的命令有所差异,以下是详细步骤:安装前的检查确认是否已安装执行以下命令检查现有版本:strings /usr/lib*/libstdc++.so.6 | grep GLIBCXX若输出包含类似GLIBCXX_3.4……

    2025年6月19日
    10000
  • Highmem如何实现高效内存管理?

    在Linux系统中,”highmem”(高端内存)机制主要解决32位架构下物理内存寻址限制的问题,32位系统的虚拟地址空间通常被划分为用户空间(3GB)和内核空间(1GB),导致内核无法直接访问超过约896MB的物理内存,Highmem通过动态映射扩展了内核的内存管理能力,以下是其启动过程的详细解析:地址空间划……

    2025年7月10日
    10300
  • Linux中如何查看后台运行的所有进程及其详细信息?

    在Linux系统中,后台进程是指在系统中运行但不直接与用户交互的进程,它们通常在后台持续提供服务或执行特定任务,如系统服务、守护进程、用户提交的后台任务等,掌握查看后台进程的方法是Linux系统管理和日常运维的基础技能,本文将详细介绍多种查看后台进程的命令及其使用场景,帮助用户全面掌握进程监控技巧,基础命令:p……

    2025年8月28日
    7700
  • 如何实现Linux系统1秒启动的极致速度?

    实现Linux系统1秒启动是一个涉及硬件、固件、内核及系统服务深度优化的过程,需要从启动链的每个环节入手减少延迟,以下是具体实现方法及操作步骤:硬件基础:选择高速存储与低延迟组件硬件是启动速度的物理基础,传统机械硬盘(HDD)的随机读写速度(lt;1MB/s)是主要瓶颈,必须替换为固态硬盘(SSD),NVMe……

    2025年10月1日
    4700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信