8 NETCAT (NC) -Befehl mit Beispielen

8 NETCAT (NC) -Befehl mit Beispielen

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 
Scannen Sie nach offenen Ports unter Linux

Ü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 - 
Dateiübertragung zwischen Linux -Systemen

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 
Erstellen Sie den Chat -Server in der Befehlszeile

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.

  Testseite   

Servieren 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 
Erstellen Sie den Webserver in der Befehlszeile

Öffnen Sie dann einen Webbrowser und können mit der folgenden Adresse auf den Inhalt zugreifen.

http: // localhost: 8080 oder http: // server_ip: 8080 
Webserver testen

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 
Suchen Sie den Service auf dem Port

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/" 
Erstellen Sie Stream Socket in der Befehlszeile

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.