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

10 nützliche ncat (nc)-Befehlsbeispiele für Linux-Systeme

ncat oder nc ist ein Netzwerkdienstprogramm mit einer ähnlichen Funktionalität wie der cat-Befehl, jedoch für das Netzwerk. Es ist ein Allzweck-CLI-Tool zum Lesen, Schreiben und Umleiten von Daten über ein Netzwerk. Es ist als zuverlässiges Back-End-Tool konzipiert, das mit Skripts oder anderen Programmen verwendet werden kann. Es ist auch ein großartiges Tool zum Debuggen von Netzwerken, da es jede Art von Verbindung herstellen kann, die man braucht.

ncat/nc kann ein Port-Scanning-Tool oder ein Sicherheitstool sein , oder Überwachungstool und ist auch ein einfacher TCP-Proxy . Da es so viele Funktionen hat, ist es als Netzwerk-Schweizer Taschenmesser bekannt. Es ist eines dieser Tools, die jeder Systemadministrator kennen und beherrschen sollte.

In den meisten Debian-Distributionen ist „nc“ verfügbar und sein Paket wird während der Installation automatisch installiert. Aber in der minimalen Installation von CentOS 7 / RHEL 7 finden Sie nc nicht als Standardpaket. Sie müssen mit dem folgenden Befehl installieren.

[[email protected] ~]# yum install nmap-ncat -y

Systemadministratoren können damit ihre Systemsicherheit prüfen, sie können damit die geöffneten Ports finden und sie dann sichern. Administratoren können es auch als Client zum Auditieren von Webservern, Telnet-Servern, Mailservern usw. verwenden. Mit „nc“ können wir jedes gesendete Zeichen kontrollieren und auch die Antworten auf gesendete Anfragen anzeigen.

Wir können es auch veranlassen, vom Kunden gesendete Daten zu erfassen, um zu verstehen, was sie vorhaben.

In diesem Tutorial lernen wir anhand von 10 Beispielen, wie man den Befehl „nc“ verwendet,

Beispiel:1) Hören Sie eingehende Verbindungen ab

Ncat kann im Abhörmodus arbeiten und wir können mit der Option „l“ auf eingehende Verbindungen auf der Portnummer lauschen. Vollständiger Befehl ist,

$ ncat -l Portnummer

Zum Beispiel

$ ncat -l 8080

Der Server beginnt nun, Port 8080 auf eingehende Verbindungen zu überwachen.

Beispiel:2) Verbinden mit einem Remote-System

Um sich mit nc mit einem entfernten System zu verbinden, können wir den folgenden Befehl verwenden,

$ ncat IP_Adresse Portnummer

Nehmen wir ein Beispiel,

$ ncat 192.168.1.100 80

Jetzt wird eine Verbindung zum Server mit der IP-Adresse 192.168.1.100 an Port 80 hergestellt und wir können jetzt Anweisungen an den Server senden. Gerne können wir mit

den kompletten Seiteninhalt abrufen

GET /HTTP/1.1

oder erhalten Sie den Seitennamen,

GET /HTTP/1.1

oder wir können Banner für Betriebssystem-Fingerprinting mit dem Folgenden erhalten,

HEAD / HTTP/1.1

Dadurch erfahren Sie, welche Software zum Ausführen des Webservers verwendet wird.

Beispiel:3) Verbindung zu UDP-Ports herstellen

Standardmäßig stellt das Dienstprogramm nc nur Verbindungen zu TCP-Ports her. Wir können aber auch Verbindungen zu UDP-Ports herstellen, dafür können wir die Option ‚u‘ verwenden,

$ ncat -l -u 1234

Jetzt beginnt unser System, einen UDP-Port „1234“ zu überwachen, wir können dies mit dem folgenden netstat-Befehl überprüfen,

$ netstat -tunlp | grep 1234
udp           0          0 0.0.0.0:1234                 0.0.0.0:*               17341/nc
udp6          0          0 :::1234                      :::*                    17341/nc

Nehmen wir an, wir möchten die UDP-Port-Konnektivität an einen bestimmten Remote-Host senden oder testen, und verwenden Sie dann den folgenden Befehl:

$ ncat -v -u {host-ip} {udp-port}

Beispiel:

[[email protected] ~]# ncat -v -u 192.168.105.150 53
Ncat: Version 6.40 ( http://nmap.org/ncat )
Ncat: Connected to 192.168.105.150:53.

Beispiel:4) NC als Chattool

NC kann auch als Chat-Tool verwendet werden, wir können den Server so konfigurieren, dass er einen Port abhört und dann von einem entfernten Computer am selben Port eine Verbindung zum Server herstellen und mit dem Senden von Nachrichten beginnen kann. Führen Sie auf der Serverseite

aus
$ ncat -l 8080

Führen Sie auf dem Remote-Client-Rechner

aus
$ ncat 192.168.1.100 8080

Beginnen Sie dann mit dem Senden von Nachrichten und sie werden auf dem Serverterminal angezeigt.

