網路卡引數查詢及設定工具ethtool
ethtool是用來查詢和設定網路卡驅動&硬體資訊的工具,功能很強大!Linux一般都會預設安裝,在進行網路除錯和網路效能分析時非常有用。提供統計資訊查詢、ring buffer設定、協議解除安裝設定、網路卡測試等等……
自己在進行DDoS攻擊模擬、分析和測試中經常使用!
簡單例項
以網路卡p5p2為例
檢視NIC ring buffer大小,
ethtool -g p5p2
[root@globus03 20160924]# ethtool -g p5p2 Ring parameters for p5p2: Pre-set maximums: RX: 4078 RX Mini: 0 RX Jumbo: 0 TX: 4078 Current hardware settings: RX: 2014 RX Mini: 0 RX Jumbo: 0 TX: 4078
設定NIC ring buffer大小,
ethtool -G p5p2 rx 4078
詳細命令,ethtool -G|--set-ring devname [rx N] [rx-mini N] [rx-jumbo N] [tx N]
[root@globus03 20160924]# ethtool -G p5p2 rx 4078 [root@globus03 20160924]# ethtool -g p5p2 Ring parameters for p5p2: Pre-set maximums: RX: 4078 RX Mini: 0 RX Jumbo: 0 TX: 4078 Current hardware settings: RX: 4078 RX Mini: 0 RX Jumbo: 0 TX: 4078
檢視網路卡驅動資訊
ethtool -i p5p2
[root@globus03 20160924]# ethtool -i p5p2 driver: bnx2x version: 1.710.51-0 firmware-version: FFV7.12.19 bc 7.12.5 phy 1.45 bus-info: 0000:06:00.1 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: yes
檢視當前網路卡主要資訊,
ethtool p5p2
[root@globus03 20160924]# ethtool p5p2 Settings for p5p2: Supported ports: [ TP ] Supported link modes: 100baseT/Half 100baseT/Full 1000baseT/Full 10000baseT/Full Supported pause frame use: Symmetric Receive-only Supports auto-negotiation: Yes Advertised link modes: 100baseT/Half 100baseT/Full 1000baseT/Full 10000baseT/Full Advertised pause frame use: Symmetric Receive-only Advertised auto-negotiation: Yes Link partner advertised link modes: 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full 10000baseT/Full Link partner advertised pause frame use: No Link partner advertised auto-negotiation: Yes Speed: 10000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 17 Transceiver: internal Auto-negotiation: on MDI-X: Unknown Supports Wake-on: g Wake-on: d Current message level: 0x00000000 (0)
Link detected: yes
網路卡測試命令,
ethtool -t p5p2 online
詳細命令為ethtool -t|--test devname [offline|online|external_lb]
,其中online表示不需要重啟網路卡的測試,offline表示要重啟網路卡
[root@globus03 ~]# ethtool -t p5p2 online
The test result is PASS
The test extra info:
register_test (offline) 0
memory_test (offline) 0
int_loopback_test (offline) 0
ext_loopback_test (offline) 0
nvram_test (online) 0
interrupt_test (online) 0
link_test (online) 0
統計資訊
查詢網路卡接收資料包資訊,
ethtool -S em2 | grep -i error
[root@globus03 ~]# ethtool -S em2 | grep -i error rx_fcs_errors: 0 rx_align_errors: 0 rx_frame_too_long_errors: 0 rx_in_length_errors: 0 rx_out_length_errors: 0 tx_mac_errors: 0 tx_carrier_sense_errors: 0 tx_errors: 0
查詢網路卡接收的資料包資訊,
ethtool -S em2 | grep -i error
[root@globus03 ~]# ethtool -S em2 | grep -i rx rx_octets: 0 rx_fragments: 0 rx_ucast_packets: 0 rx_mcast_packets: 0 rx_bcast_packets: 0 rx_fcs_errors: 0 …………
協議解除安裝
offload 是將本來該作業系統進行的一些資料包處理(如分片、重組等)放到網路卡硬體中去做,降低系統 CPU 消耗的同時,提高處理的效能。
- 查詢網路卡協議解除安裝(offload)資訊,
ethtool -k p5p2
- 資訊說明
- LSO/LRO 分別對應到傳送和接收兩個方向,是 Large Segment Offload 和 Large Receive Offload
- LSO 在傳送資料超過 MTU 限制的時候(太容易發生了),OS 只需要提交一次傳輸請求給網路卡,網路卡會自動的把資料拿過來,然後進行切,並封包發出,發出的網包不超過 MTU 限制。 當網路卡收到很多碎片包的時候,LRO 可以輔助自動組合成一段較大的資料,一次性提交給 OS處理。 一般的,LSO 和 LRO 主要面向 TCP 報文。
- GSO/GRO Generic Segmentation Offload 和 Generic Receive Offload,分別比 LSO 和 LRO 更通用,自動檢測網路卡支援特性,支援分包則直接發給網路卡,否則先分包後發給網路卡。這樣大資料包只需走一次協議棧,而不是被分割成幾個資料包分別走,提高了效率。新的驅動一般用 GSO/GRO。
- TSO/UFO TCP Segmentation Offload 和 UDP fragmentation offload,分別對應 TCP 報文和 UDP 報文。 很典型的,TCP 協議中就考慮了分片存在的情況,往往是切分 TCP 的資料包,叫做 TSO。而一般的情況,則稱為 LSO 或者 GSO。 對於其他不支援切片的協議例如 UDP,則只能進行 IP 層上的切片。
- RSS RSS(Receive Side Scaling),是一項網路卡的新特性,俗稱多佇列。具備多個RSS佇列的網路卡,可以將不同的網路流分成不同的佇列,再分別將這些佇列分配到多個CPU核心上進行處理,從而將負荷分散,充分利用多核處理器的能力。
全部資訊顯示
[root@globus03 ~]# ethtool -k p5p2 Features for p5p2: rx-checksumming: on tx-checksumming: on tx-checksum-ipv4: on tx-checksum-ip-generic: off [fixed] tx-checksum-ipv6: on 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 udp-fragmentation-offload: off [fixed] generic-segmentation-offload: on generic-receive-offload: on large-receive-offload: off rx-vlan-offload: on [fixed] tx-vlan-offload: on ntuple-filters: off [fixed] receive-hashing: on highdma: on [fixed] rx-vlan-filter: off [fixed] vlan-challenged: off [fixed] tx-lockless: off [fixed] netns-local: off [fixed] tx-gso-robust: off [fixed] tx-fcoe-segmentation: off [fixed] tx-gre-segmentation: on tx-ipip-segmentation: on tx-sit-segmentation: on tx-udp_tnl-segmentation: on tx-mpls-segmentation: off [fixed] fcoe-mtu: off [fixed] tx-nocache-copy: off loopback: off rx-fcs: off [fixed] rx-all: off [fixed] tx-vlan-stag-hw-insert: off [fixed] rx-vlan-stag-hw-parse: off [fixed] rx-vlan-stag-filter: off [fixed] busy-poll: on [fixed]
協議解除安裝設定
ethtool -K eth0 gso off
(接收GSO) 詳細命令ethtool -K|--features|--offload devname feature on|off ...
相關文章
- linux 網路卡引數 ethtoolLinux
- Linux下檢視網路卡設定 ethtool eth0Linux
- 查詢最佳化器的引數設定
- mysql常用引數使用說明及查詢MySql
- Linux 中 FQDN 查詢及設定Linux
- centos7 用工具nmtui更改網路卡設定CentOSUI
- 【LC】locale設定查詢及相關環境變數含義及示例變數
- 0231-ethtool 常用引數
- 一鍵批量查詢極兔快遞並設定快遞引數
- 分頁及查詢引數傳遞問題分享
- 開啟查詢慢查詢日誌引數
- 查詢hadoop引數變數Hadoop變數
- 設計引數化查詢的計劃指南
- 隱含引數的查詢
- 隱藏引數查詢sqlSQL
- 雙網路卡共享上網設定
- [20140506]使用ethtool標識網路卡.txt
- Linux下多網路卡多網段訪問 --- 網路卡及Gateway, 路由設定(Linux OS)LinuxGateway路由
- 冷備份之一查詢引數檔案及備份引數檔案
- LINUX 網路卡配置檔案引數Linux
- kudzu命令檢視及設定網路卡等硬體資訊
- Linux下檢視網路卡資訊及確定網路卡位置Linux
- 【指令碼】隱含引數及註釋資訊的查詢方法指令碼
- php-fpm7.0 慢查詢設定及說明PHP
- Sql Server 的引數化查詢SQLServer
- 抽象SQL引數化查詢VK抽象SQL
- Oracle隱含引數的查詢Oracle
- 使用GraphQL查詢引數來設計強大的APIAPI
- Linux上shmmax引數的設定及含義LinuxHMM
- 如何實現引數級聯查詢
- Microsoft Graph for Office 365 - 查詢引數(二)ROS
- Microsoft Graph for Office 365 - 查詢引數(一)ROS
- MySQL查詢快取引數詳解MySql快取
- MySQL引數化查詢的IN 和 LIKEMySql
- Oracle隱形引數查詢指令碼Oracle指令碼
- 獲取request中的查詢引數
- 查詢oracle中的隱形引數Oracle
- 隱藏引數查詢和dictionary viewView