So überprüfen Sie, ob eine Netzwerkkarte in Linux vorhanden ist

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab erfahren Sie, wie Sie überprüfen können, ob ein Netzwerkkartenadapter in Ihrem Linux-System vorhanden ist. Wir werden drei gängige Methoden zur Erreichung dieses Ziels untersuchen.

Zunächst verwenden Sie den Befehl lshw mit der Option -C network, um detaillierte Informationen über Ihre Netzwerkhardware aufzulisten. Anschließend überprüfen Sie die Existenz von Netzwerkschnittstellen, indem Sie den Inhalt des Verzeichnisses /sys/class/net untersuchen. Schließlich nutzen Sie den Befehl lspci, um PCI-Geräte aufzulisten und nach Netzwerkcontrollern zu filtern, was eine weitere Möglichkeit bietet, Ihre Netzwerkkartenadapter zu identifizieren. Durch die Durchführung dieser Schritte werden Sie praktische Fähigkeiten in der Diagnose der Anwesenheit von Netzwerkhardware auf einem Linux-System erwerben.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/FileandDirectoryManagementGroup -.-> linux/whereis("File/Command Finding") linux/SystemInformationandMonitoringGroup -.-> linux/ps("Process Displaying") linux/RemoteAccessandNetworkingGroup -.-> linux/ifconfig("Network Configuring") linux/RemoteAccessandNetworkingGroup -.-> linux/netstat("Network Monitoring") linux/RemoteAccessandNetworkingGroup -.-> linux/ip("IP Managing") subgraph Lab Skills linux/ls -.-> lab-558732{{"So überprüfen Sie, ob eine Netzwerkkarte in Linux vorhanden ist"}} linux/whereis -.-> lab-558732{{"So überprüfen Sie, ob eine Netzwerkkarte in Linux vorhanden ist"}} linux/ps -.-> lab-558732{{"So überprüfen Sie, ob eine Netzwerkkarte in Linux vorhanden ist"}} linux/ifconfig -.-> lab-558732{{"So überprüfen Sie, ob eine Netzwerkkarte in Linux vorhanden ist"}} linux/netstat -.-> lab-558732{{"So überprüfen Sie, ob eine Netzwerkkarte in Linux vorhanden ist"}} linux/ip -.-> lab-558732{{"So überprüfen Sie, ob eine Netzwerkkarte in Linux vorhanden ist"}} end

Prüfen von Adaptern mit lshw -C network

In diesem Schritt werden wir untersuchen, wie Sie die an Ihr System angeschlossenen Netzwerkkartenadapter mithilfe des Befehls lshw identifizieren können. lshw steht für "list hardware" (Hardware auflisten) und ist ein leistungsstarkes Tool, um detaillierte Informationen über die Hardwarekonfiguration Ihres Systems zu erhalten.

Um speziell Netzwerkkartenadapter aufzulisten, verwenden wir die Option -C gefolgt vom Klassennamen, der network ist.

Öffnen Sie Ihr Terminal, wenn es noch nicht geöffnet ist. Sie können dies tun, indem Sie auf das Symbol Xfce Terminal auf der linken Seite Ihres Desktops klicken.

Geben Sie jetzt den folgenden Befehl ein und drücken Sie die Eingabetaste:

sudo lshw -C network

Lassen Sie uns diesen Befehl analysieren:

  • sudo: Wie wir zuvor gelernt haben, ermöglicht uns dies, den Befehl mit Superuser-Rechten auszuführen, was oft erforderlich ist, um auf detaillierte Hardwareinformationen zuzugreifen.
  • lshw: Der Befehl zum Auflisten der Hardware.
  • -C network: Diese Option filtert die Ausgabe, um nur Geräte anzuzeigen, die zur Klasse "network" gehören.

