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 /

Linux-kommandon för diskutrymme
Denna handledning visar Linux-kommandon för insamling av diskutrymmeinformation. Kommandona som förklaras här är df och du, Dessutom visar handledning...
Så här listar du alla Linux-enheter
Hur man listar skivenheter i Linux med lsblk Det rätta sättet att lista blockeringsenheter som hårddiskar är att använda kommandot lsblk. # lsblk -a ...
Linux df-kommando
Det finns gott om verktyg där ute som erbjuder sömlösa metoder för att kontrollera diskutrymmeutnyttjandet. Dessa verktyg är extremt användbara för at...