讨好ethtool

如果您想了解更多关于您的以太网接口的信息,而不是ifconfig所能告诉您的,那么是时候看看ethtool了。

想更加熟悉您的网络适配器吗?ifconfig命令并不是检查接口的唯一工具。从1998年开始,一种叫做ethtool的工具出现了

可用于显示和修改以太网适配器设置。

使用ethtool,您可以:

  • 显示识别和诊断信息
  • 查看扩展设备的统计数据
  • 控制速度,双工,自动协商和流量控制设置
  • 控制校验和卸载和其他卸载功能
  • 控制DMA环大小和中断调节
  • 控制多队列设备的接收队列选择
  • 升级闪存中的固件

您可以使用命令ethtool,后跟您想要检查的接口名称,以获得关于某个网络接口的许多基本信息。

$ ethtool eth0设置eth0:支持端口:[TP]支持link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised 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支持Wake-on: g Wake-on: d Link detected: yes

要获取物理接口上的固件信息,使用-i选项:

# ethtool -i eth0 driver: bnx2 version: 1.7.9-1 firmware-version: 5.2.3 NCSI 2.0.11 bus-info: 0000:01:00.0

绑定接口的信息不多,但ethtool将它们识别为

这样,使用术语“结合”。从下面的输出中可以看到,对于非物理接口没有可用的统计信息。

# ethtool -i bond0 driver: bonding version: 3.2.4 firmware-version: 2 bus-info: # ethtool -S bond0 no stats available

要查看暂停设置以及接口是否设置为自动协商,请使用-a选项:

# ethtool -a eth0暂停参数:auto - negotiate: on RX: on TX: on

要查看以太网接口的统计信息,使用-S选项:

# ethtool - s eth0网卡统计:rx_bytes: 125850431219 rx_error_bytes: 0 tx_bytes: 139140209311 tx_error_bytes: 0 rx_ucast_packets: 96912478 rx_mcast_packets: 12054491 rx_bcast_packets: 52901669 tx_ucast_packets: 155871625 tx_mcast_packets: 2466 tx_bcast_packets: 94454 tx_mac_errors: 0 tx_carrier_errors: 0 rx_crc_errors: 0 rx_align_errors:0 tx_single_collisions: 0 tx_multi_collisions: 0 tx_deferred: 0 tx_excess_collisions: 0 tx_late_collisions: 0 tx_total_collisions: 0 rx_fragments: 0 rx_jabbers: 0 rx_undersize_packets: 0 rx_oversize_packets: 0 rx_64_byte_packets: 55466306 rx_65_to_127_byte_packets: 19003700 rx_128_to_255_byte_packets: 8308294 rx_256_to_511_byte_packets:836880 rx_512_to_1023_byte_packets: 141854 rx_1024_to_1522_byte_packets: 78145842 rx_1523_to_9022_byte_packets: 0 tx_64_byte_packets: 305460 tx_65_to_127_byte_packets: 66853240 tx_128_to_255_byte_packets: 353026 tx_256_to_511_byte_packets: 49608 tx_512_to_1023_byte_packets: 17149 tx_1024_to_1522_byte_packets: 88390062 tx_1523_to_9022_byte_packets:0 rx_xon_frames: 17119 rx_xoff_frames: 17119 tx_xon_frames: 0 tx_xoff_frames: 0 rx_mac_ctrl_frames: 0 rx_filtered_packets: 58432177 rx_discards: 0 rx_fw_discards: 165994

这是大量的统计数据!请注意数据包计数输出是如何按数据包大小分解的。

甚至还有一个命令可以让界面闪烁。你为什么要这么做?当你不确定哪个接口是哪个接口时——哪个是eth0,哪个是eth1,等等。

Ethtool——识别eth0

该命令将导致eth0接口闪烁10秒。当然,如果你盯着你的屏幕,这似乎不比睡十秒钟更有照明,但如果你看你的系统,你会看到一个适度的小灯光显示,你会知道哪个界面是eth0。

您还可以使用ethtool使用-t或——test选项来测试一个网络接口。注意,其中一些会中断服务。如果使用如下所示的脱机命令,将执行一组全面的测试,但服务将被中断。

# ethtool -t offline eth0

如果选择联机,则运行的测试会更少,但服务不会中断。

还有一个相当不错的关于ethtool命令的手册页,您可以通过询问关于ethtool -h命令的帮助来获得命令的概要。

与ifconfig相比,ethtool命令当然可以告诉您更多关于网络接口的信息,并且还可以提供关于网络流量的非常有趣的信息。

加入网络世界社区有个足球雷竞技app脸谱网LinkedIn对自己最关心的话题发表评论。

版权所有©2014 IDG ComRaybet2munications, Inc.

SD-WAN买家指南:向供应商(和您自己)提出的关键问题