Wie man einen TCP/UDP-Client mit Netcat simuliert
In diesem Leitfaden stellen wir Ihnen das Client-Server-Modell vor und zeigen Ihnen, wie Sie mit Hilfe des nützlichen Tools Netcat einen TCP/UDP-Client simulieren können – damit Sie über das Terminal Ihres Computers eine Verbindung herstellen können.
Wie funktioniert also das Client-Server-Modell im Internet der Dinge? Der Client ist das Gerät, das die Kommunikation initiiert. Der Server ist Ubidots (oder eine beliebige andere Serververbindung), der Verbindungen annimmt und Datentransfers über ein einfaches Protokoll wie TCP oder UDP verwaltet.
Um mehr über die Verwaltung Ihrer Daten mit Ubidots, informieren Sie sich darüber, wie Sie Daten Ubidots über TCP oder UDP.
Was ist Netcat?
Netcat ist ein featured Netzwerktool, das Daten über Netzwerkverbindungen mittels des TCP/IP-Protokolls liest und schreibt. Als zuverlässiges Backend-Tool konzipiert, kann Netcat direkt mit anderen Programmen und Skripten verwendet werden, um Dateien zwischen Client und Server auszutauschen. Gleichzeitig bietet es umfangreiche Funktionen zur Netzwerkanalyse und -detektion, mit denen Netzwerkparameter festgelegt und Verbindungen zu entfernten Hosts über einen Tunnel hergestellt werden können.
Obwohl Netcat vieles kann, sind seine Hauptzwecke und seine wichtigsten Funktionen:
1. Erstellen Sie einen ersten Socket, um eine Verbindung vom Server zum Client herzustellen.
2. Sobald die Verbindung hergestellt ist, generiert Netcat automatisch einen zweiten Socket, um Dateien zwischen Server und Client zu übertragen. (Das ist der wirklich spannende Teil.)
Nachfolgend ist ein Diagramm der Datenprotokollarchitektur von Netcat dargestellt:
Wie Sie weiter unten sehen werden, ist diese einfache Lösung auch außerordentlich leistungsstark und flexibel. Der Einfachheit halber verwenden wir lokale Verbindungen; diese können aber natürlich auch zwischen verschiedenen Rechnern genutzt werden.
Syntax
nc [-Optionen] Hostname Port(s) [Ports] nc -l -p Port [-Optionen] [Hostname] [Port]
Grundlegende Parameter
- -l: Aktiviert den „Listen“-Modus und wartet auf eingehende Verbindungen.
- -p: lokaler Port.
- -u: Legt den UDP-Modus fest.
Testen Sie Ihr Netcat-Verständnis als Client-Server
Öffnen Sie zwei Computerterminals – das erste fungiert als Server und das zweite als Client.
TCP-Client
Mit Netcat lässt sich Ihr PC in einen Server verwandeln. Sie sollten zunächst als Server konfigurieren, der auf Port 2399.
$ nc -l 2399
Wir können den Server auch nutzen, um von der Clientseite aus eine Verbindung zum kürzlich geöffneten Port ( 2399 ) herzustellen :
$ nc localhost 2399
Wie Sie dem Bild unten entnehmen können, ist die Verbindung hergestellt:
Nachdem die Verbindung hergestellt wurde, können Sie nun vom Client aus auf den Server schreiben :
$ nc localhost 2399 Hello Server
Im Terminal, in dem der Server läuft, werden Ihre Textdateien nahtlos angezeigt.
$ nc -l 2399 Hello Server
UDP-Client
Standardmäßig verwendet Netcat das TCP- Protokoll zur Kommunikation – mit der Option -u kann aber auch UDP verwendet werden
Wie bereits erwähnt, Netcat die Umwandlung Ihres PCs in einen Server. Hier stellen wir die Verbindung zwischen Server und Client über UDP her.
Führen Sie auf dem Server den folgenden Befehl aus. Wie Sie sehen, müssen Sie dem Befehl lediglich die Option -u hinzufügen, um die UDP -Verbindung herzustellen:
$ nc -u -l 2399
Sobald der Server gestartet ist, stellen Sie die Verbindung zum Client:
$ nc -u localhost 2399
Client und Server kommunizieren nun über UDP. Sie können die Kommunikation mit dem Befehl netstat in einem neuen (dritten) Terminal überprüfen.
$ netstat | grep 2399 udp 0 0 localhost:2399 localhost:57508 ESTABLISHED
Wie Sie unten sehen können, wird die Nachricht vom Server empfangen und die Übertragung von der Verbindung verifiziert:
Mit dieser Einführung in Netcat verstehen Sie nun besser, wie Sie dieses fortschrittliche Tool zum schnellen und effizienten Datenaustausch zwischen Client und Server nutzen können. Weitere Informationen finden Sie auf der Netcat-Projekt-Homepage
Viel Spaß beim Hacken! 🙂