Come posso ottenere nmap più veloce nella scansione delle porte UDP? Questo tipo di scansione è incredibilmente più lento delle porte TCP (almeno 2-3 volte)
La scansione UDP è probabilmente più lenta di TCP a causa delle differenze nel modo in cui funziona il protocollo (cioè con TCP è più facile stabilire che una porta sia aperta a causa dell'handshake a tre vie).
Detto questo, è possibile aumentare la velocità delle scansioni UDP in un paio di modi. una cosa da tenere a mente è che se si applicano troppe opzioni di temporizzazione si rischia di ridurre la precisione della scansione (ad esempio, nmap salterà le cose). A seconda del tuo obiettivo, questo potrebbe o no essere un problema.
Uno dei posti migliori per ottenere informazioni su questi è nei tempi e amp; sezione delle prestazioni di il libro di nmap
Da quello, io tendo ad usare
--max-rtt-timeout
Controlla il tempo in cui nmap attenderà le risposte ed è la chiave per la velocità di scansione. Quello che puoi fare qui è misurare il tipico tempo di andata e ritorno di una richiesta usando il ping o qualcosa di simile e usarlo come base per questo.
--max-retries
Come menzionato in un'altra risposta questo è utile. Non imposterei 0 o potresti perdere le cose ma impostare 1 o 2 se sei davvero curioso di vedere che una accelerazione ti aiuterà
--max-scan-delay
Se le cose di nmap che un host sta rispondendo lentamente inizieranno ad aggiungerlo, e può davvero rallentare la scansione. Imposta questo valore intorno a 10 ms e accelera le cose, ma se hai degli host instabili o lenti, probabilmente mancheranno le cose
--min-hostgroup
Se non sei troppo preoccupato di ottenere risultati mentre lavori e hai molti host da fare ramping, questo migliorerà le cose. Qualcosa come 32 o 64 accelererà la scansione complessiva.
Un altro punto chiave da ricordare è che per UDP probabilmente otterrai buoni risultati solo se utilizzi la scansione della versione. questo perché molti servizi UDP rispondono solo se il pacchetto che ricevono è nel formato giusto. Tuttavia, la scansione della versione rallenterà le cose quindi se sei in un set di fretta
--version-intensity 0
quando si utilizza la scansione della versione.
Prova a utilizzare l'opzione della riga di comando min-rate:
When the --min-rate option is given Nmap will do its best to send packets as fast as or faster than the given rate. The argument is a positive real number representing a packet rate in packets per second. For example, specifying --min-rate 300 means that Nmap will try to keep the sending rate at or above 300 packets per second.
Esempio: nmap -sU --min-rate 5000 <targets>
C'è una ragione fondamentale per cui le scansioni UDP sono più lente delle scansioni TCP: UDP è senza connessione. Ciò significa che Nmap non è in grado di distinguere tra una porta aperta con un programma che sta mangiando in silenzio i pacchetti di scansione, una porta bloccata da un firewall che fa cadere silenziosamente i pacchetti o i pacchetti persi durante il transito a causa della congestione della rete. Nel caso della porta chiusa, Nmap non è in grado di distinguere tra una porta con firewall, un pacchetto perso o la limitazione della velocità dei messaggi ICMP Unreachable. Di conseguenza, a meno che una porta non restituisca dati o un messaggio ICMP Unreachable, Nmap deve inviare più pacchetti per eliminare la possibilità di limitare la velocità o perdere i pacchetti.
Oltre a quanto suggerito da @Tate Hansen, considera l'utilizzo di --max-retries 0
. Dovrai anche considerare l'obiettivo. [Alcuni] Linux, ad esempio, limita le risposte irraggiungibili alla porta ICMP quindi, indipendentemente da ciò che si fa con lo scanner, l'obiettivo è ancora un fattore di velocità. Potresti anche -F
e rieseguire la scansione dell'intervallo di porte completo se ritenuto necessario in base ai risultati della scansione -F
.
Speriamo che questo aiuti.
Per cominciare, non usa qualcosa come "nmap -sUVC", in particolare quando esegui la scansione di un intervallo di porte di grandi dimensioni. Perché se lo fai, molto probabilmente il risultato è che molte porte sono contrassegnate come aperte | filtrate, e nmap si sovrappone a ciascuna di esse nella scansione UDP effettiva e nel rilevamento della versione del servizio - ognuna fino a max-tentativi più volte e con la scansione progressivamente più lenta di nmap.
Invece, devi eseguire il portscan UDP in due o più fasi, in cui la fase 1 è simile a
nmap -n -sU -p[...] --max-retries 1 targets
e possibilmente ulteriori parametri di sintonia come menzionato da Rory McCune sopra.
Se un host mostra che tutte le porte sono aperte | filtrate (o alcune chiuse e quasi tutte aperte | filtrate), salta questo host.
Se un host mostra molte porte chiuse e solo alcune che sono aperte o aperte | filtrate, quindi indagare su quelle porte con nmap -sUV -pLIST target
dove LIST è l'elenco di porte che sono (eventualmente) aperte.
A seconda del contesto della scansione, è possibile effettuare una scansione rapida su pochissime porte come 53, 123, 161 e probabilmente altre.
Leggi altre domande sui tag nmap network-scanners