Nätverk

Skicka och ta emot UDP-paket via Linux CLI

Skicka och ta emot UDP-paket via Linux CLI
Vi känner redan till två huvudtransportlagerprotokoll som TCP och UDP. För mer information om TCP och UDP, se referensavsnittet. I den här artikeln kommer vi att lära oss att skicka och ta emot UDP-paket via Linux-kommandoradsgränssnittet (CLI) med hjälp av nc (huvudsakligen) kommando.

Förväntningar:

Här är de viktigaste punkterna att lära av den här artikeln

  1. Att förstå nc kommando i Linux.
  2. Använda sig av nc kommando för att skicka och ta emot UDP-paket via nätverket.
  3. Skicka några mänskliga läsbara meningar igenom nc kommando.
  4. Fånga UDP-paketet skickat av nc kommando.
  5. Kontrollera nätverkspaketet i Wireshark.
  6. Ta reda på något annat kommando än netcat för Linux.

Netcat-kommando:

Netcat (nc) -kommandot är installerat som standard i Linux OS. Öppna en terminal [Genväg Alt + Ctrl + t] och använd kommandot nedan för att kontrollera om nc finns eller inte.

$ nc

Här är den förväntade produktionen

Detta är nc från paketet netcat-openbsd. Ett alternativt NC är tillgängligt
i det netcat-traditionella paketet.
användning: nc [-46bCDdhjklnrStUuvZz] [-I längd] [-i intervall] [-O längd]
[-P proxy_username] [-p source_port] [-q seconds] [-s source]
[-T toskeyword] [-V rtable] [-w timeout] [-X proxy_protocol]
[-x proxy_address [: port]] [destination] [port]

Det betyder att nc-kommandot redan finns i Linux.

Allmänt inställningsdiagram:

Skicka UDP-paket:

Låt oss ta ett exempel som att vi skickar UDP-paket från system A till system B. Så i server-klientkoncept måste vi köra server på System B-sidan och klient på System A-sidan.

Vi har också giltiga IP-adresser.

System A IP: 192.168.1.6
System B IP: 192.168.1.102

Starta server:

För att börja bryta med nc-kommandot, använd kommandot nedan i System B-terminalen

$ nc -u -l 9999

Här är skärmdumpen

Det här kommandot har ingen utdata att visa från och med nu. Detta är bara lyssningsläge på port 9999.

Starta klient:

För att ansluta till servern med nc-kommando, använd kommandot nedan i System A-terminalen

$ nc -u 192.168.1.102 9999

Nu måste system A ansluta till system B. Så vi har angett serverns IP-adress och portnummer.

Här är skärmdumpen

Kontrollera anslutning:

Vi kan kontrollera kommandot nedan för bekräftelse om klientanslutning till serverport.

$ netstat | grep 9999

Här är skärmdumpen

Skicka UDP-paket:

Nu kan vi skicka udp-paket från system A till B och vice versa.

Steg 1:

Gå nu till system A och skicka meningar som

“Hej jag är från LinuxHint [System A 192.168.1.6] ”

Skärmdump:

Steg 2:

Vi borde kunna se detta på System B-sidan. Här är skärmdumpen

Vi kan också skicka UDP-paket från System B till System A.

Steg 1:

Gå till System B och skicka mening som

"Hej jag är från LinuxHint [System B 192.168.1.102] "

Här är skärmdumpen från System B

Steg 2:

Här är skärmdumpen från System A

Kontrollera paket i Wireshark:

Medan vi har skickat UDP-paket från System A till System B och vice versa kan vi starta Wireshark i antingen System A eller System B. Här har vi fångningsfilen, låt oss analysera och bekräfta om denna server och klientkommunikation använde UDP-protokoll.

Observera att vi bara analyserar den första kommunikationen:

System A har skickat:

“Hej jag är från LinuxHint [System A 192.168.1.6] ”

Till:

System B [192.168.1.102].

Vi använder filter “Udp.port == 9999 ” för att bara få relaterade paket i Wireshark. Se skärmdump nedan för analys från Wireshark-inspelning:

För att veta hur man använder Wireshark, se länken nedan

https: // linuxhint.com / wireshark_basics_how_to_use /

Annat kommando för att skicka UDP-paket:

Det finns en annan metod för att skicka UDP-paket

Kör server på System B:

$ nc -u -l 8000

Kör under kommandot vid System A:

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

Men vi kan bara skicka en gång “hej”. Om vi ​​dödar server och kör om igen fungerar det.

Slutsats:

Från ovanstående övning har vi lärt oss mekanismen för att skicka några meddelanden med UDP-protokoll. Och den bästa metoden är att använda nc kommando i Linux.

Referenser:

För att förstå TCP: https: // linuxhint.com / tcp_packet_capture_analysis /
För att förstå UDP: https: // linuxhint.com / udp_wireshark_analysis /

Vulkan för Linux-användare
Med varje ny generation grafikkort ser vi spelutvecklare driva gränserna för grafisk trohet och komma ett steg närmare fotorealism. Men trots all kred...
OpenTTD vs Simutrans
Att skapa din egen transportsimulering kan vara rolig, avkopplande och extremt lockande. Det är därför du måste se till att du testar så många spel so...
OpenTTD-handledning
OpenTTD är ett av de mest populära affärssimuleringsspelen där ute. I det här spelet måste du skapa en underbar transportaffär. Du kommer dock att bör...