MAC- und IP-Adressen unter Linux identifizieren

CompTIABeginner
Jetzt üben

Einführung

In diesem Labor lernen Sie, wie Sie wesentliche Netzwerkadressinformationen auf einem Linux-System mit dem modernen und leistungsstarken Befehl ip a identifizieren. Das Hauptziel ist es, die Netzwerkschnittstellen Ihres Systems zu inspizieren und spezifische Details in der Ausgabe des Befehls zu lokalisieren, einschließlich MAC-Adressen, IPv4-Adressen und IPv6-Adressen.

Sie beginnen mit der Ausführung des Befehls ip a, um eine umfassende Übersicht über alle Netzwerkschnittstellen anzuzeigen, wie z. B. die Loopback-Schnittstelle (lo) und die primäre Ethernet-Schnittstelle (eth0). Anschließend lernen Sie, die detaillierte Ausgabe zu parsen, um die Zeile link/ether für die MAC-Adresse, die Zeile inet für die IPv4-Adresse und die Zeile inet6 für die IPv6-Adresse zu finden und so Ihr Verständnis der grundlegenden Linux-Netzwerkanalyse zu festigen.

Alle Netzwerkschnittstelleninformationen mit ip a anzeigen

In diesem Schritt lernen Sie, wie Sie den Befehl ip verwenden, das moderne und bevorzugte Werkzeug zur Anzeige und Manipulation von Netzwerkschnittstellen, IP-Adressen und Routen unter Linux-Systemen. Wir beginnen mit dem grundlegendsten Befehl zur Anzeige von Informationen über alle verfügbaren Netzwerkschnittstellen.

Der Befehl ip a ist eine Kurzform für ip address show. Er liefert einen umfassenden Überblick über die Netzwerkkonfiguration Ihres Systems.

Stellen Sie zunächst sicher, dass Sie sich im Terminal befinden. Ihr Standardpfad ist ~/project. Führen Sie nun den Befehl ip a aus, um alle Netzwerkschnittstellen und ihre zugehörigen Adressen aufzulisten.

ip a

Sie sehen eine detaillierte Ausgabe, die alle Netzwerkschnittstellen auflistet. Typischerweise sehen Sie mehrere Schnittstellen:

  1. lo: Dies ist die Loopback-Schnittstelle, eine virtuelle Netzwerkschnittstelle, die das System zur Selbstkommunikation verwendet. Sie hat immer die IP-Adresse 127.0.0.1.
  2. eth0 (oder ein ähnlicher Name wie enp0s5): Dies ist Ihre primäre Ethernet-Schnittstelle, die Ihr System mit dem externen Netzwerk verbindet. Beachten Sie die altname-Felder, die alternative Namen für die Schnittstelle angeben.
  3. docker0: Wenn Docker installiert ist, sehen Sie möglicherweise eine docker0-Schnittstelle, eine virtuelle Bridge, die von Docker für die Container-Netzwerkkonfiguration erstellt wird.

Ihre Ausgabe wird ähnlich wie im folgenden Beispiel aussehen, obwohl die spezifischen Namen und Adressen abweichen werden.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:16:3e:0e:d8:3c brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname ens5
    inet 172.16.50.202/24 metric 100 brd 172.16.50.255 scope global dynamic eth0
       valid_lft 1892159975sec preferred_lft 1892159975sec
    inet6 fe80::216:3eff:fe0e:d83c/64 scope link
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:60:7e:6f:bc brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

Nehmen Sie sich einen Moment Zeit, um die Ausgabe zu untersuchen. In den folgenden Schritten werden wir diese Informationen aufschlüsseln, um spezifische Details wie die MAC-Adresse und die IP-Adressen zu identifizieren.

MAC-Adresse (link/ether) finden

In diesem Schritt lernen Sie, die Media Access Control (MAC)-Adresse aus der Ausgabe des Befehls ip a zu identifizieren. Die MAC-Adresse ist eine eindeutige Kennung auf Hardware-Ebene, die einer Netzwerkkarte (NIC) zugewiesen ist. Sie wird auch als physikalische Adresse bezeichnet und als 12-stellige Hexadezimalzahl dargestellt.

Im vorherigen Schritt haben Sie ip a ausgeführt und viele Informationen gesehen. Konzentrieren wir uns nun darauf, die MAC-Adresse zu finden. Suchen Sie nach Ihrer primären Netzwerkschnittstelle, die typischerweise eth0 ist. Die MAC-Adresse befindet sich in der Zeile, die mit link/ether beginnt.

Um dies zu erleichtern, können Sie die Ausgabe von ip a an den Befehl grep weiterleiten, um nur die Zeile zu filtern, die die MAC-Adresse enthält. Das Pipe-Symbol | nimmt die Ausgabe des Befehls links davon und verwendet sie als Eingabe für den Befehl rechts davon.

Führen Sie in Ihrem Terminal den folgenden Befehl aus:

ip a | grep "link/ether"

Dieser Befehl zeigt nur die Zeilen aus der Ausgabe von ip a an, die den String "link/ether" enthalten.

Sie sehen eine viel kürzere Ausgabe, die es einfach macht, die MAC-Adressen zu erkennen. Die 12 Hexadezimalzeichen, getrennt durch Doppelpunkte, sind die MAC-Adressen.

    link/ether 00:16:3e:0e:d8:3c brd ff:ff:ff:ff:ff:ff
    link/ether 02:42:60:7e:6f:bc brd ff:ff:ff:ff:ff:ff

