Vernetzung

Senden und Empfangen von UDP-Paketen über Linux CLI

Senden und Empfangen von UDP-Paketen über Linux CLI
Wir kennen bereits zwei Hauptprotokolle der Transportschicht wie TCP und UDP. Weitere Informationen zu TCP und UDP finden Sie im Referenzabschnitt. In diesem Artikel erfahren Sie, wie Sie UDP-Pakete über die Linux-Befehlszeilenschnittstelle (CLI) senden und empfangen nc (hauptsächlich) Befehl.

Erwartungen:

Hier sind die wichtigsten Punkte, die Sie aus diesem Artikel lernen können

  1. Verstehen nc Befehl unter Linux.
  2. Benutzen nc Befehl zum Senden und Empfangen von UDP-Paketen über das Netzwerk.
  3. Senden Sie einige für Menschen lesbare Sätze durch nc Befehl.
  4. Erfassen Sie das von . gesendete UDP-Paket nc Befehl.
  5. Netzwerkpaket in Wireshark prüfen.
  6. Finden Sie einen anderen Befehl als netcat für Linux heraus.

Netcat-Befehl:

Der Befehl Netcat(nc) ist standardmäßig im Linux-Betriebssystem installiert. Öffnen Sie ein Terminal [Tastenkombination Alt+Strg+t] und verwenden Sie den folgenden Befehl, um zu überprüfen, ob nc vorhanden ist oder nicht.

$nc

Hier ist die erwartete Ausgabe

Dies ist nc aus dem netcat-openbsd-Paket. Eine alternative NC ist verfügbar
im netcat-traditionellen Paket.
Verwendung: nc [-46bCDdhjklnrStUuvZz] [-I Länge] [-i Intervall] [-O Länge]
[-P proxy_username] [-p source_port] [-q Sekunden] [-s source]
[-T toskeyword] [-V rtable] [-w timeout] [-X proxy_protocol]
[-x proxy_address[:Port]] [Ziel] [Port]

Dies bedeutet, dass der nc-Befehl bereits in Linux vorhanden ist.

Allgemeines Setup-Diagramm:

UDP-Paket senden:

Nehmen wir ein Beispiel, wie wir ein UDP-Paket von System A an System B senden werden. Im Server-Client-Konzept müssen wir also den Server auf der Seite von System B und den Client auf der Seite von System A ausführen.

Außerdem haben wir gültige IP-Adressen.

System-A-IP: 192.168.1.6
System-B-IP: 192.168.1.102

Server starten:

Um den Server mit dem nc-Befehl zu starten, verwenden Sie den folgenden Befehl im System B-Terminal

$ nc -u -l 9999

Hier ist der Screenshot

Dieser Befehl hat derzeit keine Ausgabe zum Anzeigen. Dies ist nur der Abhörmodus auf Port 9999.

Client starten:

Um eine Verbindung zum Server mit dem nc-Befehl herzustellen, verwenden Sie den folgenden Befehl im System A-Terminal

$ nc -u 192.168.1.102 9999

Jetzt muss sich System A mit System B verbinden. Daher haben wir die Server-IP-Adresse und die Portnummer bereitgestellt.

Hier ist der Screenshot

Überprüfen Sie Ihre Verbindung:

Wir können den folgenden Befehl überprüfen, um die Clientverbindung zum Serverport zu bestätigen.

$ netstat | grep 9999

Hier ist der Screenshot

UDP-Pakete senden:

Jetzt können wir UDP-Pakete von System A nach B senden und umgekehrt.

Schritt 1:

Gehen Sie nun zu System A und senden Sie beliebige Sätze wie

„Hallo, ich bin von LinuxHint[System A 192“.168.1.6]”

Bildschirmfoto:

Schritt 2:

Wir sollten dies auf der Seite von System B sehen können. Hier ist der Screenshot

Wir können auch UDP-Pakete von System B an System A senden.

Schritt 1:

Gehen Sie zu System B und senden Sie einen Satz wie

"Hallo, ich bin von LinuxHint[System B 192".168.1.102]"

Hier ist der Screenshot von System B

Schritt 2:

Hier ist der Screenshot von System A

Pakete in Wireshark prüfen:

Während wir nun UDP-Pakete von System A zu System B und umgekehrt gesendet haben, können wir Wireshark entweder in System A oder System B starten. Hier haben wir die Capture-Datei, lassen Sie uns eine Analyse durchführen und bestätigen, ob diese Server- und Client-Kommunikation das UDP-Protokoll verwendet.

Beachten Sie, dass wir nur die erste Kommunikation analysieren:

System A hat gesendet:

„Hallo, ich bin von LinuxHint[System A 192“.168.1.6]”

Zu:

System B [192.168.1.102].

Wir werden Filter verwenden „udp.Port == 9999” um nur verwandte Pakete in Wireshark zu erhalten. Siehe den folgenden Screenshot für die Analyse der Wireshark-Erfassung:

Um zu erfahren, wie Sie Wireshark verwenden, lesen Sie den folgenden Link

https://linuxhint.com/wireshark_basics_how_to_use/

Anderer Befehl zum Senden von UDP-Paketen:

Es gibt eine andere Methode zum Senden von UDP-Paketen

Server auf System B ausführen:

$ nc -u -l 8000

Führen Sie den folgenden Befehl auf System A aus:

$ echo -n "hallo" >/dev/udp/192.168.1.102/8000
192.168.1.102: IP von System B
8000: Der Server-Port
Nachricht gesendet: „Hallo“

Aber wir können nur einmal "Hallo" senden. Wenn wir den Server beenden und erneut ausführen, funktioniert es.

Fazit:

Aus der obigen Übung haben wir den Mechanismus zum Senden einiger Nachrichten über das UDP-Protokoll gelernt. Und die beste Methode ist zu verwenden nc Befehl unter Linux.

Verweise:

TCP verstehen: https://linuxhint.com/tcp_packet_capture_analysis/
Um UDP zu verstehen: https://linuxhint.com/udp_wireshark_analysis/

Herunterladen und Spielen von Sid Meier's Civilization VI unter Linux and
Einführung in das Spiel Civilization 6 ist eine moderne Version des klassischen Konzepts, das in der Reihe der Age of Empires-Spiele eingeführt wurde....
So installieren und spielen Sie Doom unter Linux
Einführung in Doom Die Doom-Serie entstand in den 90er Jahren nach der Veröffentlichung des ursprünglichen Doom. Es war sofort ein Hit und seitdem hat...
Vulkan für Linux-Benutzer
Mit jeder neuen Grafikkartengeneration stoßen Spieleentwickler an die Grenzen der grafischen Wiedergabetreue und kommen dem Fotorealismus einen Schrit...