GNU/Linux >> LINUX-Kenntnisse >  >> Linux

40 nützliche Linux-Netzwerkbefehle für moderne SysAdmins

Wenn es darum geht, stabile und sichere Netzwerke aufzubauen, ist Linux für die meisten von uns die erste Wahl. Dies erklärt viele Dinge, einschließlich der riesigen Auswahl an Netzwerk-Tools und Befehlen, die von Linux bereitgestellt werden. Sie können eine scheinbar unendliche Anzahl von Netzwerkdienstprogrammen finden, die es Ihnen ermöglichen, sichere Netzwerke einzurichten, sie auf Probleme zu überwachen, Fehler effektiv zu beheben und so weiter. Die Liste ist tatsächlich so umfangreich, dass die meisten Tutorials im Internet nicht einmal versuchen, sie abzudecken. Aus diesem Grund haben wir diese gut durchdachte Anleitung zu verschiedenen Linux-Netzwerkbefehlen kuratiert.

Linux-Netzwerkbefehle für SysAdmins

Wir haben versucht, diesen gesamten Leitfaden basierend auf Tools und ihrer Verwendung in bestimmte Abschnitte zu unterteilen. Sie können viele dieser Befehle in verschiedenen Szenarien verwenden. Ihre Gruppierung ist also nicht per se streng – sie sind einfach hier, um Ihnen bei der Visualisierung zu helfen. Obwohl dieses Handbuch nicht alle Linux-Netzwerkbefehle abdeckt, können Sie es als Referenzpunkt verwenden, wenn Sie beim Netzwerken nicht weiterkommen.

Linux-Netzwerkbefehle zum Verwalten von Netzwerkschnittstellen

Die Konfiguration und Verwaltung von Netzwerkschnittstellen ist sowohl für Systemadministratoren als auch für Power-User unerlässlich. In diesem Abschnitt gehen wir einige grundlegende Netzwerkbefehle durch, die in Unix-ähnlichen Systemen für diesen Job verfügbar sind.

1. ifconfig

Einer der grundlegendsten und dennoch leistungsfähigsten Netzwerkbefehle für Linux-Systemadministratoren ist ifconfig. Es ist ein integriertes Systemdienstprogramm, mit dem Benutzer Netzwerkschnittstellenparameter konfigurieren und verwalten können. Der Name ifconfig steht für „Schnittstellenkonfiguration “, und es ist das ideale Tool, um zu überprüfen, ob Ihre Netzwerkschnittstellen richtig funktionieren oder nicht.

$ ifconfig

Wenn Sie es ohne Optionen aufrufen, erhalten Sie detaillierte Informationen zu Netzwerkgeräten, Konfiguration und aktuellen Einstellungen.

Sie können das -s verwenden -Flag, um kürzere, prägnantere Informationen zu erhalten. Andere zusätzliche Optionen ermöglichen es ifconfig, anspruchsvollere Aufgaben auszuführen. Konsultieren Sie die Manpage für Hinweise zur Verwendung.

2. iwconfig

- -

Die iwconfig wird zum Konfigurieren von drahtlosen Netzwerkschnittstellen wie Netzwerkkarten und so weiter verwendet. Es kann zum Einrichten verschiedener drahtloser Netzwerkparameter wie SSID-Zugriffspunkt und Frequenz verwendet werden. Angenommen, Sie haben Ihre drahtlose Schnittstelle als wlp2s0 identifiziert mit ifconfig. Der folgende Befehl liefert Netzwerkinformationen zu dieser Schnittstelle.

$ iwconfig wlp2s0

Verwenden Sie den folgenden Befehl, um die Sendeleistung auf 20 zu ändern.

$ iwconfig wlp2s0 txpower 20

Führen Sie iwconfig erneut aus, um zu sehen, ob sich die Sendeleistung geändert hat. Konsultieren Sie die Manpage für zusätzliche nützliche Optionen.

3. ifstat

Der Befehl ifstat ist ein praktisches Dienstprogramm, mit dem Systemadministratoren verschiedene Netzwerkschnittstellenstatistiken wie Bandbreitennutzung usw. lesen und überwachen können. Der folgende Befehl gibt Ihnen alle SECS die Beispielstatistiken zweitens.

$ ifstat --scan=SECS

Der folgende Befehl gibt den Durchschnitt der letzten SECS aus Sekunden.

$ ifstat --interval=SECS

Der nächste gibt eventuelle Fehler aus.

$ ifstat --errors

Dieses Tool ist Teil des iproute2-Projekts und hat eine Fülle von zusätzlichen Optionen. Sehen Sie sich die Manpage für weitere Abfragen an.

4. ethtool

Mit dem Dienstprogramm ethtool können Administratoren die verschiedenen Parameter von Netzwerkschnittstellen-Controllern und ihren Gerätetreibern anzeigen und ändern. Es kann nützlich sein, um Ihre Ethernet-Geräte zu identifizieren und zu diagnostizieren, und ermöglicht Ihnen die bequeme Steuerung von Geschwindigkeit, Duplex und Datenflüssen.

