Netværk

Send og modtag UDP-pakker via Linux CLI

Send og modtag UDP-pakker via Linux CLI
Vi kender allerede to hovedtransportlagsprotokoller som TCP og UDP. For mere information om TCP og UDP, kan du tjekke referenceafsnittet. I denne artikel lærer vi, hvordan du sender og modtager UDP-pakker via Linux-kommandolinjegrænsefladen (CLI) ved hjælp af nc (hovedsageligt) kommando.

Forventninger:

Her er de vigtigste punkter at lære af denne artikel

  1. At forstå nc kommando i Linux.
  2. Brug nc kommando til afsendelse og modtagelse af UDP-pakker via netværk.
  3. Send nogle menneskelige læsbare sætninger igennem nc kommando.
  4. Fang UDP-pakken sendt af nc kommando.
  5. Tjek netværkspakke i Wireshark.
  6. Find ud af enhver anden kommando end netcat til Linux.

Netcat-kommando:

Netcat (nc) -kommandoen er installeret som standard i Linux OS. Åbn en terminal [Genvej Alt + Ctrl + t], og brug kommandoen nedenfor til at kontrollere, om nc er til stede eller ej.

$ nc

Her er den forventede output

Dette er nc fra netcat-openbsd-pakken. En alternativ NC er tilgængelig
i den netcat-traditionelle pakke.
brug: nc [-46bCDdhjklnrStUuvZz] [-I længde] [-i interval] [-O længde]
[-P proxy_username] [-p source_port] [-q seconds] [-s source]
[-T toskeyword] [-V rtable] [-w timeout] [-X proxy_protocol]
[-x proxy_adresse [: port]] [destination] [port]

Dette betyder, at nc-kommando allerede findes i Linux.

Generelt opsætningsdiagram:

Send UDP-pakke:

Lad os tage et eksempel, som om vi sender UDP-pakke fra system A til system B. Så i server-klientkoncept er vi nødt til at køre server på System B-side og klient på System A-side.

Vi har også gyldige IP-adresser.

System A IP: 192.168.1.6
System B IP: 192.168.1.102

Start server:

For at starte adskillelse ved hjælp af nc-kommando, brug nedenstående kommando i System B terminal

$ nc -u -l 9999

Her er skærmbilledet

Denne kommando har ikke noget output, der skal vises fra nu af. Dette er bare lyttefunktion på port 9999.

Start klient:

For at oprette forbindelse til serveren ved hjælp af nc-kommando, brug nedenstående kommando i System A-terminalen

$ nc -u 192.168.1.102 9999

Nu skal system A oprette forbindelse til system B. Så vi har angivet serverens IP-adresse og portnummer.

Her er skærmbilledet

Tjek forbindelse:

Vi kan kontrollere nedenstående kommando for bekræftelse om klientforbindelse til serverport.

$ netstat | grep 9999

Her er skærmbilledet

Send UDP-pakker:

Nu kan vi sende udp-pakke fra System A til B og omvendt.

Trin 1:

Gå nu til system A og send eventuelle sætninger som

“Hej jeg er fra LinuxHint [System A 192.168.1.6] ”

Skærmbillede:

Trin 2:

Vi skulle kunne se dette på System B-siden. Her er skærmbilledet

Vi kan også sende UDP-pakker fra System B til System A.

Trin 1:

Gå til System B og send sætning som

"Hej jeg er fra LinuxHint [System B 192.168.1.102] "

Her er skærmbilledet fra System B

Trin 2:

Her er skærmbilledet fra System A

Tjek pakker i Wireshark:

Nu mens vi har sendt UDP-pakker fra System A til System B og omvendt, kan vi starte Wireshark i enten System A eller System B. Her har vi capture-filen, lad os lave nogle analyser og bekræfte, om denne server og klientkommunikation brugte UDP-protokol.

Bemærk, at vi kun analyserer den første kommunikation:

System A har sendt:

“Hej jeg er fra LinuxHint [System A 192.168.1.6] ”

Til:

System B [192.168.1.102].

Vi bruger filter “Udp.port == 9999 ” for kun at få relaterede pakker i Wireshark. Se nedenstående skærmbillede for analyse fra Wireshark capture:

Se linket nedenfor for at vide, hvordan du bruger Wireshark

https: // linuxhint.com / wireshark_basics_how_to_use /

Anden kommando til at sende UDP-pakker:

Der er en anden metode til at sende UDP-pakker

Kør server på System B:

$ nc -u -l 8000

Kør under kommando ved System A:

$ echo -n "hej"> / dev / udp / 192.168.1.102/8000
192.168.1.102: System B's IP
8000: Serverporten
Besked sendt: “hej”

Men vi er i stand til kun at sende en gang “hej”. Hvis vi dræber server og kører igen, fungerer det.

Konklusion:

Fra ovenstående øvelse har vi lært mekanismen til at sende nogle beskeder ved hjælp af UDP-protokol. Og den bedste metode er at bruge nc kommando i Linux.

Referencer:

For at forstå TCP: https: // linuxhint.com / tcp_packet_capture_analysis /
For at forstå UDP: https: // linuxhint.com / udp_wireshark_analysis /

Sådan downloades og afspilles Sid Meiers Civilization VI på Linux
Introduktion til spillet Civilization 6 er et moderne udtryk for det klassiske koncept, der blev introduceret i serien af ​​Age of Empires-spil. Ideen...
Sådan installeres og afspilles Doom på Linux
Introduktion til undergang Doom-serien opstod i 90'erne efter frigivelsen af ​​den originale Doom. Det var et øjeblikkeligt hit, og fra den tid af har...
Vulkan til Linux-brugere
Med hver nye generation af grafikkort ser vi spiludviklere skubbe grænserne for grafisk troskab og komme et skridt tættere på fotorealisme. Men på tro...