• Linux 命令(194)—— ethtool 命令



    大咖好呀,我是恋喵大鲤鱼。

    鄙人第二本开源书籍《后台开发命令365》上线啦,欢迎大家协同共建。

    1.命令简介

    ethtool(ethernet tool)查询或控制网络驱动程序和硬件设置。

    利用 ethtool 可以根据需要更改以太网卡的参数,包括自动协商、速度、双工和局域网唤醒等参数。

    2.命令格式

    ethtool DEVNAME
    ethtool -h|--help
    ethtool --version
    ethtool [OPTIONS] DEVNAME [ARG]
    
    • 1
    • 2
    • 3
    • 4

    3.选项说明

    -a, --show-pause
    	查看网卡中接收模块 RX、发送模块 TX 和 Autonegotiate 模块的状态:启动 on 或停用 off。
    -A, --pause  [autoneg on|off] [rx on|off] [tx on|off]
    	修改网卡中接收模块 RX、发送模块 TX 和 Autonegotiate 模块的状态:启动 on 或停用 off。
    -c, --show-coalesce
    	查询指定网络设备的合并信息。
    -C, --coalesce
    	更改指定网络设备的合并设置。
    -g, --show-ring
    	显示指定以太网卡的 rx/tx 环参数信息。。
    -G, --set-ring
    	更改指定以太网卡的 rx/tx 环设置。
    -i, --driver
    	显示网卡驱动的信息,如驱动的名称、版本等。
    -d, --register-dump  [raw on|off] [hex on|off] [file name]
    	显示 register dump 信息,部分网卡驱动不支持该选项。
    -e, --eeprom-dump  [raw on|off] [offset N] [length N]
    	显示 EEPROM dump 信息,部分网卡驱动不支持该选项。
    -E, --change-eeprom
    	修改网卡 EEPROM byte。
    -k, --show-features, --show-offload 
    	显示网卡 Offload 参数的状态:on 或 off,包括 rx-checksumming、tx-checksumming 等。
    -K, --features, --offload   on|off ...
    	修改网卡 Offload 参数的状态。
    -p, --identify  [N]
    	用于区别不同 ethX 对应网卡的物理位置,常用的方法是使网卡 port 上的 led 不断的闪;N 指示了网卡闪的持续时间,以秒为单位。
    -P, --show-permaddr
    	向指定的网络设备查询永久硬件地址。
    -r, --negotiate 
    	如果 auto-negotiation 模块状态为 on,则 restarts auto-negotiation。
    -S, --statistics
    	显示 NIC- and driver-specific 的统计参数,如网卡接收/发送的字节数、接收/发送的广播包个数等。
    -t, --test
    	让网卡执行自我检测,有两种模式:offline or online。
    -s, --change
    	修改网卡的部分配置,包括网卡速度、单工/全双工模式、MAC 地址等。
    -h, --help
    	显示帮助信息。
    --version
    	显示版本信息。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40

    参数 devname 为网卡名称,可通过 ip 或 ifconfig 命令查看。

    4.常用示例

    (1)查询网卡基本设置。

    ethtool eth0
    Settings for eth0:
    	Link detected: yes
    
    • 1
    • 2
    • 3

    (2)查询网卡驱动相关信息。

    ethtool -i eth0
    driver: virtio_net
    version: 1.0.0
    firmware-version: 
    expansion-rom-version: 
    bus-info: 0000:00:05.0
    supports-statistics: no
    supports-test: no
    supports-eeprom-access: no
    supports-register-dump: no
    supports-priv-flags: no
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    (3)查询网卡收发包统计。

    ethtool -S eth0
    no stats available
    
    • 1
    • 2

    (4)查询网卡注册信息。

    ethtool -d eth0
    Cannot get register dump: Operation not supported
    
    • 1
    • 2

    (5)设置网卡自适应模式。

    ethtool -r eth0
    
    • 1

    (6)设置网卡速率等信息。

    ethtool -s eth0 autoneg off speed 100 duplex full 
    
    • 1

    (7)停止网卡的发送模块 TX。

    ethtool -A tx off eth0
    
    • 1

    (8)使网卡灯闪烁 10 次。

    ethtool -p eth0 10
    
    • 1

    操作完毕后,看哪块网卡的 LED 灯在闪,eth0 就对应着哪块网卡。

    (9)显示网卡 Offload 参数的状态。

    ethtool -k eth0
    Features for eth0:
    rx-checksumming: on [fixed]
    tx-checksumming: on
    	tx-checksum-ipv4: off [fixed]
    	tx-checksum-ip-generic: on
    	tx-checksum-ipv6: off [fixed]
    	tx-checksum-fcoe-crc: off [fixed]
    	tx-checksum-sctp: off [fixed]
    scatter-gather: on
    	tx-scatter-gather: on
    	tx-scatter-gather-fraglist: off [fixed]
    tcp-segmentation-offload: on
    	tx-tcp-segmentation: on
    	tx-tcp-ecn-segmentation: on
    	tx-tcp6-segmentation: on
    	tx-tcp-mangleid-segmentation: off
    udp-fragmentation-offload: on
    generic-segmentation-offload: on
    generic-receive-offload: on
    ...
    l2-fwd-offload: off [fixed]
    hw-tc-offload: off [fixed]
    rx-udp_tunnel-port-offload: off [fixed]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    (10)关闭网卡对收到的数据包的校验功能。

    ethtool -K eth0 rx off
    
    • 1

    (11)显示 EEPROM dump 信息。

    ethtool -e eth0
    Cannot get EEPROM data: Operation not supported
    
    • 1
    • 2

    5.拓展知识

    下面的信息将帮助你了解以太网卡的工作原理。

    • 半双工:半双工模式允许设备一次只能发送或接收数据包。
    • 全双工:全双工模式允许设备可以同时发送和接收数据包。
    • 自动协商:自动协商是一种机制,允许设备自动选择最佳网速和工作模式(全双工或半双工模式)。
    • 速度:默认情况下,它会使用最大速度,你可以根据自己的需要改变它。
    • 链路检测:链路检测可以显示网卡的状态。如果显示为 no,请尝试重启网卡。如果链路检测仍显示 no,则检查交换机与系统之间连接的线缆是否有问题。

    参考文献

    ethtool(8) - Linux manual page - man7.org
    如何使用ethtool 命令管理以太网卡| Linux 中国 - 知乎专栏
    一步一步学Linux——ethtool命令(155)
    Linux ethtool 命令详解:显示或修改以太网卡的配置信息

  • 相关阅读:
    数学建模——最优连接(基于最小支撑树)
    SpringBoot:MVC自动配置原理
    核货宝:连锁电商集采集供解决方案
    8 年 Java 开发含泪刷题,架构岗现在好难进,有点崩溃
    【嵌入式Linux应用开发】温湿度监控系统——多线程与温湿度的获取显示
    【英语:基础进阶_读写专项训练】G3.记叙文写作
    设计模式-UML类图
    量化投资学习——股票分红对期指的影响
    电脑锁屏设置的方法,直接在系统设置里完成
    七、python ConfigParser模块
  • 原文地址:https://blog.csdn.net/K346K346/article/details/127637057