8 Netcat (nc) -Befehl mit Beispielen

Netcat (oder nc Kurz gesagt) ist ein einfaches, aber leistungsstarkes Netzwerk-Befehlszeilentool, mit dem alle Operationen unter Linux ausgeführt werden können TCP, UDP, oder UNIX-Domänenbuchsen.

Netcat kann zum Port-Scannen verwendet werden, Portumleitungals Port-Listener (für eingehende Verbindungen); Es kann auch verwendet werden, um Remoteverbindungen 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 das Netcat-Paket Verwenden Sie auf Ihrem System den Standardpaketmanager für Ihre Linux-Distribution.

$ yum install nc                  [On CentOS/RHEL]
$ dnf install nc                  [On Fedora 22+ and RHEL 8]
$ sudo apt-get install Netcat     [On Debian/Ubuntu]

Einmal Netcat-Paket installiert, können Sie fortfahren, um die Verwendung von zu lernen Befehl netcat in den folgenden Beispielen.

Port-Scannen


Netcat kann zum Port-Scannen verwendet werden: um zu wissen, welche Ports geöffnet sind und Dienste auf einem Zielcomputer ausführen. Es kann einen einzelnen oder mehrere oder mehrere offene Ports scannen.

Hier ist ein Beispiel, das -z Optionssätze nc um einfach nach hörenden Dämonen zu suchen, ohne tatsächlich Daten an sie zu senden. Das -v Option aktiviert ausführlichen Modus und -w Gibt ein Zeitlimit für die Verbindung an, das nicht hergestellt werden kann.

$ nc -v -w 2 z 192.168.56.1 22     #scan a single port
OR
$ nc -v -w 2 z 192.168.56.1 22 80  #scan multiple ports
OR
$ nc -v -w 2 z 192.168.56.1 20-25  #scan range of ports
Suchen Sie unter Linux nach offenen Ports
Suchen Sie unter Linux nach offenen Ports

Dateien zwischen Linux-Servern übertragen

Netcat Ermöglicht das Übertragen von Dateien zwischen zwei Linux-Computern oder -Servern, die beide Systeme haben müssen nc Eingerichtet.

Führen Sie beispielsweise den folgenden Befehl auf dem Absender / Server-Computer aus (auf dem sich die ISO-Datei befindet), um eine ISO-Image-Datei von einem Computer auf einen anderen zu kopieren und den Übertragungsfortschritt zu überwachen (mithilfe des Dienstprogramms pv).

Dies wird ausgeführt nc im Hörmodus (-l Flagge) am Hafen 3000.

$ tar -zcf - debian-10.0.0-amd64-xfce-CD-1.iso  | pv | nc -l -p 3000 -q 5

Führen Sie auf dem Empfänger- / Client-Computer den folgenden Befehl aus, um die Datei abzurufen.

$ nc 192.168.1.4 3000 | pv | tar -zxf -
Dateiübertragung zwischen Linux-Systemen
Dateiübertragung zwischen Linux-Systemen

Erstellen Sie einen Befehlszeilen-Chat-Server

Sie können auch verwenden Netcat um sofort einen einfachen Befehlszeilen-Messaging-Server zu erstellen. Wie im vorherigen Verwendungsbeispiel nc muss auf beiden für den Chatraum verwendeten Systemen installiert sein.

Führen Sie auf einem System den folgenden Befehl aus, um den Chat-Server zu erstellen, der den Port überwacht 5000.

$ nc -l -vv -p 5000

Führen Sie auf dem anderen System den folgenden Befehl aus, um eine Chat-Sitzung auf einem Computer zu starten, auf dem der Messaging-Server ausgeführt wird.

$ nc 192.168.56.1 5000
Erstellen Sie einen Chat-Server in der Befehlszeile
Erstellen Sie einen Chat-Server in der Befehlszeile

Erstellen Sie einen einfachen Webserver

Mit dem -l Option von nc Befehl Wird verwendet, um einen einfachen, unsicheren Webserver zu erstellen, der statische Webdateien für Lernzwecke bereitstellt. Um dies zu demonstrieren, erstellen Sie eine .html Datei wie gezeigt.

