如何在Linux上以编程方式获得网络接口速度?

如何在Linux上以编程方式获得网络接口速度?,linux,networking,performance,Linux,Networking,Performance,我想知道网络连接信息中显示的速度,例如100Mb/s、10Mb/s,而不是可用带宽。提前谢谢 在上找到 通过编程读取此信息并对其进行解析,查找100baseTx或类似信息 # mii-tool -v eth0 eth0: negotiated 100baseTx-FD flow-control, link ok product info: vendor 00:00:20, model 32 rev 1 basic mode: autonegotiation enabled bas

我想知道网络连接信息中显示的速度,例如100Mb/s、10Mb/s,而不是可用带宽。提前谢谢

在上找到

通过编程读取此信息并对其进行解析,查找100baseTx或类似信息

# mii-tool -v eth0
eth0: negotiated 100baseTx-FD flow-control, link ok
  product info: vendor 00:00:20, model 32 rev 1
  basic mode:   autonegotiation enabled
  basic status: autonegotiation complete, link ok
  capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
  link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
此外,在同一篇文章中,您可以使用此选项并查找“速度:”行


如果您想在C代码中这样做,可以通过查询适当的ioctl函数和mii工具来查找信息。C提供了一个例子。
#ethtool eth0

Settings for eth0:
  Supported ports: [ TP MII ]
  Supported link modes:   10baseT/Half 10baseT/Full
                          100baseT/Half 100baseT/Full
  Supports auto-negotiation: Yes
  Advertised link modes:  10baseT/Half 10baseT/Full
                          100baseT/Half 100baseT/Full
  Advertised auto-negotiation: Yes
  Speed: 100Mb/s
  Duplex: Full
  Port: MII
  PHYAD: 32
  Transceiver: internal
  Auto-negotiation: on
  Supports Wake-on: pumbg
  Wake-on: p
  Current message level: 0x00000007 (7)
  Link detected: yes