如何在Linux中检查网络适配器状态

时间:2020-01-09 14:16:55  来源:igfitidea点击:

如何在Linux命令行中检查以太网端口的物理状态?
如何在Linux中检查网络适配器状态?

Linux附带了各种命令行实用程序,用于挖掘有关网络适配器(例如以太网,WiFi和系统中安装的其他适配器)的信息。
本教程显示如何使用bash或任何其他现代shell在Linux中查找网络适配器状态。

在Linux中检查网络适配器名称的命令

打开终端应用程序,然后执行以下命令以查看所有网络设备名称和其他信息:

sudo lshw -class network -short

输出示例:

H/W path       Device      Class          Description
=====================================================
/0/100/1c/0    wlp1s0      network        Wireless 8265 / 8275
/0/100/1f.6    eno1        network        Ethernet Connection I219-LM
/2             virbr0-nic  network        Ethernet interface
/3             virbr0      network        Ethernet interface

所以wlp1s0是我的无线,而eno1是我的以太网连接。

获取IP地址和其他信息

只需使用ip命令,如下所示:

ip a
ip a s {device}
ip a s eno1
ip a s wlp1s0

上面的命令表明我的以太网已经启动并以192.168.2.24/24 IP地址运行。
它还显示了我的mac地址40:9f:38:28:f6:b5。

如何在Linux中查询或控制网络驱动程序和硬件设置

对于有线以太网设备,您需要使用一个名为ethtool的命令。
它从Linux CLI提供以下信息

  • 显示有关网络适配器状态的信息
  • 查找识别和诊断信息
  • 获取扩展的设备统计信息
  • 设置或获取以太网设备的速度,双工,自动协商和流控制
  • 控制校验和卸载和其他硬件卸载功能
  • 更新或设置DMA环大小和中断控制
  • 控制多队列设备的接收队列选择
  • 升级闪存中的固件

显示Linux中以太网端口的物理状态

语法为:

sudo ethtool {device}
sudo ethtool [option] {device}

例如,获取有关eno1以太网设备的信息:

sudo ethtool eno1

输出示例:

Settings for eno1:
	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
	Supported FEC modes: Not reported
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Speed: 1000Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 1
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: on (auto)
	Supports Wake-on: pumbg
	Wake-on: g
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes

查看网络设备驱动程序信息

运行:

sudo ethtool -i eno1

eno1以太网设备是打开还是关闭?

运行以下cat命令:

cat /sys/class/net/eno1/carrier
cat /sys/class/net/eno1/operstate

另一个选项是将ip命令与grep命令/egrep命令一起使用:

ip a s eno1 | grep state

或者

sudo ethtool eno1 | grep -i 'Link det'

或者

nmcli device status

在Linux上检查网络连接的各种命令

查找无线Wifi驱动程序芯片组信息的注释关于检查Linux中的无线网络适配器状态

要在Linux上查找无线(Wifi)驱动程序芯片组信息,请运行:

lspci | less
lspci | grep -i intel
lspci | grep -i broadcom
lspci | grep -i wireless
lshw -C network | grep -B 1 -A 12 'Wireless interface'

输出示例:

*-network DISABLED        
       description: Wireless interface
       product: Wireless 8265 / 8275
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       logical name: wlp1s0
       version: 78
       serial: 2e:9c:fd:d8:a1:0d
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlwifi driverversion=5.0.5-200.fc29.x86_64 firmware=36.9f0a2d68.0 latency=0 link=no multicast=yes wireless=IEEE 802.11
       resources: irq:129 memory:df000000-df001fff

运行wavemon命令,以从CLI查找无线网络速度,信号强度和其他信息:

wavemon