IoT Grundlagen

So simulieren Sie einen TCP/UDP-Client mit Netcat

María Hernández
· 3 Minuten Lesezeit
Per E-Mail versenden

In dieser Anleitung stellen wir das Client-Server-Modell und zeigen Ihnen, wie Sie mit einem nützlichen Tool namens Netcat einen TCP/UDP-Client simulieren , sodass Sie eine Verbindung über das eigene Terminal Ihres Computers 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 andere Serververbindung), der Verbindungen akzeptiert und Datenübertragungen über ein einfaches Protokoll wie TCP oder UDP verwaltet.

Um mehr über die Verwaltung Ihrer Daten mit Ubidots , erfahren Sie, wie Sie Daten über TCP oder UDP Ubidots .

Was ist Netcat?

Netcat ist ein Netzwerkdienstprogramm, das mithilfe des TCP/IP-Protokolls Daten über Netzwerkverbindungen liest und schreibt. Netcat wurde als zuverlässiges „Back-End“-Tool konzipiert und kann direkt mit anderen Programmen und Skripten verwendet werden, um Dateien von einem Client an einen Server und zurück zu senden. Gleichzeitig handelt es sich um ein funktionsreiches Tool zum Debuggen und Erkunden von Netzwerken, das Netzwerkparameter angeben und gleichzeitig über einen Tunnel eine Verbindung zu einem Remote-Host herstellen kann.

Obwohl Netcat viele Dinge tun kann, besteht sein Hauptzweck und die wünschenswertesten Funktionen darin:

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 vom Server zum Client und umgekehrt zu übertragen. (Das ist der wirklich coole Teil).

Ein Diagramm der Datenprotokollarchitektur von Netcat ist unten 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, die natürlich auch zwischen verschiedenen Maschinen genutzt werden können.

Syntax

nc [-options] Hostname Port[s] [Ports] nc -l -p Port [-options] [Hostname] [Port]

Grundparameter

  • -l: Setzt 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 kann Ihr PC in einen Server umgewandelt werden. Sie sollten als Server beginnen, der Port 2399 :

$ nc -l 2399

Clientseite eine Verbindung zum kürzlich geöffneten Port ( 2399 ) :

$ nc localhost 2399

Wie Sie im Bild unten sehen können, ist die Verbindung hergestellt:

Nachdem die Verbindung hergestellt ist, können Sie nun vom Client Server :

$ nc localhost 2399 Hallo Server

In dem Terminal, auf dem der Server läuft, werden Ihre Textdateien nahtlos angezeigt.

$ nc -l 2399 Hallo Server

UDP-Client

Standardmäßig verwendet Netcat TCP UDP mit der Option -u verwenden

Wie oben erwähnt, mit Netcat Ihren PC in einen Server umwandeln. Hier stellen wir die Verbindung zwischen dem Server und dem Client über UDP her.

auf der Serverseite den folgenden Befehl aus. Wie Sie sehen, müssen Sie dem Befehl -u UDP- Verbindung herzustellen:

$ nc -u -l 2399

Sobald Sie den Server starten, stellen Sie die Verbindung mit dem Client :

$ nc -u localhost 2399

Jetzt verwenden Client und Server UDP zur Kommunikation. Sie können die Kommunikation mit dem Befehl netstat in einem neuen (dritten) Computerterminal ü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 durch die Verbindung überprüft:

Mit dieser Einführung in Netcat haben Sie nun ein besseres Verständnis dafür, wie Sie dieses fortschrittliche Tool zum schnellen und effizienten Senden von Daten zwischen Client und Server verwenden können. Weitere Informationen finden Sie auf der Netcat-Projekthomepage

Viel Spaß beim Hacken! 🙂