Come scansionare le porte Tcp con Nmap

Un metodo importante per identificare esattamente quali servizi sono in esecuzione sulla rete consiste nell'eseguire una scansione delle porte. L'esecuzione di una scansione delle porte può fornire una panoramica accurata della superficie di attacco del computer e della rete. In alcuni casi, potresti scoprire di avere servizi in esecuzione che potresti non aspettarti.

Il protocollo di controllo della trasmissione, o TCP, è uno standard che consente connessioni tra computer su una rete. TCP utilizza un handshake a tre vie per aprire una connessione che rimarrà aperta fino al timeout o alla chiusura della connessione. Questo non vuol dire che la connessione stia sempre trasmettendo dati, significa solo che entrambe le parti salvano i dettagli della connessione e possono riprendere immediatamente l'invio e la ricezione dei dati.

Nmap è lo strumento standard per eseguire la scansione delle porte. È progettato principalmente per funzionare su Linux ma ci sono anche versioni per Windows. È disponibile anche un'interfaccia grafica, ma l'utilizzo della riga di comando è ancora lo standard.

Come usare Nmap

Per verificare se hai installato Nmap su una macchina Linux, esegui il comando "nmap". Se ottieni una pagina di aiuto, allora è installata e pronta per essere eseguita, se ricevi un errore che dice che il comando "non è stato trovato", allora devi installare Nmap.

La pagina di aiuto è molto densa e mostra molte opzioni che possono creare confusione. Le basi di cui hai bisogno per scansionare le porte TCP sono relativamente semplici. La struttura di base di cui hai bisogno è "nmap [tipo di scansione] [opzioni] {specifiche di destinazione}".

Per la scansione delle porte TCP ti consigliamo di utilizzare uno dei due tipi di scansione, TCP o SYN. Una scansione TCP tenta di stabilire una connessione completa a ciascuna porta, completando l'handshake a tre vie. Una scansione SYN abusa leggermente del protocollo e non invia mai il terzo messaggio dell'handshake a tre vie. Le scansioni SYN sono spesso meno stressanti per le risorse di sistema poiché i dispositivi non devono tenere aperte molte connessioni contemporaneamente poiché le connessioni non vengono mai completamente stabilite, vengono eseguite anche più velocemente delle scansioni TCP ma avranno bisogno di root autorizzazioni. Una scansione TCP è specificata con il flag "-sT", mentre una scansione SYN è specificata con "-sS".

Suggerimento: l'handshake a tre vie è il modo in cui viene inizializzata una connessione TCP, coinvolge tre messaggi, "SYN, SYN-ACK e ACK" inviati da client a server, da server a client, quindi da client a server rispettivamente.

Come specificare le opzioni di scansione

La sezione delle opzioni è del tutto facoltativa, ma ne esiste un numero che può essere generalmente utile. È possibile abilitare risultati di scansione più dettagliati aumentando la verbosità con "-v", è possibile aumentare ulteriormente la verbosità fino a un terzo livello con "-vvv". È possibile eseguire il rilevamento del sistema operativo, il rilevamento della versione, la scansione degli script e i traceroute utilizzando il flag "-A", anche se l'esecuzione richiederà un po' più di tempo.

È possibile eseguire la scansione degli indirizzi IPv4 o IPv6 alla volta, IPv4 è l'impostazione predefinita, se si desidera eseguire la scansione degli indirizzi IPv6 è necessario utilizzare il flag "-6". A volte Nmap eseguirà una rapida scansione ping per determinare quali hots sono attivi, se questo sta saltando gli host che vuoi testare puoi disabilitarlo con il flag "-Pn". Se si specifica un intervallo ampio, la scansione può richiedere molto tempo. Il flag "-T4" eseguirà la scansione più velocemente ed è improbabile che perda qualcosa, potrebbe sopraffare reti o dispositivi lenti poiché l'output del traffico sarà notevolmente aumentato.

Come specificare l'indirizzo IP e gli intervalli di porte

Per impostazione predefinita, Nmap eseguirà la scansione delle prime 1000 porte più comunemente utilizzate, è possibile impostare manualmente un intervallo di porte utilizzando il flag "-p" e quindi specificando un intervallo senza spazi. Gli intervalli di porte possono essere specificati tramite valori separati da virgole, intervalli con trattino o una combinazione dei due. Ad esempio, i flag "-p22", "-p1-65535" e "-p21-25,80,139,8080" scansionano la porta 22, tutte le porte comprese tra 1 e 65535 e le porte da 21 a 25, 80, 239, e 8080 rispettivamente. È anche possibile specificare il flag “–top-ports [number]” invece di scansionare le prime [number] porte più comuni. Se vuoi specificare tutte le porte, puoi usare la scorciatoia "-p-".

Suggerimento: i numeri di porta sono compresi tra 0 e 65535, sebbene tecnicamente 0 non possa essere utilizzato.

L'ultima cosa che devi specificare sono gli indirizzi IP dei dispositivi che desideri testare. Per fare ciò, elenca semplicemente tutti gli indirizzi IP che desideri scansionare, dovrebbero essere separati da spazi e possono essere elencati individualmente, per intervalli di trattini o tramite notazione CIDR. Ad esempio, "191.168.0.1" scansiona quel singolo indirizzo IP, "192.168.0.1-5" scansiona i cinque indirizzi IP tra 102.168.0.1 e 192.168.0.5, infine "192.168.0.1/24" scansiona tutti gli indirizzi IP tra 192.168.0.1 e 192.168.0.255.

Il comando generale dovrebbe essere simile ai seguenti esempi: "nmap -sS -vvv -A -p- 127.0.0.1", "nmap -sS -v -p80,443,8080 192.168.0.1/24", "nmap -sS –top-ports 10000 -6 ::1”

Metti insieme gli argomenti che vuoi usare, quindi esegui il comando.