一、安装 ethtool
ethtool 可以直接从系统的软件仓库中安装得到,使用以下命令即可:
sudo apt-get install ethtool # Ubuntu/Debian
sudo yum install ethtool # CentOS/Fedora
sudo pacman -S ethtool # Arch Linux
二、使用 ethtool
将 ethtool 用于特定的接口:
sudo ethtool eth0
其中的 eth0 是要查询的网络接口名称。输出将包括接口的速率、协商状态、MAC 地址、搜寻和搜寻功能、支持的网际协议 IPv4 和 IPV6 的缩进等等,并显示一些能力的说明。
三、查询接口信息
查询 ethtool 显示的信息的含义和说明:
1、Settings:下一条是设置,包括网速、双工性、自动协商、硬件故障,而且还包括一些不是每个设备都有的功能。
2、Pause parameters:下一条是暂停参数,这些参数支持通过在发送数据时使协商进行。
3、Link detected:下一条是 Link detected,它是一个二进制标志,指示是否检测到了链路。 这是一个很好的指标,可以检测到有线故障和硬件故障。
4、Link partner advertised link modes: 下一条是当对端的自动协商打开时,显示支持的协议列表。这在调试时非常有用,因为在链路和设备上同时打印出它们的协商将有助于确定问题的方向。
5、Link partner advertised pause frame use: 这是另一个用于暂停广告协商的参数。
6、Link partner advertised auto-negotiation: 检测到远程设备时自动打开的一个非常有用的功能,它可以告诉你对手是否支持自动协商。
7、Link partner advertised FE/GE/XE abilities: 这是在以太网/千兆以太网/10千兆以太网等所有不同的以太标准中得到的有用指数。
8、Link partner advertised 1000base-T full-duplex: 显示远程设备支持的一些封送地址(half-duplex or full-duplex) 。
四、查询网卡硬件信息
ethtool 提供了支持硬件版本的输出。 在某些情况下,这可能非常有用,因为您可以检查接口版本并与支持的驱动程序版本进行比较。 如果他们不匹配,那么可能会有问题。
sudo ethtool -i eth0
五、修改接口配置
ethtool 还允许您在运行时间修改网卡设置,这特别有用,因为您不需要重新启动或者重新配置机器。 这是一个命令行示例,演示了如何将本地接口 eth0 配置为100 Mbps 的全双工模式:
sudo ethtool -s eth0 speed 100 duplex full autoneg off
六、查询接口状态
网络接口有多种状态,ethtool -S 命令可以用于检索这些详细状态信息:
sudo ethtool -S eth0
七、操作系统性能数据
ethtool 还允许您打印一些操作系统性能数据:
sudo ethtool -d eth0
八、命令语法
查看 ethtool 命令完整的语法:
ethtool [options] [device-name]
九、命令选项
列出 ethtool 的所有可用选项:
- -a : 显示搜寻和搜寻能力。
- -A : 开启或者关闭搜寻和搜寻。
- -b : 打开或者关闭指定接口的发包流量控制。
- -B : 通过 DMA 协调来启用或者禁用选定的接口硬件设备处理中断。
- -c : 显示收发包的概览统计数据。
- -C : 打开或者关闭选定接口上 DMA 块重注入处理。
- -d : 显示接口相关 DRAM 占用情况。
- -e : 显示相关的信息序列号。
- -E : 打开或者尝试关闭相关的 IPv4工具(依赖于 -S选项) 。
- -g : 显示接口相关的密钥描述符里的基础设置信息。
- -G : 打开或者关闭选定的接口使用的不断轮询。
- -h : 显示所有可用的情况和参数。
- -i : 显示设备的策略规则。
- -I : 显示与接口的中断有关的统计数据(新)
- -k : 显示内核通告中相关接口的某些状态开关。
- -K : 打开或者关闭选定的接口硬件支持收发包统计。
- -L : 打开或关闭选定的接口支持本地回环处理。
- -m : 显示选定接口的EPROM 或者其他内部缓存信息。
- -p : 显示特定接口所连接至的物理插槽位置和插座纤维类型。
- -P : 显示或者改变选定接口上的插槽速度(需要内核支持) 。
- -r : 重置选定接口的各种协商特性。
- -R : 显示或者关闭选定接口的报告。
- -s : 显示尚未在设备上分配的接口的概览信息。
- -S : 显示接口的概览性数据。
- -t : 发送测试数据包到选定接口上,可以观察是否正确的反映回来。
- -T : 启用或者禁用特定接口上所发生其他 DMA 冲突。
- -u : 显示选定接口的全局配置设定。
- -v : 显示选定接口的驱动程序版本信息。
- -W : 设置接口的硬件关联状态。
- -x : 显示所选接口上的相关统计信息的概览信息。
- -X : 启用或禁用选定接口上启用和禁用的字符输入输出流。
- -y : 显示与所选接口有关的用户配置设置。
- -Y : 显示与选定接口的各种特性相关的 VPD(Vital Product Data)信息。
- -z : 显示与所选接口的线缆有关的信息。