Lösung 1:
$ ethtool <eth?>
Zum Beispiel:
$ ethtool eth0
bietet:
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000001 (1)
Link detected: yes
Lösung 2:
Kreuzen Sie /sys/class/net/eth0/operstate an und andere Dateien in diesem Verzeichnis.
Soweit ich weiß, ist dies spezifisch für Linux 2.6+, aber es bietet eine saubere Schnittstelle zum Kernel-Treiber.
Vollständige Dokumentation für diesen Teil des sys Dateisystem finden Sie hier:
https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net
Lösung 3:
ethtool [interface]
letzte Zeile zeigt, was Sie wollen:
# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports 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: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: g
Wake-on: d
Current message level: 0x00000037 (55)
Link detected: yes
Lösung 4:
ip link show
ist ein anderer. Gute alte
ifconfig dev_name
oder
ifconfig -a
wird Ihnen auch mitteilen, ob die Schnittstelle aktiv ist. HINWEIS: Seien Sie bei diesen Methoden vorsichtig, da sie möglicherweise veraltete Informationen zum Status des Links anzeigen.
Lösung 5:
dmesg | grep eth
Sie sollten alle Statusänderungen sehen