$ vim index.html

Fügen Sie der Datei die folgenden HTML-Zeilen hinzu.


        
                Test Page
        
        
                      Serving this file using Netcat Basic HTTP server!

Speichern Sie die Änderungen in der Datei und beenden Sie sie.

Stellen Sie dann die obige Datei über HTTP bereit, indem Sie den folgenden Befehl ausführen, mit dem der HTTP-Server kontinuierlich ausgeführt werden kann.

$ while : ; do ( echo -ne "HTTP/1.1 200 OKrn" ; cat index.html; ) | nc -l -p 8080 ; done
Erstellen Sie einen Webserver in der Befehlszeile
Erstellen Sie einen Webserver in der Befehlszeile

Öffnen Sie dann einen Webbrowser und können Sie über die folgende Adresse auf den Inhalt zugreifen.

http://localhost:8080
OR
http://SERVER_IP:8080
Testen Sie den Webserver
Testen Sie den Webserver

Beachten Sie, dass Sie die stoppen können Netcat HTTP-Server durch Drücken [Ctrl+ C].

Fehlerbehebung bei der Linux Server-Verbindung

Eine weitere nützliche Verwendung von Netcat dient zur Behebung von Serververbindungsproblemen. 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 Homepage von ab example.com.

$ printf "GET / HTTP/1.0rnrn" | nc text.example.com 80

Die Ausgabe des obigen Befehls enthält die vom Webserver gesendeten Header, die zur Fehlerbehebung verwendet werden können.

Suchen Sie einen Dienst, der am Port ausgeführt wird

Sie können auch verwenden Netcat Port-Banner zu erhalten. In diesem Fall erfahren Sie, welcher Dienst hinter einem bestimmten Port ausgeführt wird. Zum Beispiel, um zu wissen, welche Art von Dienst hinter dem Port ausgeführt wird 22 Führen Sie auf einem bestimmten Server den folgenden Befehl aus (ersetzen 192.168.56.110 mit der IP-Adresse des Zielservers). Das -n Flag bedeutet, DNS- oder Service-Lookups zu deaktivieren.

$ nc -v -n 192.168.56.110 80
Suchen Sie den Dienst, der auf dem Port ausgeführt wird
Suchen Sie den Dienst, der auf dem Port ausgeführt wird

Erstellen Sie einen Stream Sockets

Netcat unterstützt auch die Erstellung von UNIX-Domain-Stream-Sockets. Der folgende Befehl erstellt und überwacht einen UNIX-Domänen-Stream-Socket.

$ nc -lU /var/tmp/mysocket &
$ ss -lpn | grep "/var/tmp/"
Erstellen Sie einen Stream Socket in der Befehlszeile
Erstellen Sie einen Stream Socket in der Befehlszeile

Erstellen Sie eine Hintertür

Sie können auch laufen Netcat als Hintertür. Dies erfordert jedoch mehr Arbeit. Wenn Netcat Wenn es auf einem Zielserver installiert ist, können Sie damit eine Hintertür erstellen und eine Remote-Eingabeaufforderung erhalten.

Um eine Hintertür zu bedienen, benötigen Sie Netcat um einen ausgewählten Port (z. B. Port) abzuhören 3001) auf dem Zielserver und dann können Sie von Ihrem Computer aus wie folgt eine Verbindung zu diesem Port herstellen.

Dies ist der Befehl, der auf dem Remote-Server ausgeführt werden soll, auf dem der -d Option deaktiviert das Lesen von stdin und -e Gibt den Befehl an, der auf dem Zielsystem ausgeführt werden soll.

$ 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 viele mehr. Weitere Informationen finden Sie in der Manpage.

$ man nc

In diesem Artikel haben wir 8 praktische erklärt Verwendungsbeispiele für Netcat-Befehle. Wenn Sie andere praktische Anwendungsfälle kennen, teilen Sie uns dies über das unten stehende Feedback-Formular mit. Sie können auch eine Frage stellen.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *