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系统是否已安装MySQL?

    在Linux系统中,MySQL作为一种广泛使用的关系型数据库管理系统,其安装状态确认是系统管理和开发过程中的基础操作,本文将详细介绍多种方法,帮助用户全面判断Linux系统是否已安装MySQL,覆盖不同场景和需求,确保操作准确高效,检查MySQL服务状态通过服务管理工具查看MySQL是否正在运行是最直接的方式……

    2025年9月24日
    4500
  • Linux 如何查询进程的线程数?

    在Linux系统中,线程是进程内的执行单元,多个线程共享进程的资源(如内存空间、文件描述符等),查询线程数对于系统性能监控、问题排查(如线程泄漏)等场景至关重要,Linux下查询线程数的方法多样,可通过命令行工具、系统接口等实现,本文将详细介绍常用方法及其实际应用,使用ps命令查询线程数ps(Process S……

    2025年9月18日
    5300
  • Linux系统下如何配置才能顺畅玩LOL?

    在Linux系统下运行英雄联盟(LOL)并非官方支持的功能,但通过兼容层、虚拟机等技术手段,仍可实现游戏体验,本文将详细讲解不同方法的原理、配置步骤及注意事项,帮助Linux用户顺利“上车”,Linux下玩LOL的可行方法LOL官方客户端仅支持Windows,因此Linux玩家需借助第三方工具实现兼容,目前主流……

    2025年8月23日
    4500
  • Linux环境下如何访问SVN服务器及代码仓库?

    在Linux系统中访问SVN(Subversion)仓库,主要通过命令行工具svn实现,支持本地仓库访问和远程仓库访问(如HTTP/SVN、SSH等协议),以下是详细操作步骤和注意事项,帮助用户顺利实现SVN仓库的访问与管理,环境准备:安装SVN客户端在访问SVN仓库前,需确保Linux系统已安装SVN命令行客……

    2025年9月18日
    4800
  • 如何让Linux内核占用2GB内存?

    Linux内核内存占用是系统资源管理的重要部分,通常内核会根据系统负载和硬件配置动态调整内存使用,包括内核代码段、数据段、动态分配的内存(如slab缓存、page cache、buffer cache等)以及内核栈等,若需要将内核内存占用调整至2GB,需结合系统硬件配置(建议总内存至少8GB以上,避免用户空间内……

    2025年10月3日
    2900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信