Die Loopback-Schnittstelle lo hat keine traditionelle MAC-Adresse und wird daher in dieser gefilterten Ausgabe nicht angezeigt. Die Adresse 00:16:3e:0e:d8:3c ist in diesem Beispiel die MAC-Adresse für die Schnittstelle eth0. Ihre Adresse wird anders sein, aber dem gleichen Format folgen.

IPv4-Adresse (inet) finden

In diesem Schritt lokalisieren Sie die Internet Protocol Version 4 (IPv4)-Adresse. Im Gegensatz zur physikalischen MAC-Adresse ist eine IP-Adresse eine logische Adresse, die Ihrem Gerät für die Kommunikation in einem Netzwerk zugewiesen wird. IPv4-Adressen sind das gängigste Format und werden durch vier durch Punkte getrennte Zahlen dargestellt (z. B. 192.168.1.10).

Innerhalb der Ausgabe des Befehls ip a befindet sich die IPv4-Adresse in der Zeile, die mit inet beginnt. Wir können den Befehl grep erneut verwenden, um die Ausgabe zu filtern, genau wie wir es für die MAC-Adresse getan haben. Um inet6 nicht mit einzuschließen, ist es eine gute Praxis, nach inet ein Leerzeichen in Ihr Suchmuster aufzunehmen.

Führen Sie in Ihrem Terminal den folgenden Befehl aus, um alle auf Ihrem System konfigurierten IPv4-Adressen zu finden:

ip a | grep "inet "

Der Befehl filtert die Ausgabe, um nur die Zeilen anzuzeigen, die IPv4-Adressen enthalten. Sie werden typischerweise mehrere sehen: eine für die Loopback-Schnittstelle (lo), eine für Ihre Hauptnetzwerkschnittstelle (eth0) und möglicherweise weitere wie docker0.

    inet 127.0.0.1/8 scope host lo
    inet 172.16.50.202/24 metric 100 brd 172.16.50.255 scope global dynamic eth0
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0

Aus dieser Ausgabe können Sie mehrere IPv4-Adressen identifizieren:

  • 127.0.0.1: Dies ist die Loopback-Adresse, die das System zur Selbstkommunikation verwendet.
  • 172.16.50.202/24: Dies ist die primäre IPv4-Adresse für die eth0-Schnittstelle, die zur Kommunikation mit anderen Geräten im Netzwerk verwendet wird. Die /24 ist die CIDR-Notation, die die Subnetzmaske für das Netzwerk definiert. Ihre Adresse wird anders sein.
  • 172.17.0.1/16: Dies ist die IPv4-Adresse für die docker0-Bridge.

IPv6-Adresse (inet6) finden

In diesem letzten Schritt identifizieren Sie die Internet Protocol Version 6 (IPv6)-Adresse. IPv6 ist der Nachfolger von IPv4 und wurde entwickelt, um die absehbare Erschöpfung der IPv4-Adressen zu beheben. IPv6-Adressen sind 128 Bit lang und werden in hexadezimaler Notation geschrieben, getrennt durch Doppelpunkte (z. B. 2001:0db8:85a3:0000:0000:8a2e:0370:7334).

Genau wie bei IPv4 zeigt der Befehl ip a IPv6-Informationen an. Die Zeile, die eine IPv6-Adresse enthält, ist deutlich mit inet6 gekennzeichnet. Wir werden grep ein letztes Mal verwenden, um diese Informationen zu isolieren.

Führen Sie in Ihrem Terminal den folgenden Befehl aus, um alle IPv6-Adressen auf Ihrem System zu finden:

ip a | grep "inet6"

Dieser Befehl zeigt die Zeilen mit IPv6-Adressen für Ihre Schnittstellen an.

    inet6 ::1/128 scope host
    inet6 fe80::216:3eff:fe0e:d83c/64 scope link

Aus dieser Ausgabe können Sie zwei IPv6-Adressen identifizieren:

  • ::1/128: Dies ist das komprimierte Format für die IPv6-Loopback-Adresse, äquivalent zu 127.0.0.1 in IPv4.
  • fe80::216:3eff:fe0e:d83c/64: Dies ist eine link-lokale IPv6-Adresse für die eth0-Schnittstelle. Link-lokale Adressen werden automatisch auf allen IPv6-fähigen Schnittstellen konfiguriert und für die Kommunikation nur im selben lokalen Netzwerksegment verwendet. Ihre Adresse wird anders sein.

Herzlichen Glückwunsch! Sie haben nun gelernt, wie Sie mit dem Befehl ip a die MAC-Adresse, die IPv4-Adresse und die IPv6-Adresse auf einem Linux-System identifizieren können.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie den Befehl ip a verwenden, um Netzwerkadressen unter Linux zu identifizieren. Sie haben ip a ausgeführt, ein modernes und bevorzugtes Werkzeug für die Netzwerkkonfiguration, um umfassende Informationen über alle Netzwerkschnittstellen anzuzeigen. Die Ausgabe enthüllte Details sowohl für die Loopback-Schnittstelle (lo) als auch für die primäre Ethernet-Schnittstelle (eth0) und lieferte einen vollständigen Überblick über die Netzwerkkonfiguration des Systems.

Durch die Untersuchung der Ausgabe des Befehls ip a haben Sie gelernt, spezifische Netzwerkidentifikatoren zu lokalisieren. Sie haben erfolgreich die MAC-Adresse identifiziert, die sich in der Zeile mit der Bezeichnung link/ether befindet. Zusätzlich haben Sie die IPv4-Adresse des Systems neben dem inet-Label und seine IPv6-Adresse neben dem inet6-Label gefunden und damit die grundlegende Fähigkeit gemeistert, wesentliche Netzwerkadressinformationen auf einem Linux-System abzurufen.