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如何改当前用户名和密码错误

    Linux 中,用 sudo 提权后,用 usermod 改

    2025年8月14日
    8900
  • 如何高效熟悉Linux系统?新手从入门到精通的实用路径

    熟悉Linux是掌握现代IT技术体系的重要一步,无论是服务器运维、后端开发还是云计算领域,Linux都是核心工具,对于初学者而言,系统化的学习和持续实践是关键,以下从基础概念、核心操作、进阶技能到实践路径,详细拆解如何高效熟悉Linux,理解Linux核心概念与系统架构Linux作为类Unix操作系统,其核心思……

    2025年10月5日
    6800
  • Linux下如何修改或升级NASM版本?

    在Linux系统中,NASM(Netwide Assembler)是广泛使用的汇编器,尤其在系统级编程、逆向工程和底层开发中扮演重要角色,随着项目需求的变化,可能需要升级或降级NASM版本以支持新的指令集、语法特性或修复兼容性问题,本文将详细介绍在Linux环境下修改NASM版本的完整流程,包括版本查询、旧版本……

    2025年9月28日
    6100
  • Linux系统如何彻底删除Apache服务并清理所有相关配置?

    在Linux系统中删除Apache服务器是一个需要谨慎操作的过程,尤其是当服务器上运行着网站或其他服务时,为了避免数据丢失或系统异常,建议在操作前备份重要数据(如网站根目录、配置文件等),以下是不同Linux发行版下删除Apache的详细步骤,涵盖停止服务、卸载软件包、清理残留文件等关键环节,确认Apache安……

    2025年8月26日
    8400
  • linux vi 编辑器如何修改文件内容?

    Linux系统中的vi编辑器是一款功能强大的文本处理工具,掌握其修改操作是日常运维和开发的必备技能,vi的核心在于三种工作模式:命令模式(用于执行命令)、插入模式(用于输入文本)和末行模式(用于保存退出或批量操作),修改文本需在模式间灵活切换,以下从基础操作到进阶技巧,详细解析vi的修改方法,vi模式切换:修改……

    2025年9月21日
    92600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信