So erkennen Sie, ob ein physisches Kabel an den Netzwerkkartensteckplatz unter Linux angeschlossen ist
Wenn Sie jemals wissen mussten, ob ein physisches Kabel mit einem Netzwerkanschluss Ihres Linux-Systems verbunden ist, müssen Sie nicht unbedingt direkt vor dem Computer oder Server stehen, um nachzusehen und zu sehen. Es gibt mehrere Methoden, die wir von der Linux-Befehlszeile aus verwenden können, um zu sehen, ob ein Kabel an einen Netzwerksteckplatz angeschlossen ist.
Es gibt einige Gründe, warum dies nützlich sein könnte. Zum einen zeigt es Ihnen an, ob das System selbst erkennt, dass ein Kabel eingesteckt ist. Dies kann ein wichtiger Schritt zur Fehlerbehebung sein, wenn Sie sicher sind, dass das Kabel richtig eingesteckt ist, das System es jedoch nicht erkennt. Es ist auch hilfreich auf Remote-Systemen oder wenn Sie einfach zu faul sind, auf die Rückseite des Computers zu schauen und zu sehen, ob das Kabel eingesteckt ist.
Sehen Sie sich einige der folgenden Beispiele an, in denen wir verschiedene Befehle durchgehen, mit denen überprüft wird, ob ein physisches Netzwerkkabel eingesteckt ist oder nicht.
In diesem Tutorial lernen Sie:
- So erkennen Sie physische Netzwerkkabelverbindungen mit Bash-Befehlen und ethtool
Verschiedene Befehle, die zum Erkennen eines angeschlossenen Netzwerkkabels unter Linux verwendet werden
Erkennen, ob ein physisches Kabel angeschlossen ist
Um einen physikalischen Energieführungszustand zu erfassen, können verschiedene Tools verwendet werden. Am einfachsten ist es jedoch, diese Aufgabe zu erfüllen, indem grundlegende native Tools wie cat oder grep verwendet werden, um die Notwendigkeit einer zusätzlichen Softwareinstallation zu vermeiden. Werfen Sie einen Blick auf die folgenden Methoden, um zu sehen, wie das geht.
Beginnen wir damit, unsere
eth0-Netzwerkschnittstellefür eine physische Kabelverbindung auf Low-Level- und Linux-distributionsunabhängige Weise zu testen:cat /sys/class/net/eth0/carrier 1Die Zahl 1 in der obigen Ausgabe bedeutet, dass das Netzwerkkabel physisch mit dem Steckplatz Ihrer Netzwerkkarte verbunden ist.
Als nächstes testen wir eine zweite Netzwerkschnittstelle
eth1:cat /sys/class/net/eth1/carrier cat: /sys/class/net/eth1/carrier: Invalid argumentDie Ausgabe des obigen Befehls bedeutet höchstwahrscheinlich, dass sich die
eth1-Netzwerkschnittstelleim ausgeschalteten Zustand befindet. Dies kann mit folgendem Linux-Befehl bestätigt werden:cat /sys/class/net/eth1/operstate downDas Netzwerkkabel kann angeschlossen werden, aber es gibt derzeit keine Möglichkeit, dies zu sagen. Bevor wir nach einer physischen Kabelverbindung suchen können, müssen wir die Schnittstelle einrichten:
ip link set dev eth1 upZu diesem Zeitpunkt können wir erneut überprüfen, ob eine physische Kabelverbindung der Netzwerkkarte besteht:
cat /sys/class/net/eth1/carrier 0Basierend auf der obigen Ausgabe können wir sagen, dass ein physisches Kabel vom Steckplatz der Netzwerkkarte getrennt wurde. Sehen wir uns kurz an, wie wir das obige Verfahren automatisieren können, um mehrere Netzwerkschnittstellen gleichzeitig zu überprüfen. Der folgende Befehl listet alle verfügbaren Netzwerkschnittstellen auf Ihrem Linux-System auf:
for i in $( ls /sys/class/net ); do echo $i; done eth0 eth1 lo wlan0Mit einer bash for-Schleife können wir nun überprüfen, ob für alle Netzwerkschnittstellen gleichzeitig ein Netzwerkkabel angeschlossen ist:
for i in $( ls /sys/class/net ); do echo -n $i: ; cat /sys/class/net/$i/carrier; done eth0:1 eth1:0 lo:1 wlan0:cat: /sys/class/net/wlan0/carrier: Invalid argument
Test für physische Kabelverbindung mit ethtool
Nun, wenn Sie wirklich ausgefallen werden möchten, können Sie die obige Aufgabe mit dem Befehl ethtool ausführen. So installieren Sie die Software auf den wichtigsten Linux-Distributionen:
So installieren Sie ethtool unter Ubuntu, Debian und Linux Mint:
sudo apt install ethtool
So installieren Sie ethtool unter CentOS, Fedora, AlmaLinux und Red Hat:
sudo dnf install ethtool
So installieren Sie ethtool auf Arch Linux und Manjaro:
sudo pacman -S ethtool
Nach der Installation können Sie einen oder mehrere der folgenden Befehle verwenden, um die Netzwerkverbindung eines physischen Kabels zu testen.
Um eine einzelne Netzwerkkarte auf eine Kabelverbindung zu überprüfen, verwenden Sie den folgenden Befehl. Schauen wir uns als Beispiel die
eth1-Schnittstellean:ethtool eth1 | grep Link\ d Link detected: noOder wir können bash for loop erneut verwenden, um alle Netzwerkschnittstellen einmal zu überprüfen:
for i in $( ls /sys/class/net ); do echo -n $i; ethtool $i | grep Link\ d; done eth0 Link detected: yes eth1 Link detected: no lo Link detected: yes wlan0 Link detected: noDas einzige Problem mit der obigen ethtool-Ausgabe ist, dass sie ein angeschlossenes Kabel nicht erkennt, wenn Ihre Netzwerkschnittstelle ausgefallen ist. Betrachten Sie das folgende Beispiel:
ethtool eth0 | grep Link\ d Link detected: yes ip link set dev eth0 down ethtool eth0 | grep Link\ d Link detected: no
Abschließende Gedanken
In dieser Anleitung haben wir gesehen, wie man erkennt, ob ein physisches Kabel an einen Netzwerkkartensteckplatz unter Linux angeschlossen ist. Dies ist praktisch, um die Verbindungen auf einem Remote-Computer zu überprüfen oder einfach nur als Schritt zur Fehlerbehebung, um festzustellen, ob Ihr System ein physisches Kabel erkennt oder nicht. Wenn Sie ein Kabel angeschlossen haben, Ihr System es aber nicht erkennt, kann dies bedeuten, dass ein Netzwerktreiber fehlt oder eine fehlerhafte Netzwerkkarte vorhanden ist.
