Opzioni Miscellanee

Questa sezione descrive alcune opzioni importanti (e altre non così importanti) che non hanno trovato posto in altre sezioni.

-6 (Enable IPv6 scanning)

Nmap offre supporto IPv6 per le sue funzioni più comuni. Le funzioni ping scanning, port scanning, rivelazione di versione e l'NSE supportano tutti IPv6. La sintassi dei comandi è la stessa di sempre, ad eccezione dell'aggiunta dell'opzione -6. Ovviamente si dovrà utilizzare la sintassi IPv6 se si vuole specificare un indirizzo anziché un hostname. Un indirizzo sarà qualcosa del tipo 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, ne consegue che è raccomandato l'uso degli hostname. L'output ha il solito aspetto, l'unica differenza è l'indirizzo IPv6 sulla linea delle "interesting ports".

Mentre IPv6 non ha esattamente preso il sopravvento nel mondo, trova un uso più significativo in alcuni Paesi (tipicamente Asiatici) e supporto nella maggior parte dei moderni sistemi operativi. Per usare Nmap con l'IPv6, sia l'obiettivo che la sorgente dello scan devono essere configurate per IPv6. Se il proprio l'ISP (come la maggior parte) non alloca indirizzi IPv6, c'è una vasta disponibilità di tunnel broker gratuiti e funzionano bene con Nmap. Uno dei migliori è fornito da http://www.tunnelbroker.net/. Altri tunnel broker si possono trovare su Wikipedia. Un altro approccio free comune sono i tunnel 6to4.

Su Windows, gli scan IPv6 raw-socket sono supportati solo su dispositivi ethernet (non tunnel) e solo da Windows Vista in poi. Utilizzare l'opzione --unprivileged nelle altre situazioni.

-A (Aggressive scan options)

Quest'opzione abilita altre opzioni addizionali avanzate ed aggressive. Al momento questa opzione attiva l'OS detection (-O), il version scanning (-sV), lo script scanning (-sC) e il traceroute (--traceroute). Ulteriori caratteristiche verranno aggiunte in futuro. Il punto è attivare un completo set di opzioni di scan senza che ci sia il bisogno di ricordarsi una lunga serie di flag. In ogni modo, dato che lo script scanning con il set di default è considerato intrusivo, si dovrebbe utilizzare -A contro le reti senza averne avuto autorizzazione. Quest'opzione attiva solo delle modalità di funzionamento, ma non le opzioni di timing (come -T4), né quelle di verbosity (-v) che si potrebbero comunque volere. Le opzione che richiedono privilegi speciali (ad esempio i permessi di root), come l'OS detection e il traceroute, saranno abilitate solo se si questi permessi sono attivi.

--datadir <nomedirectory>(Specify custom Nmap data file location)

Nmap ottiene alcuni dati speciali in runtime dai files chiamati nmap-service-probes, nmap-services, nmap-protocols, nmap-rpc, nmap-mac-prefixes ed nmap-os-fingerprints. Se la location di uno questi file viene specificata(usando l'opzione --servicedb o l'opzione --versiondbNmap), questa location viene utilizzata per tutti quanti. Altrimenti, Nmap cerca i file nella directory specificata con l'opzione --datadir (qualora specificata). Qualunque file non trovato in questa locazione, verrà cercato nella directory specificata nella variabile d'ambiente NMAPDIR. Segue poi ~/.nmap per le vere e proprie UID (valido solo per i sistemi POSIX) o, su Windows, <HOME>\AppData\Roaming\nmap (dove <HOME> è la home directory dell'utente, tipo C:\Users\user). Seguono poi la directory dell'eseguibile di Nmap e le sue subdirectory ../usr/share/nmap. Infine vengono utilizzate le locazioni precompilate come /usr/local/share/nmap o /usr/share/nmap.

--servicedb <services file> (Specify custom services file)

Chiede ad Nmap di utilizzare specifici file "services" invece che il file nmap-services che viene fornito con Nmap. Inoltre quest'opzione attiva l'opzione -F che esegue una scansione veloce. Vedere la descrizione di --datadir per avere più informazioni sui data files di Nmap.

--versiondb <service probes file> (Specify custom service probes file)

Chiede ad Nmap di utilizzare specifici file "service probes" invece che il file nmap-service-probes che viene fornito con Nmap. Vedere la descrizione di --datadir per avere più informazioni sui data files di Nmap.

--send-eth (Use raw ethernet sending)

Chiede a Nmap di mandare pacchetti al livello ethernet (data link) piuttosto che al livello più alto IP (network). Di default, Nmap sceglie quello che è generalmente migliore per la piattaforma in cui sta venendo eseguito. I raw sockets (livello IP) solitamente sono i più efficienti per le macchine UNIX, mentre invece sono richieste trame ethernet per funzionare con Windows dal momento che Microsoft ha disabilitato il supporto per i raw socket. Nmap usa invece continua a usare i pacchetti raw sulle UNIX non ostante si specifichi questa opzione quando non c'è alternativa (ad esempio se si ha una connessione non ethernet)

--send-ip (Send at raw IP level)

Chiede a Nmap di mandare pacchetti via raw socket IP, piuttosto che mandare trame al livello inferiore, ethernet. È l'opzione complementare di --send-eth discussa precedentemente.

--privileged (Assume that the user is fully privileged)

Dice semplicemente a Nmap di assumere che l'utente abbia privilegi sufficienti per effettuare trasmissioni sui raw socket, fare packet sniffing, e operazioni simili che di norma hanno bisogno dei privilegi di root sui sistemi UNIX. Di default Nmap termina l'esecuzione se si tentano di usare certe operazioni e geteuid non è zero. --privileged è utile con delle funzionalità del kernel Linux e altri sistemi operativi che possono essere configurati per permettere ad utenti non privilegiati di fare degli scan con i raw socket. Bisogna assicurarsi di posizionare questa opzione prima di qualunque flag che invochi funzionalità privilegiate (SYN scan, OS detection, ecc.). La variabile d'ambiente NMAP_PRIVILEGED può comunque essere settata e rappresenta un'equivalente alternativa all'opzione --privileged.

--unprivileged (Assume that the user lacks raw socket privileges)

quest'opzione è l'opposta di --privilegerd. Dice ad Nmap di trattare l'utente come se non avesse i permessi necessari per i raw socket e lo sniffing. Può tornare utile in fase di test, debugging o quando le funzionalità di raw network del sistema operativo hanno qualche problema. La variabile d'ambiente NMAP_PRIVILEGED può comunque essere settata e rappresenta un'equivalente alternativa all'opzione --unprivileged.

--release-memory (Release memory before quitting)

Quest'opzione è utile solo per la risoluzione di problemi di perdita di memoria (memory-leak debugging). Obbliga infatti ad Nmap a liberare la memoria allocata appena prima di uscire così da individuare più facilmente le effettive perdite di memoria. Di solito Nmap salta questo passaggio come fa il sistema operativo in ogni caso al momento della chiusura del processo.

-V; --version (Print version number)

Stampa a video il numero di versione di Nmap ed esce.

-h; --help (Print help summary page)

Stampa a video una breve schermata di aiuto con le opzioni più comuni. Eseguire Nmap senza argomenti fa la stessa cosa.