Linux如何查看网卡信息?

Linux系统中,查看网卡信息是网络配置和故障排查的基础操作,无论是日常运维还是系统管理,掌握多种查看网卡的方法都能帮助我们快速定位问题,本文将详细介绍通过命令行工具、图形界面、配置文件等多种方式查看Linux网卡信息,并解释关键输出含义,最后附上常见问题解答。

如何查看linux的网卡

命令行工具查看网卡信息

命令行是Linux环境下最常用的操作方式,通过不同命令可以获取网卡的详细状态、配置信息及硬件参数,以下是几种核心命令的使用方法及输出解读。

使用ip命令(推荐,现代Linux系统默认)

ip命令是iproute2工具包的一部分,功能强大且全面,用于查看和管理网络接口、路由、策略路由等,查看网卡信息常用以下子命令:

  • 查看所有网卡接口及其状态
    执行ip addrip a,会显示系统中所有网络接口的详细信息,包括接口名称(如eth0lo)、MAC地址、IP地址(IPv4/IPv6)、子网掩码、接口状态(UP/DOWN)等。

    ip addr

    输出示例:

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UP 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:1c:23:45:67:89 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::21c:23ff:fe45:6789/64 scope link 
           valid_lft forever preferred_lft forever

    关键字段解读:

    • 1: lo:接口编号和名称(lo为回环接口,eth0为以太网网卡)。
    • <BROADCAST,MULTICAST,UP,LOWER_UP>:接口状态,UP表示已启用,BROADCAST支持广播,MULTICAST支持多播,LOWER_UP表示物理链路正常。
    • link/ether:网卡的MAC地址。
    • inet:IPv4地址及子网掩码(/24表示255.255.255.0)。
    • inet6:IPv6地址及前缀长度。
  • 查看网卡流量统计
    使用ip -s link可查看网卡的接收(RX)和发送(TX)字节数、包数、错误数等统计信息,用于排查网络流量异常或丢包问题。

    ip -s link show eth0

使用ifconfig命令(传统工具,部分系统需安装)

ifconfignet-tools工具包中的命令,在早期Linux系统中广泛使用,但逐渐被ip命令取代,若系统中未安装,可通过sudo apt install net-tools(Ubuntu/Debian)或sudo yum install net-tools(CentOS/RHEL)安装。

  • 查看所有网卡接口
    ifconfig

    输出示例与ip addr类似,但格式略有不同,

    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:1c:23:45:67:89  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

    关键字段:flags为接口标志位,inet为IPv4地址,ether为MAC地址,RX/TX packets为收发包数。

使用lspcilsusb查看网卡硬件信息

若需了解网卡的硬件型号(如厂商、设备型号),可通过lspci(PCI设备)或lsusb(USB网卡)命令查看。

  • 查看PCI网卡(如集成网卡或PCIe扩展网卡)

    如何查看linux的网卡

    lspci | grep -i ethernet

    输出示例:

    03:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)

    可通过lspci -v -s 03:00.0查看更详细的硬件信息和驱动加载情况。

  • 查看USB网卡

    lsusb | grep -i ethernet

    输出示例:

    Bus 001 Device 005: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter

使用ethtool查看网卡详细参数

ethtool用于查看和修改网卡链路状态、速率、双工模式、自动协商等参数,需先安装(sudo apt install ethtoolsudo yum install ethtool)。

  • 查看网卡速率和双工模式
    ethtool eth0

    输出示例:

    Settings for eth0:
        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 pause frame use: No
    Advertised auto-negotiation: Yes
    Link partner:   Not negotiated
    Speed: 1000Mb/s   Duplex: Full   Port: Twisted Pair

    关键信息:Speed为当前链路速率(如1000Mb/s),Duplex为双工模式(Full为全双工),Link partner为对端协商状态。

使用nmcli查看NetworkManager管理的网卡

在Ubuntu、CentOS等现代发行版中,NetworkManager是默认的网络管理工具,nmcli是其命令行接口,可查看和管理网络连接。

  • 查看所有网络连接
    nmcli connection show
  • 查看活动连接的详细信息
    nmcli connection show "连接名称"  # nmcli connection show "eth0"

    输出包含连接类型(ethernet)、IP配置方法(manual/dhcp)、DNS服务器等。

查看网络接口统计文件

Linux内核会维护网络接口的统计信息,可通过读取/proc/net/dev文件获取:

cat /proc/net/dev

输出格式简洁,显示每个接口的接收和发送字节数、包数、错误数等,适合快速查看流量统计。

如何查看linux的网卡

命令行工具对比总结

为方便快速选择合适命令,以下常用查看网卡命令的对比表格:

命令 所属工具包 适用场景 主要功能
ip addr iproute2 查看接口IP、MAC、状态等 现代Linux系统首选,信息全面
ifconfig net-tools 传统系统查看接口基本信息 兼容旧系统,但功能较单一
lspci/lsusb pciutils/usbutils 查看网卡硬件型号和厂商 定位物理网卡硬件信息
ethtool ethtool 查看链路速率、双工模式等参数 深入排查网卡链路问题
nmcli NetworkManager 查看NetworkManager管理的连接 适用于图形化网络管理环境,查看连接配置
cat /proc/net/dev 内核虚拟文件 查看接口流量统计 轻量级查看收发数据量

图形界面查看网卡信息

