Se sei mai stato gettato nella parte profonda dell’amministrazione di rete – sia che si tratti di utilizzare la maggior parte delle versioni di Windows, macOS, o anche molti tipi di OS di tipo Unix – hai avuto il vantaggio di utilizzare gli strumenti basati su GUI integrati nei loro sistemi.
Tuttavia, a volte bisogna rimboccarsi le maniche e sporcarsi le mani usando direttamente la riga di comando. In questo articolo, andremo oltre ad alcuni strumenti a riga di comando “di cui non si può fare a meno” di cui potreste aver sentito parlare ma che non avevate capito fossero a portata di mano. Sia che tu stia lavorando da una versione di Linux che si avvia direttamente ad un prompt BASH, eseguendo il Terminale da OS X, o il prompt dei comandi sotto un sistema operativo Windows (nota che per questi comandi specifici, PowerShell si comporta esattamente come un prompt dei comandi), a volte i vecchi modi sono i migliori.
Prima di tutto, quale sistema operativo stai usando? Questo contesto è tutto. Alcuni interruttori in un comando in Windows, per esempio, richiedono una barra in avanti, mentre nei sistemi operativi Unix-like, o macOS, richiedono una barra rovesciata. Detto questo, il sistema operativo utilizzato detta il modo in cui il prompt dei comandi è aperto. Andremo avanti e assumeremo che possiate trovare il collegamento nel Dock, sul desktop, o attraverso Windows -> Cerca programmi e file e arriviamo alla carne dell’argomento.
PING
Senza dubbio, uno dei comandi più utili che potete usare da qualsiasi prompt dei comandi è ping. Creato nel 1983, questo programma di base ma incredibilmente flessibile verifica le risposte di rete da altri sistemi che sono sulla vostra rete o sono raggiungibili dalla vostra rete. Invia un piccolo (64 byte, nella maggior parte dei casi) pacchetto di dati a un host remoto, chiedendo una risposta. Questo vi permette di valutare lo stato del sistema remoto e la sua accessibilità. Per usare il ping al suo livello più elementare, digitate semplicemente:
ping
Così, per “pingare” un server situato a 192.168.0.1, digitate quanto segue, seguito dal tasto Invio:
ping 192.168.0.1
Nota che se non conosci l’indirizzo IP esatto, nella maggior parte dei casi, il nome del dominio reale (www.google.com, per esempio) sarà sufficiente. Questo chiede ad un sistema remoto: “Ci sei? Stai ricevendo pacchetti di dati? Quanto tempo ti ci vorrà per rispondermi?”. Mentre alcuni switch possono differire, la sintassi del comando ping di base rimane la stessa in tutti i sistemi operativi.
TRACEROUTE
Se ping ci dice se un sistema remoto è in ascolto e possibilmente raggiungibile, cosa possiamo imparare sul percorso per raggiungerlo? È qui che traceroute (o, nella nomenclatura di Windows, tracert) diventa utile. Traceroute vi informerà del percorso attraverso vari sistemi di rete fino al sistema remoto. Come ping, si usa il comando, seguito dall’indirizzo IP o dal nome dell’host che si sta cercando.
La sintassi segue:
traceroute
Su Windows la sintassi è:
tracert
Traceroute restituirà quindi il percorso, il percorso di server e router che i pacchetti stanno prendendo per arrivare a un host (sistema remoto).
WHOIS
Non siete in grado di determinare chi possiede un dominio dentro o fuori la vostra rete? Spesso, il comando whois può essere esattamente ciò che il medico ha ordinato. Una sorta di strumento di “snooping”, questo può restituire il nome della persona o dell’organizzazione che possiede un dominio remoto. (Nota: ho detto “può”, non necessariamente “lo farà”.) Utile per alcune ragioni, ha alcune insidie. Vale a dire, si basa su informazioni che possono cambiare, o diventare datate rimanendo invariate. Notate anche che il comando whois non è di default parte dell’ambiente della shell dei comandi di Windows. Tuttavia, al momento di questo articolo uno strumento whois può essere scaricato da Microsoft direttamente all’indirizzo https://docs.microsoft.com/en-us/sysinternals/downloads/whois.
L’uso di whois è, di nuovo, abbastanza semplice. Sia che venga eseguito da Windows (dopo averlo aggiunto, vedi sopra!) o direttamente dal terminale o da un altro prompt dei comandi, la sintassi è:
whois
Ancora una volta, dobbiamo sottolineare: Il comando whois può basarsi su informazioni datate, quindi potrebbe non restituire dati accurati ogni volta. Uno degli usi più comuni di whois è quello di determinare le informazioni di contatto quando i vostri sistemi vengono spammati o attaccati da un particolare dominio.
NETSTAT
Se siete sicuri di chi sono tutti, e dove si trovano tutti, allora netstat può dirvi quali porte e quali applicazioni su quali indirizzi IP vengono utilizzate. Queste informazioni possono essere estremamente utili per rintracciare applicazioni difettose o malware che stanno tentando di uscire allo scoperto dalla vostra rete.
Netstat si avvia dalla riga di comando come le altre applicazioni:
netstat
Il comando restituirà lo stato attuale delle connessioni della macchina locale, e specificherà attraverso quali porte, e attraverso quali applicazioni, si connette alla rete. L’unica opzione di netstat che discuteremo qui è -n; non cerca di fare ricerche DNS su ogni connessione, il che significa che restituisce risultati più velocemente e rende netstat utile in ambienti dove il DNS non è disponibile.
IPCONFIG
Questo è uno strumento speciale, molto utile (spesso più degli altri che abbiamo discusso sopra) per la risoluzione dei problemi di rete da riga di comando. Usato da solo, ipconfig restituirà la configurazione della connessione di rete della vostra macchina locale: Quale indirizzo IP è stato distribuito dalla vostra rete, se un cavo è scollegato localmente o meno, quanti adattatori (sia reali che virtuali) avete nella macchina locale, qual è il vostro “default gateway” (percorso fuori dalla rete), e così via. Di per sé, queste informazioni sono davvero molto utili, e si ottengono semplicemente usando:
ipconfig
Tuttavia, il comando è molto più potente quando si usano le sue opzioni. In un pizzico, se altri tipi di reimpostazione della rete non riescono a riportare la macchina locale in rete, ipconfig ha due opzioni che (a differenza di altre applicazioni) menzioneremo brevemente qui.
In primo luogo, c’è -release. Questa opzione dice alla macchina locale di “lasciar andare” qualsiasi configurazione di rete data alla macchina locale da un host di rete o da un server di dominio. Per usarla, basta usare la seguente sintassi:
ipconfig -release
Ora, lo stato della rete della macchina locale è completamente disconnesso. (In un contesto software; i cavi sono ancora attaccati, le schede di rete, sia cablate che wireless, sono ancora funzionanti). Usate questo comando con cautela. Se la vostra rete è attiva e funzionante e tutto è come dovrebbe essere sulla macchina locale, non rilasciate la macchina locale senza una buona ragione. Potreste non avere i diritti amministrativi per riconnettervi alla rete, o peggio potreste togliere un sistema di produzione o mission critical dalla rete!
Ma, indipendentemente, una volta eseguito il comando di cui sopra, assumendo che tutto il resto sia uguale, l’altra parte di ipconfig che è utile è l’opzione -renew. Mentre -release fa andare la macchina locale, -renew dice alla macchina di uscire, ottenere un nuovo indirizzo IP dal server dhcp, e riconnettersi alla rete.
La sua sintassi è semplicemente la seguente:
ipconfig -renew
A volte, ma non sempre, usare ipconfig -release e ipconfig -renew può aiutare un sistema a riconnettersi alla rete eliminando potenziali conflitti IP o “svegliando” il controller di dominio di rete alla presenza della macchina locale sulla rete.
IFCONFIG
Il comando ifconfig è per Linux e sistemi simili. Come il comando ipconfig di Windows, ifconfig, se usato senza alcuna opzione, può restituire lo stato di un controller di rete, notare l’indirizzo IP e lo stato di un sistema locale, e così via. La sintassi è semplicemente la seguente:
ifconfig
Con opzioni aggiuntive, ifconfig può anche essere usato per configurare direttamente l’indirizzo IP di un sistema host e cambiare immediatamente i parametri delle interfacce di rete.
IWCONFIG
Il comando iwconfig, mentre è simile a ifconfig in quanto permette il monitoraggio e la configurazione di un’interfaccia di rete, è specifico per le connessioni wireless. Può visualizzare i parametri di un’interfaccia di rete wireless, proprio come fa ifconfig:
iwconfig
Diversamente, come ifconfig, può essere usato con opzioni di comando per cambiare, al volo, opzioni con l’interfaccia di rete, inclusa la regolazione della modalità operativa dell’interfaccia se necessario.
Come ipconfig, sia ifconfig che iwconfig devono essere usati con cura. Cambiare le impostazioni di un’interfaccia di rete funzionante potrebbe inavvertitamente rimuovere il sistema dalla rete, e potresti non avere i privilegi o i permessi corretti per riconnetterti!
Vuoi saperne di più?
In Windows, puoi visualizzare un file di aiuto digitando -h dopo qualsiasi comando. Questo file spiegherà brevemente quali opzioni sono disponibili. Comandi più complessi con opzioni di switch più complesse hanno file di aiuto proporzionalmente più grandi, quindi preparatevi a scorrere all’indietro per trovarli! Per esempio, ping -h nel prompt dei comandi di Windows restituirà tutte le opzioni.
Per visualizzare i file di aiuto su Unix e sui sistemi operativi derivati, digitate -help.
Ci siamo avventurati solo nella parte più superficiale dei compiti che possono essere svolti dalla linea di comando di una macchina locale. Se sei un aspirante amministratore di rete, vale la pena di diventare esperto di linea di comando. Alcuni dei più potenti server di rete non impiegano nemmeno un desktop di base, e richiedono abilità di tastiera piuttosto che sapere semplicemente quale icona cliccare.