Linux如何查看系统中所有网卡的信息?

在Linux系统中,网卡(网络接口卡)是设备与外部网络通信的核心组件,无论是排查网络问题、配置网络服务,还是监控系统状态,准确查看所有网卡信息都是基础操作,Linux提供了多种命令和工具来查看网卡信息,涵盖从基础接口名称、IP地址到硬件属性、驱动状态等不同维度,本文将详细介绍这些方法,并通过实例解析输出结果,帮助用户全面掌握Linux网卡查看技巧。

linux如何查看所有的网卡

基础查看命令:快速获取网卡列表与基本信息

ip命令:现代Linux系统的首选工具

ip命令是iproute2包的一部分,功能强大且全面,逐渐取代了传统的ifconfig命令,通过ip命令可以查看网卡的接口名称、状态、MAC地址、IP地址等信息。

  • 查看所有网卡接口
    执行以下命令:

    ip addr show

    或简写为:

    ip a
  • 输出解析
    命令输出会列出所有网卡接口,每个接口包含以下关键信息:

    • 接口名:如eth0ens33lo(回环接口)等,命名规则与系统内核版本和硬件检测相关(传统命名如eth0wlan0,基于硬件的命名如ens33)。
    • 状态标志UP(接口已启用)、DOWN(接口未启用)、BROADCAST(支持广播)、MULTICAST(支持多播)等。
    • MAC地址link/ether后跟的6组16进制数,如00:0c:29:1a:2b:3c,是网卡的物理地址。
    • IP地址inet后跟IPv4地址及子网掩码(如168.1.100/24),inet6后跟IPv6地址。
    • 统计信息RX(接收)和TX(发送)的数据包数、字节数、错误数等。

    示例输出

    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: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 eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::20c:29ff:fe1a:2b3c/64 scope link
           valid_lft forever preferred_lft forever
    3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
        link/ether 02:42:8a:7e:3d:5f brd ff:ff:ff:ff:ff:ff
        inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
           valid_lft forever preferred_lft forever

    eth0是物理网卡,docker0是Docker虚拟网卡,lo是回环接口。

ifconfig命令:传统工具(需安装)

ifconfignet-tools包中的工具,在早期Linux系统中广泛使用,但新发行版(如Ubuntu 20.04+、CentOS 8+)默认未安装,需通过sudo apt install net-tools(Ubuntu)或sudo yum install net-tools(CentOS)安装。

  • 查看所有网卡

    ifconfig -a

    参数-a会显示所有网卡(包括未激活的),不加参数仅显示已激活的网卡。

  • 输出解析
    输出结构与ip命令类似,包含接口名、状态(RUNNING表示已激活)、HWaddr(MAC地址)、inet addr(IPv4地址)、Bcast(广播地址)、Mask(子网掩码)等。

    示例输出

    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: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网卡硬件信息

lspcipciutils包)用于列出PCI设备,可通过过滤网卡硬件信息(如网卡芯片、厂商ID等)。

  • 安装与使用
    若未安装,执行sudo apt install pciutils(Ubuntu)或sudo yum install pciutils(CentOS)。

    linux如何查看所有的网卡

  • 查看PCI网卡

    lspci -nn | grep -i ethernet

    参数-nn显示数字ID(便于查询),grep -i ethernet过滤以太网卡。

  • 输出解析
    输出包含网卡在PCI总线上的位置、厂商ID、设备ID及名称,

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

    可通过lspci -k查看驱动信息:

    lspci -k -s 04:00.0

    输出:

    04:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
        Subsystem: Dell I210 Gigabit Network Connection
        Kernel driver in use: igb
        Kernel modules: igb

lsusb命令:查看USB网卡硬件信息

对于USB接口的网卡(如无线网卡、USB转以太网适配器),使用lsusbusbutils包)查看硬件信息。

  • 安装与使用
    未安装时执行sudo apt install usbutilssudo yum install usbutils

  • 查看USB网卡

    lsusb | grep -i network

    输出示例:

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

ethtool命令:查看网卡详细状态与配置

ethtoolethtool包)可获取网卡的速率、双工模式、驱动版本、流控等详细信息,需root权限运行。

  • 查看网卡驱动与版本

    sudo ethtool -i eth0

    输出:

    driver: igb
    version: 5.4.0-91-generic
    firmware-version: 0.17-1
    expansion-rom-version: 
    bus-info: 04:00.0
    supports-statistics: yes
    supports-test: yes
    supports-eeprom-access: yes
    supports-register-dump: yes
    supports-priv-flags: yes
  • 查看网卡速率与双工模式

    linux如何查看所有的网卡

    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

网络管理工具:结合系统服务查看网卡信息

nmcli命令:NetworkManager的CLI工具

