当前位置:首页 > 问答 > 正文

网卡型号|硬件信息 linux查看网卡型号的常用命令与详细步骤

一插网线就断联?快速揪出你的Linux网卡型号

"老王,服务器又断网了!"一大早刚进办公室,小张就火急火燎地冲过来,我揉了揉太阳穴,这已经是本周第三次了,每次排查网络问题,第一件事就是确认网卡型号和驱动情况,但总有人记不住查看命令,今天我就把Linux下查看网卡型号的几种实用方法整理出来,下次断网别再抓瞎了!

为什么需要知道网卡型号?

上周数据中心搬迁,十几台服务器搬过去后集体"失联",运维组折腾半天才发现,新机房的交换机只支持千兆网卡,而我们的老服务器用的都是百兆网卡,要是早点确认网卡型号,就能提前准备转换器,不至于耽误大半天业务。

知道网卡型号不仅能解决兼容性问题,还能:

  • 准确下载驱动程序(特别是无线网卡)
  • 判断是否支持特定功能(如SR-IOV虚拟化)
  • 排查硬件故障时快速定位问题
  • 采购备件时确保型号一致

lspci - 最直接的硬件侦探

我的习惯是先用lspci这个"硬件侦探"快速扫描,这个命令能列出所有PCI设备,网卡自然也在其中。

lspci | grep -i ethernet

输出示例:

00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (7) I219-V (rev 10)
04:00.0 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme BCM5720 Gigabit Ethernet PCIe

这里清晰显示有两块网卡:

  1. 板载的Intel I219-V千兆网卡
  2. 独立的Broadcom BCM5720千兆网卡

想看更详细的信息?加上-v参数:

lspci -v -s 00:1f.6

输出会包含设备ID、中断号、内存地址等详细信息,适合深度排查问题时使用。

ip link - 网络接口速查

有时候我们更关心的是系统识别到的网络接口名称,这时ip link命令就派上用场了:

ip link show

输出类似:

网卡型号|硬件信息 linux查看网卡型号的常用命令与详细步骤

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 54:e1:ad:5a:67:89 brd ff:ff:ff:ff:ff:ff
3: wlp4s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 76:d9:47:87:32:6f brd ff:ff:ff:ff:ff:ff

这里可以看到:

  • enp0s31f6是有线网卡(ether表示以太网)
  • wlp4s0是无线网卡
  • lo是本地回环接口

ethtool - 网卡能力检测专家

想知道网卡具体支持哪些功能?ethtool就是专业的网卡能力检测工具,先通过ip link获取接口名,

sudo ethtool enp0s31f6

输出示例:

Settings for enp0s31f6:
    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 auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: on (auto)

这里特别关注:

  • Supported link modes:显示支持的速率(10/100/1000兆)
  • Speed:当前实际连接速率
  • Auto-negotiation:是否开启自动协商

dmidecode - 主板级硬件信息

对于服务器运维,有时候需要更底层的硬件信息。dmidecode可以读取主板BIOS信息:

sudo dmidecode -t baseboard

这个命令会输出主板详细信息,包括板载网卡的硬件布局,不过要注意,这个方法需要root权限,且不是所有网卡信息都能通过这种方式获取。

查看内核日志 - 历史记录追踪

当网卡驱动加载有问题时,查看内核日志往往能找到线索:

dmesg | grep -i ethernet

或者直接查看系统日志:

journalctl -k | grep -i eth

这里会显示网卡初始化时的详细信息,包括驱动加载情况、硬件识别过程等。

无线网卡特别篇

无线网卡的信息查看稍有不同,可以使用:

网卡型号|硬件信息 linux查看网卡型号的常用命令与详细步骤

lspci | grep -i wireless

或者使用专用工具:

iwconfig

查看支持的无线模式:

iw list

实用技巧:快速脚本

我习惯在工具箱里放一个快速检查脚本nic_info.sh

#!/bin/bash
echo "=== PCI网卡列表 ==="
lspci | grep -i 'network\|ethernet'
echo "\n=== 网络接口状态 ==="
ip -br link show
echo "\n=== 有线网卡详情 ==="
for iface in $(ip -br link | awk '/^e/ {print $1}'); do
    echo "[$iface]"
    sudo ethtool $iface | grep -E 'Speed|Duplex|Link detected'
done

给执行权限后,直接运行就能获取关键信息汇总。

常见问题排查

Q:命令返回空白怎么办? A:可能原因:

  1. 网卡未被识别 - 检查dmesg看驱动是否加载
  2. 使用USB网卡 - 尝试lsusb命令
  3. 虚拟机环境 - 查看虚拟机配置

Q:如何判断是硬件还是驱动问题? A:三步判断法:

  1. lspci能看到设备 → 硬件正常
  2. ip link看不到对应接口 → 驱动问题
  3. 接口有但无法连接 → 配置或线路问题

Q:为什么ethtool显示Speed: Unknown? A:通常表示网线未连接或交换机端口有问题,先检查物理连接。

记住这几个命令组合,能解决90%的网卡识别问题:

  1. 快速查看:lspci | grep -i ethernet
  2. 接口状态:ip -br link show
  3. 详细能力:sudo ethtool <接口名>
  4. 驱动排查:dmesg | grep -i eth

下次再遇到网卡问题,别急着重启,先按这个流程走一遍,就像我常跟团队说的:"搞清楚手里是什么牌,才知道怎么打这局。"

发表评论