Beispiel:5) NC als Proxy

NC kann mit einem einfachen Befehl auch als Proxy verwendet werden. Nehmen wir ein Beispiel,

$ ncat -l 8080 | ncat 192.168.1.200 80

Jetzt werden alle Verbindungen, die zu unserem Server auf Port 8080 kommen, automatisch auf den 192.168.1.200-Server auf Port 80 umgeleitet. Da wir jedoch eine Pipe verwenden, können Daten nur übertragen werden und um die Daten zurückerhalten zu können, müssen wir dies tun Erstellen Sie eine Zwei-Wege-Leitung. Verwenden Sie dazu die folgenden Befehle,

$ mkfifo 2way
$ ncat -l 8080 0<2way | ncat 192.168.1.200 80 1>2way

Jetzt können Sie Daten über den NC-Proxy senden und empfangen.

Beispiel:6) Kopieren von Dateien mit nc/ncat

NC kann auch verwendet werden, um die Dateien von einem System auf ein anderes zu kopieren, obwohl dies nicht empfohlen wird und auf fast allen Systemen standardmäßig ssh/scp installiert ist. Aber nichtsdestotrotz, wenn Sie auf ein System ohne ssh/scp gestoßen sind, können Sie als letzten Versuch auch nc verwenden.

Beginnen Sie mit der Maschine, auf der Daten empfangen werden sollen, und starten Sie nc im Listener-Modus,

$ ncat -l  8080 > file.txt

Führen Sie nun auf dem Computer, von dem Daten kopiert werden sollen, den folgenden Befehl aus,

$ ncat 192.168.1.100 8080 --send-only < data.txt

data.txt ist hier die Datei, die gesendet werden muss. –Send-Only-Option schließt die Verbindung, sobald die Datei kopiert wurde. Wenn Sie diese Option nicht verwenden, müssen Sie Strg + C drücken, um die Verbindung manuell zu schließen.

Wir können mit dieser Methode auch ganze Festplattenpartitionen kopieren, aber es sollte mit Vorsicht durchgeführt werden.

Beispiel:7) Erstellen Sie eine Hintertür über nc/nact

Der NC-Befehl kann auch verwendet werden, um eine Hintertür zu Ihren Systemen zu erstellen, und diese Technik wird tatsächlich häufig von Hackern verwendet. Wir sollten wissen, wie es funktioniert, um unser System zu sichern. Um eine Hintertür zu erstellen, lautet der Befehl,

$ ncat -l 10000 -e /bin/bash

e '-Flag hängt eine Bash an Port 10000 an. Jetzt kann sich ein Client mit Port 10000 auf dem Server verbinden und hat über Bash vollen Zugriff auf unser System,

$ ncat 192.168.1.100 1000

Beispiel:8) Portweiterleitung über nc/ncat

Wir können NC auch für die Portweiterleitung mit Hilfe der Option 'c' verwenden, die Syntax zur Durchführung der Portweiterleitung lautet,

$ ncat -u -l  80 -c  'ncat -u -l 8080'

Nun werden alle Verbindungen für Port 80 auf Port 8080 weitergeleitet.

Beispiel:9) Verbindungs-Timeouts festlegen

Der Listener-Modus in ncat läuft weiter und müsste manuell beendet werden. Aber wir können Timeouts mit der Option „w“,

konfigurieren
$ ncat -w 10 192.168.1.100 8080

Dies führt dazu, dass die Verbindung in 10 Sekunden beendet wird, aber es kann nur auf der Client-Seite und nicht auf der Server-Seite verwendet werden.

Beispiel:10) Erzwinge, dass der Server aktiv bleibt, indem du die Option -k in ncat verwendest

Wenn der Client die Verbindung zum Server trennt, hört der Server nach einiger Zeit auch auf zu hören. Aber wir können den Server zwingen, verbunden zu bleiben und mit der Option 'k' das Port-Listening fortzusetzen. Führen Sie den folgenden Befehl aus,

$ ncat -l -k 8080

Jetzt bleibt der Server aktiv, auch wenn eine Verbindung vom Client unterbrochen wird.

Damit beenden wir unser Tutorial. Bitte zögern Sie nicht, Fragen zu diesem Artikel zu stellen, indem Sie das Kommentarfeld unten verwenden.


Linux
  1. 14 Nützliche „ls“-Befehlsbeispiele unter Linux

  2. 12 nützliche Wget-Befehlsbeispiele unter Linux

  3. 12 IP-Befehlsbeispiele für Linux-Benutzer

  4. 16 nützliche „cp“-Befehlsbeispiele für Linux-Anfänger

  5. ls-Befehl unter Linux:17 nützliche Beispiele erklärt

Linux OD Command Tutorial für Anfänger (6 Beispiele)

Linux w Command Tutorial für Anfänger (5 Beispiele)

Linux ss Command Tutorial für Anfänger (8 Beispiele)

Linux-Suchbefehl für Anfänger (8 Beispiele)

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

12 Nützliche Beispiele für Linux-Datumsbefehle