Linux系统如何查看本机网卡的型号信息?

Linux系统中,查看本机网卡型号是网络配置、驱动安装或硬件故障排查时的常见需求,网卡型号通常包含厂商、芯片组等信息,可通过多种命令工具获取,以下详细介绍几种主流方法及其实际操作场景。

linux如何查看本机网卡型号

使用lspci命令查看PCI网卡信息

lspci(List PCI Devices)是Linux系统中用于列出PCI总线上所有设备的命令,绝大多数内置网卡(如台式机主板集成的网卡)和部分PCIe扩展网卡均属于PCI设备,因此可通过该命令快速定位网卡型号。

基本用法

  1. 列出所有PCI设备并筛选网卡
    执行以下命令,可过滤出包含“Ethernet”“Network”等关键词的设备:

    lspci | grep -iE "Ethernet|Network"

    输出示例:

    03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10)

    “03:00.0”是设备在PCI总线上的地址,“Ethernet controller”表明设备类型,后续字符串即为网卡型号(此处为Realtek RTL8111/8168)。

  2. 显示更详细的设备信息(含厂商ID)
    若需获取设备的厂商和设备ID(用于精确匹配驱动),可添加-nn参数:

    lspci -nn | grep -iE "Ethernet|Network"

    输出示例:

    03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10) [10ec:8168] (rev 10)

    方括号中的[10ec:8168]即厂商ID(10ec为Realtek)和设备ID(8168),可通过该ID查询具体驱动型号或硬件详情。

  3. 查看网卡详细信息(驱动、资源占用等)
    添加-v参数可显示设备的详细信息,包括驱动模块名称、内存地址、中断号等:

    lspci -vnn -d 10ec:8168  # 通过设备ID精准查询

    在输出中,“Kernel driver in use: r8169”表示当前使用的驱动模块为r8169,这对驱动问题排查至关重要。

使用ethtool命令获取网卡硬件及驱动信息

ethtool是Linux下用于查询和配置网卡参数的工具,不仅能查看网卡速率、双工模式等网络状态,还能获取驱动版本、固件版本等硬件信息。

linux如何查看本机网卡型号

基本用法

  1. 查看网卡驱动信息
    首先通过ip aifconfig确认网卡接口名(如eth0ens33),然后执行:

    ethtool -i eth0

    输出示例:

    driver: r8169
    version: 2.3LK-NAPI
    firmware-version: rtl8168g-2_0.0.1 02/26/15
    bus-info: 0000:03:00.0
    supports-statistics: yes
    supports-test: yes
    supports-eeprom-access: yes
    supports-register-dump: yes
    supports-priv-flags: yes

    其中driver字段为当前加载的驱动模块,firmware-version为网卡固件版本,bus-infolspci输出的设备地址对应,可用于交叉验证。

  2. 查看网卡详细硬件参数
    执行ethtool eth0可查看网卡支持的速率(如1000Mbps)、支持的协议(如IEEE 802.3)等:

    ethtool eth0

    输出示例中“Speed: 1000Mb/s”“Duplex: Full”分别表示当前速率和双工模式,“Port: Twisted Pair”表示物理接口类型为RJ45网口。

使用lshwhwinfo获取完整硬件信息

lshw(List Hardware)和hwinfo(Hardware Info)是系统硬件信息查看工具,能以树形结构展示包括网卡在内的所有硬件详情,适合需要全面硬件信息的场景。

lshw用法

需安装lshw包(Ubuntu/Debian下sudo apt install lshw),执行以下命令查看网卡信息:

sudo lshw -C network

输出示例:

*-network
   description: Ethernet interface
   product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
   vendor: Realtek Semiconductor Co., Ltd.
   physical id: 0
   bus info: pci@0000:03:00.0
   logical name: eth0
   version: 10
   serial: 00:e0:4c:68:30:2f
   size: 1Gbit/s
   capacity: 1Gbit/s
   width: 64 bits
   clock: 33MHz
   capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
   configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI firmware=rtl8168g-2_0.0.1 02/26/15 ip=192.168.1.100 latency=0 link=yes multicast=yes
   resources: irq:44 memory:f7c00000-f7c01fff ioport:3000(size=256)

该命令详细列出了网卡型号、厂商、MAC地址、驱动版本及硬件资源占用情况,信息全面且结构化。

hwinfo用法

安装hwinfo包(Ubuntu/Debian下sudo apt install hwinfo),执行:

linux如何查看本机网卡型号

sudo hwinfo --network

输出会列出所有网卡设备的详细信息,包括芯片型号、子系统型号、驱动状态等,适合排查复杂硬件兼容性问题。

通过dmesg查看内核日志中的网卡信息

dmesg用于显示内核环缓冲区日志,网卡驱动加载或硬件初始化时,内核会输出相关信息,可通过该命令追溯网卡型号。

基本用法

dmesg | grep -iE "ethernet|network|pci"

输出示例:

[    1.234567] r8169 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 44
[    1.234567] r8169 0000:03:00.0: setting latency timer to 64
[    1.234567] r8169 0000:03:00.0: RTL8111/8168/8411 Gigabit Ethernet controller
[    1.234567] r8169 0000:03:00.0: eth0: RTL8168g/8111g at 0xf7c00000, 00:e0:4c:68:30:2f, IRQ 44

RTL8111/8168/8411 Gigabit Ethernet controller”即为网卡型号,结合驱动名r8169可进一步确认硬件信息。

不同方法对比及适用场景

为方便选择,以下通过表格总结各方法的优缺点及适用场景:

方法 优点 缺点 适用场景
lspci 快速定位PCI网卡,含设备ID 无法直接显示驱动和固件版本 快速识别内置网卡型号,驱动排查
ethtool 显示驱动、固件、速率等详细参数 需先确认网卡接口名 查看驱动状态、网络参数、硬件能力
lshw/hwinfo 信息全面,结构化展示 需安装额外工具,输出较长 全面硬件信息统计,硬件资产管理
dmesg 查看内核加载过程,追溯日志 日志信息杂乱,需过滤 驱动加载失败、硬件初始化问题排查

注意事项

  1. 权限问题:部分命令(如lspci -vlshwdmesg)需sudo权限才能获取完整信息,普通用户可能仅显示基础信息。
  2. USB网卡:若为USB网卡,需使用lsusb命令(lsusb | grep -i ethernet),结合usb-devices查看详细信息。
  3. 虚拟化环境:在虚拟机中,网卡型号通常为虚拟设备(如VMware的VMXNET3、QEMU的VirtIO),可通过ip a确认接口名后,用ethtool -i查看虚拟驱动。

相关问答FAQs

Q1:为什么使用lspci查到的网卡ID(如10ec:8168)无法找到对应驱动?
A:可能原因包括:① 系统内核未包含该驱动,需手动安装(如从Realtek官网下载驱动源码编译);② 驱动模块未加载,可通过modprobe [驱动名]手动加载(如modprobe r8169);③ 硬件兼容性问题,需更新内核版本或检查BIOS设置,建议通过lspci -nn确认ID后,查询Linux Hardware Database(https://linux-hardware.org/)或厂商文档获取驱动支持信息。

Q2:如何确认网卡是否支持特定功能(如SR-IOV、VLAN offload)?
A:使用ethtool -k [接口名]查看网卡支持的功能及当前状态。

ethtool -k eth0

输出中,rx-checksumming: on表示支持接收校验和,tx-vlan-offload: on表示支持VLAN发送卸载,sr-iov: off(需硬件和驱动支持)表示是否开启SR-IOV,若功能未启用,可通过ethtool --offload [接口名] [功能] on手动开启(如ethtool --offload eth0 tx-vlan-offload on)。

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

(0)
酷番叔酷番叔
上一篇 2025年10月3日 00:35
下一篇 2025年10月3日 00:57

相关推荐

  • 如何在Linux安装JRE?sudo apt命令详解

    准备工作检查现有Java环境终端执行:java -version若返回版本信息(如 OpenJDK 11.0.19),说明已安装,可直接跳至环境变量配置,选择Java版本OpenJDK(开源推荐):适用于大多数场景Oracle JDK(商业项目需注意许可协议)建议优先选用LTS版本(如 Java 8/11/17……

    2025年7月17日
    14600
  • Linux 系统如何实现用户自动登录?有哪些具体的配置步骤?

    Linux 系统的自动登录功能可以简化操作流程,避免每次启动都需要手动输入用户名和密码,特别适用于个人开发机、测试环境或单一用户使用的场景,实现自动登录主要有两种方式:图形界面自动登录和命令行(终端)自动登录,不同 Linux 发行版因显示管理器(Display Manager)或初始化系统(init syst……

    2025年9月19日
    13000
  • linux如何看系统语言

    Linux 中,可通过 locale 命令查看系统语言相关信息,如执行 locale

    2025年8月16日
    15400
  • 如何在Linux中快速查看端口状态?

    使用 netstat 命令(经典工具)功能:查看所有活动的网络连接、监听端口及路由表,安装(部分系统需手动安装):sudo apt install net-tools # Debian/Ubuntusudo yum install net-tools # CentOS/RHEL常用参数组合:sudo netst……

    2025年7月19日
    16000
  • Linux查看当前时间,有哪些常用命令及详细操作步骤?

    Linux作为服务器和开发环境的主流操作系统,时间的准确性和查看方式至关重要,无论是系统日志记录、定时任务执行,还是跨时区协作,都需要掌握查看和调整时间的方法,本文将详细介绍Linux中查看当前时间的多种命令及其实际应用场景,帮助用户根据不同需求选择合适的工具,date命令:最基础的时间查看工具date是Lin……

    2025年9月26日
    14000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信