Windows offre una serie di strumenti utilizzabili dalla finestra del prompt dei comandi cmd
o da Windows PowerShell.
Di molti di essi abbiamo già abbondantemente parlato in altri nostri articoli mentre altri sono stati presentati soltanto per sommi capi.
In questo articolo ci prefiggiamo come obiettivo quello di verificare quali comandi Windows sono più utili per le operazioni sulla rete.
Comandi Windows più noti: Ping, Tracert e Nslookup
Tre comandi che consentono di effettuare verifiche sulla raggiungibilità di qualunque indirizzo mnemonico (del tipo www.google.it) o indirizzo IP.
Con il comando ping
si misura il tempo impiegato dai pacchetti di test (ICMP, Internet Control Message Protocol) per raggiungere la destinazione indicata (un sistema locale o remoto) e ritornare all’origine (latenza).
Il comando ping
può essere utilizzato anche per verificare se un sito web risponde e se è quindi correttamente raggiungibile. Va tenuto presente che alcune configurazioni di rete impediscono l’invio delle risposte ICMP quindi il comando ping
, sebbene il sito web sia raggiungibile, darà sempre Richiesta scaduta.
Nell’articolo Ping cos’è, come funziona e a cosa serve abbiamo visto come funziona il comando ping
in modo approfondito.
Il comando tracert
è utile per verificare il percorso seguito dai pacchetti dati sulle reti informatiche e accertare l’indirizzo di ogni router attraversato per raggiungere la destinazione.
Con il comando tracert
viene inviato un pacchetto dati verso l’indirizzo di destinazione indicato impostando il valore TTL (time-to-live) a 1. Il primo router che riceverà il pacchetto dati, constatando che il campo TTL ha tale valore, viene scartato con una risposta, inviata al mittente, detta ICMP Time Exceeded.
potrà così memorizzare l’indirizzo IP del primo router e il tempo di risposta per poi inviare un nuovo pacchetto con TTL impostato a 2.
Ripetendo l’operazione fino alla ricezione di un ICMP Echo Reply, ovvero la risposta dell’host di destinazione, si potrà avere contezza del percorso seguito dai pacchetti dati.
Eventuali difficoltà di routing – evidenti a causa della presenza di tempi di risposta che s’innalzano improvvisamente lungo il percorso – evidenziano momentanei problemi di congestione sulla rete: Test connessione: cosa fare quando non funziona.
Calcolando anche il tempo trascorso tra l’invio di un pacchetto e l’arrivo del corrispondente messaggio di errore è possibile anche verificare la velocità di risposta dei router.
Con nslookup
, invece, è possibile verificare l’indirizzo o gli indirizzi IP corrispondenti a un indirizzo mnemonico (ad esempio si può stabilire l’IP del server che ospita un certo sito web).
È possibile anche digitare nslookup
seguito da un indirizzo IP per effettuare una ricerca inversa (reverse DNS lookup) e risalire al nome del corrispondente host collegato alla rete Internet.
Nell’articolo Server DNS: come funziona e a cosa serve Nslookup abbiamo presentato tutti i possibili utilizzi del comando nslookup
.
Arp: corrispondenza tra indirizzi IP e indirizzi MAC
Ogni scheda di rete, sia essa Ethernet o WiFi, è dotata di un indirizzo MAC univoco. Esso è unico e non è utilizzato da nessun’altra scheda di rete a livello planetario.
Il comando arp -a
consente di ottenere la corrispondenza tra indirizzi IP e indirizzi MAC all’interno della rete locale. Il protocollo sul quale si basa opera a un livello più basso rispetto al comando ping
riuscendo quindi a ottenere informazioni dai dispositivi collegati a una rete anche nel caso in cui essi non rispondessero alle richieste ICMP. Ne abbiamo parlato nell’articolo ARP, cos’è e cosa sono gli attacchi poisoning.
Nell’approfondimento MAC address, cos’è e a che cosa serve abbiamo visto che cosa sono gli indirizzi MAC.
Annotando i primi tre ottetti di un indirizzo MAC riportato nel responso del comando arp -a
in corrispondenza della colonna Indirizzo fisico quindi digitando nella barra degli indirizzi del browser https://api.macvendors.com/
seguito da tale informazione, si potrà conoscere immediatamente il produttore della scheda con la possibilità di risalire alla tipologia di dispositivo collegato in LAN.
Si noti che i primi tre ottetti dell’indirizzo MAC possono essere digitati con o senza il simbolo “-” di separazione.
La magia di PowerShell: IP pubblico e correlazione tra indirizzi privati usati in rete locale, indirizzi MAC e vendor
Nell’articolo Il mio IP: come trovarlo e a che cosa serve, abbiamo presentato diversi strumenti online per conoscere il proprio indirizzo IP pubblico ovvero quello assegnato dal provider di telecomunicazioni (con cui ci si presenta a ogni server remoto).
Il comando seguente permette di leggere l’indirizzo IP pubblico direttamente dalla finestra di Windows PowerShell:
Lo script PowerShell contenuto in questo archivio compresso, invece, consente di mettere in corrispondenza diretta gli indirizzi IP attualmente usati all’interno della LAN con gli indirizzi MAC e il produttore di ciascuna scheda di rete.
Ovvio che utilità come Nmap e Fing (Dispositivi connessi alla rete locale: trovare le porte aperte) permettono di ottenere lo stesso risultato e offrono alcune funzionalità in più ma lo script PowerShell dimostra cosa è possibile fare con gli strumenti di Windows e un po’ d’ingegno.
Lo script usa dapprima il comando ping
per verificare quali dispositivi connessi in rete locale rispondono alle richieste ICMP per poi usare arp -a
e il servizio web indicato in precedenza per ricavare, rispettivamente, indirizzi MAC e nomi dei produttori delle schede di rete.
Prima di utilizzare lo script, bisognerà eventualmente modificare la riga $Subnet = "192.168.1."
sostituendo l’informazione corretta a seconda della configurazione della propria rete locale.
Lo script potrà quindi essere avviato da una finestra del prompt dei comandi digitando quanto segue:
Pathping: l’unione di Ping e Tracert
Il comando pathping
combina le funzionalità di ping
e tracert
per stabilire in corrispondenza di quali hop (router incontrati lungo il percorso) la latenza cresce o si registrano perdite di pacchetti.
Il comando è utilizzabile semplicemente scrivendo pathping
seguito dall’indirizzo di destinazione (indirizzo IP o indirizzo mnemonico).
Netstat: per verificare le porte aperte sul sistema in uso e le connessioni in corso
Netstat permette di ottenere una lista delle porte TCP e UDP aperte sul sistema in uso. Si tratta di un comando molto versatile, del quale abbiamo parlato a suo tempo nell’articolo Come controllare porte aperte su router e IP pubblico e che consigliamo di usare aprendo il prompt dei comandi con i diritti di amministratore (scrivere cmd
nella casella di ricerca di Windows quindi premere la combinazione di tasti CTRL+MAIUSC+INVIO
) usando la sintassi seguente:
.
In questo modo si otterrà l’elenco delle connessioni già stabilite, in attesa, le porte in ascolto e i processi in esecuzione sul sistema associati a ogni singola porta di comunicazione.
Scrivendo netstat -naob | findstr LISTENING
si può ottenere l’elenco delle sole porte in ascolto (componenti server in attesa di una connessione).
ipconfig: conoscere tutti i dettagli sulla configurazione delle interfacce di rete
Il comando ipconfig /all
è forse uno dei più noti e permette di conoscere non soltanto il nome di ciascuna delle interfacce di rete configurate sul sistema in uso ma ottenerne i corrispondenti dettagli tecnici.
Si può quindi usare il comando ipconfig /all
per conoscere subito l’indirizzo IP privato assegnato alla macchina Windows in uso.
Utilizzando la sintassi ipconfig /all | findstr IPv
si possono ottenere tutti gli indirizzi IPv4 e IPv6 assegnati al sistema.
Sempre con il comando ipconfig /all
, si possono leggere i server DNS in uso, gli indirizzi MAC delle varie interfacce e stabilire se il protocollo DHCP è in uso o meno (configurazione statica o ricevuta dinamicamente su richiesta da parte del router).
I seguenti comandi permettono, rispettivamente, di abbandonare l’utilizzo dell’IP privato correntemente adoperato, di cancellare completamente la cache DNS locale e di richiedere un nuovo IP al server DHCP (che spesso coincide con il router):
ipconfig /release
ipconfig /flushdns
ipconfig /renew
Questi comandi, insieme ad altri, sono utili per la risoluzione dei problemi di rete in ambiente Windows: Windows 10, WiFi non dispone di una configurazione IP valida: come risolvere.
Hostname: per ottenere il nome del sistema Windows in uso
Digitando semplicemente il comando hostname
, è possibile conoscere il nome del dispositivo in uso. Si tratta del nome che appare premendo la combinazione di tasti Windows+R
quindi digitando sysdm.cpl
(Nome completo computer).