Quando si tratta di stabilire reti stabili e sicure, Linux è la prima scelta per la maggior parte di noi. Ciò spiega molte cose, inclusa la vasta gamma di strumenti e comandi di rete forniti da Linux. Puoi trovare un numero apparentemente infinito di utilità di rete che ti consentiranno di configurare reti sicure, monitorarle per problemi, risolvere efficacemente i problemi e così via. L'elenco è, infatti, così ampio che la maggior parte dei tutorial su Internet non tenta nemmeno di coprirli. Ecco perché abbiamo curato questa guida ben congegnata su vari comandi di rete Linux.
Comandi di rete Linux per SysAdmins
Abbiamo cercato di dividere l'intera guida in parti specifiche, in base agli strumenti e al loro utilizzo. È possibile utilizzare molti di questi comandi in diversi scenari. Quindi il loro raggruppamento non è di per sé rigoroso:sono semplicemente qui per aiutarti a visualizzare. Sebbene questa guida non tratterà tutti i comandi di rete Linux, puoi utilizzarla come punto di riferimento ogni volta che rimani bloccato con la rete.
Comandi di rete Linux per la gestione delle interfacce di rete
La configurazione e la gestione delle interfacce di rete è essenziale sia per gli amministratori di sistema che per gli utenti esperti. In questa sezione, esamineremo alcuni comandi di rete fondamentali disponibili in sistemi simili a Unix per questo lavoro.
1. ifconfig
Uno dei comandi di rete più basilari ma potenti per gli amministratori di sistema Linux è ifconfig. È un'utilità di sistema integrata che consente agli utenti di configurare e gestire i parametri dell'interfaccia di rete. Il nome ifconfig sta per “configurazione dell'interfaccia ", ed è lo strumento ideale per verificare se le tue interfacce di rete funzionano correttamente o meno.
$ ifconfig
Chiamandolo senza alcuna opzione verranno fornite informazioni dettagliate sui dispositivi di rete, sulla configurazione e sulle impostazioni correnti.
Puoi usare i -s flag per ottenere informazioni più brevi e concise. Altre opzioni aggiuntive consentono a ifconfig di eseguire attività più impegnative. Consulta la pagina man per le note su come usarli.
2. iwconfig
- -Iwconfig viene utilizzato per configurare interfacce di rete wireless come schede di rete e altro. Può essere utilizzato per configurare vari parametri di rete wireless come il punto di accesso SSID e la frequenza. Supponi di aver identificato la tua interfaccia wireless come wlp2s0 usando ifconfig. Il comando seguente fornirà informazioni di rete relative a questa interfaccia.
$ iwconfig wlp2s0
Utilizzare il comando seguente per modificare la potenza di trasmissione a 20.
$ iwconfig wlp2s0 txpower 20
Esegui di nuovo iwconfig per vedere se il cambiamento nella potenza di trasmissione. Consulta la pagina man per ulteriori opzioni utili.
3. ifstat
Il comando ifstat è una pratica utility che consente agli amministratori di sistema di leggere e monitorare varie statistiche dell'interfaccia di rete come l'utilizzo della larghezza di banda e così via. Il comando seguente ti fornirà le statistiche di esempio ogni SECS secondo.
$ ifstat --scan=SECS
Il comando seguente riporterà la media degli ultimi SECS secondi.
$ ifstat --interval=SECS
Il prossimo genererà eventuali errori.
$ ifstat --errors
Questo strumento fa parte del progetto iproute2 e ha una miriade di opzioni aggiuntive. Controlla la pagina man per ulteriori domande.
4. ethtool
L'utilità ethtool consente agli amministratori di visualizzare e modificare i diversi parametri dei controller dell'interfaccia di rete e dei relativi driver di dispositivo. Può essere utile per identificare e diagnosticare i tuoi dispositivi Ethernet e ti consente di controllare comodamente velocità, duplex e flussi.
$ ethtool eth0
Il comando precedente produrrà i parametri correnti della porta di rete eth0 .
$ ethtool -s eth0 speed 1000 duplex full
Questo comando forza la velocità dell'interfaccia di rete eth0 essere 1000 e imposta il full-duplex. Puoi trovare molte opzioni aggiuntive semplicemente esaminando il manuale.
5. arpwatch
L'utility arpwatch è un robusto strumento di monitoraggio dell'attività ethernet che consente agli amministratori di sistema di tenere facilmente traccia degli accoppiamenti ethernet/indirizzo IP della loro rete. Può essere di estrema importanza per gli amministratori di sistema aziendali e anche per gli utenti esperti di Linux.
Puoi utilizzare arpwatch per guardare un'interfaccia di rete specifica utilizzando -i flag, come mostrato di seguito.
$ sudo arpwatch -i eth0
arpwatch scrive eventuali modifiche o attività insolite su IP o MAC in /var/log/messages . Usa il comando tail su questo file per ottenere nuove informazioni sul tuo traffico ARP. Consulta la pagina man per esplorare altre opzioni disponibili.
6. bmon
Il comando bmon è probabilmente tra i comandi di rete Linux più utili. È un monitor portatile della larghezza di banda e uno stimatore di velocità che può essere utilizzato per acquisire statistiche di rete e visualizzarle in un formato leggibile dall'uomo. L'output di testo programmabile fornito da questo strumento di monitoraggio della rete Linux può essere utilizzato per la creazione di script avanzati.
$ bmon
Il semplice richiamo di questo strumento ti darà una stima in tempo reale delle tue statistiche di rete. Usa il -p flag per ottenere l'output per un'interfaccia specifica.
$ bmon -p wlp2s0
Ci sono molte altre opzioni disponibili:controlla la pagina man per i dettagli completi.
Comandi di rete Linux per la comunicazione
La comunicazione con risorse esterne è lo scopo principale delle reti di sistema. In questa sezione, diamo un'occhiata ad alcuni comandi Linux comuni utilizzati a questo scopo.
7. telnet
Il protocollo telnet è il meccanismo fondamentale alla base della comunicazione bidirezionale, interattiva e orientata al testo nei sistemi Linux. L'utilità telnet di Linux consente a un sistema host di connettersi a un altro sistema client utilizzando questo protocollo di comunicazione. Inserisci semplicemente telnet nel tuo terminale per invocare la shell interattiva.
$ telnet
Ora inserisci open seguito dal nome host/IP del sistema che vuoi connettere in questa shell. Accedi alla guida per ottenere un elenco di tutte le opzioni disponibili.
telnet> open example.com
In alternativa, puoi utilizzare questo comando per connetterti direttamente con un host. Vedi l'esempio sotto.
$ telnet host-machine
Digita le credenziali dell'utente nel prompt e sei pronto per partire.
8. ssh
Il comando ssh è senza dubbio tra i comandi di rete Linux più utilizzati da molti amministratori. Fornisce un'interfaccia per il protocollo Secure Shell e consente una comunicazione senza problemi su una connessione di rete sicura. Può essere utilizzato per gestire server remoti in modo efficace e trasferire file senza problemi.
$ ssh [email protected]
È possibile impostare accoppiamenti di chiavi private/pubbliche e accedere a macchine remote senza digitare le password. Usa il comando seguente per generare la tua chiave ssh.
$ ssh-keygen
Per impostazione predefinita, il comando precedente genera le chiavi utilizzando l'algoritmo crittografico RSA. Usa il -t flag per utilizzare altri algoritmi come DSA.
9. invia posta
Il comando sendmail è una pratica utility che consente agli utenti Linux di inviare messaggi di posta elettronica direttamente dal proprio terminale. Legge l'input standard e invia e-mail a destinatari specifici sulla rete. Questo comando è spesso utile per i server remoti in cui non hai il tuo browser standard per inviare e-mail.
$ echo "Subject: Test" | sendmail [email protected] < mail.txt
Il comando precedente invierà il contenuto del file specificato all'e-mail specificata. Ci sono un sacco di opzioni aggiuntive che puoi usare con sendmail. Consulta la pagina man per ulteriori domande su sendmail.
10. scrivi
La capacità di inviare messaggi tra diversi utenti di sistema è fondamentale per i sistemi multiutente come Linux. Il comando write può essere utilizzato per stabilire sessioni di comunicazione da terminale a terminale in Linux. È un'utilità interattiva e quindi non è possibile utilizzare questo comando di rete all'interno degli script.
$ write user [tty]
Il comando write prende la sintassi sopra menzionata e invia messaggi a utenti specifici oa tutti. Sarà utile quando più utenti utilizzano lo stesso sistema e devono comunicare senza sforzo.
11. posta
Il comando mail è un'utilità essenziale per l'invio di e-mail dal terminale. Nota l'esempio seguente per capire come funziona.
$ mail -s "This is the subject" [email protected] < mail.txt
Le -s flag consente agli utenti di selezionare il proprio oggetto. Puoi inviare e-mail a più destinatari contemporaneamente, come mostrato di seguito.
$ mail -s "This is the subject" [email protected], [email protected] < mail.txt
Usa semplicemente un elenco di destinatari separato da virgole. La -a flag consente agli utenti di inviare allegati con i propri messaggi di posta.
$ mail -s "Subject" -a /tmp/file.pdf [email protected] < mail.txt
12. mailstat
A volte potresti voler elencare le tue statistiche e-mail per diversi motivi. Il comando Linux mailstats ti consentirà di farlo molto facilmente. Questo comando deve essere eseguito come root, altrimenti non funzionerà.
# mailstats -p
Questo comando darà output in modalità leggibile dal programma e fornirà statistiche chiare.
# mailstats -f STAT-FILE
Questo comando leggerà il STAT-FILE specificato invece del file delle statistiche di sendmail predefinito. Controlla la loro pagina man per ulteriori opzioni disponibili e un uso corretto del comando.
13. w
Il comando w fornisce un modo pratico per elencare tutti gli utenti che sono attualmente collegati a una macchina Linux. La sua sintassi è mostrata di seguito.
w [options] user [...]
Questo comando fornisce anche molte informazioni preziose come i processi in esecuzione nella sessione di ciascun utente, l'host di emote, il tempo di accesso, il tempo di inattività, JCPU, PCPU, ecc.
$ w --short
Questo comando fornirà un output conciso omettendo l'ora di accesso, la JCPU o la PCPU.
$ w --ip-addr
Questo comando proverà a mostrare l'indirizzo IP degli utenti attualmente connessi invece dei loro nomi host. Puoi trovare più opzioni nella pagina di manuale.
Comandi di rete per facilitare il trasferimento dei dati
Il trasferimento dei dati su più sistemi è obbligatorio per gli amministratori di sistema. Linux facilita il trasferimento di dati remoti su una rete in modo conveniente e offre alcuni strumenti da riga di comando molto robusti per questo scopo. In questa sezione, diamo un'occhiata ad alcuni di questi comandi.
14. URL
Il comando cURL è uno dei comandi Linux più utilizzati per il trasferimento di dati da o verso un server di rete. Utilizza vari protocolli di rete come HTTP, HTTPS, FTP, FTPS, SCP, SFTP, ecc. Il comando cURL non richiede l'interazione dell'utente e, pertanto, può essere ampiamente utilizzato all'interno di script di shell.
$ curl -O https://somedomain/file
Questo scaricherà il file dall'indirizzo specificato e lo salverà nella directory corrente con il suo nome originale.
$ curl -o new-name https://somedomain/file
Questo comando salva il file scaricato con il nome nuovo-nome . Dal momento che cURL ha una pletora di opzioni disponibili, controllare il manuale è d'obbligo se vuoi padroneggiare questo strumento Linux.
15. wget
Lo strumento wget fa parte del progetto GNU e facilita il download di contenuti dai server web. Offre diverse opzioni utili, inclusa la possibilità di scaricare file in modo ricorsivo, convertire i collegamenti in HTML per la visualizzazione offline, proxy e così via.
$ wget https://somedomain/file
Questo scarica semplicemente il file e lo salva nella directory corrente. Usa il -O flag per salvare questo file con un nuovo nome.
$ wget -O filename https://somedomain/file
Usa la -P flag per salvare il file in un'altra directory.
$ wget -P ~/Downloads https://somedomain/file
wget non è interattivo ed è ampiamente utilizzato per scaricare file da script interni.
16. ftp
L'utilità FTP di Linux è ampiamente utilizzata per scaricare o caricare file su/da host remoti. Questo comando può essere utilizzato all'interno di script per creare sessioni FTP automatizzate molto rapidamente.
$ ftp ftp>
Digitando semplicemente ftp nel terminale si crea una sessione interattiva. È possibile immettere vari comandi in questo prompt per il trasferimento di file tramite FTP. Ad esempio, puoi utilizzare open common per la connessione a un host remoto. Immettere il comando di aiuto per ottenere un elenco di tutti i comandi disponibili.
$ ftp hostname
Puoi anche usarlo per connetterti direttamente a host remoti. Consulta la pagina man per informazioni dettagliate su tutti i comandi disponibili.
17. rcp
L'utilità rcp consente agli utenti di copiare file o directory dal proprio sistema locale su una macchina remota sulla rete. Il comando ha una sintassi come quella di seguito.
rcp [options] SOURCE DESTINATION
Ad esempio, il comando successivo mostra come copiare un file chiamato test.doc su una macchina remota.
$ rcp /parent/dir/test.doc hostname:/some/dir
Puoi anche usare questo comando per ricevere file da un host remoto, come mostrato di seguito.
$ rcp hostname:/some/dir/FILE
Ometti semplicemente la parte di origine durante la ricezione di file.
18. sc
Il comando scp(secure copy) viene utilizzato per copiare file in modo sicuro tra due sistemi di una rete. È simile nella funzionalità al comando rcp ma implementa l'autenticazione sicura come il comando ssh. Puoi copiare sia i file che le directory su macchine remote usando questo pratico comando.
$ scp FILE [email protected]:/some/dir
Il comando precedente copia FILE nella /some/dir del sistema remoto directory. Se l'host remoto sta ascoltando qualche altra porta ssh invece di 22, puoi usare il -P flag per specificarlo.
$ scp -P 2222 FILE [email protected]:/some/dir
Ti invitiamo a controllare la pagina man di scp per esplorare opzioni aggiuntive e i loro casi d'uso.
19. rsync
L'utilità rsync viene utilizzata per trasferire e sincronizzare i file in modo efficiente tra due sistemi collegati tramite una rete. Gli amministratori di sistema spesso lo usano per trasferire file da server NAS esterni alla loro macchina locale. È uno strumento affidabile e ad altissima velocità per copiare file da e verso computer remoti.
$ rsync -zvh backup.tar /tmp/backups/
Il comando precedente sincronizza un file chiamato backup.tar nella directory temporanea. Utilizza -z opzione per comprimere i dati del file, -v per ottenere un output dettagliato e -h per ottenere un output leggibile dall'uomo. Consente inoltre l'accesso tramite shell remota e il demone rsync. Consulta la pagina man per apprenderne l'utilizzo.
20. socat
Lo strumento Linux socat viene utilizzato per stabilire due flussi di byte bidirezionali e consente di trasferire i dati tra di loro in modo molto efficiente. Il comando socat è uno dei comandi di rete Linux più versatili e ha casi d'uso abbastanza diversi.
$ socat SYSTEM:date STDIO
Questo comando prende la data di sistema corrente e la stampa sullo standard input.
$ socat - TCP:localhost:www,crnl
Il comando precedente apre una connessione del server Web al localhost e recupera una pagina sul terminale. Nota come il numero di porta è stato passato come nome di servizio. Questo è un comando molto robusto e supporta molti moduli brevi. Quindi, controlla la loro pagina man per padroneggiarli in modo efficace.
21. sftp
Il comando sftp viene utilizzato per accedere, trasferire e gestire i file utilizzando il protocollo di trasferimento file sicuro. Fondamentalmente, consente agli amministratori di utilizzare FTP su una shell sicura. Se puoi usare i comandi ssh e ftp, usare sftp sarà molto semplice.
$ sftp [email protected]
Questo comando apre una connessione sicura e avvia il prompt FTP. Stabilisce la connessione sulla porta ssh predefinita(22). Poiché molti amministratori di sistema utilizzano numeri di porta personalizzati per ssh al fine di evitare utenti malintenzionati, è necessario passare quel numero di porta per la connessione a tali sistemi.
$ sftp -oPort=CUSTOM-PORT [email protected]
Leggi la pagina man per esplorare tutte le opzioni possibili e il loro utilizzo.
22. sshfs
Il comando sshfs è probabilmente tra i comandi di rete Linux più utili per il montaggio di filesystem remoti. Questo comando ha una sintassi di base ma può rivelarsi una risorsa versatile per gli amministratori di sistema moderni.
$ sshfs [email protected]:/some/dir /mountpoint
Il comando precedente monta il filesystem remoto sul punto di montaggio specificato. Si noti che il punto di montaggio deve essere di proprietà dell'utente affinché questo comando funzioni. Il filesystem remoto verrà smontato automaticamente alla chiusura della connessione. Puoi renderlo permanente modificando /etc/fstab file.
Comandi di rete per l'amministrazione dei criteri di rete
Gli amministratori possono impostare politiche diverse per le loro macchine e reti Linux abbastanza facilmente con alcuni potenti comandi di rete Linux. Alcune di queste attività includono, a titolo esemplificativo, la configurazione dei driver di dispositivo, la configurazione dei criteri di routing, la gestione dei tunnel e così via. In questa sezione, diamo uno sguardo più da vicino ad alcuni dei comandi che facilitano questi lavori.
23. nome host
Il comando hostname è una pratica utility che consente agli amministratori di ottenere o impostare nomi host o nomi di dominio DNS. Viene spesso utilizzato per configurare host dinamici o ottenere informazioni su un host specifico. Digitando semplicemente il nome host nel terminale verrà mostrato il tuo nome host attuale.
$ hostname
Il comando successivo sostituirà il tuo nome host attuale con NEW_HOST_NAME .
$ hostname NEW_HOST_NAME
Il -i flag può essere utilizzato per ottenere l'indirizzo IP corrente del tuo nome host.
$ hostname -i
Ci sono più opzioni che puoi usare con questo comando. Consulta la pagina man per informazioni dettagliate su di essi.
24. iptables
Il comando Linux iptables è, senza dubbio, uno dei comandi di rete Linux più utilizzati dagli amministratori di sistema. Il programma iptables è un programma di utilità per lo spazio utente che consente agli amministratori di configurare le catene iptable e impostare i firewall. È uno strumento di fatto per prevenire il traffico non autorizzato o dannoso verso la tua rete.
$ sudo iptables -L -n -v
Il comando precedente stamperà le regole iptables correnti utilizzate dal tuo sistema. Il comando successivo mostra come bloccare tutte le richieste in arrivo da un IP specifico.
$ sudo iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP
C'è una miriade di possibili comandi iptables e puoi trovare dettagli completi in questo post.
25. percorso
È possibile utilizzare il comando route per visualizzare e manipolare la tabella di routing IP del proprio sistema. Consente agli amministratori di modificare facilmente le tabelle di routing del kernel e impostare le funzionalità desiderate. Questo comando è disponibile anche nei sistemi Microsoft Windows ed è quindi ampiamente utilizzato.
$ sudo route -n
Questo comando elencherà la tabella di routing IP corrente. Il comando successivo mostra come aggiungere un gateway predefinito per la tua macchina.
$ sudo route add default gw xxx.xxx.xxx.xxx
È possibile verificare il nuovo gateway utilizzando il comando precedente. Consulta la pagina del manuale per un elenco completo di tutte le opzioni disponibili.
26. scavare
Il comando dig consente agli amministratori di interrogare il Domain Name System (DNS) per la risoluzione dei problemi di rete e altri scopi. Dig utilizza il resolver DNS predefinito della tua macchina Linux e supporta Internationalized Domain Name (IDN) interrogazioni. L'esempio seguente mostra la facilità con cui dig fornisce informazioni sui record DNS per un host.
$ dig example.com
Usa il +breve opzione per ottenere un output conciso.
$ dig example.com +short
Puoi anche eseguire query su diversi tipi di record di risorse DNS utilizzando MX.
$ dig example.com MX
Leggi la pagina man per comprendere tutti i possibili casi d'uso e le opzioni disponibili.
27. IP
Il comando ip consente agli utenti Linux di sfruttare rapidamente l'utilità IP per manipolare l'instradamento, i dispositivi, l'instradamento dei criteri e i tunnel. È uno strumento molto dinamico e offre numerose opzioni robuste. L'esempio seguente mostra come visualizzare gli indirizzi IP di tutte le interfacce di rete utilizzando questo strumento.
$ ip addr
Puoi utilizzare la forma abbreviata a , invece di indirizzo . Il comando successivo mostra come ottenere informazioni solo per le interfacce attualmente in esecuzione.
$ ip link ls up
L'esempio successivo mostra come assegnare indirizzi IP a un'interfaccia specifica.
$ ip a add 192.168.1.XXX/24 dev eth0
Questo comando supporta un'ampia gamma di opzioni aggiuntive. Quindi, non dimenticare di controllare la pagina man.
28. nslookup
L'utilità nslookup è un potente strumento da riga di comando che consente agli amministratori di sistema di ottenere la mappatura del nome di dominio o dell'indirizzo IP interrogando il Domain Name System. È disponibile nella maggior parte dei sistemi simili a Unix insieme a Windows e ReactOS. Il comando seguente mostra l'utilizzo principale.
$ nslookup example.com
Fornisce informazioni come il nome di dominio e l'indirizzo IP dell'host. I comandi successivi mostrano tutti i record DNS disponibili.
$ nslookup -type=any example.com
Il comando seguente cercherà un record MX per l'host specificato.
$ nslookup -type=mx google.com
Comandi Linux per la diagnosi di rete e la risoluzione dei problemi
La diagnosi efficace delle reti è di maggiore preoccupazione per la maggior parte degli amministratori di sistema. Elenchiamo alcuni comandi utili a questo scopo nella sezione seguente.
29. netstat
L'utilità netstat mostra le connessioni di rete per il protocollo TCP, le tabelle di routing, le statistiche dell'interfaccia di rete, le connessioni mascherate e le appartenenze multicast. È uno dei comandi più utilizzati per la diagnosi di rete.
$ netstat -a | more
Il comando precedente mostra tutti i socket di rete indipendentemente dal loro stato corrente. Usa il comando successivo per visualizzare solo le porte TCP.
$ netstat -at
Sostituisci t con tu se vuoi elencare le porte UDP. Il comando seguente visualizzerà solo le porte in ascolto.
$ netstat -l
Aggiungi t o tu dopo -l se vuoi elencare solo le porte TCP/UDP in ascolto. Controlla la pagina man per tutte le opzioni disponibili.
30. ping
Nei sistemi operativi simili a Unix, il comando ping viene spesso utilizzato per determinare la raggiungibilità di un host su una rete con protocollo Internet. Questo è un comando di rete universale disponibile praticamente in qualsiasi sistema. L'esempio successivo mostra l'utilizzo principale di ping.
$ ping example.com
Questo continuerà a inviare pacchetti all'host fino a quando non lo termini manualmente. Usa -c opzione per specificare il numero di pacchetti.
$ ping -c 5 example.com
Puoi anche determinare la dimensione dei pacchetti usando i -s bandiera.
$ ping -s 40 -i 2 -c 5 example.com
il -i l'opzione viene utilizzata per modificare l'intervallo di tempo da 1 a 2 secondi predefinito.
31. traceroute
Il comando traceroute viene solitamente utilizzato per visualizzare il percorso e misurare i ritardi di transito dei pacchetti attraverso la rete. È uno strumento utile per i moderni amministratori di sistema e offre molte informazioni essenziali. Puoi determinare rapidamente il percorso che un pacchetto prende dalla sua origine alla sua destinazione. È anche utile per determinare la perdita di dati.
$ traceroute -4 10 example.com
Il -4 viene utilizzato per specificare che si sta utilizzando IPv4. Sostituisci 4 con 6 per i pacchetti IPv6.
$ traceroute -g xxx.xxx.xxx.xxx example.com
Il comando precedente instrada i pacchetti attraverso il gateway specificato. Controlla la pagina man per tutte le opzioni disponibili.
32. se superiore
L'utilità iftop è uno dei comandi di rete Linux più utili che fornisce feedback in tempo reale per diversi parametri di rete come l'utilizzo della larghezza di banda. Se hai usato top o htop, iftop sembrerà abbastanza simile a loro. Questo strumento può rivelarsi una valida risorsa per gli utenti Linux moderni grazie alla sua immensa utilità.
$ sudo iftop
L'esecuzione di questo comando come sudo ti fornirà gli attuali utilizzi della larghezza di banda dalle tue interfacce di rete. Puoi specificare quale interfaccia monitorare fornendo -i bandiera.
$ sudo iftop -i wlp2s0
Mostrerà solo le informazioni sull'interfaccia wireless. Ci sono molte altre opzioni disponibili.
33. scarica
L'utilità nload è un altro strumento da riga di comando per monitorare la larghezza di banda della rete. Presenta alcune capacità vantaggiose, come la visualizzazione della quantità totale di dati trasferiti e l'utilizzo minimo/massimo della larghezza di banda. Invocare direttamente nload senza alcun argomento mostrerà l'utilizzo della larghezza di banda di ciascuna interfaccia disponibile.
$ nload
Usa i dispositivi opzioni per specificare un'interfaccia particolare, come mostrato nell'esempio seguente.
$ nload devices wlp1s0
Puoi anche usare il flag -t per impostare l'intervallo di aggiornamento del display in millisecondi.
$ nload devices wlp1s0 -t 400
34. ss
Il comando ss fornisce informazioni utili relative ai socket di rete. Può visualizzare informazioni molto dettagliate rispetto ad altri strumenti di monitoraggio Linux come netstat. Chiamare direttamente ss dal terminale presenta un vasto elenco di tutte le connessioni indipendentemente dal loro stato.
$ ss -l
Puoi specificare di elencare solo i socket di ascolto utilizzando -l bandiera. Il -t flag viene utilizzato per mostrare solo le connessioni TCP.
$ ss -lt
Usa il -p flag per ottenere l'id di processo dei socket attivi, come mostrato di seguito.
$ ss -p
Puoi trovare più opzioni disponibili nella loro pagina man.
35. chi è
L'utilità whois è uno strumento Linux ampiamente utilizzato per ottenere informazioni relative a dominio e IP su una rete. Funziona come client per il protocollo whois e fornisce informazioni interrogando i database whois per le risorse di rete.
$ whois example.com
Il comando precedente stamperà informazioni dettagliate sulle risorse di rete sull'host specificato. Poiché questo comando fornisce molte informazioni, puoi usare grep per ottenere dati specifici.
$ whois example.com | grep -i "Domain ID"
Il comando precedente produrrà le righe che contengono l'ID dominio dell'host specificato. Puoi anche usarlo per ulteriori informazioni come i server dei nomi e lo stato del dominio.
Comandi di rete per l'analisi delle risorse
L'analisi dei pacchetti di rete è estremamente importante sia per gli amministratori di sistema che per i tester di penetrazione. In questa sezione, esamineremo alcuni comandi Linux fondamentali che consentono di farlo in modo efficiente.
36. tcpdump
L'analizzatore di pacchetti della riga di comando di fatto per Linux è tcpdump. Può visualizzare la trasmissione di pacchetti TCP sulla rete in modo molto efficace. Viene comunemente utilizzato per acquisire e analizzare il traffico di rete grazie alla sua disponibilità universale.
$ sudo tcpdump -D
Il comando precedente mostra quali interfacce sono disponibili per l'acquisizione di pacchetti TCP. Puoi facilmente acquisire pacchetti da un'interfaccia specifica con il seguente comando.
$ sudo tcpdump -i eth0
Questo catturerà solo i pacchetti trasmessi attraverso l'interfaccia ethernet predefinita. Dai un'occhiata alla pagina man per esplorare tutte le opzioni possibili.
37. dhclient
L'utilità dhclient è un robusto DHCP (Dynamic Host Configuration Protocol) cliente. Viene spesso utilizzato per analizzare l'indirizzo IP di un client, la subnet mask, il gateway predefinito e le informazioni sul server DNS. Consente inoltre agli amministratori di rilasciare l'indirizzo IP di una specifica interfaccia di rete e ottenerne di nuove.
$ sudo dhclient eth0
Il comando precedente rinnoverà l'indirizzo IP assegnato dinamicamente dell'interfaccia ethernet eth0 .
38. dstat
L'utilità dstat è uno strumento da riga di comando estremamente gratificante per la generazione di statistiche sulle risorse di sistema in Linux. Offre numerose funzionalità robuste e può essere facilmente esteso utilizzando il linguaggio di programmazione Python. È un degno sostituto dell'utilità legacy vmstat.
$ dstat
L'esecuzione di questo comando senza alcuna opzione fornisce una visualizzazione in tempo reale delle statistiche sulle risorse di sistema. Il comando successivo restituisce l'utilizzo della CPU, il processo che utilizza più CPU e il processo che consuma più RAM.
$ dstat -c --top-cpu --top-mem
Consulta la sua pagina man per ulteriori opzioni disponibili.
39. tshark
L'utilità Wireshark è tra gli analizzatori di pacchetti più ricchi di funzionalità. Le sue capacità superano tcpdump di un margine considerevole ed è ampiamente utilizzato in medicina legale. Puoi installarlo facilmente usando il tuo gestore di pacchetti. Il pacchetto della riga di comando si chiama tshark.
$ sudo tshark -D
Questo elencherà tutte le interfacce disponibili che possono essere utilizzate per acquisire il traffico di rete. Il comando successivo mostra come acquisire dati utilizzando l'interfaccia ethernet eth0 .
$ sudo tshark -i eth0
40. hping3
Il comando hping3 viene utilizzato per richiamare l'utilità hping. È un potente analizzatore di pacchetti moderno in grado di acquisire e analizzare/assemblare pacchetti TCP in modo molto efficiente. È disponibile sulla maggior parte dei sistemi Unix, inclusi Linux e BSD.
# sudo hping3
Inizierà la sessione interattiva di hping3 in cui puoi digitare i comandi. Il comando successivo acquisisce il traffico TCP dall'interfaccia eth0.
> hping recv eth0
Puoi anche usare hping al di fuori della sua shell interattiva. Consulta la pagina man per sapere come farlo.
Pensieri finali
Le solide capacità di rete di Linux hanno contribuito in gran parte al suo successo odierno. Indipendentemente dal tipo di strumento di rete che desideri, Linux ti copre. Tuttavia, la pletora di comandi di rete Linux può rendere abbastanza difficile per molti utenti scegliere lo strumento giusto per loro. That’s why our editors took this liberty of pointing out these 40 useful commands for you. You can find at least one tool for any networking activity. Hopefully, we were able to provide the essential insights you were looking for. Leave us a comment if you want to explore some commands in more detail.