Netwerken

UDP-pakketten verzenden en ontvangen via Linux CLI

UDP-pakketten verzenden en ontvangen via Linux CLI
We kennen al twee belangrijke transportlaagprotocollen zoals TCP en UDP. Voor meer informatie over TCP en UDP kunt u de referentiesectie raadplegen:. In dit artikel zullen we leren hoe u UDP-pakketten kunt verzenden en ontvangen via de Linux-opdrachtregelinterface (CLI) met nc (voornamelijk) commando.

Verwachtingen:

Dit zijn de belangrijkste punten om uit dit artikel te leren

  1. Begrijpen nc commando in Linux.
  2. Gebruik nc commando voor het verzenden en ontvangen van UDP-pakketten via het netwerk.
  3. Stuur enkele voor mensen leesbare zinnen door nc opdracht.
  4. Leg het UDP-pakket vast dat is verzonden door nc opdracht.
  5. Controleer netwerkpakket in Wireshark.
  6. Ontdek een ander commando dan netcat voor Linux.

Netcat-opdracht:

De opdracht Netcat(nc) is standaard geïnstalleerd in Linux OS. Open een terminal [Snelkoppeling Alt+Ctrl+t] en gebruik onderstaande opdracht om te controleren of nc aanwezig is of niet.

$nc

Hier is de verwachte output

Dit is nc van het netcat-openbsd pakket. Er is een alternatieve nc beschikbaar
in het netcat-traditionele pakket.
gebruik: nc [-46bCDdhjklnrStUuvZz] [-I lengte] [-i interval] [-O lengte]
[-P proxy_gebruikersnaam] [-p bron_poort] [-q seconden] [-s bron]
[-T toskeyword] [-V rtable] [-w time-out] [-X proxy_protocol]
[-x proxy_address[:poort]] [bestemming] [poort]

Dit betekent dat het nc-commando al bestaat in Linux.

Algemeen Opstellingsschema:

UDP-pakket verzenden:

Laten we een voorbeeld nemen, zoals we een UDP-pakket van systeem A naar systeem B sturen. Dus in het server-clientconcept moeten we de server aan de systeem B-kant en de client aan de systeem A-kant draaien.

We hebben ook geldige IP-adressen.

Systeem A IP: 192.168.1.6
Systeem B IP: 192.168.1.102

Startserver:

Om de server te starten met het nc-commando, gebruikt u het onderstaande commando in de System B-terminal:

$ nc -u -l 9999

Hier is de schermafbeelding

Deze opdracht heeft vanaf nu geen uitvoer om te tonen. Dit is gewoon luistermodus op poort 9999.

Klant starten:

Om verbinding te maken met de server met behulp van de nc-opdracht, gebruikt u de onderstaande opdracht in System A-terminal:

$ nc-u 192.168.1.102 9999

Nu moet systeem A verbinding maken met systeem B. Dus we hebben het IP-adres en poortnummer van de server verstrekt.

Hier is de schermafbeelding

Controleer verbinding:

We kunnen de onderstaande opdracht controleren voor de bevestiging over de verbinding van de client met de serverpoort:.

$ netstat | grep 9999

Hier is de schermafbeelding

UDP-pakketten verzenden:

Nu kunnen we udp-pakket van systeem A naar B verzenden en vice versa.

Stap 1:

Ga nu naar systeem A en stuur zinnen als

"Hallo, ik ben van LinuxHint [System A 192".168.1.6]”

Schermafbeelding:

Stap 2:

We zouden dit in systeem B-kant moeten kunnen zien. Hier is de schermafbeelding

We kunnen ook UDP-pakketten van systeem B naar systeem A sturen.

Stap 1:

Ga naar Systeem B en stuur een zin als

"Hallo, ik ben van LinuxHint [System B 192".168.1.102]"

Hier is de schermafbeelding van Systeem B

Stap 2:

Hier is de schermafbeelding van Systeem A

Pakketten controleren in Wireshark:

Terwijl we UDP-pakketten van systeem A naar systeem B en vice versa hebben verzonden, kunnen we Wireshark starten in systeem A of systeem B. Hier hebben we het opnamebestand, laten we wat analyse doen en bevestigen of deze server en clientcommunicatie het UDP-protocol hebben gebruikt.

Merk op dat we alleen de eerste communicatie zullen analyseren:

Systeem A heeft verzonden:

"Hallo, ik ben van LinuxHint [System A 192".168.1.6]”

Naar:

Systeem B [192.168.1.102].

We zullen filter gebruiken “udp.poort == 9999” om alleen gerelateerde pakketten in Wireshark te krijgen. Raadpleeg onderstaande schermafbeelding voor analyse van Wireshark-opname:

Raadpleeg onderstaande link voor meer informatie over het gebruik van Wireshark:

https://linuxhint.com/wireshark_basics_how_to_use/

Ander commando om UDP-pakketten te verzenden:

Er is een andere methode om UDP-pakketten te verzenden

Voer server uit op systeem B:

$ nc -u -l 8000

Voer onderstaande opdracht uit op systeem A:

$ echo -n "hallo" >/dev/udp/192.168.1.102/8000
192.168.1.102: IP van systeem B
8000: De serverpoort
Bericht verzonden: "hallo"

Maar we kunnen maar één keer "hallo" sturen. Als we de server doden en opnieuw uitvoeren, werkt het.

Conclusie:

Uit de bovenstaande oefening hebben we het mechanisme geleerd om enkele berichten te verzenden met behulp van het UDP-protocol. En de beste methode is om te gebruiken nc commando in Linux.

Referenties:

Om TCP te begrijpen: https://linuxhint.com/tcp_packet_capture_analysis/
Om UDP te begrijpen: https://linuxhint.com/udp_wireshark_analysis/

Hoe dd Command op Linux te gebruiken
dd is een opdrachtregelprogramma dat wordt gebruikt om bestanden op Linux te converteren en te kopiëren. dd heeft veel toepassingen in Linux. U kunt b...
Traceroute gebruiken op Debian 9
traceroute is een krachtige netwerktool op Linux. Het wordt gebruikt om de routes te vinden die een pakket aflegt. De informatie is erg handig voor he...
Slaapcommando in Linux
Het slaapcommando wordt gebruikt om een ​​vaste hoeveelheid tijd uit te stellen tijdens de uitvoering van een script. Wanneer de codeur de uitvoering ...