Sie werden eine Ausgabe ähnlich der folgenden sehen (die genauen Details variieren je nach Konfiguration der virtuellen Maschine):

  *-network
       description: Ethernet interface
       product: Ethernet controller
       vendor: Red Hat, Inc.
       physical id: 3
       bus info: pci@0000:00:03.0
       logical name: eth0
       version: 00
       serial: 52:54:00:xx:xx:xx
       size: 1Gbit/s
       capacity: 10Gbit/s
       width: 32 bits
       clock: 66MHz
       capabilities: pm bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autoneg negotiated
       configuration: autonegotiation=on broadcast=yes driver=virtio_net driverversion=1.0.0 ip=172.18.0.x latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
       resources: irq:24 ioport:c040(size=32) memory:fe000000-fe000fff

Diese Ausgabe liefert viele Informationen über Ihren Netzwerkkartenadapter, darunter:

  • description: Was das Gerät ist (Ethernet-Schnittstelle).
  • product und vendor: Der Hersteller und das Modell der Hardware.
  • logical name: Der Name, den das Betriebssystem für diese Schnittstelle verwendet (z. B. eth0). Dies ist wichtig für die Konfiguration der Netzwerkeinstellungen.
  • serial: Die MAC-Adresse des Netzwerkkartenadapters.
  • size und capacity: Die aktuelle Geschwindigkeit und die maximale Kapazität der Verbindung.
  • configuration: Details darüber, wie die Schnittstelle derzeit eingerichtet ist, einschließlich ihrer IP-Adresse, wenn zugewiesen.

Das Verständnis dieser Ausgabe hilft Ihnen, Ihre Netzwerkschnittstellen zu identifizieren und Netzwerkprobleme zu beheben.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

Überprüfen von Schnittstellen in /sys/class/net

In Linux bietet das /sys-Dateisystem einen Einblick in das Gerätemodell des Kernels. Es handelt sich um ein virtuelles Dateisystem, was bedeutet, dass die Dateien und Verzeichnisse darin nicht auf traditionelle Weise auf Ihrer Festplatte gespeichert sind, sondern vom Kernel generiert werden, um Systeminformationen darzustellen.

Insbesondere ist /sys/class/net ein Verzeichnis, das symbolische Links zu allen vom System erkannten Netzwerkschnittstellen enthält. Die Namen dieser Links entsprechen den logischen Namen der Netzwerkschnittstellen, wie z. B. eth0, das wir im vorherigen Schritt gesehen haben.

Lassen Sie uns den Inhalt dieses Verzeichnisses auflisten, um die Netzwerkschnittstellen zu sehen. Wir verwenden den ls-Befehl, der zum Auflisten von Dateien und Verzeichnissen verwendet wird.

Geben Sie den folgenden Befehl in Ihrem Terminal ein und drücken Sie die Eingabetaste:

ls /sys/class/net/

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

eth0  lo
  • eth0: Dies ist die Ethernet-Schnittstelle, die wir im vorherigen Schritt mit lshw identifiziert haben.
  • lo: Dies steht für "Loopback"-Schnittstelle. Es handelt sich um eine spezielle virtuelle Schnittstelle, die Ihr Computer verwendet, um mit sich selbst zu kommunizieren. Sie ist für die korrekte Funktion von Netzwerksoftware unerlässlich, auch wenn Ihr Computer nicht an ein physisches Netzwerk angeschlossen ist.

Das Vorhandensein von eth0 und lo in diesem Verzeichnis bestätigt, dass das System diese Netzwerkschnittstellen erkennt. Dieses Verzeichnis ist ein schneller Weg, um zu sehen, welche Netzwerkschnittstellen auf Ihrem System verfügbar sind.

Klicken Sie auf Weiter, um fortzufahren.

Untersuchung der Hardware mit lspci

In diesem Schritt verwenden wir den Befehl lspci, um Informationen über an Ihr System angeschlossene PCI-Geräte aufzulisten. PCI (Peripheral Component Interconnect) ist ein Standardbus, der Hardwaregeräte mit der Hauptplatine des Computers verbindet. Viele Geräte, darunter Netzwerkkarten, Grafikkarten und Speichercontroller, sind über PCI oder dessen Nachfolger, PCI Express (PCIe), angeschlossen.