在安装了NetworkManager的系统(如Ubuntu桌面版、CentOS 7+)中,nmcli可查看网卡连接状态、IP配置、DNS等信息。

  • 查看所有网卡状态

    nmcli device status

    输出:

    DEVICE  TYPE      STATE      CONNECTION
    eth0    ethernet  connected  eth0
    docker0 bridge    unmanaged  --
    lo      loopback  unmanaged  --
  • 查看网卡详细信息

    nmcli device show eth0

    输出包含MAC地址、IP地址、网关、DNS等完整配置。

netstatss命令:查看网络连接与接口统计

netstatnet-tools包)和ssiproute2包)可用于查看网卡的连接状态和数据统计。

  • 查看所有接口统计信息
    netstat -i

    或使用ss(推荐,性能更好):

    ss -i

    输出包含接口名、MTU、接收/发送数据包数、错误数等。

常用网卡查看命令对比

命令 主要用途 常用参数 输出关键信息 适用场景
ip addr 查看网卡IP、MAC、状态 showbriefdetails 接口名、状态、MAC、IPv4/IPv6地址 日常查看、故障排查
ifconfig 传统网卡查看(需安装) -a(显示所有)、up/down 接口名、IPv4、MAC、统计信息 兼容旧系统
lspci 查看PCI网卡硬件信息 -nn(显示数字ID)、-k(驱动) 厂商、设备名、驱动、PCI地址 硬件识别、驱动排查
lsusb 查看USB网卡硬件信息 -v(详细信息) 厂商、设备ID、USB接口 USB网卡硬件识别
ethtool 查看网卡速率、双工、驱动 -i(驱动)、-s(设置) 驱动版本、速率、流控、固件版本 网卡性能优化、硬件状态检查
nmcli NetworkManager管理下的网卡 device statusconnection show 连接状态、IP配置、DNS 图形化网络管理系统的命令行操作

相关问答FAQs

问题1:为什么使用ip addr命令查看不到某些网卡?

解答:可能的原因有以下几种:

  1. 网卡未启用:物理网卡可能因驱动未加载或硬件故障处于DOWN状态,可通过ip link set <网卡名> up手动启用(需确认驱动正常)。
  2. 驱动未加载:使用lsmod | grep <驱动名>检查驱动是否加载,若未加载需执行sudo modprobe <驱动名>(如modprobe e1000e)。
  3. 硬件故障:通过dmesg | grep -i ethernet查看内核日志,若提示“device not found”或“timeout”,可能是硬件接触不良或损坏。
  4. 虚拟网卡未创建:虚拟网卡(如Docker的veth、KVM的tap)需在对应服务启动后才会创建,可检查服务状态(如systemctl status docker)。

问题2:如何区分物理网卡和虚拟网卡?

解答:可通过以下方法区分:

  1. 命名规则:物理网卡传统命名以eth开头(如eth0),新系统可能基于硬件信息命名(如ens33);虚拟网卡命名通常带有特定前缀,如docker0(Docker网桥)、veth(Docker容器间虚拟接口)、virbr0(Libvirt虚拟网络)、tap(KVM虚拟机网卡)。
  2. 硬件信息:物理网卡可通过lspcilsusb查到对应硬件条目,虚拟网卡无PCI/USB设备信息。
  3. 驱动类型:物理网卡驱动为硬件驱动(如e1000eigb),虚拟网卡驱动通常为tapvethbridge等虚拟化驱动。
  4. 接口状态:虚拟网卡可能显示为NO-CARRIER(无物理连接),如docker0在无容器运行时通常为DOWN状态。

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

(0)
酷番叔酷番叔
上一篇 2025年9月27日 23:04
下一篇 2025年9月27日 23:18

相关推荐

  • Linux如何安全覆盖文件内容?

    命令行工具覆盖(高效推荐)重定向符号 >原理:将命令输出覆盖到文件(文件不存在则创建),命令示例:echo "新内容" > file.txt # 覆盖为单行文本cat newfile.txt > file.txt # 用另一文件内容覆盖注意:若需清空文件,用 > fi……

    2025年6月13日
    8100
  • linux下如何重启网络连接网络连接网络

    Linux 下,可通过执行 sudo systemctl restart network 或 `sudo /etc/init.

    2025年8月15日
    5300
  • linux如何登录root用户

    Linux 中,可通过输入 su 或 sudo -i 命令,然后

    2025年8月14日
    5700
  • Linux如何挂载FC存储设备?

    在Linux系统中挂载FC(Fibre Channel,光纤通道)存储是企业级存储环境中常见的操作,主要用于实现服务器与存储设备之间的高可靠、高带宽数据传输,FC存储通过HBA(Host Bus Adapter,主机总线适配器)卡连接,通常以块设备形式呈现,需经过驱动加载、设备发现、多路径配置、文件系统创建及挂……

    2025年8月22日
    5200
  • Linux装SSH怎样最安全?

    安装前检查查看是否已安装终端执行: ssh -v # 若显示版本信息则已安装systemctl status ssh # 检查服务状态(Debian/Ubuntu)systemctl status sshd # 检查服务状态(CentOS/RHEL)分发行版安装步骤Debian/Ubuntu 系sudo apt……

    2025年7月10日
    7300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信