Especificação de Alvo

Tudo na linha de comando do Nmap que não for uma opção (ou argumento de uma opção) é tratado como uma especificação de um host-alvo. O caso mais simples é especificar um endereço IP como alvo ou um hostname para ser escaneado.

Algumas vezes você pode querer escanear uma rede inteira de hosts adjacentes. Para isso o Nmap suporta o estilo de endereçamento CIDR. Você pode acrescentar /<númerodebits> em um endereço ou hostname e o Nmap irá escanear cada endereço IP para o qual os primeiros <númerosdebits> sejam o mesmo que o IP de referência ou o hostname dado. Por exemplo, 192.168.10.0/24 escanearia os 256 hosts entre 192.168.10.0 (binário: 11000000 10101000 00001010 00000000) e 192.168.10.255 (binário: 11000000 10101000 00001010 11111111), inclusive. 192.168.10.40/24 faria exatamente a mesma coisa. Dado que o host scanme.nmap.org está no endereço IP 205.217.153.62, a especificação scanme.nmap.org/16 escanearia os 65.536 endereços IP entre 205.217.0.0 e 205.217.255.255. O menor valor permitido é /1, que equivale a escanear metade da Internet. O maior valor é 32, que escaneia apenas o host nomeado ou endereço IP porque todos os bits de endereçamento estão fixos.

A notação CIDR é curta mas nem sempre flexível o suficiente. Por exemplo, você pode querer escanear 192.168.0.0/16 mas desejar pular todos os IPs terminados em .0 ou .255 porque eles são normalmente endereços de broadcast. O Nmap suporta isso através de endereçamento por faixa de octeto. Ao invés de especificar um endereço IP normal, você pode especificar uma lista de números separada por vírgulas ou faixa de números para cada octeto. Por exemplo, 192.168.0-255.1-254 irá pular todos os endereços na faixa que terminarem com .0 e/ou .255. Faixas não precisam ser limitadas ao octeto final: o especificador 0-255.0-255.13.37 irá executar um scan em toda a Internet buscando os endereços IP terminados em 13.37. Esse tipo de amostragem ampla pode ser útil em levantamentos e pesquisas da Internet toda.

Endereços IPv6 podem apenas ser especificados utilizando o endereço ou hostname IPv6 completamente qualificado. Faixas CIDR e octetos não são suportados para o IPv6 porque eles raramente são úteis.

O Nmap aceita múltiplas especificações de host na linha de comando, e elas não precisam ser do mesmo tipo. O comando nmap scanme.nmap.org 192.168.0.0/16 10.0.0,1,3-7.0-255 executa o que se espera que dele.

Embora os alvos sejam normalmente especificados na linha de comando, as seguintes opções também estão disponíveis para controlar a seleção de alvos:

-iL <arquivodeentrada> (Entrada à partir de uma lista)

Lê a especificação de alvos à partir de um <arquivodeentrada>. Passar uma lista enorme de hosts na linha de comando é muito ruim, ainda que seja comumente desejável. Por exemplo, seu servidor DHCP pode exportar uma lista de 10.000 endereços correntes em uso que você deseja escanear. Ou talvez você deseje escanear todos os endereços IP exceto aqueles usados para localizar hosts que usam endereços IP estáticos não-autorizados. Simplesmente gere uma lista de hosts a escanear e passe o nome do arquivo para o Nmap como um argumento à opção -iL. As entradas podem estar em qualquer um dos formatos aceitos pelo Nmap na linha de comando (endereço IP, hostname, CIDR, IPv6, ou faixas de octetos). Cada entrada deve ser separada por um ou mais espaços em branco, tabulações ou quebra de linhas. Você pode especificar um hífen (-) como nome de arquivo se quiser que o Nmap leia os nomes de hosts da entrada padrão (standard input) ao invés de um arquivo.

-iR <número de hosts> (Escolhe alvos aleatórios)

Para levantamentos na Internet toda e outras pesquisas, você pode querer escolher alvos de forma aleatória. O argumento <número de hosts> diz ao Nmap quantos IPs ele deverá gerar. IPs indesejáveis, tais como aqueles de certas redes privativas, multicast e faixas de endereços não-alocadas são automaticamente desconsideradas. O argumento 0 (zero) pode ser especificado caso deseje um scan sem fim. Tenha em mente que alguns administradores de rede "torcem o nariz" para scans não-autorizados de suas redes e podem reclamar. Use esta opção por sua conta e risco! Se você estiver realmente entediado em uma tarde chuvosa, tente o comando nmap -sS -PS80 -iR 0 -p 80 para localizar servidores web aleatórios para navegar.

--exclude <host1[,host2][,host3],...> (Exclui hosts/redes)

Especifica uma lista de alvos, separados por vírgula, a serem excluídos do scan mesmo que façam parte da faixa de rede especificada. A lista que você fornece utiliza a sintaxe normal do Nmap, portanto ela pode incluir nomes de hosts, blocos de rede CIDR, faixas de octetos, etc. Isso pode ser útil quando a rede que você deseja escanear inclui servidores de missão crítica intocáveis, sistemas que reajam contrariamente a escaneamento de portas ou sub-redes administradas por outras pessoas.

--excludefile <arquivo_exclusão> (Exclui a lista do arquivo)

Oferece a mesma funcionalidade que a opção --exclude, exceto que os alvos a excluir são fornecidos em um <"arquivo separado"> , delimitados por quebra de linhas, espaço em branco ou tabulação, ao invés de na linha de comando.