Rete

Comandi di rete avanzati di Linux

Comandi di rete avanzati di Linux
I comandi nslookup e host per interrogare i record DNS
Il comando dig per interrogare i record DNS
Il comando traceroute per diagnosticare problemi di rete network
Il comando scp per trasferire file tra dispositivi
Il comando nc (netcat) per scansionare porte e trasferire file
Il comando rsync per clonare le directory tra i dispositivi

Il presente tutorial è una continuazione dei Basic Linux Network Commands, nonostante inizi con semplici comandi per la ricerca DNS, tutti i comandi sono essenziali per diagnosticare i problemi. In questo tutorial vengono mostrati e brevemente spiegati alcuni esempi per ogni comando.

I comandi nslookup e host per interrogare i record DNS

Secondo Wikipedia”nslookup è uno strumento da riga di comando di amministrazione di rete disponibile in molti sistemi operativi per computer per interrogare il Domain Name System (DNS) per ottenere la mappatura del nome di dominio o dell'indirizzo IP o altri record DNS."

Nell'esempio seguente viene utilizzato il comando nslookup per risolvere l'indirizzo IP di linuxhint.come.

nslookup linuxhint.come

L'esempio seguente mostra i record mx per linuxhint.com applicando l'opzione -tipo=mx.

nslookup -type=mx linuxhint.come

In alternativa è possibile utilizzare il comando host per ottenere sia la risoluzione di ricerca che i record mx:

host linuxhint.come

Il comando dig per interrogare i record DNS

Il scavare comando (Domain Information Groper) necessita di una descrizione più lunga per comprendere il suo output (controlla la sezione Understanding dig command output)

scavare linuxhint.come

