8 NETCAT (NC) -Befehl mit Beispielen
![8 NETCAT (NC) -Befehl mit Beispielen](https://ilinuxgeek.com/storage/img/images_1/8-netcat-nc-command-with-examples_8.png)
- 1115
- 329
- Ilja Köpernick
Netcat (oder NC Kurz gesagt) ist ein einfaches und dennoch leistungsstarkes Netzwerk-Befehlszeilen-Tool, das zur Durchführung einer Operation unter Linux verwendet wird TCP, UDP, oder Unix-Domain -Sockeln.
Netcat kann zum Portscannen verwendet werden, Portumleitung, als Porthörer (für eingehende Verbindungen); Es kann auch verwendet werden, um Fernbedienungen und so viele andere Dinge zu öffnen. Außerdem können Sie es als Hintertür verwenden, um Zugriff auf einen Zielserver zu erhalten.
In diesem Artikel werden wir erklären Netcat Verwendungsbefehle mit Beispielen.
So installieren und verwenden Sie NetCAT unter Linux
So installieren Sie die NETCAT -Paket Verwenden Sie in Ihrem System den Standardpaket -Manager für Ihre Linux -Verteilung.
$ yum Installation NC [auf CentOS/RHEL] $ DNF Installieren Sie NC [auf Fedora 22+ und RHEL 8] $ sudo apt-Get Install netcat [auf Debian/Ubuntu]
Einmal NETCAT -Paket Installiert können Sie weiter fortfahren, um die Verwendung von zu lernen NetCat -Befehl In den folgenden Beispielen.
Port -Scan
Netcat Kann zum Scannen von Port verwendet werden. Es kann eine einzelne oder mehrere oder eine Reihe offener Ports scannen.
Hier ist ein Beispiel, das -z
Optionssätze NC einfach nach Hördämonen zu scannen, ohne tatsächlich Daten an sie zu senden. Der -v
Die Option ermöglicht den ausführlichen Modus und -w
Gibt eine Zeitüberschreitung für die Verbindung an, die nicht festgelegt werden kann.
$ nc -v -W 2 Z 192.168.56.1 22 #Scan Ein einzelner Port oder $ NC -v -W 2 Z 192.168.56.1 22 80 #Scan Mehrere Ports oder $ NC -V -W 2 Z 192.168.56.1 20-25 #-Scan-Bereich von Ports
![](https://ilinuxgeek.com/storage/img/images_1/8-netcat-nc-command-with-examples.png)
Übertragen Sie Dateien zwischen Linux -Servern
Netcat Ermöglicht Ihnen, Dateien zwischen zwei Linux -Computern oder Servern zu übertragen, und beide Systeme müssen haben NC Eingerichtet.
Um beispielsweise eine ISO -Bilddatei von einem Computer auf einen anderen zu kopieren und den Übertragungsfortschritt (mit dem PV -Dienstprogramm) zu überwachen, führen Sie den folgenden Befehl auf dem Sender/Server -Computer aus (wobei die ISO -Datei existiert).
Das wird laufen NC im Hörmodus (-l
Flagge) am Port 3000.
$ TAR -ZCF -DEBIAN -10.0.0-AMD64-XFCE-CD-1.ISO | PV | nc -l -p 3000 -q 5
Und führen Sie auf dem Empfänger/Client -Computer den folgenden Befehl aus, um die Datei zu erhalten.
$ NC 192.168.1.4 3000 | PV | tar -Zxf -
![](https://ilinuxgeek.com/storage/img/images_1/8-netcat-nc-command-with-examples_2.png)
Erstellen Sie einen Befehlszeilen -Chat -Server
Sie können auch verwenden Netcat So erstellen Sie sofort einen einfachen Befehlszeilen-Messaging-Server. Wie im vorherigen Nutzungsbeispiel, NC muss in beiden Systemen installiert werden, die für den Chatraum verwendet werden.
Führen Sie auf einem System den folgenden Befehl aus, um den Chat -Server auf Port zu erstellen 5000.
$ nc -l -vv -p 5000
Führen Sie auf dem anderen System den folgenden Befehl aus, um eine Chat -Sitzung auf einen Computer zu starten, auf dem der Messaging -Server ausgeführt wird.
$ NC 192.168.56.1 5000
![](https://ilinuxgeek.com/storage/img/images_1/8-netcat-nc-command-with-examples_3.png)
Erstellen Sie einen grundlegenden Webserver
Mit dem -l
Option von NC -Befehl Wird verwendet, um einen grundlegenden, unsicheren Webserver zu erstellen, um statische Webdateien für Lernzwecke zu servieren. Um dies zu demonstrieren, erstellen Sie a .html
Datei wie gezeigt.
$ vim Index.html
Fügen Sie die folgenden HTML -Zeilen in die Datei hinzu.
TestseiteServieren dieser Datei mithilfe von NetCat Basic HTTP Server!
Speichern Sie Änderungen in der Datei und beenden Sie.
Servieren Sie dann die obige Datei über HTTP, indem Sie den folgenden Befehl ausführen, mit dem der HTTP -Server kontinuierlich ausgeführt wird.
$ während :; do (echo -ne "http/1.1 200 ok \ r \ n "; Katzenindex.html; ) | nc -l -p 8080; Erledigt
![](https://ilinuxgeek.com/storage/img/images_1/8-netcat-nc-command-with-examples_4.png)
Öffnen Sie dann einen Webbrowser und können mit der folgenden Adresse auf den Inhalt zugreifen.
http: // localhost: 8080 oder http: // server_ip: 8080
![](https://ilinuxgeek.com/storage/img/images_1/8-netcat-nc-command-with-examples_5.png)
Beachten Sie, dass Sie das stoppen können Netcat http Server durch Drücken [Strg+ C]
.
Fehlerbehebung bei Linux -Serververbindung
Eine weitere nützliche Verwendung von Netcat ist die Fehlerbehebung von Problemen mit Serververbindung zu Problemen. Hier können Sie verwenden Netcat Um zu überprüfen, welche Daten ein Server als Antwort auf vom Client ausgegebene Befehle sendet.
Der folgende Befehl ruft die Startseite von ab Beispiel.com.
$ printf "get / http / 1.0 \ r \ n \ r \ n "| nc Text.Beispiel.com 80
Die Ausgabe des obigen Befehls enthält die vom Webserver gesendeten Header, die zur Fehlerbehebung verwendet werden können.
Finden Sie einen Dienst, der am Port ausgeführt wird
Sie können auch verwenden Netcat Hafenbanner erhalten. In diesem Fall wird Ihnen erfahren, welcher Service hinter einem bestimmten Port läuft. Zum Beispiel, um zu wissen, welche Art von Dienst hinter Port läuft 22 Führen Sie auf einem bestimmten Server den folgenden Befehl aus (ersetzen Sie 192.168.56.110 mit der IP -Adresse des Zielservers). Der -N
Flag bedeutet, DNS oder Service -Lookups zu deaktivieren.
$ nc -v -n 192.168.56.110 80
![](https://ilinuxgeek.com/storage/img/images_1/8-netcat-nc-command-with-examples_6.png)
Erstellen Sie Stream -Sockel
Netcat Unterstützt auch die Schaffung von Unix-Domain-Stream-Sockets. Der folgende Befehl erstellt und hört auf einen Unix-Domain-Stream-Socket zu.
$ nc -lu/var/tmp/mysocket & $ ss -lpn | Grep "/var/tmp/"
![](https://ilinuxgeek.com/storage/img/images_1/8-netcat-nc-command-with-examples_7.png)
Erstellen Sie eine Hintertür
Sie können auch rennen Netcat als Hintertür. Dies erfordert jedoch mehr Arbeit. Wenn Netcat ist auf einem Zielserver installiert. Sie können damit eine Backdoor erstellen, um eine Remote -Eingabeaufforderung zu erhalten.
Um eine Hintertür zu handeln, die Sie brauchen Netcat um auf einem ausgewählten Port zuzuhören (e.G Port 3001) auf dem Zielserver und dann können Sie wie folgt eine Verbindung zu diesem Port von Ihrem Computer herstellen.
Dies ist der Befehl, der auf dem Remote -Server ausgeführt wird, auf dem die -D
Option deaktiviert das Lesen von Stdin und -e
Gibt den Befehl an, der auf dem Zielsystem ausgeführt wird.
$ nc -l -p 3001 -d -e cmd.exe
Zu guter Letzt, Netcat kann als Proxy für verschiedene Dienste/Protokolle verwendet werden, einschließlich HTTP, SSH und vieler mehr. Weitere Informationen finden Sie auf seiner Mannseite.
$ MAN NC
In diesem Artikel haben wir 8 praktisch erklärt NetCat -Befehlsnutzungsbeispiele. Wenn Sie andere praktische Anwendungsfälle kennen, teilen Sie uns über das folgende Feedback -Formular mit. Sie können auch eine Frage stellen.
- « So installieren Sie die MariADB -Datenbank in Debian 10
- So installieren Sie LEMP auf Debian 10 Server »