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 /

Installer og kør CodeCombat Multiplayer-spil på Ubuntu 16.04
CodeCombat er et multiplayer programmeringsspil til at lære at kode. Det er en platform for studerende at lære datalogi, mens de spiller gennem et rig...
HITMAN nu tilgængelig til Linux - Den komplette første sæson
Feral Interactive udgav for nylig HITMAN: Den komplette første sæson til Linux. Hitman er et episodisk stealth-videospil udviklet af IO Interactive og...
Ditch Skype & TeamSpeak - Prøv Discord Voice & Chat-app til spillere
Discord er den eneste gratis og sikre alt-i-en stemme- og tekstchat-app designet til spillere, og den fungerer på både dit skrivebord og din telefon. ...