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/

Linux Cal-Befehls-Tutorial
In Linux- und Unix-ähnlichen Systemen ist die „cal”Befehl ist ein Befehlszeilen-Dienstprogramm zum Drucken von Kalendern auf dem Terminal. “Kal” ist e...
Linux Free Command Tutorial
Im Linux-Betriebssystem möchten einige Benutzer Anwendungen installieren, um zu überprüfen, wie viel verwendet wird und freier RAM verfügbar ist. Die ...
Was ist Banner unter Linux?
Das Bannerprogramm zeigt ASCII-Zeichenketten in Großbuchstaben auf der Standardausgabe in Linux-Distributionen an. Interessant wird es, wenn sich jema...