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

相关推荐

  • Linux系统中安装jq工具的具体步骤是什么?

    在Linux系统中,jq是一款轻量级、灵活且强大的命令行JSON处理器,它能够以声明式的方式解析、过滤、转换和查询JSON数据,是开发者、运维人员以及数据分析师处理JSON格式数据的得力工具,无论是从日志文件中提取特定字段,还是处理API返回的JSON响应,jq都能通过简洁的命令实现高效操作,本文将详细介绍在L……

    2025年9月26日
    1800
  • XP系统如何进行Linux分区?操作步骤详解

    在Windows XP系统下为Linux进行分区,需要兼顾XP系统的兼容性和Linux的分区需求,整个过程涉及数据备份、分区工具选择、分区类型规划、空间分配及引导配置等关键步骤,以下是详细操作指南,帮助用户顺利完成双系统环境下的Linux分区,准备工作:数据备份与工具准备数据备份(核心前提)XP系统较老旧,分区……

    2025年8月23日
    3100
  • 如何用linux的批量命令

    在Linux系统中,批量命令是提升运维效率、自动化重复任务的核心工具,通过结合shell循环、文本处理工具、文件查找命令等,可实现对大量文件、数据、系统任务的批量处理,本文将详细介绍Linux批量命令的使用方法、常见场景及实践技巧,基础批量命令:循环与管道for循环批量处理for循环是批量任务中最基础的语法,适……

    2025年9月23日
    1500
  • linux系统如何删除备份文件

    Linux系统中,使用命令rm -r /path/to/backup可删除备份文件,

    2025年8月10日
    3700
  • Linux系统中,如何准确区分ARM与x86架构处理器类型?

    在Linux系统中区分ARM和x86架构是系统管理、软件开发和硬件适配中的基础需求,这两种架构因设计理念不同(x86为CISC,ARM为RISC),在指令集、硬件实现和系统标识上存在显著差异,以下从多个维度详细说明如何通过Linux系统工具和文件信息进行区分,通过系统架构标识命令检测最直接的方法是使用Linux……

    2025年8月24日
    2900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信