对于习惯图形界面的用户,Linux桌面环境提供了多种工具查看网卡信息:

  • Ubuntu(GNOME桌面):点击右上角网络图标 → “有线连接”或“Wi-Fi” → “设置”,可查看当前IP地址、MAC地址,点击“齿轮”图标可编辑网络配置。
  • CentOS/RHEL(GNOME桌面):进入“设置” → “网络”,选择活动连接,点击“齿轮”图标查看IP配置、DNS等信息,或点击“详细信息”查看MAC地址、MTU等。
  • 传统工具(如nm-connection-editor:在终端执行nm-connection-editor,弹出图形化网络配置工具,可查看和管理所有网络连接的详细信息。

通过配置文件查看网卡信息

Linux网卡的静态配置通常存储在配置文件中,通过查看文件可了解网卡的固定IP、子网掩码、网关、DNS等设置:

  • RHEL/CentOS系统:配置文件位于/etc/sysconfig/network-scripts/,命名规则为ifcfg-接口名(如ifcfg-eth0):

    cat /etc/sysconfig/network-scripts/ifcfg-eth0

    关键参数:BOOTPROTOstatic/dhcp表示静态/DHCP配置)、IPADDR(IPv4地址)、NETMASK(子网掩码)、GATEWAY(网关)、DNS1/DNS2(DNS服务器)。

  • Ubuntu/Debian系统

    • 旧版(Netplan之前):配置文件为/etc/network/interfaces,通过iface eth0 inet static等配置静态IP。
    • 新版(Netplan):配置文件位于/etc/netplan/(如01-network-manager-all.yaml),使用YAML格式定义网络配置:
      cat /etc/netplan/01-network-manager-all.yaml

高级排查:结合日志和诊断工具

若网卡出现异常(如无法获取IP、频繁掉线),可结合日志和诊断工具进一步排查:

  • 查看内核日志dmesg | grep -i eth,可查看网卡驱动加载、硬件初始化过程中的错误信息。
  • 查看NetworkManager日志journalctl -u NetworkManager,定位NetworkManager管理网络时的错误(如DHCP请求失败)。
  • 测试链路连通性:使用ping(测试网络连通性)、mtr(结合traceroute和ping,分析网络延迟丢包)、tcpdump(抓包分析网络数据)等工具辅助排查。

相关问答FAQs

Q1:为什么执行ifconfig命令时提示“command not found”?
A:ifconfig属于net-tools工具包,现代Linux系统(如Ubuntu 18.04+、CentOS 7+)默认不再安装该工具包,可通过以下方式解决:

  • Ubuntu/Debian系统:sudo apt install net-tools
  • CentOS/RHEL系统:sudo yum install net-tools
    安装后即可使用ifconfig命令,但推荐优先使用ip命令,因其功能更全面且为未来趋势。

Q2:如何查看网卡的实时流量,并监控带宽使用情况?
A:可通过以下工具实现:

  • iftop:实时显示各网卡的实时流量、连接数、带宽占用情况,需安装(sudo apt install iftopsudo yum install iftop)。
    使用示例:sudo iftop -i eth0(指定监控eth0网卡)。
  • nload:以图形化方式显示网卡的实时入站(RX)和出站(TX)带宽,安装命令:sudo apt install nload
    使用示例:sudo nload eth0
  • ip -s link:通过ip命令查看网卡的流量统计,适合轻量级监控,但无法实时刷新,需结合watch命令实现定时刷新:watch -n 1 "ip -s link show eth0"

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

(0)
酷番叔酷番叔
上一篇 2小时前
下一篇 1小时前

相关推荐

  • 在Linux操作系统中,如何具体使用命令查看CPU的详细信息?

    在Linux系统中,查看CPU信息是系统管理和性能优化的基础操作,通过多种命令可以获取CPU的型号、核心数、频率、缓存等详细信息,以下将详细介绍常用命令及其使用场景,帮助用户全面掌握CPU信息的查看方法,使用lscpu命令查看CPU概览信息lscpu是Linux中最常用的CPU信息查看工具,它从/proc/cp……

    2025年8月31日
    1600
  • linux 如何查看php日志

    Linux系统中,可以通过以下命令查看PHP日志:`cat /var/log/php7.

    2025年8月17日
    2300
  • 如何快速定位log文件夹在哪?

    在Linux系统中,日志文件(log)是记录系统运行状态、应用程序行为和错误信息的关键文件,无论是排查系统故障、监控服务状态,还是分析安全事件,查看log文件夹都是管理员和开发者的必备技能,下面详细介绍几种查看方法,涵盖常见位置、命令操作和权限管理,Linux的日志文件通常集中在/var/log目录下,这是系统……

    2025年6月21日
    4000
  • 手机充电到100%真的伤电池吗

    在Linux系统中,hosts文件是一个用于本地域名解析的关键配置文件,它允许用户手动指定域名与IP地址的映射关系,绕过DNS服务器直接生效,以下是如何安全、高效配置hosts文件的完整指南:hosts文件的作用与重要性核心功能:当访问域名(如www.example.com)时,系统首先查询hosts文件,若存……

    2025年6月20日
    4400
  • 如何在众多Linux版本中为PHP开发选择最合适的?

    在选择Linux版本用于PHP开发时,需要综合考虑开发需求、环境稳定性、软件包支持、社区活跃度及硬件资源等多方面因素,Linux发行版种类繁多,不同版本在包管理、默认软件版本、更新策略等方面存在差异,选择合适的版本能显著提升开发效率和环境可靠性,以下从核心需求出发,分析主流Linux发行版的特点,并提供不同场景……

    2025年8月27日
    1600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信