$ ethtool eth0

Der obige Befehl gibt die aktuellen Parameter des Netzwerkports eth0 aus .

$ ethtool -s eth0 speed 1000 duplex full

Dieser Befehl erzwingt die Geschwindigkeit der Netzwerkschnittstelle eth0 auf 1000 und richtet Vollduplex ein. Sie können viele zusätzliche Optionen finden, indem Sie einfach das Handbuch durchgehen.

5. Arpwatch

Das Dienstprogramm arpwatch ist ein robustes Tool zur Überwachung der Ethernet-Aktivität, mit dem Systemadministratoren die Ethernet/IP-Adresspaare ihres Netzwerks einfach verfolgen können. Es kann für Unternehmens-Systemadministratoren und auch für Linux-Power-User von großer Bedeutung sein.

Sie können arpwatch verwenden, um eine bestimmte Netzwerkschnittstelle zu überwachen, indem Sie das -i verwenden Flagge, wie unten gezeigt.

$ sudo arpwatch -i eth0

arpwatch schreibt alle Änderungen oder ungewöhnlichen Aktivitäten an IP oder MAC nach /var/log/messages . Verwenden Sie den tail-Befehl für diese Datei, um neue Informationen über Ihren ARP-Verkehr zu erhalten. Weitere verfügbare Optionen finden Sie in der Manpage.

6. bmon

Der bmon-Befehl gehört wohl zu den nützlichsten Linux-Netzwerkbefehlen. Es ist ein tragbarer Bandbreitenmonitor und Ratenschätzer, der zum Erfassen von Netzwerkstatistiken und zum Anzeigen dieser in einem für Menschen lesbaren Format verwendet werden kann. Die programmierbare Textausgabe dieses Linux-Netzwerküberwachungstools kann zum Erstellen erweiterter Skripte verwendet werden.

$ bmon

Durch einfaches Aufrufen dieses Tools erhalten Sie eine Echtzeitschätzung Ihrer Netzwerkstatistiken. Verwenden Sie das -p Flag, um die Ausgabe für eine bestimmte Schnittstelle zu erhalten.

$ bmon -p wlp2s0

Es stehen viele weitere Optionen zur Verfügung — lesen Sie die Manpage für umfassende Details.

Linux-Netzwerkbefehle für die Kommunikation

Die Kommunikation mit externen Ressourcen ist der Hauptzweck von Systemnetzwerken. In diesem Abschnitt werfen wir einen Blick auf einige gängige Linux-Befehle, die für diesen Zweck verwendet werden.

7. telnet

Das Telnet-Protokoll ist der grundlegende Mechanismus hinter der bidirektionalen, interaktiven und textorientierten Kommunikation in Linux-Systemen. Das Linux-Hilfsprogramm Telnet ermöglicht es einem Hostsystem, sich mit diesem Kommunikationsprotokoll mit einem anderen Clientsystem zu verbinden. Geben Sie einfach telnet in Ihr Terminal ein, um die interaktive Shell aufzurufen.

$ telnet

Geben Sie nun in dieser Shell open gefolgt vom Hostnamen/IP des Systems ein, mit dem Sie sich verbinden möchten. Geben Sie help ein, um eine Liste aller verfügbaren Optionen zu erhalten.

telnet> open example.com

Alternativ können Sie diesen Befehl verwenden, um sich direkt mit einem Host zu verbinden. Siehe das folgende Beispiel.

$ telnet host-machine

Geben Sie einfach die Benutzeranmeldeinformationen in die Eingabeaufforderung ein, und Sie können loslegen.

8. ssh

Der ssh-Befehl gehört für viele Administratoren ohne Zweifel zu den am häufigsten verwendeten Linux-Netzwerkbefehlen. Es bietet eine Schnittstelle zum Secure-Shell-Protokoll und ermöglicht problemlose Kommunikation über eine sichere Netzwerkverbindung. Es kann verwendet werden, um entfernte Server effektiv zu verwalten und Dateien problemlos zu übertragen.

$ ssh [email protected]

Sie können private/öffentliche Schlüsselpaare einrichten und sich bei Remote-Computern anmelden, ohne Passwörter einzugeben. Verwenden Sie den folgenden Befehl, um Ihren SSH-Schlüssel zu generieren.

$ ssh-keygen

Standardmäßig generiert der obige Befehl die Schlüssel mit dem kryptografischen RSA-Algorithmus. Verwenden Sie das -t Flag, um andere Algorithmen wie DSA zu verwenden.

9. Mail senden

Der Befehl sendmail ist ein praktisches Dienstprogramm, mit dem Linux-Benutzer E-Mail-Nachrichten direkt von ihrem Terminal aus senden können. Es liest die Standardeingabe und sendet E-Mails an bestimmte Empfänger über das Netzwerk. Dieser Befehl ist oft nützlich für entfernte Server, auf denen Sie keinen Standardbrowser zum Senden von E-Mails haben.

