Website-Suche

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.

  1. Beginnen wir damit, unsere eth0-Netzwerkschnittstelle für eine physische Kabelverbindung auf Low-Level- und Linux-distributionsunabhängige Weise zu testen:

    
    cat /sys/class/net/eth0/carrier 
    1
    

    Die Zahl 1 in der obigen Ausgabe bedeutet, dass das Netzwerkkabel physisch mit dem Steckplatz Ihrer Netzwerkkarte verbunden ist.

  2. Als nächstes testen wir eine zweite Netzwerkschnittstelle eth1:

    
    cat /sys/class/net/eth1/carrier 
    cat: /sys/class/net/eth1/carrier: Invalid argument
    

    Die Ausgabe des obigen Befehls bedeutet höchstwahrscheinlich, dass sich die eth1-Netzwerkschnittstelle im ausgeschalteten Zustand befindet. Dies kann mit folgendem Linux-Befehl bestätigt werden:

    
    cat /sys/class/net/eth1/operstate 
    down
    

    Das 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 up
    

    Zu diesem Zeitpunkt können wir erneut überprüfen, ob eine physische Kabelverbindung der Netzwerkkarte besteht:

    
    cat /sys/class/net/eth1/carrier 
    0
    
  3. Basierend 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
    wlan0
    

    Mit 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.

  1. Um eine einzelne Netzwerkkarte auf eine Kabelverbindung zu überprüfen, verwenden Sie den folgenden Befehl. Schauen wir uns als Beispiel die eth1-Schnittstelle an:

    
     ethtool eth1 | grep Link\ d
    	Link detected: no
    
  2. Oder 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: no
    

    Das 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.

Verwandte Artikel: