Lesen und Schreiben sind die grundlegenden Operationen, die auf Daten in jedem System angewendet werden können. TCP wird als Transmission Control Protocol abgekürzt und ist ein verbindungsorientiertes Kommunikationsprotokoll, das Computern in einem Netzwerk das Senden und Empfangen von Nachrichten erleichtert. Es ist das am weitesten verbreitete Protokoll in Netzwerken, die das Internet Protocol (IP) verwenden. es wird manchmal als TCP/IP bezeichnet, wenn es gemeinsam verwendet wird. UDP, abgekürzt als User Datagram Protocol, ist ein Kommunikationsprotokoll, das verwendet wird, um Verbindungen mit niedriger Latenz und verlusttoleranten Verbindungen zwischen Anwendungen im Internet aufzubauen. In diesem Artikel besprechen wir den Befehl „Netcat“, der zum Lesen und Beschreiben von Festplatten über Netzwerke mit TCP- und UDP-Protokollen unter Ubuntu 20.04 (Linux OS) verwendet wird.
Die Netcat-Dienstprogrammanwendung enthält mehrere Anweisungen zum Verwalten von Netzwerken und zum Überwachen des Datenniveaus zwischen Systemen. Die TCP- und UDP-Protokolle sind die Grundlage von Computernetzwerken wie dem Internet. Es gilt als das Schweizer Taschenmesser unter den Netzwerktools und gehört zu den effektivsten Tools im Arsenal von Netzwerk- und Systemadministratoren. Netcat ist ein plattformübergreifendes Programm, das unter Linux, Windows, Mac OS X und BSD läuft. Netcat kann zum Debuggen und Analysieren von Verbindungsproblemen sowie zum Scannen nach offenen Ports, zum Übertragen von Daten und zum Agieren als Proxy verwendet werden.
Verwenden von Netcat zum Lesen und Schreiben von Daten im gesamten Netzwerk
Auf macOS und gängigen Linux-Distributionen wie Ubuntu und Debian ist das Netcat-Paket vorinstalliert. Einige der „Netcat“-Dienstprogramme werden unten erwähnt.
- Port-Scanning über Netcat durchführen
- Dateien über Netcat senden
- Erstellen Sie einen Webserver über Netcat
Syntax:
$ nc [options] host port |
Auf Ubuntu-Systemen wird entweder „nc“ oder „netcat“ verwendet.
Es wird eine TCP-Verbindung hergestellt, um standardmäßig Host/Hosts und Port/Ports von Netcat bereitzustellen. Verwenden Sie die Option -u, wenn Sie eine UDP-Verbindung erstellen möchten.
$ nc -u host port |
Port-Scanning über Netcat durchführen
Eine der am weitesten verbreiteten Netcat-Anwendungen ist das Scannen von Ports. Sie haben die Möglichkeit, einen einzelnen Port oder eine Reihe von Ports zu scannen.
TCP:
Nach offenen Ports suchen:
Um die offenen Ports im Bereich von 30-60 mit Netcat zu scannen, führen Sie den unten genannten Befehl aus:
$ nc -z -v 10.0.2.15 30-60 |
-z weist NC an, nur nach offenen Ports zu suchen und keine Daten an sie zu senden.
-v sagt die Info über verbose.
Filtern Sie das Ergebnis mit dem grep-Befehl:
$ nc -z -v 10.0.2.15 2>&1 | grep succeeded |
In diesem Bereich war keine Verbindung erfolgreich.
UDP:
Fügen Sie dem Skript einfach den Parameter -u hinzu, um im unten genannten Befehl nach UDP-Ports zu suchen:
$ nc -z -v -u 10.0.2.15 30-60 |
Es gibt keinen UDP-Port in diesem Bereich.
Senden von Dateien über Netcat
Durch die Einrichtung eines grundlegenden Client- oder Servermodells kann Netcat verwendet werden, um Daten von einem Host zu einem anderen zu transportieren. Dies wird erreicht, indem die Option -l auf dem empfangenden Host verwendet wird, um Netcat so einzustellen, dass es einen bestimmten Port überwacht, dann eine Standard-TCP-Verbindung von mehreren Computern herstellt und die Datei darüber überträgt.
Führen Sie den unten genannten Befehl auf der Empfängerseite aus, der Port 6666 für eingehende Verbindungen öffnet und das Ausgabeergebnis in die Datei umleitet:
$ nc -l 6666 > linux1.txt |
Linux1.txt ist der Dateiname, der zum Schreiben geöffnet werden soll, und Sie können den Dateinamen Ihren Anforderungen entsprechend ändern.
Jetzt wird der empfangende Host mit dem sendenden Host verbunden und sendet die Datei:
$ nc google.com 6666 < linux2.txt |
Erstellen eines Webservers über Netcat
Erstellen Sie zunächst eine einfache HTML-„linux, html“-Datei mit dem nano-Befehl:
$ nano linux.html |
Geben Sie den unten aufgeführten Inhalt ein oder fügen Sie Inhalte gemäß Ihren Anforderungen gemäß den HTML-Dateiregeln hinzu.
<html> <head> <title> Linux<title> <head> <html> |
Speichern Sie mit „Strg+S“ und schließen Sie die Datei mit „Strg+X“.
$ printf 'HTTP/1.1 200 OK\n\n%s' "$(cat linux.html)" | netcat -l 8888 |
Jetzt können Sie im Browser über den unten angegebenen Link auf die Datei zugreifen:
http://server-ip:8888 |
Schlussfolgerung:
Netcat ist ein grundlegendes Linux-Dienstprogramm, das die TCP/UDP-Protokolle zum Lesen und Schreiben von Daten über Netzwerkverbindungen verwendet. Es soll ein zuverlässiges Backend-Tool sein, das direkt oder einfach von anderen Anwendungen und Programmen betrieben werden kann. Dieser Artikel enthält Informationen über die Verwendung von Netcat mit TCP- und UDP-Protokoll und einige andere Anwendungen wie das Scannen von Ports, das Senden von Dateien und das Erstellen eines Webservers.