- Introduzione a Nping ARP scan
- Tipi di Nping ARP scan
- Nmap ARP discovery
- Conclusione
ARP (Address Resolution Protocol) è un protocollo di basso livello che lavora al livello Link del modello Internet o suite di protocolli Internet, come spiegato nell’introduzione di Nmap Basics. Ci sono altri 3 livelli superiori: il livello Internet, il livello Trasporto e il livello Applicazione.
Fonte immagine: https://linuxhint.com/nmap_basics_tutorial
Nota: alcuni esperti descrivono il modello Internet con 5 strati incluso lo strato fisico mentre altri esperti sostengono che lo strato fisico non appartiene al modello Internet, questo strato fisico è irrilevante per noi per Nmap.
Il Link Layer è un protocollo usato nelle reti locali IPv4 per scoprire gli host in linea, non può essere usato su internet ed è limitato ai dispositivi locali, o è usato nelle reti IPv6 in cui il protocollo NDP (Neighbor Discovery) sostituisce il protocollo ARP.
Quando si usa Nmap su una rete locale il protocollo ARP è applicato di default per essere più veloce e affidabile secondo i dati ufficiali, è possibile utilizzare il flag -send-ip per forzare Nmap ad utilizzare il protocollo Internet all’interno di una rete locale, è possibile impedire a Nmap di inviare ARP ping utilizzando anche l’opzione -disable-arp-ping.
Nping ARP scan types
Le versioni precedenti di Nmap erano dotate di una varietà di opzioni per effettuare scansioni ARP, attualmente Nmap non supporta queste bandiere che sono ora utilizzabili attraverso lo strumento Nping incluso in Nmap, se avete installato Nmap avete già questo strumento.
Nping permette di generare pacchetti sotto molti protocolli, come descrive il suo sito ufficiale può anche essere usato per ARP poisoning, Denial of Service e altro. Il suo sito web elenca le seguenti caratteristiche:
- Generazione di pacchetti TCP, UDP, ICMP e ARP personalizzati.
- Supporto per la specifica di più host di destinazione.
- Supporto per la specifica di più porte di destinazione.
- Modalità non privilegiata per utenti non root.
- Modalità Echo per risoluzione dei problemi e scoperta avanzata.
- Supporto per la generazione di frame Ethernet.
- Supporto per IPv6 (attualmente sperimentale).
- Esegue su Linux, Mac OS e MS Windows.
- Capacità di tracciare le rotte.
- Altamente personalizzabile.
- Gratuito e open-source.
(Fonte https://nmap.org/nping/)
Protocolli rilevanti per questo tutorial:
ARP: una normale richiesta di pacchetto ARP cerca l’indirizzo MAC usando l’indirizzo IP del dispositivo. (https://tools.ietf.org/html/rfc6747)
RARP: una richiesta RARP (Reverse ARP) risolve l’indirizzo IP usando l’indirizzo MAC, questo protocollo è obsoleto. (https://tools.ietf.org/html/rfc1931)
DRARP: un protocollo DRARP (Dynamic RARP), o estensione di protocollo sviluppata per assegnare un indirizzo IP dinamico basato sull’indirizzo fisico di un dispositivo, può essere usato anche per ottenere l’indirizzo IP. (https://tools.ietf.org/html/rfc1931)
InARP: una richiesta InARP (Inverse ARP) risolve l’indirizzo DLCI (Data Link Connection Identifier) che è simile a un indirizzo MAC. (https://tools.ietf.org/html/rfc2390)
Esempi basilari di pacchetti ARP, DRARP e InARP:
L’esempio seguente invia una richiesta ARP per conoscere l’indirizzo MAC del router:
Come puoi vedere il flag -arp-type ARP ha restituito l’indirizzo MAC del target 00:00:CA:11:22:33
L’esempio seguente stamperà informazioni sul protocollo, gli indirizzi fisici e IP dei dispositivi che interagiscono:
Where:
HTYPE: Tipo di hardware.
PTYPE: Protocol Type.
HLEN: Hardware Address Length. (6 bit per l’indirizzo MAC)
PLEN: Lunghezza dell’indirizzo di protocollo. (4 bit per IPv4)
SIP: Indirizzo IP sorgente.
SMAC: Indirizzo Mac sorgente.
DMAC: Destination Mac Address.
DIP: Destination IP Address.
L’esempio seguente restituisce lo stesso output:
Nmap ARP discovery
L’esempio seguente usando nmap è una scansione ARP ping omettendo contro tutte le possibilità dell’ultimo ottetto, usando il carattere jolly (*), è possibile anche impostare intervalli separati da trattini.
dove:
-sP: Ping scansiona la rete, elencando le macchine che rispondono al ping.
-PR: ARP discovery
L’esempio seguente è una scansione ARP contro tutte le possibilità dell’ultimo ottetto inclusa la scansione della porta.
L’esempio seguente mostra una scansione ARP contro tutte le possibilità dell’ultimo ottetto
La seguente scansione forza una scansione ip su una scansione arp, ancora l’ultimo ottetto usando il carattere jolly.
Come potete vedere mentre la scansione fatta prima ha impiegato 6 secondi questa ne ha impiegati 23.
Un output e una tempistica simili avvengono se si disabilita il protocollo ARP aggiungendo il flag -disable-arp-ping:
Conclusione
Le scansioni ARP di Nmap e Nping vanno bene per scoprire host, mentre secondo la documentazione ufficiale i programmi possono essere utili per DoS, ARP Poisoning e altre tecniche di attacco i miei test non hanno funzionato, ci sono strumenti migliori focalizzati sul protocollo ARP come ARP spoofing, Ettercap, o arp-scan che meritano più attenzione su questo aspetto. Tuttavia, quando si usa Nmap o Nping, il protocollo ARP aggiunge al processo di scansione la fiducia di etichettare i pacchetti come traffico di rete locale per il quale i router o i firewall mostrano più pazienza che per il traffico esterno, naturalmente questo non aiuta se si inonda la rete di pacchetti. Le modalità e i tipi di ARP non sono più utili sotto Nmap ma tutta la documentazione è ancora utile se applicata a Nping.
Spero che abbiate trovato utile questa introduzione a Nmap e alla scansione ARP di Nping. Continuate a seguire LinuxHint per ulteriori suggerimenti e aggiornamenti su Linux e il networking.
- Come eseguire la scansione di servizi e vulnerabilità con Nmap
- Utilizzando gli script nmap: Nmap banner grab
- nmap network scanning
- nmap ping sweep
- Traceroute con Nmap
- nmap flags e cosa fanno
- Nmap Stealth Scan
- Nmap Alternatives
- Nmap: scansione di range IP