Invia e ricevi i pacchetti UDP tramite Linux CLI

Invia e ricevi i pacchetti UDP tramite Linux CLI
Sappiamo già due protocolli di strati di trasporto principali come TCP e UDP. Per ulteriori informazioni su TCP e UDP, è possibile controllare la sezione di riferimento. In questo articolo, impareremo come inviare e ricevere i pacchetti UDP tramite l'interfaccia della linea di comando Linux (CLI) utilizzando nc (principalmente) comando.

Aspettative:

Ecco i punti chiave da imparare da questo articolo

  1. Capire nc Comando in Linux.
  2. Utilizzo nc Comando per l'invio e la ricezione di pacchetti UDP tramite la rete.
  3. Invia alcune frasi leggibili umane nc comando.
  4. Catturare il pacchetto UDP inviato da nc comando.
  5. Controlla il pacchetto di rete in Wireshark.
  6. Scopri qualsiasi altro comando diverso da NetCat per Linux.

Comando netcat:

Il comando NetCat (NC) è installato per impostazione predefinita in Linux OS. Apri un terminale [scorciatoia alt+ctrl+t] e usa il comando sotto per verificare se NC è presente o meno.

$ NC

Ecco l'output previsto

Questo è NC dal pacchetto Netcat-Openbsd. È disponibile un NC alternativo
Nel pacchetto NetCat-Traditional.
Utilizzo: NC [-46bcddhjklnrstuuvzz] [-i lunghezza] [-i intervallo] [-o lunghezza]
[-P proxy_username] [-p source_port] [-q secons] [-s Source]
[-T toskeyword] [-v rtable] [-w timeout] [-x proxy_protocol]
[-x proxy_address [: port]] [destinazione] [porta]

Questo significa che il comando NC esiste già in Linux.

Diagramma di configurazione generale:

Invia pacchetto UDP:

Facciamo un esempio come invieremo il pacchetto UDP dal sistema A al sistema B. Quindi, nel concetto di server-cliente, dobbiamo eseguire il server sul lato del sistema B e il client sul sistema un lato.

Inoltre abbiamo indirizzi IP validi.

Sistema a IP: 192.168.1.6
Sistema B IP: 192.168.1.102

Avvia il server:

Per avviare Sever utilizzando il comando NC Utilizzo di seguito nel comando del sistema B

$ nc -u -l 9999

Ecco lo screenshot

Questo comando non ha alcun output da mostrare fino ad ora. Questa è solo modalità di ascolto sulla porta 9999.

Avvia il cliente:

Per connettersi al server utilizzando il comando NC Utilizzo di seguito nel comando nel sistema un terminale

$ nc -u 192.168.1.102 9999

Ora il sistema A deve connettersi al sistema B. Quindi abbiamo fornito l'indirizzo IP del server e il numero di porta.

Ecco lo screenshot

Controlla la connessione:

Possiamo controllare il comando seguente per la conferma sulla connessione client alla porta del server.

$ netstat | GREP 9999

Ecco lo screenshot

Invia pacchetti UDP:

Ora possiamo inviare pacchetto UDP dal sistema A a B e viceversa.

Passo 1:

Ora vai al sistema A e invia frasi come

“Ciao vengo da Linuxhint [sistema A 192.168.1.6] "

Immagine dello schermo:

Passo 2:

Dovremmo vederlo nel lato del sistema B. Ecco lo screenshot

Possiamo anche inviare pacchetti UDP dal sistema B al sistema A.

Passo 1:

Vai al sistema B e invia una frase come

"Ciao vengo da Linuxhint [Sistema B 192.168.1.102] "

Ecco lo screenshot dal sistema B

Passo 2:

Ecco lo screenshot dal sistema a

Controlla i pacchetti in Wireshark:

Ora, mentre abbiamo inviato pacchetti UDP dal sistema A al sistema B e al Vice verso, possiamo iniziare WireShark nel sistema A o nel sistema B. Qui abbiamo il file di acquisizione, facciamo alcune analisi e confermiamo se questo server e la comunicazione client hanno utilizzato il protocollo UDP.

Si noti che analizzeremo solo la prima comunicazione:

Il sistema A ha inviato:

“Ciao vengo da Linuxhint [sistema A 192.168.1.6] "

A:

Sistema B [192.168.1.102].

Useremo il filtro “UDP.porta == 9999 " per ottenere solo pacchetti correlati a Wireshark. Fare riferimento a screenshot di seguito per l'analisi dalla cattura di Wireshark:

Per sapere come utilizzare WireShark, fai riferimento al link

https: // linuxhint.com/wireshark_basics_how_to_use/

Altro comando per inviare pacchetti UDP:

C'è un altro metodo per inviare pacchetti UDP

Esegui il server sul sistema B:

$ nc -u -l 8000

Esegui il comando sotto sul sistema A:

$ echo -n "ciao">/dev/udp/192.168.1.102/8000
192.168.1.102: IP del sistema B
8000: la porta del server
Messaggio inviato: "ciao"

Ma siamo in grado di inviare solo una volta "ciao". Se uccidiamo Server e Rerun, funziona.

Conclusione:

Dall'esercizio di cui sopra abbiamo imparato il meccanismo per inviare alcuni messaggi usando il protocollo UDP. E il metodo migliore è usare nc Comando in Linux.

Riferimenti:

Per capire TCP: https: // linuxhint.com/tcp_packet_capture_analysis/
Per capire UDP: https: // linuxhint.com/udp_wireshark_analysis/