Der Befehl lspci ist nützlich, um schnell angeschlossene Hardware und deren grundlegende Informationen zu identifizieren.

Geben Sie den folgenden Befehl in Ihrem Terminal ein und drücken Sie die Eingabetaste:

lspci

Sie werden eine Liste von PCI-Geräten sehen. Die Ausgabe sieht in etwa so aus:

00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE controller: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:01.2 USB controller: Intel Corporation 82371AB/EB/MB PIIX4 USB (rev 01)
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 VGA compatible controller: Red Hat, Inc. QXL Paravirtual graphic driver
00:03.0 Ethernet controller: Red Hat, Inc. Virtio network device
00:04.0 Communication controller: Red Hat, Inc. Virtio console
00:05.0 SCSI storage controller: Red Hat, Inc. Virtio SCSI
00:06.0 Unclassified device [0000]: Red Hat, Inc. Virtio balloon
00:07.0 Audio device: Intel Corporation 82801AA AC'97 Audio Controller (rev 01)

Jede Zeile repräsentiert ein PCI-Gerät. Das Format ist typischerweise Bus:Device.Function Klasse: Hersteller Produkt.

  • Bus:Device.Function: Identifiziert den Ort des Geräts auf dem PCI-Bus.
  • Klasse: Beschreibt die Art des Geräts (z. B. Host Bridge, Ethernet-Controller, VGA-kompatibler Controller).
  • Hersteller und Produkt: Identifizieren den Hersteller und das spezifische Modell des Geräts.

Beachten Sie die Zeile, die Ethernet controller: Red Hat, Inc. Virtio network device sagt. Dies entspricht dem Netzwerkkartenadapter, den wir mit lshw und in /sys/class/net gesehen haben. lspci gibt Ihnen eine andere Perspektive auf die Hardware, wobei der Fokus auf dem PCI-Bus liegt.

Sie können lspci mit Optionen wie -v für eine ausführlichere Ausgabe oder -nn verwenden, um Hersteller- und Geräte-IDs in numerischer Form anzuzeigen, was nützlich ist, um Hardwareinformationen online nachzuschlagen.

Beispielsweise versuchen Sie:

lspci -v

Dies liefert viel detailliertere Informationen über jedes Gerät. Drücken Sie q, um die ausführliche Ausgabe zu beenden, wenn Sie sie fertig betrachtet haben.

Klicken Sie auf Weiter, um dieses Lab abzuschließen.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man mithilfe verschiedener Befehlszeilentools in Linux nach der Anwesenheit von Netzwerkkartenadaptern sucht. Wir haben begonnen, indem wir den Befehl sudo lshw -C network verwendet haben, um detaillierte Informationen über Netzwerkschnittstellen aufzulisten, einschließlich ihrer Beschreibung, des Herstellers, des Produkts und der Konfigurationsdetails. Dieser Befehl bietet einen umfassenden Überblick über die Hardware.

Als Nächstes haben wir das Verzeichnis /sys/class/net untersucht, das für jede auf dem System vorhandene Netzwerkschnittstelle einen symbolischen Link bereitstellt und somit einen schnellen Weg bietet, deren Existenz zu überprüfen. Schließlich haben wir den Befehl lspci genutzt, um den PCI-Bus zu untersuchen und Netzwerkcontroller zu identifizieren, indem wir die Ausgabe nach "Ethernet controller" oder ähnlichen Beschreibungen gefiltert haben. Dies bietet eine weitere Methode, um die Anwesenheit von Netzwerkhardware zu bestätigen. Diese Schritte zeigen insgesamt verschiedene Ansätze zur Identifizierung von Netzwerkkartenadaptern in einer Linux-Umgebung.