$ echo "Subject: Test" | sendmail [email protected] < mail.txt

Der obige Befehl sendet den Inhalt der angegebenen Datei an die angegebene E-Mail. Es gibt eine Menge zusätzlicher Optionen, die Sie mit sendmail verwenden können. Konsultieren Sie die Manpage für weitere Fragen zu sendmail.

10. schreiben

Die Fähigkeit, Nachrichten zwischen verschiedenen Systembenutzern zu senden, ist entscheidend für Mehrbenutzersysteme wie Linux. Der Schreibbefehl kann zum Aufbau von Terminal-zu-Terminal-Kommunikationssitzungen unter Linux verwendet werden. Es ist ein interaktives Dienstprogramm, und daher ist es nicht möglich, diesen Netzwerkbefehl in Skripten zu verwenden.

$ write user [tty]

Der Schreibbefehl verwendet die oben erwähnte Syntax und sendet Nachrichten an bestimmte oder alle Benutzer. Dies ist praktisch, wenn mehrere Benutzer dasselbe System betreiben und mühelos kommunizieren müssen.

11. mailen

Der Mail-Befehl ist ein wesentliches Dienstprogramm zum Senden von E-Mails vom Terminal aus. Beachten Sie das folgende Beispiel, um zu verstehen, wie es funktioniert.

$ mail -s "This is the subject" [email protected] < mail.txt

Das -s flag ermöglicht es Benutzern, ihr Thema auszuwählen. Sie können E-Mails gleichzeitig an mehrere Empfänger senden, wie unten gezeigt.

$ mail -s "This is the subject" [email protected], [email protected] < mail.txt

Verwenden Sie einfach eine durch Kommas getrennte Empfängerliste. Das -a -Flag erlaubt es Benutzern, Anhänge mit ihren Mails zu versenden.

$ mail -s "Subject" -a /tmp/file.pdf [email protected] < mail.txt

12. mailstats

Manchmal möchten Sie Ihre E-Mail-Statistiken aus mehreren Gründen auflisten. Mit dem Linux-Befehl mailstats können Sie dies sehr einfach tun. Dieser Befehl muss als root ausgeführt werden, sonst funktioniert er nicht.

# mailstats -p

Dieser Befehl gibt eine Ausgabe im programmlesbaren Modus aus und liefert klare Statistiken.

# mailstats -f STAT-FILE

Dieser Befehl liest die angegebene STAT-FILE anstelle der standardmäßigen sendmail-Statistikdatei. Weitere verfügbare Optionen und die richtige Verwendung des Befehls finden Sie auf der Manpage.

13. w

Der Befehl w bietet eine praktische Möglichkeit, alle Benutzer aufzulisten, die derzeit bei einem Linux-Computer angemeldet sind. Seine Syntax ist unten gezeigt.

w [options] user [...]

Dieser Befehl bietet auch viele wertvolle Einblicke wie die Prozesse, die in der Sitzung jedes Benutzers ausgeführt werden, Emote-Host, Anmeldezeit, Leerlaufzeit, JCPU, PCPU usw.

$ w --short

Dieser Befehl liefert eine knappe Ausgabe, wobei die Anmeldezeit, JCPU- oder PCPU-Zeiten weggelassen werden.

$ w --ip-addr

Dieser Befehl versucht, die IP-Adresse der derzeit angemeldeten Benutzer anstelle ihrer Hostnamen anzuzeigen. Weitere Optionen finden Sie in der Handbuchseite.

Netzwerkbefehle zur Erleichterung der Datenübertragung

Die Übertragung von Daten über mehrere Systeme hinweg ist für Systemadministratoren obligatorisch. Linux erleichtert die Datenübertragung per Fernzugriff bequem über ein Netzwerk und bietet zu diesem Zweck einige sehr robuste Kommandozeilen-Tools. In diesem Abschnitt werfen wir einen Blick auf einige dieser Befehle.

14. cURL

Der cURL-Befehl ist einer der am häufigsten verwendeten Linux-Befehle zum Übertragen von Daten zu oder von einem Netzwerkserver. Es verwendet verschiedene Netzwerkprotokolle wie HTTP, HTTPS, FTP, FTPS, SCP, SFTP usw. Der cURL-Befehl erfordert keine Benutzerinteraktion und kann daher umfassend in Shell-Skripten verwendet werden.

$ curl -O https://somedomain/file

Dadurch wird die Datei von der angegebenen Adresse heruntergeladen und unter ihrem ursprünglichen Namen im aktuellen Verzeichnis gespeichert.

$ curl -o new-name https://somedomain/file

Dieser Befehl speichert die heruntergeladene Datei unter dem Namen new-name . Da cURL eine Fülle von verfügbaren Optionen hat, ist das Lesen des Handbuchs ein Muss, wenn Sie dieses Linux-Tool beherrschen möchten.

15. wget

Das Tool wget ist Teil des GNU-Projekts und erleichtert das Herunterladen von Inhalten von Webservern. Es bietet mehrere nützliche Optionen, einschließlich der Möglichkeit, Dateien rekursiv herunterzuladen, Links in HTML für die Offline-Anzeige umzuwandeln, Proxys und so weiter.

$ wget https://somedomain/file

Dadurch wird die Datei einfach heruntergeladen und im aktuellen Verzeichnis gespeichert. Verwenden Sie das -O Flag, um diese Datei unter einem neuen Namen zu speichern.

$ wget -O filename https://somedomain/file

Verwenden Sie das -P Flag, um die Datei in einem anderen Verzeichnis zu speichern.

$ wget -P ~/Downloads https://somedomain/file

wget ist nicht interaktiv und wird häufig zum Herunterladen von Dateien aus Skripten verwendet.

16. ftp

Das Linux-FTP-Dienstprogramm wird häufig zum Herunterladen oder Hochladen von Dateien zu/von Remote-Hosts verwendet. Dieser Befehl kann innerhalb von Skripten verwendet werden, um sehr schnell automatisierte FTP-Sitzungen zu erstellen.

$ ftp
ftp>

Durch einfaches Eingeben von ftp im Terminal wird eine interaktive Sitzung erstellt. In dieser Eingabeaufforderung können Sie verschiedene Befehle zum Übertragen von Dateien über FTP eingeben. Beispielsweise können Sie das offene Common verwenden, um eine Verbindung zu einem Remote-Host herzustellen. Geben Sie den Hilfebefehl ein, um eine Liste aller verfügbaren Befehle zu erhalten.

$ ftp hostname

Sie können es auch verwenden, um sich direkt mit entfernten Hosts zu verbinden. Detaillierte Informationen zu allen verfügbaren Befehlen finden Sie in der Manpage.

17. rcp

Mit dem Dienstprogramm rcp können Benutzer Dateien oder Verzeichnisse von ihrem lokalen System auf einen Remote-Computer im Netzwerk kopieren. Der Befehl hat eine Syntax wie unten.

rcp [options] SOURCE DESTINATION

Der nächste Befehl zeigt beispielsweise, wie eine Datei namens test.doc auf einen Remote-Computer kopiert wird.

$ rcp /parent/dir/test.doc hostname:/some/dir

Sie können diesen Befehl auch verwenden, um Dateien von einem entfernten Host zu empfangen, wie unten gezeigt.

$ rcp hostname:/some/dir/FILE

Lassen Sie einfach den Quellteil weg, wenn Sie Dateien empfangen.

18. scp

Der Befehl scp(secure copy) dient zum sicheren Kopieren von Dateien zwischen zwei Systemen eines Netzwerks. Es ähnelt in seiner Funktionalität dem rcp-Befehl, implementiert jedoch eine sichere Authentifizierung wie der ssh-Befehl. Mit diesem praktischen Befehl können Sie sowohl Dateien als auch Verzeichnisse auf entfernte Rechner kopieren.

$ scp FILE [email protected]:/some/dir

Der obige Befehl kopiert FILE in /some/dir des entfernten Systems Verzeichnis. Wenn der entfernte Host einen anderen SSH-Port anstelle von 22 überwacht, können Sie das -P verwenden Flag, um dies anzugeben.

$ scp -P 2222 FILE [email protected]:/some/dir

Wir empfehlen Ihnen, die Manpage von scp zu lesen, um zusätzliche Optionen und ihre Anwendungsfälle zu erkunden.

19. rsync

Das Dienstprogramm rsync dient zum effizienten Übertragen und Synchronisieren von Dateien zwischen zwei über ein Netzwerk verbundenen Systemen. Systemadministratoren verwenden es häufig, um Dateien von externen NAS-Servern auf ihren lokalen Computer zu übertragen. Es ist ein sehr schnelles und zuverlässiges Werkzeug zum Kopieren von Dateien zu und von entfernten Computern.

$ rsync -zvh backup.tar /tmp/backups/

Der obige Befehl synchronisiert eine Datei namens backup.tar mit dem temporären Verzeichnis. Es verwendet das -z Option zum Komprimieren der Dateidaten, -v um eine ausführliche Ausgabe zu erhalten, und -h menschenlesbare Ausgabe zu erhalten. Es ermöglicht auch den Zugriff über die Remote-Shell und den rsync-Daemon. Schlagen Sie in der Manpage nach, um mehr über ihre Verwendung zu erfahren.

20. sokat

Das Linux-Tool socat wird zum Aufbau zweier bidirektionaler Byteströme verwendet und ermöglicht eine sehr effiziente Übertragung von Daten zwischen ihnen. Der socat-Befehl ist einer der vielseitigsten Linux-Netzwerkbefehle und hat sehr unterschiedliche Anwendungsfälle.

$ socat SYSTEM:date STDIO

Dieser Befehl nimmt das aktuelle Systemdatum und gibt es auf der Standardeingabe aus.

$ socat - TCP:localhost:www,crnl

Der obige Befehl öffnet eine Webserver-Verbindung zum localhost und ruft eine Seite zum Terminal ab. Beachten Sie, wie die Portnummer als Dienstname übergeben wurde. Dies ist ein sehr robuster Befehl und unterstützt viele Kurzformen. Schauen Sie sich also ihre Manpage an, um sie effektiv zu beherrschen.

21. sftp

Der Befehl sftp wird zum Zugreifen auf, Übertragen und Verwalten von Dateien mithilfe des sicheren Dateiübertragungsprotokolls verwendet. Grundsätzlich erlaubt es Administratoren, FTP über eine sichere Shell zu verwenden. Wenn Sie ssh- und ftp-Befehle verwenden können, wird die Verwendung von sftp sehr einfach sein.

$ sftp [email protected]

Dieser Befehl öffnet eine sichere Verbindung und startet die FTP-Eingabeaufforderung. Es stellt die Verbindung auf dem Standard-SSH-Port (22) her. Da viele Systemadministratoren benutzerdefinierte Portnummern für ssh verwenden, um böswillige Benutzer abzuwehren, müssen Sie diese Portnummer übergeben, um sich mit solchen Systemen zu verbinden.

$ sftp -oPort=CUSTOM-PORT [email protected]

Lesen Sie die Manpage, um alle möglichen Optionen und ihre Verwendung zu erkunden.

22. sshfs

Der Befehl sshfs gehört wohl zu den nützlichsten Linux-Netzwerkbefehlen zum Mounten entfernter Dateisysteme. Dieser Befehl hat eine einfache Syntax, kann sich aber als vielseitiger Vorteil für moderne Systemadministratoren erweisen.

$ sshfs [email protected]:/some/dir /mountpoint

Der obige Befehl hängt das entfernte Dateisystem am angegebenen Einhängepunkt ein. Beachten Sie, dass der Einhängepunkt dem Benutzer gehören muss, damit dieser Befehl funktioniert. Das entfernte Dateisystem wird automatisch ausgehängt, wenn Sie die Verbindung schließen. Sie können es dauerhaft machen, indem Sie /etc/fstab bearbeiten Datei.

Netzwerkbefehle zum Verwalten von Netzwerkrichtlinien

Administratoren können mit einigen leistungsstarken Linux-Netzwerkbefehlen ganz einfach verschiedene Richtlinien für ihre Linux-Computer und -Netzwerke einrichten. Einige dieser Aufgaben umfassen unter anderem das Einrichten von Gerätetreibern, das Konfigurieren von Routing-Richtlinien, das Verwalten von Tunneln usw. In diesem Abschnitt werfen wir einen genaueren Blick auf einige der Befehle, die diese Aufgaben erleichtern.

23. Hostname

Der Befehl hostname ist ein praktisches Dienstprogramm, mit dem Administratoren Hostnamen oder DNS-Domänennamen abrufen oder festlegen können. Es wird oft verwendet, um dynamische Hosts einzurichten oder Informationen zu einem bestimmten Host zu erhalten. Wenn Sie einfach den Hostnamen in das Terminal eingeben, wird Ihr aktueller Hostname angezeigt.

$ hostname

Der nächste Befehl ersetzt Ihren aktuellen Hostnamen durch NEW_HOST_NAME .

$ hostname NEW_HOST_NAME

Das -i Flag kann verwendet werden, um die aktuelle IP-Adresse Ihres Hostnamens zu erhalten.

$ hostname -i

Es gibt weitere Optionen, die Sie mit diesem Befehl verwenden können. Konsultieren Sie die Manpage für detaillierte Informationen darüber.

24. iptables

Der Linux-Befehl iptables ist ohne Zweifel einer der am häufigsten verwendeten Linux-Netzwerkbefehle für Systemadministratoren. Das iptables-Programm ist ein User-Space-Dienstprogramm, mit dem Administratoren die iptable-Ketten konfigurieren und Firewalls einrichten können. Es ist ein De-facto-Tool zur Verhinderung von nicht autorisiertem oder böswilligem Datenverkehr in Ihrem Netzwerk.

$ sudo iptables -L -n -v

Der obige Befehl gibt die aktuellen iptables-Regeln aus, die von Ihrem System verwendet werden. Der nächste Befehl zeigt Ihnen, wie Sie alle eingehenden Anfragen von einer bestimmten IP blockieren.

$ sudo iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP

Es gibt eine Fülle möglicher iptables-Befehle, und Sie können umfassende Details in diesem Beitrag finden.

25. Strecke

Sie können den route-Befehl verwenden, um die IP-Routing-Tabelle Ihres Systems anzuzeigen und zu bearbeiten. Es ermöglicht Administratoren, die Kernel-Routing-Tabellen einfach zu bearbeiten und gewünschte Funktionalitäten einzurichten. Dieser Befehl ist auch in Microsoft Windows-Systemen verfügbar und wird daher sehr häufig verwendet.

$ sudo route -n

Dieser Befehl listet die aktuelle IP-Routing-Tabelle auf. Der nächste Befehl zeigt Ihnen, wie Sie ein Standard-Gateway für Ihren Computer hinzufügen.

$ sudo route add default gw xxx.xxx.xxx.xxx

Sie können das neue Gateway mit dem vorherigen Befehl überprüfen. Auf der Handbuchseite finden Sie eine umfassende Liste aller verfügbaren Optionen.

26. graben

Mit dem Befehl dig können Administratoren das Domain Name System (DNS) abfragen für Netzwerk-Fehlerbehebung und andere Zwecke. Dig verwendet den Standard-DNS-Resolver Ihres Linux-Rechners und unterstützt Internationalized Domain Name (IDN) Abfragen. Das folgende Beispiel zeigt, wie einfach dig DNS-Eintragsinformationen für einen Host bereitstellt.

$ dig example.com

Verwenden Sie das +kurz Option, um eine prägnante Ausgabe zu erhalten.

$ dig example.com +short

Sie können mit MX auch verschiedene Arten von DNS-Ressourceneinträgen abfragen.

$ dig example.com MX

Lesen Sie die Manpage, um alle möglichen Anwendungsfälle und verfügbaren Optionen zu verstehen.

27. ip

Mit dem Befehl ip können Linux-Benutzer das IP-Dienstprogramm schnell nutzen, um Routing, Geräte, Richtlinien-Routing und Tunnel zu manipulieren. Es ist ein sehr dynamisches Tool und bietet zahlreiche robuste Optionen. Das folgende Beispiel zeigt, wie Sie mit diesem Tool die IP-Adressen aller Netzwerkschnittstellen anzeigen können.

$ ip addr

Sie können die Kurzform a verwenden , statt Adresse . Der nächste Befehl zeigt Ihnen, wie Sie Informationen nur für die aktuell ausgeführten Schnittstellen erhalten.

$ ip link ls up

Das nächste Beispiel zeigt, wie einer bestimmten Schnittstelle IP-Adressen zugewiesen werden.

$ ip a add 192.168.1.XXX/24 dev eth0

Dieser Befehl unterstützt eine Vielzahl zusätzlicher Optionen. Vergessen Sie also nicht, die Manpage zu lesen.

28. nslookup

Das Dienstprogramm nslookup ist ein leistungsstarkes Befehlszeilentool, mit dem Systemadministratoren Domänennamen oder IP-Adressenzuordnungen abrufen können, indem sie das Domain Name System abfragen. Es ist neben Windows und ReactOS in den meisten Unix-ähnlichen Systemen verfügbar. Der folgende Befehl zeigt die primäre Verwendung.

$ nslookup example.com

Es enthält Informationen wie den Domänennamen und die IP-Adresse des Hosts. Die nächsten Befehle zeigen alle verfügbaren DNS-Einträge.

$ nslookup -type=any example.com

Der folgende Befehl erzeugt einen MX-Eintrag für den angegebenen Host.

$ nslookup -type=mx google.com

Linux-Befehle für Netzwerkdiagnose und Fehlerbehebung

Die effektive Diagnose von Netzwerken ist für die meisten Systemadministratoren von größerer Bedeutung. Im folgenden Abschnitt listen wir einige nützliche Befehle für diesen Zweck auf.

29. netstat

Das Dienstprogramm netstat zeigt die Netzwerkverbindungen für das TCP-Protokoll, Routing-Tabellen, Netzwerkschnittstellenstatistiken, Masquerade-Verbindungen und Multicast-Mitgliedschaften an. Es ist einer der am häufigsten verwendeten Befehle für die Netzwerkdiagnose.

$ netstat -a | more

Der obige Befehl zeigt alle Netzwerk-Sockets unabhängig von ihrem aktuellen Status an. Verwenden Sie den nächsten Befehl, um nur TCP-Ports anzuzeigen.

$ netstat -at

Ersetzen Sie t mit u wenn Sie die UDP-Ports auflisten möchten. Der folgende Befehl zeigt nur die Listening-Ports an.

$ netstat -l

t anhängen oder du nach -l wenn Sie nur die lauschenden TCP/UDP-Ports auflisten möchten. Überprüfen Sie die Manpage für alle verfügbaren Optionen.

30. pingen

In Unix-ähnlichen Betriebssystemen wird der Ping-Befehl häufig verwendet, um die Erreichbarkeit eines Hosts in einem Internet Protocol-Netzwerk zu ermitteln. Dies ist ein universeller Netzwerkbefehl, der in praktisch jedem System verfügbar ist. Das nächste Beispiel zeigt die primäre Verwendung von Ping.

$ ping example.com

Dadurch werden weiterhin Pakete an den Host gesendet, bis Sie ihn manuell beenden. Verwenden Sie das -c Option, um die Anzahl der Pakete anzugeben.

$ ping -c 5 example.com

Die Größe der Pakete können Sie auch mit dem -s bestimmen Flagge.

$ ping -s 40 -i 2 -c 5 example.com

das -i Option wird verwendet, um das Zeitintervall von der Vorgabe 1 auf 2 Sekunden zu ändern.

31. Traceroute

Der Traceroute-Befehl wird normalerweise verwendet, um die Route anzuzeigen und Transitverzögerungen von Paketen über das Netzwerk zu messen. Es ist ein praktisches Tool für moderne Systemadministratoren und bietet viele wichtige Einblicke. Sie können schnell den Pfad bestimmen, den ein Paket von seiner Quelle zu seinem Ziel nimmt. Es ist auch nützlich, um Datenverluste festzustellen.

$ traceroute -4 10 example.com

Die -4 wird verwendet, um anzugeben, dass Sie IPv4 verwenden. Ersetzen Sie 4 durch 6 für IPv6-Pakete.

$ traceroute -g xxx.xxx.xxx.xxx example.com

Der obige Befehl leitet die Pakete durch das angegebene Gateway. Überprüfen Sie die Manpage für alle verfügbaren Optionen.

32. iftop

Das Dienstprogramm iftop ist einer der nützlichsten Linux-Netzwerkbefehle, der Echtzeit-Feedback für verschiedene Netzwerkparameter wie die Bandbreitennutzung liefert. Wenn Sie top oder htop verwendet haben, fühlt sich iftop ziemlich ähnlich an. Dieses Tool kann sich aufgrund seiner enormen Nützlichkeit als praktikable Bereicherung für moderne Linux-Benutzer erweisen.

$ sudo iftop

Wenn Sie diesen Befehl als sudo ausführen, erhalten Sie die aktuelle Bandbreitennutzung durch Ihre Netzwerkschnittstellen. Sie können angeben, welche Schnittstelle überwacht werden soll, indem Sie das -i eingeben Flagge.

$ sudo iftop -i wlp2s0

Es werden nur Informationen über die drahtlose Schnittstelle angezeigt. Es gibt noch viele andere Optionen.

33. nladen

Das Dienstprogramm nload ist ein weiteres Befehlszeilentool zur Überwachung Ihrer Netzwerkbandbreite. Es verfügt über einige vorteilhafte Fähigkeiten, wie z. B. die Anzeige der Gesamtmenge der übertragenen Daten und der minimalen/maximalen Bandbreitennutzung. Der direkte Aufruf von nload ohne Argumente zeigt die Bandbreitennutzung jeder verfügbaren Schnittstelle.

$ nload

Verwenden Sie die Geräte Optionen zum Spezifizieren einer bestimmten Schnittstelle, wie im folgenden Beispiel gezeigt.

$ nload devices wlp1s0

Sie können auch das Flag -t verwenden, um das Aktualisierungsintervall der Anzeige in Millisekunden einzustellen.

$ nload devices wlp1s0 -t 400

34. ss

Der Befehl ss liefert nützliche Informationen zu Netzwerk-Sockets. Es kann im Vergleich zu anderen Linux-Überwachungstools wie netstat viele detaillierte Informationen anzeigen. Der direkte Aufruf von ss vom Terminal zeigt eine riesige Liste aller Verbindungen, unabhängig von ihrem Status.

$ ss -l

Mit -l können Sie festlegen, dass nur die lauschenden Sockets aufgelistet werden Flagge. Das -t Flag wird verwendet, um nur TCP-Verbindungen anzuzeigen.

$ ss -lt

Verwenden Sie das -p Flag, um die Prozess-ID der aktiven Sockets zu erhalten, wie unten gezeigt.

$ ss -p

Weitere verfügbare Optionen finden Sie auf ihrer Manpage.

35. Whois

Das Whois-Dienstprogramm ist ein weit verbreitetes Linux-Tool, um sowohl Domänen- als auch IP-bezogene Informationen über ein Netzwerk zu erhalten. Es fungiert als Client für das Whois-Protokoll und stellt Informationen bereit, indem es die Whois-Datenbanken nach Netzwerkressourcen abfragt.

$ whois example.com

Der obige Befehl gibt detaillierte Netzwerkressourceninformationen über den angegebenen Host aus. Da dieser Befehl viele Informationen liefert, können Sie grep verwenden, um bestimmte Daten zu erhalten.

$ whois example.com | grep -i "Domain ID"

Der obige Befehl gibt die Zeilen aus, die die Domänen-ID des angegebenen Hosts enthalten. Sie können es auch für zusätzliche Informationen wie Nameserver und Domänenstatus verwenden.

Netzwerkbefehle zum Analysieren von Ressourcen

Die Analyse von Netzwerkpaketen ist sowohl für Systemadministratoren als auch für Penetrationstester äußerst wichtig. In diesem Abschnitt gehen wir einige grundlegende Linux-Befehle durch, die dies effizient ermöglichen.

36. tcpdump

Der De-facto-Kommandozeilen-Paketanalysator für Linux ist tcpdump. Es kann die Übertragung von TCP-Paketen über das Netzwerk sehr effektiv darstellen. Aufgrund seiner universellen Verfügbarkeit wird es häufig zum Erfassen und Analysieren von Netzwerkverkehr verwendet.

$ sudo tcpdump -D

Der obige Befehl zeigt an, welche Schnittstellen zum Erfassen von TCP-Paketen verfügbar sind. Mit dem folgenden Befehl können Sie ganz einfach Pakete von einer bestimmten Schnittstelle erfassen.

$ sudo tcpdump -i eth0

Dadurch werden nur Pakete erfasst, die über die Standard-Ethernet-Schnittstelle übertragen werden. Sehen Sie sich die Manpage an, um alle möglichen Optionen zu erkunden.

37. dhclient

Das Dienstprogramm dhclient ist ein robustes DHCP (Dynamic Host Configuration Protocol) Klient. Es wird häufig verwendet, um die IP-Adresse, die Subnetzmaske, das Standard-Gateway und die DNS-Serverinformationen eines Clients zu analysieren. Es ermöglicht Administratoren auch, die IP-Adresse einer bestimmten Netzwerkschnittstelle freizugeben und neue zu erhalten.

$ sudo dhclient eth0

Der obige Befehl erneuert die dynamisch zugewiesene IP-Adresse der Ethernet-Schnittstelle eth0 .

38. dstat

Das Dienstprogramm dstat ist ein äußerst lohnendes Befehlszeilentool zum Generieren von Systemressourcenstatistiken in Linux. Es bietet zahlreiche robuste Funktionalitäten und kann mit der Programmiersprache Python einfach erweitert werden. Es ist ein würdiger Ersatz für das veraltete vmstat-Dienstprogramm.

$ dstat

Wenn Sie diesen Befehl ohne Optionen ausführen, erhalten Sie eine Echtzeitanzeige der Systemressourcenstatistiken. Der nächste Befehl gibt die CPU-Auslastung, den Prozess mit der meisten CPU-Nutzung und den Prozess mit dem meisten RAM aus.

$ dstat -c --top-cpu --top-mem

Konsultieren Sie die Manpage für weitere verfügbare Optionen.

39. thai

Das Dienstprogramm Wireshark gehört zu den funktionsreichsten Paketanalysatoren. Seine Fähigkeiten übertreffen tcpdump bei weitem und werden in der Forensik häufig eingesetzt. Sie können es einfach über Ihren Paketmanager installieren. Das Befehlszeilenpaket heißt tshark.

$ sudo tshark -D

Dadurch werden alle verfügbaren Schnittstellen aufgelistet, die zum Erfassen des Netzwerkverkehrs verwendet werden können. Der nächste Befehl zeigt, wie Daten mit der Ethernet-Schnittstelle eth0 erfasst werden .

$ sudo tshark -i eth0

40. hping3

Der Befehl hping3 wird zum Aufrufen des Dienstprogramms hping verwendet. Es ist ein leistungsstarker, moderner Paketanalysator, der TCP-Pakete sehr effizient erfassen und analysieren/zusammenstellen kann. Es ist auf den meisten Unix-Systemen verfügbar, einschließlich Linux und BSD.

# sudo hping3

Es startet die interaktive hping3-Sitzung, in der Sie Befehle eingeben können. Der nächste Befehl erfasst den TCP-Verkehr von der eth0-Schnittstelle.

> hping recv eth0

Sie können hping auch außerhalb seiner interaktiven Shell verwenden. Konsultieren Sie die Manpage, um zu erfahren, wie das geht.

Abschlussgedanken

Die robusten Netzwerkfähigkeiten von Linux haben maßgeblich zu seinem heutigen Erfolg beigetragen. Ganz gleich, welche Art von Netzwerktool Sie möchten, Linux ist für Sie da. Die Fülle an Linux-Netzwerkbefehlen kann es jedoch vielen Benutzern ziemlich schwer machen, das richtige Tool für sich auszuwählen. That’s why our editors took this liberty of pointing out these 40 useful commands for you. You can find at least one tool for any networking activity. Hopefully, we were able to provide the essential insights you were looking for. Leave us a comment if you want to explore some commands in more detail.


Linux
  1. Spickzettel für allgemeine Linux-Befehle

  2. 8 Linux-Befehle für effektives Prozessmanagement

  3. 10 Linux-Befehle für die Netzwerkdiagnose

  4. 5 Linux-Befehle zur Fehlerbehebung im Netzwerk

  5. Nützliche Linux-Dig-Beispiele für den Netzwerkadministrator

Die 50 nützlichsten Zypper-Befehle für SUSE Linux-Benutzer

40 Nützliche Beispiele für Linux-PS-Befehle für angehende SysAdmins

Die 50 nützlichen Linux-IP-Befehle für Netzwerkadministratoren

90 Linux-Befehle, die häufig von Linux-Systemadministratoren verwendet werden

Nützliche tcpdump-Linux-Beispiele für den Netzwerkadministrator

Nmap-Befehle - 17 grundlegende Befehle für Linux-Netzwerke