Dove (Comprensione dell'output del comando dig):

La prima riga ; <<>> DiG 9.11.5-P4-5.1-Debian <<>> linuxhint.come mostra la versione dig utilizzata.
Le seguenti righe specificano che dig ha ottenuto una risposta a una query senza errori, il suo numero ID, la sezione dei flag in questo caso mostra che sta stampando una risposta alla query (qr), la ricorsione desiderata (rd) e la ricorsione disponibile (ra). Il resto stampa la quantità di risultati.

;; Ho avuto risposta:
;; ->>INTESTAZIONE<<- opcode: QUERY, status: NOERROR, id: 6034
;; bandiere: qr rd ra; DOMANDA: 1, RISPOSTA: 1, AUTORITÀ: 0, AGGIUNTIVA: 1

Le righe successive mostrano la compatibilità EDNS (Meccanismi di estensione per DNS), mentre la sezione Domande mostra ciò che è stato chiesto (linuxhint.com Indirizzo).

;; OPZIONE PSEUDOSEZIONE:
; EDNS: versione: 0, flag:; udp: 512
;; SEZIONE DOMANDA:
;linuxhint.come.

La sezione delle risposte fornisce il risultato, linuxhint.com indirizzo IP (A).

;; SEZIONE RISPOSTA:
linuxhint.come. 3599 IN  LA 64.91.238.144

Il resto è una descrizione aggiuntiva su come è stata eseguita la query, ora, server DNS e dimensioni.

;; Tempo di interrogazione: 192 msec
;; SERVO: 8.8.8.8#53(8.8.8.8)
;; QUANDO: mar set 10 22:45:54 -03 2019
;; MSG SIZE  rcvd: 58

È importante evidenziare tutto da tutti sopra menzionati solo le righe senza ";" sono rilevanti, le righe che iniziano con “;” sono commenti.
Per impostazione predefinita, dig funziona tramite il nostro DNS locale (su Linux specificato nel file /etc/resolv.conf). Possiamo specificare un DNS aggiungendo a @ prefisso.
L'esempio seguente indica a dig di usare 1.1.1.1 DNS ed evita tutti i commenti con l'opzione +corto.

scava @1.1.1.1 linuxhint.com +corto

Per concludere l'introduzione a dig, un ultimo esempio che mostra i record CNAME per LinuxHInt:

scavare linuxhint.com CNAME

Puoi usare dig per ottenere qualsiasi tipo di record DNS come i record MX.

Il comando traceroute per diagnosticare problemi di rete network

Tutti i moderni sistemi operativi includono la funzione traceroute (spiegata di recente in Nmap traceroute). Questa funzione è eccellente per diagnosticare problemi di rete, inclusi test di velocità e pacchetti che non possono raggiungere la destinazione. Quando il traffico passa attraverso Internet, ogni intermediazione del dispositivo di routing è chiamata "hop", traceroute aiuta a identificare quali hop stanno influenzando in qualche modo il nostro traffico, ad esempio ritardandolo o bloccandolo.

L'esempio seguente mostra un semplice traceroute, senza opzioni, per linuxhint.come

traceroute linuxhint.come

Nell'esempio sopra vedi 15 hop o dispositivi di routing dal mio router locale 192.168.0.1 per raggiungere linuxhint.com, alcuni degli hop, 2, 10 e 11 non rispondono ai pacchetti traceroute (* * *).
Prendiamo una sola riga per verificare:

3  10.172.102.109 (10.172.102.109)  16.695 ms  20.178 ms  22.081 ms

Sul lato destro puoi vedere il tempo di andata e ritorno (RTT), dà tre volte perché di default traceroute invia 3 pacchetti, puoi modificarlo applicando il -q opzione.

L'esempio seguente mostrerà solo un risultato RTT per riga:

traceroute -q 1 linuxhint.come

Nel caso in cui una connessione sia lenta o non sia possibile raggiungere la destinazione utilizzando traceroute è possibile determinare quale hop sta generando il problema.

Il comando scp per trasferire file tra dispositivi

Il comando scp è un comando che ogni amministratore o utente dovrebbe conoscere per trasferire file tra dispositivi Linux, è stato ampiamente spiegato in Utilizzo del comando scp, ma verrà citato anche in questo tutorial.

Il primo esempio mostra come copiare un file da un computer remoto al computer locale, la sintassi è:

scp [email protected]:/percorso/di/file/remoto  /local/directory/dove/di/salvare/il/file

Dove:
scp = chiama il programma
Nome utente = sostituiscilo con il nome utente corretto
@ = separa nome utente e host/ip
X.X.X.X = sostituiscilo con l'host/ip corretto.
:/percorso/di/file/remoto = determina la posizione remota del file da recuperare.

/local/directory/dove/salvare/il/file = sostituiscilo con la directory locale in cui vuoi memorizzare il file.

Nel mio caso, mi collego al dispositivo remoto con IP 192.168.0.1 utilizzando l'utente linuxhint per copiare il Vagrantfile file che è memorizzato nella home directory dell'utente linuxhint, e lo copio nella home dell'utente locale chiamato condivisa.

scp [email protected]:/home/linuxhint/Vagrantfile  /home/shared/

L'esempio seguente mostra come copiare un file locale su un dispositivo remoto:

scp /home/shared/Vagrantfile [email protected]:/home/linuxhint/Desktop

Dove:
scp = chiama il programma
NOME DEL FILE = nome del file da trasferire
Nome utente = sostituiscilo con il nome utente corretto
@ = separa nome utente e host/ip
X.X.X.X = sostituiscilo con l'host/ip corretto
:/remoto/directory = determinare la posizione remota in cui archiviare il file trasferito.

Il comando nc per trasferire file e scansionare porte

Il nc Il comando (netcat) è tra gli strumenti più utili per gli amministratori di sistema, nc è utile per molte attività come reindirizzamento, scansione delle porte, diagnostica del server, trasferimento di file, monitoraggio della rete e altro monitoring. Questo tutorial mostra due esempi di nc comando utilizzato per scansionare le porte e trasferire file sulla rete.

L'esempio seguente mostra come viene utilizzato nc per inviare un file chiamato "linuxhint" da un computer a un altro tramite la porta 22.

Sul computer di destinazione eseguire il seguente comando:

nc -l 22 > linuxhint

Sul computer mittente eseguire:

nc 192.168.0.14 22 < linuxhint

Controllo che il file sia presente eseguendo ls

L'esempio seguente mostra come viene utilizzato nc per scansionare la porta dell'intervallo 22-80 su linuxhint.come

nc -z -v linuxhint.com 22-80

Il comando rsync per clonare e file directory tra dispositivi

Il comando rsync è un ottimo strumento per clonare file e directory da un dispositivo all'altro, può essere utile per mantenere la sincronizzazione in tempo reale tra i dispositivi, è possibile mantenere il backup aggiornato, creare uno script per la protezione continua dei dati e altro ancora. I seguenti 2 esempi mostrano come sincronizzare file e directory da e verso un server.

La sintassi per copiare un file da un server a una directory è:

rsync  @:

Nell'esempio seguente copio il file denominato linuxhint nella directory corrente o di lavoro (.)

rsync [email protected]:/home/linuxhint/linuxhint

Controllo il trasferimento dei file con eseguendo  ls nella directory di lavoro

L'esempio seguente mostra come clonare una directory locale su un server remoto, la sintassi è:

rsync  -avz   @
:

In questo esempio pratico clono una directory denominata rsync nella directory Desktop del linuxhint utente sul server remoto.

rsync -avz rsync/ [email protected]:/home/linuxhint/Desktop

Dove:
a= archivio
z= comprimere
v= verbosità

Spero che tu abbia trovato questa descrizione su importanti comandi di rete Linux utile per capire la loro importanza quando si lavora con le reti. Continua a seguire LinuxHint per nuovi suggerimenti e aggiornamenti su Linux e il networking.

Giochi rimasterizzati in HD per Linux che non hanno mai avuto una versione Linux prima
Molti sviluppatori ed editori di giochi stanno realizzando remaster HD di vecchi giochi per prolungare la vita del franchise, per favore i fan richied...
Come utilizzare AutoKey per automatizzare i giochi Linux
AutoKey è un'utilità di automazione desktop per Linux e X11, programmata in Python 3, GTK e Qt. Utilizzando la sua funzionalità di scripting e MACRO, ...
Come mostrare il contatore FPS nei giochi Linux
I giochi Linux hanno avuto una grande spinta quando Valve ha annunciato il supporto Linux per il client Steam e i loro giochi nel 2012. Da allora, mol...