1. Host Discovery
📌 Host Discovery con Nmap ---
📌 Host Discovery con Nmap
🔍 Introduzione
L'Host Discovery è la fase in cui Nmap verifica se un determinato sistema è attivo sulla rete. Questa operazione è utile per identificare macchine raggiungibili prima di procedere con una scansione delle porte.Nmap offre diverse tecniche per l’host discovery, utilizzando protocolli come ICMP, TCP, UDP e ARP. Tra le opzioni più usate troviamo:
-PE→ ICMP Echo Request (ping classico)-PS→ TCP SYN Ping-PA→ TCP ACK Ping-PU→ UDP Ping
📌 -PE → ICMP Echo Request
Descrizione:
- Invia un pacchetto ICMP Echo Request (Type 8, Code 0) al target.
- Se il target risponde con ICMP Echo Reply (Type 0, Code 0), viene considerato attivo.
Quando fallisce? ❌ Se il firewall o l'host bloccano le richieste ICMP (comune in ambienti sicuri).
Esempio di utilizzo:
nmap -sn -PE 192.168.1.1📌 -PS → TCP SYN Ping
Descrizione:
- Invia un pacchetto TCP SYN a una o più porte specificate.
- Se il target risponde con SYN/ACK, significa che la porta è aperta e l'host è attivo.
- Se risponde con RST, significa che la porta è chiusa, ma l'host è attivo.
- Se non c’è risposta, la porta potrebbe essere filtrata.
Quando fallisce? ❌ Se tutte le porte specificate sono filtrate o chiuse senza risposta.
Esempio di utilizzo:
nmap -sn -PS22,80,443 192.168.1.1Nota: Se non viene specificata una porta, Nmap usa di default la porta 443.
📌 -PA → TCP ACK Ping
Descrizione:
- Invia un pacchetto TCP ACK a una porta specificata.
- Se il target risponde con RST, significa che l'host è attivo.
- Se non c’è risposta, il pacchetto potrebbe essere stato filtrato da un firewall.
Quando fallisce? ❌ Se il firewall blocca i pacchetti ACK senza inviare risposta.
Esempio di utilizzo:
nmap -sn -PA80,443 192.168.1.1Nota: Se non viene specificata una porta, Nmap usa di default la porta 80.
📌 -PU → UDP Ping
Descrizione:
- Invia un pacchetto UDP a una porta specificata.
- Se il target risponde con ICMP Port Unreachable (Type 3, Code 3), significa che l’host è attivo ma la porta è chiusa.
- Se risponde con un pacchetto UDP, significa che la porta è aperta e l’host è attivo.
- Se non c’è risposta, il firewall potrebbe bloccare il traffico UDP.
Quando fallisce? ❌ Se il firewall blocca i pacchetti UDP senza inviare risposta.
Esempio di utilizzo:
nmap -sn -PU53,161 192.168.1.1Nota: Se non viene specificata una porta, Nmap usa di default la porta 40125.
📌 Confronto tra le tecniche di Host Discovery
| Opzione | Protocollo | Metodo | Quando funziona | Quando fallisce |
-PE | ICMP | Echo Request | ICMP abilitato | ICMP bloccato |
-PS | TCP | SYN Ping | Porta aperta o chiusa | Porta filtrata |
-PA | TCP | ACK Ping | RST ricevuto | Firewall blocca tutto |
-PU | UDP | UDP Ping | ICMP Port Unreachable o risposta UDP | Nessuna risposta |
📌 Tecniche avanzate di Host Discovery
#### 1️⃣ Eseguire più metodi contemporaneamente Se il target ha firewall restrittivi, combinare più tecniche aumenta le possibilità di rilevarlo:nmap -sn -PE -PS22,80,443 -PA80 -PU53 192.168.1.1#### 2️⃣ Visualizzare i pacchetti inviati con --packet-trace
Per verificare quali pacchetti vengono effettivamente inviati:
nmap -sn --packet-trace 192.168.1.1#### 3️⃣ Forzare l'uso di ARP (solo in LAN) Se si sta eseguendo una scansione su una rete locale, si può forzare l'uso dell'ARP:
nmap -sn -PR 192.168.1.1🎯 Conclusione
- L'host discovery è essenziale per individuare macchine attive prima di una scansione più approfondita.
- Se una tecnica fallisce, provare con un'altra (ICMP bloccato → usare TCP SYN o UDP).
- Usare
--packet-traceper controllare quali pacchetti vengono inviati. - Combinare più metodi per massimizzare il rilevamento.