Quando si installa un router e preferibilmente anche su base periodica, è importante verificare la lista delle eventuali porte aperte sull’IP pubblico ovvero raggiungibili dalla rete Internet.
Nell’approfondimento Router, le operazioni da fare per renderlo sicuro, al punto 6) Disattivare UPnP e controllare il port forwarding, abbiamo visto che strumenti gratuiti come il test di Gibson Research aiutano a stabilire se e quali porte di comunicazione risultassero aperte.
In alternativa si può usare un programma come Nmap che ha il vantaggio di permettere la scansione di altri sistemi, anche diversi dai propri: Nmap, cos’è e come funziona il re dei port scanner.
Scoprire le porte aperte con PortQry per Windows
Il funzionamento logico della rete Internet si basa sul protocollo TCP/IP e ogni dispositivo collegato è identificato univocamente con un indirizzo IP.
I protocolli TCP e UDP vengono utilizzati al livello di trasporto ma mentre il primo garantisce la costruzione di una comunicazione affidabile tra mittente e destinatario, il secondo è di tipo connectionless ovvero consente l’invio dei pacchetti senza accertarsi della loro effettiva ricezione. TCP, che integra meccanismi di controllo dell’errore sui pacchetti dati, possiede funzionalità di controllo di flusso e si occupa del riordinamento dei pacchetti, viene utilizzato per gestire comunicazioni tra mittente e destinatario che per loro natura debbono essere assolutamente affidabili mentre UDP – non offrendo controlli integrati – guarda maggiormente alle prestazioni ed è infatti usato per lo streaming audio e video, nei videogiochi, per i sistemi VoIP proprio perché la perdita sporadica di singoli pacchetti non influisce sulle funzionalità del sistema nel suo complesso.
Per il futuro, Google ha proposto il suo protocollo QUIC che unisce le migliori peculiarità di TCP e UDP: Il Web cambia e diventa più veloce con HTTP/3, già supportato da Google e Mozilla. QUIC era inizialmente l’acronimo di Quick UDP Internet Connections ma IETF ha deciso che esso va semplicemente considerato come il nome del nuovo protocollo, non una sigla.
Sui vari protocolli (TCP/UDP) sono disponibili per l’utilizzo 65535 porte di comunicazione sulle quali possono essere abilitati molteplici servizi. Per convenzione, alcuni servizi sono posti in ascolto su porte ben precise ma ciò non rappresenta un obbligo stringente. Le prime 1024 porte sono comunque considerate well-known ports perché è qui che si concentrano i servizi più utilizzati. L’elenco completo è disponibile a questo indirizzo (IANA).
Un’utilità gratuita come PortQry (scaricabile e installabile direttamente anche usando Chocolatey – vedere Chocolatey, gestore di pacchetti per Windows: come funziona – con il comando choco install portqry
) è stata progettata da Microsoft per gli utenti Windows proprio al fine di controllare le porte aperte su qualunque sistema (anche non-Windows).
PortQry supporta entrambi i protocolli TCP e UDP con la seguente sintassi da usare dal prompt dei comandi:
Al posto di host si può indicare l’indirizzo IP del sistema da controllare oppure, in alternativa, anche il suo indirizzo mnemonico (a patto che sia correttamente risolto dal server DNS in uso).
Lo switch -e
consente di verificare se una singola porta fosse o meno aperta mentre -r
permette di specificare un intero intervallo di porte (ad esempio 1:1023
). Usando l’opzione -o
si può richiedere la verifica delle porte aperte secondo un ordine ben preciso.
Qualche esempio:
controlla se la porta TCP o UDP 53 (notare l’uso di both per l’indicazione del protocollo) fosse aperta.
verifica le porte TCP/UDP aperte nell’intervallo 1-1023.
controlla le porte TCP indicate esattamente nell’ordine specificato.
Il responso che si può ricevere è LISTENING (la porta è aperta e una risposta è stata ricevuta), FILTERED (la porta specificata sembra in uso ma PortQry non ha ricevuto alcuna risposta; il suo utilizzo potrebbe essere limitato da un firewall o da alcune impostazioni di sistema) oppure NOT LISTENING (non c’è nessun servizio in ascolto sul sistema di destinazione che accetta connessioni sulla porta specificata).
Suggeriamo anche la lettura dell’articolo Il mio IP: come trovarlo e a che cosa serve.
Aggiungendo alla sintassi di PortQry anche -l
, è possibile specificare il nome di un file di testo all’interno del quale salvare il risultato della scansione.
PortQry offre anche una modalità interattiva utilizzabile digitando portqry -i
. Qui, per impostare l’host da controllare, basterà digitare node
seguito dal suo IP o indirizzo mnemonico; per definire porta e protocollo, ad esempio, si dovrà usare la sintassi set port=
e set protocol=
.
Per avviare la scansione, basta digitare q
e premere il tasto Invio.