nmap
Este é o comando nmap que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
nmap - Ferramenta de exploração de rede e scanner de segurança / porta
SINOPSE
nmap [Escanear Formato...] [Opções] {alvo especificação}
DESCRIÇÃO
Nmap (“Network Mapper”) é uma ferramenta de código aberto para exploração e segurança de rede
auditoria. Ele foi projetado para escanear rapidamente grandes redes, embora funcione bem contra
hosts únicos. O Nmap usa pacotes IP brutos de novas maneiras para determinar quais hosts estão disponíveis
na rede, quais serviços (nome do aplicativo e versão) esses hosts estão oferecendo,
quais sistemas operacionais (e versões de sistema operacional) eles estão executando, que tipo de pacote
filtros / firewalls estão em uso e dezenas de outras características. Embora o Nmap seja comumente
usado para auditorias de segurança, muitos sistemas e administradores de rede o consideram útil para
tarefas de rotina, como inventário de rede, gerenciamento de cronogramas de atualização de serviço e
monitorar o tempo de atividade do host ou do serviço.
A saída do Nmap é uma lista de alvos verificados, com informações suplementares sobre cada
dependendo das opções usadas. A chave entre essas informações são as “portas interessantes
tabela ”.. Essa tabela lista o número da porta e protocolo, nome do serviço e estado. O
o estado é aberto, filtrado, fechado ou não filtrado. Aberto. significa que um aplicativo
na máquina de destino está escutando conexões / pacotes nessa porta. Filtrado. meios
que um firewall, filtro ou outro obstáculo de rede está bloqueando a porta para que o Nmap
não pode dizer se está aberto ou fechado. Fechado. portas não têm aplicativo escutando
eles, embora eles possam abrir a qualquer momento. As portas são classificadas como não filtradas. quando
eles respondem às sondas do Nmap, mas o Nmap não pode determinar se eles estão abertos ou
fechado. O Nmap relata as combinações de estado aberto | filtrado. e fechado | filtrado. Quando
não pode determinar qual dos dois estados descreve uma porta. A tabela de portas também pode incluir
detalhes da versão do software quando a detecção da versão foi solicitada. Quando um protocolo IP
varredura é solicitada (-tão), O Nmap fornece informações sobre os protocolos IP suportados, em vez de
portas de escuta.
Além da tabela de portas interessantes, o Nmap pode fornecer mais informações sobre
alvos, incluindo nomes DNS reversos, suposições de sistema operacional, tipos de dispositivos e MAC
Endereços.
Uma varredura Nmap típica é mostrada no Exemplo 1. Os únicos argumentos Nmap usados neste exemplo
e guarante que os mesmos estão -A, para habilitar a detecção de SO e versão, varredura de script e traceroute; -T4 for
execução mais rápida; e então o nome do host.
Exemplo 1. A representante Nmap digitalização
# nmap -A -T4 scanme.nmap.org
Relatório de varredura Nmap para scanme.nmap.org (74.207.244.221)
O host está ativo (latência de 0.029 s).
registro rDNS para 74.207.244.221: li86-221.members.linode.com
Não mostrado: 995 portas fechadas
VERSÃO DE SERVIÇO DO ESTADO DO PORTO
22 / tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu7 (protocolo 2.0)
| ssh-hostkey: 1024 8d:60:f1:7c:ca:b7:3d:0a:d6:67:54:9d:69:d9:b9:dd (DSA)
|_2048 79:f8:09:ac:d4:e2:32:42:10:49:d3:bd:20:82:85:ec (RSA)
80 / tcp aberto http Apache httpd 2.2.14 ((Ubuntu))
| _http-title: Vá em frente e ScanMe!
646 / tcp ldp filtrado
1720 / tcp filtrado H.323 / Q.931
9929 / tcp open nping-echo Nping echo
Tipo de dispositivo: uso geral
Executando: Linux 2.6.X
OS CPE: cpe: / o: linux: linux_kernel: 2.6.39
Detalhes do sistema operacional: Linux 2.6.39
Distância da rede: 11 saltos
Informações sobre o serviço: SO: Linux; CPE: cpe: / o: linux: kernel
TRACEROUTE (usando a porta 53 / tcp)
ENDEREÇO HOP RTT
[Corte os primeiros 10 saltos para brevidade]
11 17.65 ms li86-221.members.linode.com (74.207.244.221)
Nmap feito: endereço IP 1 (1 acolhimento up) digitalizados em 14.40 segundos
A versão mais recente do Nmap pode ser obtida em https://nmap.org. A versão mais recente de
esta página de manual está disponível em https://nmap.org/book/man.html. Também está incluído como um
capítulo de Nmap Network Scanning: O Guia Oficial do Projeto Nmap para Network Discovery e
Verificação de segurança (ver https://nmap.org/book/).
OPÇÕES RESUMO
Este resumo de opções é impresso quando o Nmap é executado sem argumentos, e a última versão
está sempre disponível em https://svn.nmap.org/nmap/docs/nmap.usage.txt. Ajuda as pessoas
lembre-se das opções mais comuns, mas não é um substituto para a documentação detalhada em
o resto deste manual. Algumas opções obscuras nem estão incluídas aqui.
Nmap 7.01 (https://nmap.org)
Uso: nmap [Tipo (s) de digitalização] [Opções] {especificação de destino}
ESPECIFICAÇÃO DO ALVO:
Pode passar nomes de host, endereços IP, redes, etc.
Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
-iL : Entrada da lista de hosts / redes
-iR : Escolha alvos aleatórios
--excluir : Exclua hosts / redes
--excludefile : Excluir lista do arquivo
DESCOBERTA DE HOST:
-sL: Listar Varredura - simplesmente lista os alvos para varredura
-sn: Ping Scan - desativa a varredura de porta
-Pn: trata todos os hosts como online - ignora a descoberta de host
-PS / PA / PU / PY [lista de portas]: descoberta TCP SYN / ACK, UDP ou SCTP para determinadas portas
-PE / PP / PM: testes de descoberta de solicitação de eco, carimbo de data / hora e máscara de rede ICMP
-PO [lista de protocolos]: Ping do protocolo IP
-n / -R: Nunca faz resolução de DNS / Sempre resolve [padrão: às vezes]
--dns-servers : Especifique servidores DNS personalizados
--system-dns: usa o resolvedor DNS do sistema operacional
--traceroute: rastreia o caminho de salto para cada host
TÉCNICAS DE VARREDURA:
-sS / sT / sA / sW / sM: scans TCP SYN / Connect () / ACK / Window / Maimon
-sU: Varredura UDP
-sN / sF / sX: varreduras de TCP Null, FIN e Xmas
--scanflags : Personalize sinalizadores de varredura TCP
-si : Varredura ociosa
-sY / sZ: varreduras SCTP INIT / COOKIE-ECHO
-sO: varredura de protocolo IP
-b : Varredura de rejeição de FTP
ESPECIFICAÇÃO DA PORTA E ORDEM DE VARREDURA:
-p : Verificar apenas portas especificadas
Ex: -p22; -p1-65535; -p U: 53,111,137, T: 21-25,80,139,8080, S: 9
--exclude-ports : Exclui as portas especificadas da digitalização
-F: Modo rápido - faz a varredura de menos portas do que a varredura padrão
-r: verifica as portas consecutivamente - não randomiza
--top-ports : Varredura portas mais comuns
--port-ratio : Digitalize portas mais comuns do que
DETECÇÃO DE SERVIÇO / VERSÃO:
-sV: Sondar portas abertas para determinar informações de serviço / versão
- intensidade da versão : Defina de 0 (claro) a 9 (tente todas as sondas)
--version-light: Limite às sondas mais prováveis (intensidade 2)
--version-all: Experimente cada uma das sondas (intensidade 9)
--version-trace: Mostra a atividade de verificação de versão detalhada (para depuração)
ESCRITURA DE VERIFICAÇÃO:
-sC: equivalente a --script = default
--script = : é uma lista separada por vírgulas de
diretórios, arquivos de script ou categorias de script
--script-args = : fornece argumentos para scripts
--script-args-file = filename: fornece argumentos de script NSE em um arquivo
--script-trace: Mostra todos os dados enviados e recebidos
--script-updatedb: atualiza o banco de dados do script.
--script-help = : Mostra ajuda sobre scripts.
é uma lista separada por vírgulas de arquivos de script ou
categorias de script.
DETECÇÃO DE SO:
-O: Ativar detecção de sistema operacional
--osscan-limit: Limita a detecção de SO a alvos promissores
--osscan-guess: Adivinha o SO de forma mais agressiva
TEMPO E DESEMPENHO:
Opções que levam estão em segundos, ou acrescentam 'ms' (milissegundos),
's' (segundos), 'm' (minutos) ou 'h' (horas) para o valor (por exemplo, 30m).
-T <0-5>: Definir modelo de tempo (quanto mais alto, mais rápido)
--min-hostgroup / max-hostgroup : Tamanhos de grupos de varredura de host paralelo
--min-paralelismo / max-paralelismo : Paralelização da sonda
--min-rtt-timeout / max-rtt-timeout / initial-rtt-timeout : Especifica
tempo de ida e volta da sonda.
--max-retries : Limita o número de retransmissões da sonda de varredura de porta.
--host-timeout : Desista na meta após tanto tempo
--scan-delay / - max-scan-delay : Ajuste o atraso entre as sondas
- taxa mínima : Envia pacotes não mais lento do que por segundo
--taxa máxima : Envie pacotes não mais rápido do que por segundo
EVASÃO E SPOOFING DE FIREWALL / IDS:
-f; --mtu : pacotes de fragmentos (opcionalmente com MTU fornecido)
-D : Encobrir uma varredura com iscas
-S : Endereço de origem falso
-e : Use a interface especificada
-g / - porta-fonte : Use o número de porta fornecido
--proxies : Conexões de retransmissão por meio de proxies HTTP / SOCKS1
--dados : Acrescenta uma carga útil personalizada aos pacotes enviados
--data-string : Acrescenta uma string ASCII personalizada aos pacotes enviados
--data-length : Acrescenta dados aleatórios aos pacotes enviados
--ip-options : Envia pacotes com opções de ip especificadas
--ttl : Definir campo de tempo de vida do IP
--spoof-mac : Falsifique o seu endereço MAC
--badsum: envia pacotes com uma soma de verificação TCP / UDP / SCTP falsa
SAÍDA:
-oN / -oX / -oS / -oG : Verificação de saída em normal, XML, s |
e formato Grepable, respectivamente, para o nome de arquivo fornecido.
-oA : Saída nos três formatos principais de uma vez
-v: Aumenta o nível de verbosidade (use -vv ou mais para um efeito maior)
-d: Aumenta o nível de depuração (use -dd ou mais para um efeito maior)
--reason: exibe o motivo pelo qual uma porta está em um estado específico
--open: mostra apenas portas abertas (ou possivelmente abertas)
--packet-trace: Mostra todos os pacotes enviados e recebidos
--iflist: Imprimir interfaces de host e rotas (para depuração)
--append-output: Anexa em vez de substituir os arquivos de saída especificados
--retomar : Retomar uma varredura abortada
--stylesheet : Folha de estilo XSL para transformar a saída XML em HTML
--webxml: Folha de estilo de referência de Nmap.Org para XML mais portátil
--no-stylesheet: impede a associação de folha de estilo XSL com saída XML
MISC:
-6: Ativar varredura IPv6
-A: ativa a detecção de SO, detecção de versão, verificação de script e traceroute
--datadir : Especifique a localização do arquivo de dados Nmap personalizado
--send-eth / - send-ip: Enviar usando frames Ethernet brutos ou pacotes IP
--privileged: assume que o usuário tem privilégios totais
--unprivileged: assume que o usuário não tem privilégios de soquete brutos
-V: Número da versão impressa
-h: Imprime esta página de resumo da ajuda.
EXEMPLOS:
nmap -v -A scanme.nmap.org
nmap -v -sn 192.168.0.0/16 10.0.0.0/8
nmap -v -iR 10000 -Pn -p 80
VEJA A PÁGINA DO MAN (https://nmap.org/book/man.html) PARA MAIS OPÇÕES E EXEMPLOS
TARGET ESPECIFICAÇÃO
Tudo na linha de comando do Nmap que não é uma opção (ou argumento de opção) é tratado
como uma especificação de host de destino. O caso mais simples é especificar um endereço IP de destino ou
nome do host para digitalização.
Às vezes, você deseja varrer toda uma rede de hosts adjacentes. Para isso, o Nmap suporta
Estilo CIDR. endereçamento. Você pode anexar /entorpecimento para um endereço IPv4 ou nome de host e Nmap
irá escanear todos os endereços IP para os quais o primeiro entorpecimento são os mesmos que para a referência
IP ou nome de host fornecido. Por exemplo, 192.168.10.0/24 varreria 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 verificaria exatamente o
mesmos alvos. Dado que o host scanme.nmap.org. está no endereço IP 64.13.134.52, o
a especificação scanme.nmap.org/16 examinaria os 65,536 endereços IP entre 64.13.0.0 e
64.13.255.255. O menor valor permitido é / 0, que visa toda a Internet. O
o maior valor é / 32, que verifica apenas o host nomeado ou endereço IP porque todos os endereços
bits são fixos.
A notação CIDR é curta, mas nem sempre flexível o suficiente. Por exemplo, você pode querer digitalizar
192.168.0.0/16 mas pule todos os IPs que terminam com .0 ou .255 porque eles podem ser usados como sub-rede
endereços de rede e broadcast. O Nmap suporta isso por meio de endereçamento de intervalo de octetos. Em vez
do que especificar um endereço IP normal, você pode especificar uma lista de números separados por vírgulas ou
intervalos para cada octeto. Por exemplo, 192.168.0-255.1-254 irá ignorar todos os endereços no
intervalo que termina em .0 ou .255, e 192.168.3-5,7.1 fará a varredura dos quatro endereços
192.168.3.1, 192.168.4.1, 192.168.5.1 e 192.168.7.1. Qualquer lado de um intervalo pode ser
omitido; os valores padrão são 0 à esquerda e 255 à direita. Usando - por si só é
o mesmo que 0-255, mas lembre-se de usar 0- no primeiro octeto para que a especificação de destino
não parece uma opção de linha de comando. Os intervalos não precisam ser limitados aos octetos finais:
o especificador 0-255.0-255.13.37 executará uma varredura em toda a Internet para todos os endereços IP
terminando em 13.37. Este tipo de amostragem ampla pode ser útil para pesquisas na Internet e
pesquisa.
Os endereços IPv6 só podem ser especificados por seu endereço IPv6 totalmente qualificado ou nome de host.
Os intervalos de CIDR e octetos ainda não são compatíveis com IPv6.
Os endereços IPv6 com escopo não global precisam ter um sufixo de ID de zona. Em sistemas Unix, este
é um sinal de porcentagem seguido por um nome de interface; um endereço completo pode ser
fe80 :: a8bb: ccff: fedd: eeff% eth0. No Windows, use um número de índice de interface no lugar de um
nome da interface: fe80 :: a8bb: ccff: fedd: eeff% 1. Você pode ver uma lista de índices de interface por
executando o comando netsh.exe interface ipv6 mostrar interface.
O Nmap aceita várias especificações de host na linha de comando, e elas não precisam ser
o mesmo tipo. O comando nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.- faz o que você
esperaria.
Embora os alvos sejam geralmente especificados nas linhas de comando, as seguintes opções também são
disponível para controlar a seleção de alvos:
-iL nomedoarquivo de entrada (Entrada da lista).
Lê especificações de alvo de nomedoarquivo de entrada. Passar por uma lista enorme de hosts costuma ser
estranho na linha de comando, mas é um desejo comum. Por exemplo, seu servidor DHCP
pode exportar uma lista de 10,000 concessões atuais que você deseja verificar. Ou talvez você queira
para escanear todos os endereços IP exceto para aqueles que localizam hosts usando IP estático não autorizado
endereços. Simplesmente gere a lista de hosts para escanear e passar esse nome de arquivo para o Nmap como
um argumento para o -iL opção. As inscrições podem ser em qualquer um dos formatos aceitos pelo Nmap
na linha de comando (endereço IP, nome do host, CIDR, IPv6 ou intervalos de octetos). Cada entrada
deve ser separado por um ou mais espaços, tabulações ou novas linhas. Você pode especificar um hífen
(-) como o nome do arquivo se você deseja que o Nmap leia hosts da entrada padrão em vez de um
arquivo real.
O arquivo de entrada pode conter comentários que começam com # e se estendem até o final do
linha.
-ir Números anfitriões (Escolha alvos aleatórios).
Para pesquisas em toda a Internet e outras pesquisas, você pode escolher alvos em
aleatória. O Números anfitriões argumento diz ao Nmap quantos IPs gerar. IPs indesejáveis
como aqueles em certos intervalos de endereços privados, multicast ou não alocados são
pulado automaticamente. O argumento 0 pode ser especificado para uma varredura sem fim. Guarda
em mente que alguns administradores de rede se irritam com varreduras não autorizadas de seus
redes e podem reclamar. Use esta opção por sua própria conta e risco! Se você se encontrar
realmente entediado em uma tarde chuvosa, tente o comando nmap -Pn -WL -p 80 -ir 0 --abrir. para
localize servidores web aleatórios para navegação.
--excluir host1[,host2[, ...]] (Exclua hosts / redes).
Especifica uma lista separada por vírgulas de alvos a serem excluídos da varredura, mesmo se eles
fazem parte do intervalo geral da rede que você especificar. A lista que você passa usa o normal
Sintaxe do Nmap, para que possa incluir nomes de host, blocos de rede CIDR, intervalos de octetos, etc.
ser útil quando a rede que você deseja verificar inclui uma missão crítica intocável
servidores, sistemas que são conhecidos por reagir adversamente a varreduras de portas ou sub-redes
administrado por outras pessoas.
--excluir arquivo arquivo_excluído (Excluir lista do arquivo).
Isso oferece a mesma funcionalidade que o --excluir opção, exceto que o excluído
destinos são fornecidos em uma nova linha, espaço ou tabulação arquivo_excluído em vez de
na linha de comando.
O arquivo de exclusão pode conter comentários que começam com # e se estendem até o final do
linha.
HOST DESCUBRA
Um dos primeiros passos em qualquer missão de reconhecimento de rede é reduzir um
(às vezes enorme) conjunto de intervalos de IP em uma lista de hosts ativos ou interessantes. Scanning
cada porta de cada endereço IP é lenta e geralmente desnecessária. Claro o que
torna um host interessante depende muito dos propósitos da varredura. Os administradores de rede podem
estar interessado apenas em hosts executando um determinado serviço, enquanto os auditores de segurança podem se importar
sobre cada dispositivo com um endereço IP. Um administrador pode se sentir confortável usando
apenas um ping ICMP para localizar hosts em sua rede interna, enquanto uma penetração externa
testador pode usar um conjunto diversificado de dezenas de sondas na tentativa de escapar do firewall
restrições.
Como as necessidades de descoberta de hosts são tão diversas, o Nmap oferece uma ampla variedade de opções para
personalizar as técnicas utilizadas. A descoberta de host às vezes é chamada de varredura de ping, mas vai
muito além dos pacotes de solicitação de eco ICMP simples associados à ferramenta ping onipresente.
Os usuários podem pular a etapa de ping inteiramente com uma verificação de lista (-sL) ou desativando o ping (-Pn),
ou envolver a rede com combinações arbitrárias de multiportas TCP SYN / ACK, UDP, SCTP
Sondas INIT e ICMP. O objetivo dessas sondagens é solicitar respostas que demonstrem
se um endereço IP está realmente ativo (sendo usado por um host ou dispositivo de rede). Em muitos
redes, apenas uma pequena porcentagem dos endereços IP estão ativos em um determinado momento. Isto é
particularmente comum com espaço de endereço privado, como 10.0.0.0/8. Essa rede tem 16
milhões de IPs, mas já vi isso ser usado por empresas com menos de mil máquinas. Hospedeiro
A descoberta pode encontrar essas máquinas em um mar de endereços IP esparsamente alocados.
Se nenhuma opção de descoberta de host for fornecida, o Nmap envia uma solicitação de eco ICMP, um pacote TCP SYN
para a porta 443, um pacote TCP ACK para a porta 80 e uma solicitação de carimbo de data / hora ICMP. (Para IPv6, o
A solicitação de carimbo de data / hora ICMP foi omitida porque não faz parte do ICMPv6.) Esses padrões são
equivalente ao -EDUCAÇAO FISICA -PS443 -PA80 -PP opções. As exceções são o ARP (para
IPv4) e descoberta de vizinho. (para IPv6) varreduras que são usadas para qualquer destino em um local
rede ethernet. Para usuários de shell Unix sem privilégios, as análises padrão são um pacote SYN
para as portas 80 e 443 usando o connect chamada de sistema .. Esta descoberta de host é frequentemente
suficiente ao fazer a varredura de redes locais, mas um conjunto mais abrangente de sondas de descoberta
é recomendado para auditoria de segurança.
A -P * opções (que selecionam os tipos de ping) podem ser combinadas. Você pode aumentar suas chances de
penetrar em firewalls restritos, enviando muitos tipos de sondagem usando diferentes portas / sinalizadores TCP
e códigos ICMP. Observe também que ARP / descoberta de vizinho (-PR) é feito por padrão contra
alvos em uma rede Ethernet local, mesmo se você especificar outro -P * opções, porque é
quase sempre mais rápido e eficaz.
Por padrão, o Nmap faz a descoberta de host e, em seguida, executa uma varredura de porta em cada host que ele
determina está online. Isso é verdade mesmo se você especificar tipos de descoberta de host não padrão
como sondas UDP (-PU) Leia sobre o -sn opção de aprender como executar apenas host
descoberta ou uso -Pn para pular a descoberta de host e varredura de porta em todos os hosts de destino. A seguir
opções controlam a descoberta de host:
-sL (Pesquisa de lista).
A verificação de lista é uma forma degenerada de descoberta de host que simplesmente lista cada host de
a (s) rede (s) especificada (s), sem enviar nenhum pacote aos hosts de destino. Por padrão,
O Nmap ainda faz resolução de DNS reverso nos hosts para aprender seus nomes. É frequente
surpreendente a quantidade de informações úteis que os nomes de host simples fornecem. Por exemplo, fw.chi
é o nome do firewall de Chicago de uma empresa. O Nmap também relata o número total de
Endereços IP no final. A verificação da lista é uma boa verificação de sanidade para garantir que você tenha
endereços IP adequados para seus alvos. Se os anfitriões ostentam nomes de domínio, você não
reconhecer, vale a pena investigar mais para evitar a digitalização da empresa errada
rede.
Uma vez que a ideia é simplesmente imprimir uma lista de hosts de destino, opções de nível superior
funcionalidades como varredura de portas, detecção de sistema operacional ou varredura de ping não podem ser combinadas
com isso. Se você deseja desabilitar a varredura de ping enquanto tem um desempenho superior
funcionalidade de nível, leia sobre o -Pn (ignorar ping) opção.
-sn (Sem varredura de porta).
Esta opção diz ao Nmap para não fazer uma varredura de porta após a descoberta do host, e apenas imprimir
os hosts disponíveis que responderam aos testes de descoberta de host. Isso é frequentemente conhecido
como uma "varredura de ping", mas você também pode solicitar que os scripts de host traceroute e NSE sejam
corre. Isso é, por padrão, uma etapa mais intrusiva do que a verificação da lista, e muitas vezes pode ser
usado para os mesmos fins. Ele permite o reconhecimento leve de uma rede alvo sem
atraindo muita atenção. Saber quantos hosts estão ativos é mais valioso para os invasores
do que a lista fornecida pela varredura de lista de cada IP e nome de host.
Os administradores de sistema também consideram essa opção valiosa. Pode ser facilmente usado
para contar as máquinas disponíveis em uma rede ou monitorar a disponibilidade do servidor. Isso é frequente
chamado de varredura de ping, e é mais confiável do que fazer o ping do endereço de transmissão porque
muitos hosts não respondem a consultas de broadcast.
A descoberta de host padrão feita com -sn consiste em uma solicitação de eco ICMP, TCP SYN para
porta 443, TCP ACK para porta 80 e uma solicitação de carimbo de data / hora ICMP por padrão. Quando executado
por um usuário sem privilégios, apenas pacotes SYN são enviados (usando um connect chamada) para as portas 80
e 443 no alvo. Quando um usuário privilegiado tenta escanear alvos em um local
rede Ethernet, as solicitações ARP são usadas, a menos que --enviar-ip foi especificado. o -sn opção
pode ser combinado com qualquer um dos tipos de sondagem de descoberta (o -P * opções, excluindo -Pn)
para maior flexibilidade. Se qualquer uma dessas opções de tipo de sonda e número de porta forem usadas,
os probes padrão são substituídos. Quando firewalls restritos estão em vigor entre os
host de origem executando o Nmap e a rede de destino, usando essas técnicas avançadas é
recomendado. Caso contrário, os hosts podem ser perdidos quando o firewall descarta as sondas ou seus
respostas.
Em versões anteriores do Nmap, -sn era conhecido como -sP..
-Pn (Sem ping).
Esta opção ignora completamente o estágio de descoberta do Nmap. Normalmente, o Nmap usa este estágio
para determinar máquinas ativas para digitalização mais pesada. Por padrão, o Nmap só executa
sondagens pesadas, como varreduras de portas, detecção de versão ou detecção de SO contra hosts
que são encontrados para cima. Desativando a descoberta de host com -Pn faz com que o Nmap tente o
funções de digitalização solicitadas contra cada endereço IP de destino especificado. Então, se uma classe
O espaço de endereço de destino B (/ 16) é especificado na linha de comando, todos os 65,536 endereços IP
são digitalizados. A descoberta adequada do host é ignorada como na verificação da lista, mas em vez de
parando e imprimindo a lista de alvos, o Nmap continua a executar as funções solicitadas
como se cada IP de destino estivesse ativo. Para pular a varredura de ping e varredura de porta, embora ainda permitindo
NSE para executar, use as duas opções -Pn -sn juntos.
Para máquinas em uma rede Ethernet local, a varredura ARP ainda será realizada (a menos que
--disable-arp-ping or --enviar-ip é especificado) porque o Nmap precisa de endereços MAC para
fazer uma varredura adicional nos hosts de destino. Em versões anteriores do Nmap, -Pn foi -P0. e -PN..
-PS porta Lista (TCP SYN Ping).
Esta opção envia um pacote TCP vazio com o sinalizador SYN definido. O destino padrão
porta é 80 (configurável em tempo de compilação, alterando DEFAULT_TCP_PROBE_PORT_SPEC. em
nmap.h) .. Portas alternativas podem ser especificadas como um parâmetro. A sintaxe é a mesma que
para o -p exceto que especificadores de tipo de porta como T: não são permitidos. Exemplos são
-PS22 e -PS22-25,80,113,1050,35000. Observe que não pode haver espaço entre -PS e
a lista de portas. Se vários probes forem especificados, eles serão enviados em paralelo.
A bandeira SYN sugere ao sistema remoto que você está tentando estabelecer um
conexão. Normalmente, a porta de destino será fechada e um pacote RST (reset)
enviado de volta. Se a porta estiver aberta, o destino dará o segundo passo de um
Handshake TCP de três vias. respondendo com um pacote SYN / ACK TCP. A máquina funcionando
O Nmap então destrói a conexão nascente, respondendo com um RST em vez de
enviar um pacote ACK que completaria o handshake de três vias e estabeleceria um
conexão completa. O pacote RST é enviado pelo kernel da máquina rodando o Nmap em
resposta ao SYN / ACK inesperado, não pelo próprio Nmap.
O Nmap não se importa se a porta está aberta ou fechada. Tanto o RST quanto o SYN / ACK
a resposta discutida anteriormente diz ao Nmap que o host está disponível e responsivo.
Em caixas Unix, apenas o usuário root com privilégios. geralmente é capaz de enviar e receber
pacotes TCP brutos. Para usuários sem privilégios, uma solução alternativa é empregada automaticamente.
pelo qual o connect a chamada do sistema é iniciada em cada porta de destino. Este tem o
efeito de enviar um pacote SYN para o host de destino, na tentativa de estabelecer um
conexão. Se connect retorna com um sucesso rápido ou uma falha ECONNREFUSED, o
pilha TCP subjacente deve ter recebido um SYN / ACK ou RST e o host está marcado
acessível. Se a tentativa de conexão for deixada travada até que o tempo limite seja atingido, o
host está marcado como inativo.
-PA porta Lista (TCP ACK Ping).
O ping TCP ACK é bastante semelhante ao ping SYN recém-discutido. A diferença, como
você provavelmente pode adivinhar, é que o sinalizador TCP ACK está definido em vez do sinalizador SYN. Tal
um pacote ACK pretende estar reconhecendo dados por meio de uma conexão TCP estabelecida,
mas essa conexão não existe. Portanto, os hosts remotos devem sempre responder com um RST
pacote, revelando sua existência no processo.
A -PA opção usa a mesma porta padrão que a sonda SYN (80) e também pode levar um
lista de portas de destino no mesmo formato. Se um usuário sem privilégios tentar isso, o
connect a solução alternativa discutida anteriormente é usada. Esta solução alternativa é imperfeita porque
connect está na verdade enviando um pacote SYN em vez de um ACK.
A razão para oferecer testes de ping SYN e ACK é para maximizar as chances de
contornando firewalls. Muitos administradores configuram roteadores e outros firewalls simples
para bloquear pacotes SYN de entrada, exceto aqueles destinados a serviços públicos como o
site da empresa ou servidor de e-mail. Isso evita outras conexões de entrada para o
organização, enquanto permite que os usuários façam conexões de saída desobstruídas para o
Internet. Esta abordagem sem estado ocupa poucos recursos no firewall / roteador e
é amplamente suportado por filtros de hardware e software. O Linux Netfilter / iptables.
software de firewall oferece o --sin opção de conveniência para implementar este stateless
aproximação. Quando regras de firewall sem estado como esta estão em vigor, testes de ping SYN
(-PS) provavelmente serão bloqueados quando enviados para portas de destino fechadas. Nesses casos, o
O teste ACK brilha ao ultrapassar essas regras.
Outro tipo comum de firewall usa regras com monitoração de estado que descartam pacotes inesperados. Esse
recurso foi inicialmente encontrado principalmente em firewalls de ponta, embora tenha se tornado muito
mais comum ao longo dos anos. O sistema Linux Netfilter / iptables suporta isso por meio de
da --Estado opção, que categoriza os pacotes com base no estado da conexão. Uma sonda SYN
é mais provável que funcione contra tal sistema, uma vez que pacotes ACK inesperados são geralmente
reconhecido como falso e caiu. Uma solução para este dilema é enviar SYN e
Sondas ACK especificando -PS e -PA.
-PU porta Lista (Ping UDP).
Outra opção de descoberta de host é o ping UDP, que envia um pacote UDP para o
portas. Para a maioria das portas, o pacote estará vazio, embora alguns usem um protocolo específico
carga útil que tem mais probabilidade de obter uma resposta. O banco de dados de carga útil é descrito
at https://nmap.org/book/nmap-payloads.html.. --dados, --data-string e
--comprimento dos dados opções.
A lista de portas tem o mesmo formato que o discutido anteriormente -PS e -PA
opções. Se nenhuma porta for especificada, o padrão é 40125 .. Este padrão pode ser
configurado em tempo de compilação mudando DEFAULT_UDP_PROBE_PORT_SPEC. em nmap.h .. A
porta altamente incomum é usada por padrão porque o envio para portas abertas é frequentemente
indesejável para este tipo de varredura específico.
Ao atingir uma porta fechada na máquina de destino, o probe UDP deve eliciar um ICMP
pacote inacessível de porta em troca. Isso significa para o Nmap que a máquina está ativa e
acessível. Muitos outros tipos de erros ICMP, como host / rede inacessíveis ou TTL
excedidos são indicativos de um host inativo ou inacessível. A falta de resposta também é
interpretado desta forma. Se uma porta aberta for alcançada, a maioria dos serviços simplesmente ignora o
pacote vazio e não retornar qualquer resposta. É por isso que a porta de investigação padrão é
40125, que é altamente improvável que esteja em uso. Alguns serviços, como o Character
O protocolo do gerador (chargen) responderá a um pacote UDP vazio e, assim, divulgará
ao Nmap que a máquina está disponível.
A principal vantagem deste tipo de verificação é que ele ignora firewalls e filtros que
apenas tela TCP. Por exemplo, eu já tive uma banda larga sem fio Linksys BEFW11S4
roteador. A interface externa deste dispositivo filtrou todas as portas TCP por padrão, mas
As sondagens UDP ainda gerariam mensagens de portas inacessíveis e, assim, revelariam o dispositivo.
-PY porta Lista (SCTP INIT Ping).
Esta opção envia um pacote SCTP contendo um bloco INIT mínimo. O padrão
a porta de destino é 80 (configurável em tempo de compilação, alterando
DEFAULT_SCTP_PROBE_PORT_SPEC. em nmap.h). Portas alternativas podem ser especificadas como
parâmetro. A sintaxe é a mesma que para o -p exceto que especificadores de tipo de porta como
S: não são permitidos. Exemplos são -PY22 e -PY22,80,179,5060. Observe que pode haver
nenhum espaço entre -PY e a lista de portas. Se várias sondas forem especificadas, elas serão
enviado em paralelo.
O bloco INIT sugere ao sistema remoto que você está tentando estabelecer um
Associação. Normalmente, a porta de destino será fechada e um bloco ABORT será
enviado de volta. Se a porta estiver aberta, o destino dará o segundo passo de um
Handshake de quatro vias SCTP. respondendo com um bloco INIT-ACK. Se a máquina estiver funcionando
Nmap tem uma pilha SCTP funcional, então ele destrói a associação nascente por
respondendo com um pedaço ABORT em vez de enviar um pedaço COOKIE-ECHO que seria
a próxima etapa do handshake de quatro vias. O pacote ABORT é enviado pelo kernel do
máquina executando o Nmap em resposta ao INIT-ACK inesperado, não pelo próprio Nmap.
O Nmap não se importa se a porta está aberta ou fechada. ABORT ou INIT-ACK
a resposta discutida anteriormente diz ao Nmap que o host está disponível e responsivo.
Em caixas Unix, apenas o usuário root com privilégios. geralmente é capaz de enviar e receber
pacotes SCTP brutos. O uso de SCTP INIT Pings não é possível para usuários sem privilégios
Comercial..
-EDUCAÇAO FISICA; -PP; -PM (Tipos de ping ICMP).
Além dos tipos incomuns de descoberta de host TCP, UDP e SCTP discutidos
anteriormente, o Nmap pode enviar os pacotes padrão enviados pelo programa ping onipresente.
O Nmap envia um pacote ICMP tipo 8 (solicitação de eco) para os endereços IP de destino, esperando
um tipo 0 (resposta de eco) em retorno de hosts disponíveis .. Infelizmente para a rede
exploradores, muitos hosts e firewalls agora bloqueiam esses pacotes, em vez de responder como
solicitado por RFC 1122[2] .. Por esse motivo, as varreduras somente ICMP raramente são confiáveis o suficiente
contra alvos desconhecidos na Internet. Mas para administradores de sistema que monitoram um
rede interna, eles podem ser uma abordagem prática e eficiente. Use o -EDUCAÇAO FISICA opção
para habilitar esse comportamento de solicitação de eco.
Embora a solicitação de eco seja a consulta de ping ICMP padrão, o Nmap não para por aí. O ICMP
padrões (RFC 792[3]. e RFC 950[4]. ) também especificar solicitação de carimbo de data / hora, informações
solicitação e pacotes de solicitação de máscara de endereço como códigos 13, 15 e 17, respectivamente. Enquanto
o propósito aparente dessas consultas é aprender informações como máscaras de endereço
e nos tempos atuais, eles podem ser facilmente usados para descoberta de host. Um sistema que responde
está ativo e disponível. O Nmap atualmente não implementa pacotes de solicitação de informações, pois
eles não são amplamente suportados. RFC 1122 insiste que "um host NÃO DEVE implementar
essas mensagens ”. As consultas de carimbo de data / hora e máscara de endereço podem ser enviadas com o -PP e -PM
opções, respectivamente. Uma resposta de carimbo de data / hora (código ICMP 14) ou resposta de máscara de endereço (código
18) divulga que o host está disponível. Essas duas consultas podem ser valiosas quando
os administradores bloqueiam especificamente os pacotes de solicitação de eco, esquecendo-se de que outros
As consultas ICMP podem ser usadas para o mesmo propósito.
-PEDAÇO protocolo Lista (Ping de protocolo IP).
Uma das opções de descoberta de host mais recentes é o ping do protocolo IP, que envia o IP
pacotes com o número de protocolo especificado definido em seu cabeçalho IP. A lista de protocolo
tem o mesmo formato que as listas de portas no TCP, UDP e SCTP discutido anteriormente
opções de descoberta de host. Se nenhum protocolo for especificado, o padrão é enviar vários
Pacotes IP para ICMP (protocolo 1), IGMP (protocolo 2) e IP-in-IP (protocolo 4). O
protocolos padrão podem ser configurados em tempo de compilação, alterando
DEFAULT_PROTO_PROBE_PORT_SPEC. em nmap.h. Observe que para o ICMP, IGMP, TCP (protocolo
6), UDP (protocolo 17) e SCTP (protocolo 132), os pacotes são enviados com o devido
cabeçalhos de protocolo. enquanto outros protocolos são enviados sem dados adicionais além do
Cabeçalho de IP (a menos que algum --dados, --data-stringou --comprimento dos dados opções são
Especificadas).
Este método de descoberta de host procura as respostas usando o mesmo protocolo que um
sondagem, ou mensagens de protocolo ICMP inacessíveis que significam que o protocolo dado
não é compatível com o host de destino. Qualquer tipo de resposta significa que o
o host de destino está vivo.
-PR (Ping ARP).
Um dos cenários mais comuns de uso do Nmap é escanear uma LAN Ethernet. Na maioria das LANs,
especialmente aqueles que usam intervalos de endereços privados especificados por RFC 1918[5], o vasto
a maioria dos endereços IP não são usados em nenhum momento. Quando o Nmap tenta enviar um arquivo bruto
Pacote IP, como uma solicitação de eco ICMP, o sistema operacional deve determinar o
endereço de hardware de destino (ARP) correspondente ao IP de destino para que ele possa
endereçar adequadamente o quadro Ethernet. Isso costuma ser lento e problemático, uma vez que
sistemas operacionais não foram escritos com a expectativa de que precisariam fazer
milhões de solicitações ARP contra hosts indisponíveis em um curto período de tempo.
A varredura ARP coloca o Nmap e seus algoritmos otimizados no comando das solicitações ARP. E se isso
recebe uma resposta de volta, o Nmap nem mesmo precisa se preocupar com os pacotes de ping baseados em IP
uma vez que já sabe que o host está ativo. Isso torna a varredura ARP muito mais rápida e mais
mais confiável do que as varreduras baseadas em IP. Portanto, é feito por padrão ao verificar hosts Ethernet
que o Nmap detecta estão em uma rede Ethernet local. Mesmo se diferentes tipos de ping (como
as -EDUCAÇAO FISICA or -PS) são especificados, o Nmap usa ARP em vez de qualquer um dos alvos que são
na mesma LAN. Se você absolutamente não deseja fazer uma varredura ARP, especifique
--disable-arp-ping.
Para IPv6 (opção -6), -PR usa descoberta de vizinho ICMPv6 em vez de ARP. Vizinho
A descoberta, definida no RFC 4861, pode ser vista como o equivalente IPv6 do ARP.
--disable-arp-ping (Sem ARP ou Ping ND).
Nmap normalmente faz descoberta ARP ou IPv6 Neighbour Discovery (ND) de localmente conectado
hosts Ethernet, mesmo se outras opções de descoberta de host, como -Pn or -EDUCAÇAO FISICA são usados. Para
desative este comportamento implícito, use o --disable-arp-ping opção.
O comportamento padrão é normalmente mais rápido, mas esta opção é útil em redes que usam
proxy ARP, em que um roteador responde especulativamente a todas as solicitações ARP, fazendo com que cada
o alvo parece estar ativado de acordo com a varredura ARP.
--traceroute (Rastreie o caminho para o host).
Traceroutes são realizados pós-varredura usando informações dos resultados da varredura para
determine a porta e o protocolo com maior probabilidade de atingir o destino. Funciona com todos
tipos de varredura, exceto varreduras de conexão (-sT) e varreduras inativas (-si) Todos os rastreios usam Nmap's
modelo de temporização dinâmico e são executados em paralelo.
Traceroute funciona enviando pacotes com um baixo TTL (tempo de vida) na tentativa de
obter mensagens ICMP Time Exceeded de saltos intermediários entre o scanner e o
host de destino. Implementações de traceroute padrão começam com TTL de 1 e incrementam
o TTL até que o host de destino seja alcançado. O traceroute do Nmap começa com um alto
TTL e então diminui o TTL até chegar a zero. Fazê-lo ao contrário permite que o Nmap
empregar algoritmos de cache inteligentes para acelerar os rastreamentos em vários hosts. Na média
O Nmap envia de 5 a 10 menos pacotes por host, dependendo das condições da rede. Se um único
a sub-rede está sendo verificada (ou seja, 192.168.0.0/24) O Nmap pode ter que enviar apenas dois pacotes
para a maioria dos hosts.
-n (Sem resolução DNS).
Diz ao Nmap para nunca inverter a resolução DNS nos endereços IP ativos que encontrar.
Uma vez que o DNS pode ser lento mesmo com o resolvedor stub paralelo integrado do Nmap, esta opção
pode reduzir o tempo de digitalização.
-R (Resolução DNS para todos os destinos).
Diz ao Nmap para sempre inverter a resolução DNS nos endereços IP de destino. Normalmente
DNS reverso só é executado em hosts responsivos (online).
--sistema-dns (Use o resolvedor DNS do sistema).
Por padrão, o Nmap resolve endereços IP enviando consultas diretamente para os servidores de nomes
configurado em seu host e, em seguida, ouvindo as respostas. Muitos pedidos (muitas vezes dezenas)
são executados em paralelo para melhorar o desempenho. Especifique esta opção para usar o seu
resolvedor do sistema em vez disso (um IP de cada vez por meio do obter informações de nome ligar). Isso é mais lento
e raramente útil a menos que você encontre um bug no resolvedor paralelo Nmap (por favor, deixe-nos
sabe se você faz). O resolvedor do sistema é sempre usado para varreduras IPv6.
--dns-servidores Server1[,Server2[, ...]] (Servidores a serem usados para consultas DNS reversas).
Por padrão, o Nmap determina seus servidores DNS (para resolução rDNS) de seu
arquivo resolv.conf (Unix) ou o Registro (Win32). Alternativamente, você pode usar este
opção para especificar servidores alternativos. Esta opção não é respeitada se você estiver usando
--sistema-dns ou uma varredura IPv6. Usar vários servidores DNS costuma ser mais rápido, especialmente
se você escolher servidores autorizados para o seu espaço IP de destino. Esta opção também pode
melhorar o sigilo, pois suas solicitações podem ser rejeitadas em praticamente qualquer DNS recursivo
servidor na Internet.
Essa opção também é útil ao escanear redes privadas. Às vezes, apenas alguns
servidores de nomes fornecem informações rDNS adequadas, e você pode nem saber onde eles
estão. Você pode escanear a rede para a porta 53 (talvez com detecção de versão) e, em seguida, tentar
Verificações de lista Nmap (-sL) especificando cada servidor de nomes, um de cada vez com --dns-servidores
até encontrar um que funcione.
PORT DIGITALIZAÇÃO BASICS
Embora o Nmap tenha crescido em funcionalidade ao longo dos anos, ele começou como uma porta eficiente
scanner, e essa continua sendo sua função principal. O comando simples nmap alvo verifica 1,000
Portas TCP no host alvo. Embora muitos scanners de porta tenham tradicionalmente agrupado todas as portas
nos estados aberto ou fechado, o Nmap é muito mais granular. Ele divide as portas em seis
estados: aberto, fechado, filtrado, não filtrado, aberto | filtrado ou fechado | filtrado.
Esses estados não são propriedades intrínsecas da porta em si, mas descrevem como o Nmap vê
eles. Por exemplo, uma varredura Nmap da mesma rede que o destino pode mostrar a porta 135 / tcp
como aberto, enquanto uma varredura ao mesmo tempo com as mesmas opções de toda a Internet
pode mostrar essa porta como filtrada.
A seis porta estados reconhecido by Nmap
Um aplicativo está aceitando ativamente conexões TCP, datagramas UDP ou SCTP
associações nesta porta. Encontrá-los geralmente é o objetivo principal da varredura de portas.
Pessoas preocupadas com a segurança sabem que cada porta aberta é uma via de ataque. Atacantes e
os pen-testers querem explorar as portas abertas, enquanto os administradores tentam fechar ou
proteja-os com firewalls sem frustrar usuários legítimos. Portas abertas também são
interessante para varreduras não relacionadas à segurança porque mostram serviços disponíveis para uso no
rede.
Uma porta fechada é acessível (ela recebe e responde aos pacotes de sondagem do Nmap), mas
não há nenhum aplicativo escutando nele. Eles podem ser úteis para mostrar que um host é
em um endereço IP (descoberta de host ou varredura de ping) e como parte da detecção de sistema operacional.
Como as portas fechadas podem ser acessadas, pode valer a pena fazer a varredura mais tarde, no caso de algumas abrirem
acima. Os administradores podem querer considerar o bloqueio dessas portas com um firewall. Depois eles
apareceria no estado filtrado, discutido a seguir.
O Nmap não pode determinar se a porta está aberta porque a filtragem de pacotes impede que
sondas de alcançar a porta. A filtragem pode ser de um firewall dedicado
dispositivo, regras de roteador ou software de firewall baseado em host. Essas portas frustram os invasores
porque fornecem tão poucas informações. Às vezes, eles respondem com erro ICMP
mensagens como tipo 3 código 13 (destino inacessível: comunicação
proibida administrativamente), mas filtros que simplesmente descartam as sondas sem responder
são muito mais comuns. Isso força o Nmap a tentar várias vezes, apenas no caso de o probe
foi descartado devido ao congestionamento da rede, em vez de filtragem. Isso retarda a varredura
dramaticamente.
O estado não filtrado significa que uma porta está acessível, mas o Nmap é incapaz de determinar
se está aberto ou fechado. Apenas a verificação ACK, que é usada para mapear firewall
conjuntos de regras, classifica as portas neste estado. Verificando portas não filtradas com outra verificação
tipos como varredura de janela, varredura SYN ou varredura FIN podem ajudar a resolver se a porta está
abrir.
O Nmap coloca as portas neste estado quando não consegue determinar se uma porta está aberta
ou filtrado. Isso ocorre para tipos de varredura em que as portas abertas não fornecem resposta. A falta
de resposta também pode significar que um filtro de pacotes descartou a investigação ou qualquer resposta
eliciado. Portanto, o Nmap não sabe ao certo se a porta está aberta ou sendo filtrada.
As varreduras UDP, protocolo IP, FIN, NULL e Xmas classificam as portas dessa maneira.
Este estado é usado quando o Nmap é incapaz de determinar se uma porta está fechada ou
filtrado. É usado apenas para a varredura ociosa de IP ID.
PORT DIGITALIZAÇÃO TÉCNICAS
Como um novato em reparos automotivos, posso lutar por horas tentando encaixar meu
ferramentas rudimentares (martelo, fita adesiva, chave inglesa, etc.) para a tarefa em mãos. Quando eu falho
miseravelmente e rebocar meu calhambeque para um mecânico de verdade, ele invariavelmente pesca em uma ferramenta enorme
peito até retirar o aparelho perfeito que faz o trabalho parecer fácil. A arte de
a varredura de portas é semelhante. Os especialistas entendem as dezenas de técnicas de varredura e escolhem o
apropriado (ou combinação) para uma determinada tarefa. Usuários inexperientes e script
kiddies ,. por outro lado, tente resolver todos os problemas com a varredura SYN padrão. Desde a
O Nmap é gratuito, a única barreira para o domínio do escaneamento de portas é o conhecimento. Isso certamente bate
o mundo automotivo, onde pode ser necessária uma grande habilidade para determinar se você precisa de um suporte
compressor de mola, então você ainda terá que pagar milhares de dólares por ele.
A maioria dos tipos de digitalização estão disponíveis apenas para usuários com privilégios. Isso ocorre porque eles enviam
e receber pacotes brutos. que requer acesso root em sistemas Unix. Usando um
conta de administrador no Windows é recomendada, embora o Nmap às vezes funcione para
usuários sem privilégios nessa plataforma quando o WinPcap já foi carregado no sistema operacional.
Exigir privilégios de root era uma limitação séria quando o Nmap foi lançado em 1997, como muitos
os usuários só tinham acesso a contas shell compartilhadas. Agora, o mundo é diferente. Computadores são
mais barato, muito mais pessoas têm acesso direto à Internet e sistemas Unix para desktop.
(incluindo Linux e Mac OS X) são predominantes. Uma versão do Nmap para Windows já está disponível,
permitindo que ele seja executado em ainda mais desktops. Por todos esses motivos, os usuários têm menos necessidade de
execute o Nmap a partir de contas de shell compartilhadas limitadas. Isso é uma sorte, pois as opções privilegiadas
tornar o Nmap muito mais poderoso e flexível.
Enquanto o Nmap tenta produzir resultados precisos, tenha em mente que todos os seus insights são
com base em pacotes retornados pelas máquinas de destino (ou firewalls na frente delas). Tal
hosts podem não ser confiáveis e enviar respostas com a intenção de confundir ou enganar o Nmap. Muito
mais comuns são os hosts não compatíveis com RFC que não respondem como deveriam aos testes do Nmap.
As varreduras FIN, NULL e Xmas são particularmente suscetíveis a esse problema. Tais questões são
específicos para certos tipos de varredura e, portanto, são discutidos nas entradas de tipo de varredura individuais.
Esta seção documenta cerca de uma dúzia de técnicas de varredura de portas suportadas pelo Nmap. Apenas um
método pode ser usado em um momento, exceto que a varredura UDP (-dele) e qualquer uma das varreduras SCTP
tipos (-sY, -sZ) pode ser combinado com qualquer um dos tipos de varredura TCP. Como um auxílio de memória, porta
as opções de tipo de digitalização são do formato -sC, Onde C é um personagem proeminente no nome da varredura,
geralmente o primeiro. A única exceção a isso é a obsoleta varredura de rejeição de FTP (-b) Por
padrão, o Nmap realiza uma varredura SYN, embora substitua uma varredura de conexão se o usuário fizer
não tem privilégios adequados para enviar pacotes brutos (requer acesso root no Unix). Do
varreduras listadas nesta seção, usuários sem privilégios só podem executar conexão e rejeição de FTP
varreduras.
-WL (Varredura TCP SYN).
A varredura SYN é a opção de varredura padrão e mais popular por bons motivos. Pode ser
executado rapidamente, varrendo milhares de portas por segundo em uma rede rápida que não
dificultado por firewalls restritivos. Também é relativamente discreto e furtivo
uma vez que nunca completa as conexões TCP. A varredura SYN funciona contra qualquer TCP compatível
empilhar em vez de depender de idiossincrasias de plataformas específicas como o Nmap
FIN / NULL / Xmas, Maimon e varreduras ociosas fazem. Também permite
diferenciação entre os estados aberto, fechado e filtrado.
Esta técnica é frequentemente referida como escaneamento semi-aberto, porque você não abre um
conexão TCP completa. Você envia um pacote SYN, como se fosse abrir um pacote real
conexão e aguarde uma resposta. Um SYN / ACK indica que a porta está escutando
(aberto), enquanto um RST (redefinir) é indicativo de um não ouvinte. Se nenhuma resposta for
recebido após várias retransmissões, a porta é marcada como filtrada. O porto é
também marcado como filtrado se houver um erro de ICMP inacessível (tipo 3, código 0, 1, 2, 3, 9, 10 ou
13) é recebido. A porta também é considerada aberta se um pacote SYN (sem o ACK
sinalizador) é recebido em resposta. Isso pode ser devido a um recurso TCP extremamente raro conhecido
como uma conexão de handshake aberta ou dividida simultânea (consulte
https://nmap.org/misc/split-handshake.pdf).
-sT (Varredura de conexão TCP).
A varredura de conexão TCP é o tipo de varredura TCP padrão quando a varredura SYN não é uma opção. Isto é
o caso quando um usuário não tem privilégios de pacote bruto. Em vez de escrever cru
pacotes como a maioria dos outros tipos de varredura fazem, o Nmap pede ao sistema operacional subjacente para
estabelecer uma conexão com a máquina de destino e porta emitindo o connect .
ligar. Esta é a mesma chamada de sistema de alto nível que navegadores da web, clientes P2P e muitos
outros aplicativos habilitados para rede usam para estabelecer uma conexão. Faz parte de um
interface de programação conhecida como Berkeley Sockets API. Em vez de ler o pacote bruto
respostas off the wire, o Nmap usa esta API para obter informações de status em cada
tentativa de conexão.
Quando a varredura SYN está disponível, geralmente é a melhor escolha. Nmap tem menos controle sobre
o alto nível connect chamada do que com pacotes brutos, tornando-o menos eficiente. O
a chamada do sistema completa as conexões para abrir as portas de destino em vez de realizar o
redefinição semi-aberta que a varredura SYN faz. Isso não só leva mais tempo e exige mais
pacotes para obter as mesmas informações, mas as máquinas alvo são mais propensas a registrar o
conexão. Um IDS decente detectará qualquer um deles, mas a maioria das máquinas não possui tal alarme
sistema. Muitos serviços em seu sistema Unix médio irão adicionar uma nota ao syslog, e
às vezes, uma mensagem de erro enigmática, quando o Nmap se conecta e, em seguida, fecha a conexão
sem enviar dados. Serviços verdadeiramente patéticos travam quando isso acontece, embora seja
incomum. Um administrador que vê um monte de tentativas de conexão em seus registros de um
único sistema deve saber que sua conexão foi digitalizada.
-dele (Varreduras UDP).
Embora os serviços mais populares da Internet sejam executados no protocolo TCP, UDP[6] serviços
são amplamente implantados. DNS, SNMP e DHCP (portas registradas 53, 161/162 e 67/68) são
três dos mais comuns. Porque a digitalização UDP é geralmente mais lenta e difícil
do que o TCP, alguns auditores de segurança ignoram essas portas. Este é um erro, tão explorável
Os serviços UDP são bastante comuns e os invasores certamente não ignoram todo o protocolo.
Felizmente, o Nmap pode ajudar a inventariar as portas UDP.
A varredura UDP é ativada com o -dele opção. Pode ser combinado com um tipo de varredura TCP
como a varredura SYN (-WL) para verificar os dois protocolos durante a mesma execução.
A varredura UDP funciona enviando um pacote UDP para cada porta de destino. Para algumas portas comuns
como 53 e 161, uma carga útil específica do protocolo é enviada para aumentar a taxa de resposta, mas
para a maioria das portas, o pacote está vazio, a menos que o --dados, --data-stringou --comprimento dos dados
opções são especificadas. Se um erro de porta ICMP inacessível (tipo 3, código 3) for retornado,
a porta está fechada. Outros erros ICMP inacessíveis (tipo 3, códigos 0, 1, 2, 9, 10 ou
13) marque a porta como filtrada. Ocasionalmente, um serviço responderá com um pacote UDP,
provando que está aberto. Se nenhuma resposta for recebida após as retransmissões, a porta é
classificado como aberto | filtrado. Isso significa que a porta pode estar aberta, ou talvez o pacote
filtros estão bloqueando a comunicação. Detecção de versão (-sV) pode ser usado para ajudar
diferencie as portas verdadeiramente abertas das filtradas.
Um grande desafio com a digitalização UDP é fazer isso rapidamente. Portas abertas e filtradas raramente
enviar qualquer resposta, deixando o Nmap expirar e, em seguida, conduzir retransmissões apenas em
caso a sonda ou a resposta foram perdidas. As portas fechadas costumam ser um problema ainda maior.
Eles geralmente devolvem um erro de porta ICMP inacessível. Mas ao contrário dos pacotes RST enviados
por portas TCP fechadas em resposta a um SYN ou scan de conexão, limite de taxa de muitos hosts. ICMP
porta mensagens inacessíveis por padrão. Linux e Solaris são particularmente rígidos sobre
isto. Por exemplo, o kernel do Linux 2.4.20 limita o destino de mensagens inacessíveis a
um por segundo (em net / ipv4 / icmp.c).
O Nmap detecta a limitação da taxa e diminui a velocidade de acordo para evitar inundar a rede
com pacotes inúteis que a máquina de destino descartará. Infelizmente, um estilo Linux
limite de um pacote por segundo faz com que uma varredura de 65,536 portas demore mais de 18 horas. Ideias
para acelerar suas varreduras UDP, inclua a varredura de mais hosts em paralelo, fazendo uma rápida
verificar apenas as portas populares primeiro, verificando por trás do firewall e usando
--host-tempo limite para pular hosts lentos.
-sY (Varredura SCTP INIT).
SCTP[7] é uma alternativa relativamente nova para os protocolos TCP e UDP, combinando a maioria
características de TCP e UDP, e também adicionando novos recursos como multi-homing e
multi-streaming. Ele está sendo usado principalmente para serviços relacionados ao SS7 / SIGTRAN, mas tem o
potencial para ser usado para outras aplicações também. A varredura SCTP INIT é o SCTP
equivalente a uma varredura TCP SYN. Pode ser executado rapidamente, escaneando milhares de portas
por segundo em uma rede rápida não prejudicada por firewalls restritivos. Como a varredura SYN,
A varredura INIT é relativamente discreta e furtiva, uma vez que nunca completa o SCTP
associações. Também permite uma diferenciação clara e confiável entre o aberto, o fechado,
e estados filtrados.
Esta técnica é frequentemente referida como escaneamento semi-aberto, porque você não abre um
associação SCTP completa. Você envia um pedaço INIT, como se fosse abrir um verdadeiro
associação e aguarde uma resposta. Um bloco INIT-ACK indica que a porta está
ouvindo (aberto), enquanto um pedaço ABORT é indicativo de um não ouvinte. Se não houver resposta
for recebida após várias retransmissões, a porta será marcada como filtrada. O porto é
também marcado como filtrado se houver um erro de ICMP inacessível (tipo 3, código 0, 1, 2, 3, 9, 10 ou
13) é recebido.
-sN; -sF; -sX (Varreduras TCP NULL, FIN e Xmas).
Esses três tipos de varredura (ainda mais são possíveis com o --scanflags opção descrita
na próxima seção) explorar uma brecha sutil no TCP RFC[8] para diferenciar
entre portas abertas e fechadas. A página 65 da RFC 793 diz que “se a porta [de destino]
o estado é FECHADO .... um segmento de entrada que não contém um RST faz com que um RST seja enviado
em resposta." Em seguida, a próxima página discute os pacotes enviados para abrir portas sem o
Conjunto de bits SYN, RST ou ACK, afirmando que: "é improvável que você chegue aqui, mas se chegar,
largue o segmento e volte. ”
Ao escanear sistemas compatíveis com este texto RFC, qualquer pacote que não contenha SYN,
Os bits RST ou ACK resultarão em um RST retornado se a porta estiver fechada e sem resposta
em tudo se a porta estiver aberta. Contanto que nenhum desses três bits seja incluído, qualquer
combinação dos outros três (FIN, PSH e URG) estão OK. O Nmap explora isso com
três tipos de varredura:
Varredura nula (-sN)
Não define nenhum bit (o cabeçalho do sinalizador TCP é 0)
Scan FIN (-sF)
Define apenas o bit TCP FIN.
Varredura de Natal (-sX)
Define os sinalizadores FIN, PSH e URG, iluminando o pacote como uma árvore de Natal.
Esses três tipos de varredura são exatamente o mesmo em comportamento, exceto para os sinalizadores TCP definidos
em pacotes de teste. Se um pacote RST for recebido, a porta é considerada fechada, enquanto nenhuma
resposta significa que está aberto | filtrado. A porta é marcada como filtrada se um ICMP inacessível
erro (tipo 3, código 0, 1, 2, 3, 9, 10 ou 13) é recebido.
A principal vantagem desses tipos de varredura é que eles podem se infiltrar em certos
firewalls sem monitoração de estado e roteadores de filtragem de pacotes. Outra vantagem é que estes
os tipos de varredura são um pouco mais furtivos do que até mesmo uma varredura SYN. Não conte com isso
embora — a maioria dos produtos IDS modernos podem ser configurados para detectá-los. A grande desvantagem é
que nem todos os sistemas seguem RFC 793 ao pé da letra. Vários sistemas enviam RST
respostas às sondas, independentemente de a porta estar aberta ou não. Isso faz com que todos
das portas a serem rotuladas como fechadas. Os principais sistemas operacionais que fazem isso são Microsoft
Windows, muitos dispositivos Cisco, BSDI e IBM OS / 400. Esta verificação funciona contra a maioria
Porém, sistemas baseados em Unix. Outra desvantagem dessas varreduras é que eles não podem
distinguir portas abertas de certas portas filtradas, deixando você com a resposta
aberto | filtrado.
-sA (Varredura TCP ACK).
Esta varredura é diferente das outras discutidas até agora, pois nunca determina
portas abertas (ou mesmo abertas | filtradas). É usado para mapear conjuntos de regras de firewall,
determinar se eles têm estado ou não e quais portas são filtradas.
O pacote de sondagem ACK scan tem apenas o sinalizador ACK definido (a menos que você use --scanflags) Quando
a varredura de sistemas não filtrados, portas abertas e fechadas retornará um pacote RST. Nmap
em seguida, os rotula como não filtrados, o que significa que eles podem ser acessados pelo pacote ACK, mas
se eles estão abertos ou fechados é indeterminado. Portas que não respondem ou enviam
certas mensagens de erro ICMP de volta (tipo 3, código 0, 1, 2, 3, 9, 10 ou 13), são rotuladas
filtrado.
-sW (Varredura de janela TCP).
A varredura de janela é exatamente igual à varredura de ACK, exceto que explora uma implementação
detalhes de certos sistemas para diferenciar portas abertas de portas fechadas, ao invés de
sempre imprimindo sem filtro quando um RST é retornado. Ele faz isso examinando o TCP
Campo da janela dos pacotes RST retornados. Em alguns sistemas, as portas abertas usam um positivo
tamanho da janela (mesmo para pacotes RST) enquanto os fechados têm uma janela zero. Então, ao invés de
sempre listando uma porta como não filtrada quando ela recebe um RST de volta, a varredura do Windows lista o
porta como aberta ou fechada se o valor da janela TCP nessa redefinição for positivo ou zero,
respectivamente.
Esta varredura depende de um detalhe de implementação de uma minoria de sistemas no
Internet, então você nem sempre pode confiar nela. Sistemas que não suportam isso geralmente
retornar todas as portas fechadas. Claro, é possível que a máquina realmente não tenha
portas. Se a maioria das portas verificadas estiverem fechadas, mas alguns números de porta comuns (como 22, 25,
53) são filtrados, o sistema é provavelmente suscetível. Ocasionalmente, os sistemas irão
até mesmo mostrar o comportamento exatamente oposto. Se a sua varredura mostra 1,000 portas abertas e três
portas fechadas ou filtradas, então essas três podem muito bem ser as verdadeiramente abertas.
-sM (Varredura TCP Maimon).
A varredura Maimon tem o nome de seu descobridor, Uriel Maimon. Ele descreveu o
técnica na edição # 49 da Phrack Magazine (novembro de 1996) .. Nmap, que incluiu este
técnica, foi lançado duas edições depois. Esta técnica é exatamente igual a NULL,
FIN e varreduras de Natal, exceto que a sonda é FIN / ACK. De acordo com RFC 793[8] (TCP),
um pacote RST deve ser gerado em resposta a tal investigação se a porta está aberta
ou fechado. No entanto, Uriel notou que muitos sistemas derivados de BSD simplesmente descartam o pacote
se a porta estiver aberta.
--scanflags (Varredura TCP personalizada).
Os usuários de Nmap verdadeiramente avançados não precisam se limitar aos tipos de varredura enlatados oferecidos.
A --scanflags opção permite que você projete sua própria varredura especificando TCP arbitrário
sinalizadores .. Deixe sua criatividade fluir, enquanto evita os sistemas de detecção de intrusão.
cujos fornecedores simplesmente folheiam a página de manual do Nmap adicionando regras específicas!
A --scanflags argumento pode ser um valor de sinalizador numérico, como 9 (PSH e FIN), mas
usar nomes simbólicos é mais fácil. Basta misturar qualquer combinação de URG, ACK, PSH,
RST, SYN e FIN. Por exemplo, --scanflags URGACKPSHRSTSYNFIN define tudo, no entanto
não é muito útil para digitalização. A ordem em que são especificados é irrelevante.
Além de especificar os sinalizadores desejados, você pode especificar um tipo de varredura TCP (como
-sA or -sF) Esse tipo de base diz ao Nmap como interpretar as respostas. Por exemplo, um SYN
a varredura considera a ausência de resposta para indicar uma porta filtrada, enquanto uma varredura FIN trata o
mesmo que aberto | filtrado. O Nmap se comportará da mesma forma que o tipo de varredura de base,
exceto que ele usará os sinalizadores TCP que você especificar. Se você não especificar uma base
tipo, a varredura SYN é usada.
-sZ (Varredura SCTP COOKIE ECHO).
A varredura SCTP COOKIE ECHO é uma varredura SCTP mais avançada. Aproveita o fato
que as implementações SCTP devem descartar silenciosamente os pacotes contendo pedaços COOKIE ECHO
nas portas abertas, mas envie um ABORT se a porta estiver fechada. A vantagem desta varredura
tipo é que não é uma varredura de porta tão óbvia quanto uma varredura INIT. Além disso, pode haver
conjuntos de regras de firewall sem monitoração de estado bloqueando blocos INIT, mas não blocos COOKIE ECHO. Não
se iluda pensando que isso tornará uma varredura de porta invisível; um bom IDS será
capaz de detectar varreduras SCTP COOKIE ECHO também. A desvantagem é que o SCTP COOKIE ECHO faz a varredura
não consegue diferenciar entre portas abertas e filtradas, deixando você com o estado
aberto | filtrado em ambos os casos.
-si zumbi hospedeiro[:porta de sondagem] (varredura ociosa).
Este método de varredura avançado permite uma varredura verdadeiramente cega da porta TCP do alvo
(o que significa que nenhum pacote é enviado ao destino do seu endereço IP real). Em vez disso, um
ataque de canal lateral exclusivo explora sequência de ID de fragmentação de IP previsível
geração no host zumbi para coletar informações sobre as portas abertas no destino.
Os sistemas IDS exibirão a varredura como proveniente da máquina zumbi que você especificar (que
deve estar ativo e atender a determinados critérios). Este tipo de digitalização fascinante é muito complexo para
descrever completamente neste guia de referência, então escrevi e publiquei um artigo informal com
detalhes completos em https://nmap.org/book/idlescan.html.
Além de ser extraordinariamente furtivo (devido à sua natureza cega), este tipo de varredura
permite mapear relações de confiança baseadas em IP entre máquinas. A lista de portas
mostra portas abertas da da perspectiva of da zumbi hospedeiro. Então você pode tentar escanear um
alvo usando vários zumbis que você acha que podem ser confiáveis. (via roteador / pacote
regras de filtro).
Você pode adicionar dois pontos seguidos por um número de porta para o host zumbi se desejar sondar
uma porta específica no zumbi para alterações de ID de IP. Caso contrário, o Nmap usará a porta que
usa por padrão para pings TCP (80).
-tão (Varredura de protocolo IP).
A varredura do protocolo IP permite que você determine quais protocolos IP (TCP, ICMP, IGMP, etc.)
são suportados por máquinas de destino. Isso não é tecnicamente uma varredura de porta, uma vez que faz um ciclo
por meio de números de protocolo IP em vez de números de porta TCP ou UDP. No entanto, ainda usa o
-p opção de selecionar números de protocolo escaneados, relata seus resultados dentro do normal
formato de tabela de porta e até usa o mesmo mecanismo de verificação subjacente que a porta verdadeira
métodos de digitalização. Portanto, é perto o suficiente de uma varredura de porta para que ele pertença aqui.
Além de ser útil por si só, a varredura de protocolo demonstra o poder do
software livre. Embora a ideia fundamental seja bastante simples, não pensei
para adicioná-lo nem recebeu qualquer solicitação para tal funcionalidade. Então, no verão de
2000, Gerhard Rieger. concebeu a ideia, escreveu um excelente patch para implementá-la,
e o enviou para a lista de discussão de anúncios. (então chamado de nmap-hackers) .. Eu
incorporou esse patch na árvore do Nmap e lançou uma nova versão no dia seguinte.
Poucas peças de software comercial têm usuários entusiasmados o suficiente para projetar e
contribuir com suas próprias melhorias!
A varredura de protocolo funciona de maneira semelhante à varredura UDP. Em vez de iterar pelo
campo de número da porta de um pacote UDP, ele envia cabeçalhos de pacotes IP e itera por meio do
campo de protocolo IP de oito bits. Os cabeçalhos geralmente estão vazios, não contêm dados e não
até mesmo o cabeçalho adequado para o protocolo reivindicado. As exceções são TCP, UDP, ICMP,
SCTP e IGMP. Um cabeçalho de protocolo adequado para aqueles está incluído, uma vez que alguns sistemas
não os enviará de outra forma e porque o Nmap já tem funções para criá-los.
Em vez de observar as mensagens de porta ICMP inacessíveis, a varredura de protocolo está no
olhar para ICMP protocolo mensagens inacessíveis. Se o Nmap receber qualquer resposta em qualquer
protocolo do host de destino, o Nmap marca esse protocolo como aberto. Um protocolo ICMP
erro inacessível (tipo 3, código 2) faz com que o protocolo seja marcado como fechado enquanto
porta inacessível (tipo 3, código 3) marca o protocolo aberto. Outro ICMP inacessível
erros (tipo 3, código 0, 1, 9, 10 ou 13) fazem com que o protocolo seja marcado como filtrado
(embora eles provem que o ICMP está aberto ao mesmo tempo). Se nenhuma resposta for recebida
após as retransmissões, o protocolo é marcado como aberto | filtrado
-b FTP retransmissão hospedeiro (Varredura de rejeição de FTP).
Um recurso interessante do protocolo FTP (RFC 959[9]) é o suporte para o chamado proxy
Conexões FTP. Isso permite que um usuário se conecte a um servidor FTP e solicite que os arquivos
ser enviado a um servidor de terceiros. Esse recurso está pronto para o abuso em muitos níveis, então
a maioria dos servidores parou de suportá-lo. Um dos abusos que esse recurso permite é
fazendo com que o servidor FTP faça a varredura de portas de outros hosts. Basta pedir ao servidor FTP para enviar um
arquivo para cada porta interessante de um host de destino, por sua vez. A mensagem de erro irá
descreva se a porta está aberta ou não. Esta é uma boa maneira de contornar firewalls
porque os servidores FTP organizacionais são frequentemente colocados onde têm mais acesso a
outros hosts internos do que qualquer host antigo da Internet faria. Nmap suporta varredura de rejeição de FTP
com o -b opção. Leva um argumento da forma nome de usuário:senha@servidor:porta.
servidor é o nome ou endereço IP de um servidor FTP vulnerável. Tal como acontece com um URL normal, você
pode omitir nome de usuário:senha, nesse caso, credenciais de login anônimas (usuário: anônimo
senha: -wwwuser @) são usados. O número da porta (e dois pontos precedentes) pode ser omitido como
bem, nesse caso, a porta FTP padrão (21) em servidor é usado.
Esta vulnerabilidade foi generalizada em 1997, quando o Nmap foi lançado, mas tem sido amplamente
fixo. Os servidores vulneráveis ainda estão por aí, então vale a pena tentar quando tudo mais falhar.
Se contornar um firewall é seu objetivo, verifique a rede de destino para a porta 21 (ou mesmo para
quaisquer serviços FTP se você escanear todas as portas com detecção de versão) e usar o ftp-bounce.
Script NSE. O Nmap irá dizer se o host é vulnerável ou não. Se você é apenas
tentando cobrir seus rastros, você não precisa (e, na verdade, não deveria) limitar
para hosts na rede de destino. Antes de fazer a varredura aleatória da Internet
endereços de servidores FTP vulneráveis, considere que os administradores de sistemas podem não gostar de você
abusando de seus servidores desta forma.
PORT ESPECIFICAÇÃO E SCAN PEDIDO
Além de todos os métodos de varredura discutidos anteriormente, o Nmap oferece opções para
especificando quais portas são verificadas e se a ordem de verificação é aleatória ou sequencial.
Por padrão, o Nmap verifica as 1,000 portas mais comuns para cada protocolo.
-p porta gamas (Faça a varredura apenas nas portas especificadas).
Esta opção especifica quais portas você deseja verificar e substitui o padrão.
Os números de porta individuais estão OK, assim como os intervalos separados por um hífen (por exemplo, 1-1023).
Os valores iniciais e / ou finais de um intervalo podem ser omitidos, fazendo com que o Nmap use 1 e
65535, respectivamente. Então você pode especificar -p- para fazer a varredura de portas de 1 a 65535.
Verificando porta zero. é permitido se você especificar explicitamente. Para varredura de protocolo IP
(-tão), esta opção especifica os números de protocolo que você deseja pesquisar (0–255).
Ao verificar uma combinação de protocolos (por exemplo, TCP e UDP), você pode especificar um
protocolo específico precedendo os números das portas por T: para TCP, U: para UDP, S: para
SCTP ou P: para protocolo IP. O qualificador dura até que você especifique outro qualificador.
Por exemplo, o argumento -p U: 53,111,137, T: 21-25,80,139,8080 faria a varredura das portas UDP 53,
111 e 137, bem como as portas TCP listadas. Observe que para fazer a varredura de UDP e TCP, você
tem que especificar -dele e pelo menos um tipo de varredura TCP (como -WL, -sFou -sT) Se não
o qualificador de protocolo é fornecido, os números de porta são adicionados a todas as listas de protocolo. Ports
também pode ser especificado pelo nome de acordo com o que a porta é referida no
nmap-services. Você pode até usar os curingas * e? com os nomes. Por exemplo, para
digitalize o FTP e todas as portas cujos nomes comecem com “http”, use -p ftp, http *. Tome cuidado
sobre expansões de shell e cite o argumento para -p se não tiver certeza.
Os intervalos de portas podem ser circundados por colchetes para indicar as portas dentro desse
intervalo que aparece em nmap-services. Por exemplo, o seguinte irá verificar todas as portas em
nmap-services igual ou inferior a 1024: -p [-1024]. Tenha cuidado com as expansões de concha e
cite o argumento para -p se não tiver certeza.
--exclude-portas porta gamas (Exclua as portas especificadas da varredura).
Esta opção especifica quais portas você deseja que o Nmap exclua da varredura. o porta
gamas são especificados semelhantes a -p. Para varredura de protocolo IP (-tão), esta opção
especifica os números de protocolo que você deseja excluir (0–255).
Quando as portas são solicitadas a serem excluídas, elas são excluídas de todos os tipos de varreduras (ou seja,
eles não serão verificados em nenhuma circunstância). Isso também inclui a descoberta
Estágio.
-F (Varredura rápida (porta limitada)).
Especifica que você deseja varrer menos portas do que o padrão. Normalmente o Nmap verifica o
mais comuns 1,000 portas para cada protocolo verificado. Com -F, isso é reduzido para 100.
O Nmap precisa de um arquivo de serviços nmap com informações de frequência para saber quais
as portas são as mais comuns. Se as informações de frequência da porta não estiverem disponíveis, talvez
por causa do uso de um arquivo de serviços nmap personalizado, o Nmap verifica todas as portas nomeadas mais
portas 1-1024. Nesse caso, -F significa verificar apenas as portas nomeadas nos serviços
arquivo.
-r (Não randomize portas).
Por padrão, o Nmap randomiza a ordem das portas escaneadas (exceto que certas
as portas acessíveis são movidas perto do início por razões de eficiência). Isto
randomização normalmente é desejável, mas você pode especificar -r para sequencial (classificado
do mais baixo para o mais alto) varredura de porta.
--porta-relação relação<decimais número entre 0 e 1>
Verifica todas as portas no arquivo nmap-services com uma proporção maior do que a fornecida. relação
deve estar entre 0.0 e 1.1.
--top-portas n
Escaneia o n portas de maior proporção encontradas no arquivo de serviços nmap após excluir todas as portas
especificado por --exclude-portas. n deve ser 1 ou maior.
SERVIÇO E VERSÃO DETECÇÃO
Aponte o Nmap para uma máquina remota e ele pode lhe dizer que as portas 25 / tcp, 80 / tcp e 53 / udp
estão abertos. Usando seus serviços nmap. banco de dados de cerca de 2,200 serviços bem conhecidos. Nmap
relataria que essas portas provavelmente correspondem a um servidor de e-mail (SMTP), servidor da web
(HTTP) e servidor de nomes (DNS), respectivamente. Esta pesquisa é geralmente precisa - o vasto
a maioria dos daemons que escutam na porta TCP 25 são, na verdade, servidores de e-mail. No entanto, você
não deve apostar sua segurança nisso! As pessoas podem e executam serviços em portas estranhas.
Mesmo se o Nmap estiver certo e o servidor hipotético acima estiver executando SMTP, HTTP e DNS
servidores, isso não é muita informação. Ao fazer avaliações de vulnerabilidade (ou mesmo
inventários de rede simples) de suas empresas ou clientes, você realmente deseja saber quais
servidores de correio e DNS e versões estão em execução. Ter um número de versão preciso ajuda
drasticamente para determinar a quais explorações um servidor é vulnerável. Detecção de versão
ajuda você a obter essas informações.
Depois que as portas TCP e / ou UDP são descobertas usando um dos outros métodos de varredura, versão
a detecção interroga essas portas para determinar mais sobre o que está realmente em execução. O
nmap-service-probes. banco de dados contém sondas para consultar vários serviços e combinar
expressões para reconhecer e analisar respostas. Nmap tenta determinar o protocolo de serviço
(por exemplo, FTP, SSH, Telnet, HTTP), o nome do aplicativo (por exemplo, ISC BIND, Apache httpd, Solaris
telnetd), o número da versão, nome do host, tipo de dispositivo (por exemplo, impressora, roteador), a família do sistema operacional
(por exemplo, Windows, Linux). Quando possível, o Nmap também obtém a Enumeração de Plataforma Comum
(CPE). representação desta informação. Às vezes, detalhes diversos, como se
um servidor X está aberto para conexões, a versão do protocolo SSH, ou o nome de usuário KaZaA, são
acessível. Obviamente, a maioria dos serviços não fornece todas essas informações. Se o Nmap fosse
compilado com suporte a OpenSSL, ele se conectará a servidores SSL para deduzir o serviço
ouvindo atrás dessa camada de criptografia. Algumas portas UDP são deixadas abertas | filtradas
depois que uma varredura de porta UDP não consegue determinar se a porta está aberta ou filtrada.
A detecção de versão tentará obter uma resposta dessas portas (assim como faz com
portas abertas) e altere o estado para aberto se for bem-sucedido. portas TCP abertas | filtradas são
tratado da mesma maneira. Observe que o Nmap -A opção ativa a detecção de versão, entre outros
coisas. Um documento documentando o funcionamento, uso e personalização da detecção de versão
está disponível ao https://nmap.org/book/vscan.html.
Quando os serviços RPC são descobertos, o grinder Nmap RPC. é automaticamente usado para
determinar o programa RPC e os números de versão. Leva todas as portas TCP / UDP detectadas como
RPC e os inunda com comandos NULL do programa SunRPC na tentativa de determinar se
são portas RPC e, em caso afirmativo, qual programa e número de versão atendem. Assim você pode
obter efetivamente as mesmas informações que rpcinfo -p mesmo se o portmapper do alvo estiver atrás de um
firewall (ou protegido por TCP wrappers). Chamarizes não funcionam atualmente com varredura RPC.
Quando o Nmap recebe respostas de um serviço, mas não consegue combiná-las com seu banco de dados, ele
imprime uma impressão digital especial e um URL para você enviar se tiver certeza
o que está sendo executado na porta. Por favor, dedique alguns minutos para fazer o envio para que
sua descoberta pode beneficiar a todos. Graças a esses envios, o Nmap tem cerca de 6,500 padrões
corresponde a mais de 650 protocolos, como SMTP, FTP, HTTP, etc.
A detecção de versão é habilitada e controlada com as seguintes opções:
-sV (Detecção de versão).
Ativa a detecção de versão, conforme discutido acima. Alternativamente, você pode usar -A, o qual
ativa a detecção de versão, entre outras coisas.
-Senhor. é um apelido para -sV. Antes de março de 2011, era usado para ativar o triturador RPC
separadamente da detecção de versão, mas agora essas opções estão sempre combinadas.
--allports (Não exclua nenhuma porta da detecção de versão).
Por padrão, a detecção de versão do Nmap ignora a porta TCP 9100 porque algumas impressoras simplesmente
imprimir qualquer coisa enviada para essa porta, levando a dezenas de páginas de solicitações HTTP GET,
solicitações de sessão SSL binárias, etc. Este comportamento pode ser alterado modificando ou
removendo a diretiva Exclude em nmap-service-probes, ou você pode especificar --allports
para varrer todas as portas independentemente de qualquer diretiva Exclude.
- intensidade da versão intensidade (Definir intensidade de varredura da versão).
Ao realizar uma verificação de versão (-sV), O Nmap envia uma série de sondas, cada uma das quais é
atribuído um valor de raridade entre um e nove. As sondas de número inferior são eficazes
contra uma ampla variedade de serviços comuns, enquanto os de maior número raramente são
útil. O nível de intensidade especifica quais sondas devem ser aplicadas. Quanto mais alto o
número, maior a probabilidade de o serviço ser identificado corretamente. No entanto, alto
varreduras de intensidade demoram mais. A intensidade deve estar entre 0 e 9 .. O padrão é
7 .. Quando um probe é registrado na porta de destino por meio do nmap-service-probesports
diretiva, essa sonda é tentada independentemente do nível de intensidade. Isso garante que o
As sondagens DNS sempre serão feitas contra qualquer porta 53 aberta, a sondagem SSL será
feito contra 443, etc.
--version-light (Ative o modo de luz).
Este é um alias de conveniência para - intensidade da versão 2. Este modo de luz torna a versão
digitalização muito mais rápida, mas é um pouco menos provável de identificar serviços.
--versão-todos (Experimente cada uma das sondas).
Um alias para - intensidade da versão 9, garantindo que todas as sondagens sejam tentadas
contra cada porta.
--version-trace (Rastreie a atividade de verificação da versão).
Isto faz com que o Nmap imprima extensas informações de depuração sobre qual versão a varredura é
fazendo. É um subconjunto do que você obtém com --packet-trace.
OS DETECÇÃO
Um dos recursos mais conhecidos do Nmap é a detecção remota de SO usando pilha TCP / IP
impressão digital. O Nmap envia uma série de pacotes TCP e UDP para o host remoto e examina
praticamente todos os bits nas respostas. Depois de realizar dezenas de testes, como TCP ISN
amostragem, opções de suporte e pedido de TCP, amostragem de ID de IP e o tamanho da janela inicial
verificar, o Nmap compara os resultados com seu nmap-os-db. banco de dados de mais de 2,600 sistemas operacionais conhecidos
impressões digitais e imprime os detalhes do sistema operacional, se houver uma correspondência. Cada impressão digital inclui
uma descrição textual de forma livre do sistema operacional e uma classificação que fornece ao fornecedor
nome (por exemplo, Sun), sistema operacional subjacente (por exemplo, Solaris), geração do sistema operacional (por exemplo, 10) e tipo de dispositivo
(uso geral, roteador, switch, console de jogo, etc). A maioria das impressões digitais também tem um comum
Enumeração de plataforma (CPE). representação, como cpe: / o: linux: linux_kernel: 2.6.
Se o Nmap é incapaz de adivinhar o sistema operacional de uma máquina, e as condições são boas (por exemplo, pelo menos um
porta aberta e uma porta fechada foram encontradas), o Nmap irá fornecer uma URL que você pode usar para enviar
a impressão digital se você souber (com certeza) o sistema operacional em execução na máquina. Fazendo isso você
contribuir para o conjunto de sistemas operacionais conhecidos pelo Nmap e, portanto, será mais
preciso para todos.
A detecção de sistema operacional permite alguns outros testes que usam as informações coletadas
durante o processo de qualquer maneira. Uma delas é a Classificação de previsibilidade da sequência TCP.
Isso mede aproximadamente o quão difícil é estabelecer uma conexão TCP forjada contra
o host remoto. É útil para explorar relações de confiança baseadas em IP de origem (rlogin,
filtros de firewall, etc.) ou para ocultar a origem de um ataque. Este tipo de spoofing é
raramente é executado, mas muitas máquinas ainda estão vulneráveis a ele. O real
o número de dificuldade é baseado em amostragem estatística e pode flutuar. É geralmente
melhor usar a classificação em inglês como “worthy challenge” ou “trivial joke”.
Isso só é relatado na saída normal em verboso (-v) modo. Quando o modo detalhado está ativado
e o -O, A geração de sequência de IP ID também é relatada. A maioria das máquinas está no
Classe “incremental”, o que significa que eles incrementam o campo ID no cabeçalho IP para
cada pacote que eles enviam. Isso os torna vulneráveis a várias informações avançadas
coleta e falsificação de ataques.
Outra informação extra habilitada pela detecção do SO é uma estimativa do tempo de atividade do alvo.
Isso usa a opção de carimbo de data / hora TCP (RFC 1323[10]) para adivinhar quando uma máquina foi a última
reiniciado. A estimativa pode ser imprecisa devido ao contador de carimbo de data / hora não ter sido inicializado
a zero ou o contador transbordando e enrolando, por isso é impresso apenas em detalhes
modo.
Um documento documentando o funcionamento, uso e personalização da detecção do sistema operacional está disponível em
https://nmap.org/book/osdetect.html.
A detecção de sistema operacional é ativada e controlada com as seguintes opções:
-O (Habilite a detecção de sistema operacional).
Ativa a detecção de SO, conforme discutido acima. Alternativamente, você pode usar -A para habilitar o sistema operacional
detecção junto com outras coisas.
--osscan-limite (Limite a detecção de SO a alvos promissores).
A detecção do sistema operacional é muito mais eficaz se pelo menos uma porta TCP aberta e uma porta fechada forem
encontrado. Defina esta opção e o Nmap nem mesmo tentará a detecção do SO em hosts que o façam
não atender a esses critérios. Isso pode economizar muito tempo, especialmente em -Pn digitaliza
contra muitos hosts. Só importa quando a detecção do sistema operacional é solicitada com -O or -A.
--osscan-chute; --difuso (Adivinhe os resultados da detecção do SO).
Quando o Nmap é incapaz de detectar uma correspondência de sistema operacional perfeita, às vezes oferece quase correspondências
como possibilidades. A correspondência deve ser muito próxima para que o Nmap faça isso por padrão.
Qualquer uma dessas opções (equivalentes) tornam a suposição do Nmap mais agressiva. Nmap irá
ainda informa quando uma correspondência imperfeita é impressa e exibe seu nível de confiança
(porcentagem) para cada estimativa.
--max-os-try (Defina o número máximo de tentativas de detecção de sistema operacional em relação a um alvo).
Quando o Nmap realiza a detecção do SO contra um alvo e não consegue encontrar uma combinação perfeita, ele
geralmente repete a tentativa. Por padrão, o Nmap tenta cinco vezes se as condições forem
favorável para o envio de impressões digitais do sistema operacional e duas vezes quando as condições não são tão boas.
Especificando um inferior --max-os-try valor (como 1) acelera o Nmap, embora você perca
em novas tentativas que poderiam potencialmente identificar o sistema operacional. Alternativamente, um valor alto
pode ser definido para permitir ainda mais tentativas quando as condições forem favoráveis. Isso raramente é
feito, exceto para gerar melhores impressões digitais para envio e integração no
Banco de dados do Nmap OS.
nmap ROTEIRO MOTOR (NSE)
O Nmap Scripting Engine (NSE) é um dos recursos mais poderosos e flexíveis do Nmap. Isto
permite que os usuários escrevam (e compartilhem) scripts simples (usando o Lua programação língua[11].
) para automatizar uma ampla variedade de tarefas de rede. Esses scripts são executados em paralelo
com a velocidade e eficiência que você espera do Nmap. Os usuários podem contar com o crescimento e
conjunto diversificado de scripts distribuídos com Nmap, ou escrever seus próprios para atender às necessidades personalizadas.
As tarefas que tínhamos em mente ao criar o sistema incluem descoberta de rede, mais
detecção de versão sofisticada, detecção de vulnerabilidade. NSE pode até ser usado para
exploração da vulnerabilidade.
Para refletir esses diferentes usos e simplificar a escolha de quais scripts executar, cada
script contém um campo que o associa a uma ou mais categorias. Atualmente definido
as categorias são auth, broadcast, default. descoberta, dos, explorar, externo, fuzzer,
intrusivo, malware, seguro, versão e vuln. Tudo isso é descrito em
https://nmap.org/book/nse-usage.html#nse-categories.
Os scripts não são executados em uma sandbox e, portanto, podem danificar acidentalmente ou maliciosamente o seu
sistema ou invadir sua privacidade. Nunca execute scripts de terceiros, a menos que você confie no
autores ou você mesmo auditou cuidadosamente os scripts.
O Nmap Scripting Engine é descrito em detalhes em https://nmap.org/book/nse.html e é
controlado pelas seguintes opções:
-sC .
Executa uma varredura de script usando o conjunto padrão de scripts. É equivalente a
--script = default. Alguns dos scripts nesta categoria são considerados intrusivos e
não deve ser executado em uma rede de destino sem permissão.
--roteiro nome do arquivo|categoria|anuário|expressão[, ...] .
Executa uma varredura de script usando a lista separada por vírgulas de nomes de arquivos, categorias de script e
diretórios. Cada elemento da lista também pode ser uma expressão booleana que descreve um
conjunto mais complexo de scripts. Cada elemento é interpretado primeiro como uma expressão, depois
como uma categoria e, finalmente, como um nome de arquivo ou diretório.
Existem dois recursos especiais apenas para usuários avançados. Uma é prefixar os nomes dos scripts
e expressões com + para forçá-los a funcionar, mesmo que normalmente não funcionassem (por exemplo, o
serviço relevante não foi detectado na porta de destino). A outra é que o argumento
all pode ser usado para especificar cada script no banco de dados do Nmap. Seja cauteloso com isso
porque o NSE contém scripts perigosos, como exploits, autenticação de força bruta
crackers e ataques de negação de serviço.
Os nomes dos arquivos e diretórios podem ser relativos ou absolutos. Nomes absolutos são usados
diretamente. Os caminhos relativos são procurados nos scripts de cada um dos seguintes locais
até encontrar: --datadir
$ NMAPDIR.
~ / .nmap (não pesquisado no Windows).
HOME\ AppData \ Roaming \ nmap (apenas no Windows).
o diretório que contém o executável nmap
o diretório que contém o executável nmap, seguido por ../share/nmap
NMAPDATADIR.
o diretório atual.
Quando um nome de diretório é fornecido, o Nmap carrega todos os arquivos no diretório cujo nome termina
com .nse. Todos os outros arquivos são ignorados e os diretórios não são pesquisados recursivamente. Quando
um nome de arquivo é fornecido, ele não precisa ter a extensão .nse; será adicionado
automaticamente, se necessário. Os scripts do Nmap são armazenados em um subdiretório de scripts do Nmap
diretório de dados por padrão (veja https://nmap.org/book/data-files.html) Para eficiência,
os scripts são indexados em um banco de dados armazenado em scripts / script.db ,. que lista a categoria
ou categorias às quais cada script pertence. Ao referir-se a scripts de script.db por
nome, você pode usar um caractere curinga '*' no estilo shell.
nmap --roteiro "http- *"
Carrega todos os scripts cujo nome começa com http-, como http-auth e http-open-proxy.
O argumento para --roteiro tinha que estar entre aspas para proteger o curinga do shell.
Uma seleção de script mais complicada pode ser feita usando os operadores e, ou e não para
construir expressões booleanas. Os operadores têm o mesmo precedência[12] como em Lua: não é
o mais alto, seguido por e e então ou. Você pode alterar a precedência usando parênteses.
Como as expressões contêm caracteres de espaço, é necessário citá-los.
nmap --roteiro "não intrusivo "
Carrega todos os scripts, exceto aqueles na categoria intrusiva.
nmap --roteiro "predefinição or seguro"
Isso é funcionalmente equivalente a nmap --roteiro "padrão, seguro". Carrega todos os scripts
que estão na categoria padrão ou na categoria segura ou em ambas.
nmap --roteiro "predefinição e seguro"
Carrega os scripts que estão em ambos as categorias padrão e seguras.
nmap --roteiro "(padrão or segura or intrusivo) e não http- * "
Carrega scripts nas categorias padrão, seguras ou intrusivas, exceto para aqueles cujo
os nomes começam com http-.
--script-args n1=v1,n2={n3=v3},n4={v4,v5} .
Permite fornecer argumentos para scripts NSE. Os argumentos são uma lista separada por vírgulas de
nome = pares de valor. Nomes e valores podem ser strings que não contêm espaços em branco ou o
caracteres '{', '}', '=' ou ','. Para incluir um desses caracteres em uma string,
coloque a string entre aspas simples ou duplas. Dentro de uma string entre aspas, '\' escapa de um
citar. Uma barra invertida só é usada para escapar as aspas neste caso especial; Em tudo
em outros casos, uma barra invertida é interpretada literalmente. Os valores também podem ser tabelas incluídas
em {}, assim como em Lua. Uma tabela pode conter valores de string simples ou mais valor de nome
pares, incluindo tabelas aninhadas. Muitos scripts qualificam seus argumentos com o script
nome, como em xmpp-info.server_name. Você pode usar essa versão totalmente qualificada para afetar
apenas o script especificado, ou você pode passar a versão não qualificada (server_name em
neste caso) para afetar todos os scripts que usam esse nome de argumento. Um script verificará primeiro
para seu nome de argumento totalmente qualificado (o nome especificado em sua documentação) antes
ele aceita um nome de argumento não qualificado. Um exemplo complexo de argumentos de script é
--script-args
'user = foo, pass = ", {} = bar", whois = {whodb = nofollow + ripe}, xmpp-info.server_name = localhost'.
O Portal de Documentação NSE online em https://nmap.org/nsedoc/ lista os argumentos
que cada script aceita.
--script-args-arquivo nome do arquivo .
Permite carregar argumentos para scripts NSE de um arquivo. Quaisquer argumentos na linha de comando
substitui aqueles no arquivo. O arquivo pode ser um caminho absoluto ou relativo a
Caminho de pesquisa usual do Nmap (NMAPDIR, etc.) Os argumentos podem ser separados por vírgulas ou
separados por nova linha, mas de outra forma seguem as mesmas regras que para --script-argssem
exigindo citação e escape especiais, uma vez que não são analisados pelo shell.
--script-ajuda nome do arquivo|categoria|anuário|expressão| todos [, ...] .
Mostra ajuda sobre scripts. Para cada script que corresponda à especificação dada, o Nmap
imprime o nome do script, suas categorias e sua descrição. As especificações são
os mesmos que os aceitos por --roteiro; então, por exemplo, se você quiser ajuda sobre o
script ftp-anon, você executaria nmap --script-ajuda ftp-anônimo. Além de conseguir
ajuda para scripts individuais, você pode usar isso como uma prévia de quais scripts serão executados
para uma especificação, por exemplo com nmap --script-ajuda omissão.
--script-trace .
Esta opção faz o que --packet-trace faz, apenas uma camada ISO acima. Se esta opção
é especificado, todas as comunicações de entrada e saída realizadas por um script são impressas.
As informações exibidas incluem o protocolo de comunicação, a fonte, o alvo
e os dados transmitidos. Se mais de 5% de todos os dados transmitidos não puderem ser impressos,
então, a saída do rastreio está em um formato hex dump. Especificando --packet-trace permite
rastreamento de script também.
--script-atualizadob .
Esta opção atualiza o banco de dados de script encontrado em scripts / script.db que é usado por
Nmap para determinar os scripts e categorias padrão disponíveis. É só necessário
para atualizar o banco de dados se você adicionou ou removeu scripts NSE do padrão
diretório de scripts ou se você alterou as categorias de qualquer script. Esta opção é
geralmente usado sozinho: nmap --script-atualizadob.
TIMING E PERFORMANCE
Uma das minhas maiores prioridades de desenvolvimento de Nmap sempre foi desempenho. Uma varredura padrão
(nmap hostname) de um host na minha rede local leva um quinto de segundo. Isso é apenas
tempo suficiente para piscar, mas aumenta quando você está examinando centenas ou milhares de hosts.
Além disso, certas opções de varredura, como varredura UDP e detecção de versão podem aumentar
tempos de varredura substancialmente. O mesmo pode acontecer com certas configurações de firewall, especialmente a resposta
limitação de taxa. Enquanto o Nmap utiliza paralelismo e muitos algoritmos avançados para acelerar
Nessas varreduras, o usuário tem controle total sobre como o Nmap é executado. Usuários experientes com cuidado
crie comandos do Nmap para obter apenas as informações de que eles se importam enquanto atendem aos seus
limitações de tempo.
Técnicas para melhorar os tempos de varredura incluem omitir testes não críticos e atualizar para
a versão mais recente do Nmap (melhorias de desempenho são feitas com freqüência). Otimizando
os parâmetros de tempo também podem fazer uma diferença substancial. Essas opções estão listadas abaixo.
Algumas opções aceitam um parâmetro de tempo. Isso é especificado em segundos por padrão, embora você
pode acrescentar 'ms', 's', 'm' ou 'h' ao valor para especificar milissegundos, segundos, minutos,
ou horas. Então o --host-tempo limite argumentos 900000ms, 900, 900s e 15m fazem o mesmo
coisa.
--min-grupo de hosts numhosts; --max-grupo de hosts numhosts (Ajuste os tamanhos dos grupos de varredura paralela).
O Nmap tem a capacidade de fazer varredura de portas ou varredura de versão em vários hosts em paralelo. Nmap
faz isso dividindo o espaço de IP de destino em grupos e, em seguida, varrendo um grupo em um
Tempo. Em geral, grupos maiores são mais eficientes. A desvantagem é que os resultados do host
não pode ser fornecido até que todo o grupo seja concluído. Então, se o Nmap começou com um
tamanho do grupo de 50, o usuário não receberia nenhum relatório (exceto para as atualizações
oferecido no modo detalhado) até que os primeiros 50 hosts sejam concluídos.
Por padrão, o Nmap tem uma abordagem de compromisso para este conflito. Tudo começa com um
tamanho do grupo tão baixo quanto cinco, então os primeiros resultados vêm rapidamente e, em seguida, aumenta o
groupize até 1024. Os números padrão exatos dependem das opções fornecidas.
Por razões de eficiência, o Nmap usa grupos de tamanhos maiores para UDP ou scans TCP de poucas portas.
Quando um tamanho máximo de grupo é especificado com --max-grupo de hosts, Nmap nunca excederá
esse tamanho. Especifique um tamanho mínimo com --min-grupo de hosts e o Nmap tentará manter o grupo
tamanhos acima desse nível. O Nmap pode ter que usar grupos menores do que você especifica se houver
não são suficientes hosts de destino deixados em uma determinada interface para cumprir o especificado
mínimo. Ambos podem ser configurados para manter o tamanho do grupo dentro de um intervalo específico, embora este
raramente é desejado.
Essas opções não têm efeito durante a fase de descoberta de host de uma varredura. Isto
inclui varreduras simples de ping (-sn) A descoberta de host sempre funciona em grandes grupos de hosts
para melhorar a velocidade e a precisão.
O principal uso dessas opções é especificar um grande tamanho mínimo de grupo para que o
a verificação completa é executada mais rapidamente. Uma escolha comum é 256 para fazer a varredura de uma rede no tamanho da Classe C
pedaços. Para uma varredura com muitas portas, exceder esse número provavelmente não ajudará muito.
Para varreduras de apenas alguns números de porta, tamanhos de grupos de hosts de 2048 ou mais podem ser úteis.
--min-paralelismo numprobes; --max-paralelismo numprobes (Ajuste a paralelização da sonda).
Essas opções controlam o número total de sondas que podem estar pendentes para um host
grupo. Eles são usados para varredura de porta e descoberta de host. Por padrão, o Nmap calcula
um paralelismo ideal em constante mudança com base no desempenho da rede. Se os pacotes estão sendo
cair, o Nmap fica mais lento e permite menos sondas pendentes. O número de sonda ideal
aumenta lentamente à medida que a rede se mostra digna. Essas opções colocam no mínimo ou
limites máximos nessa variável. Por padrão, o paralelismo ideal pode cair para um se
a rede não é confiável e chega a várias centenas em perfeitas condições.
O uso mais comum é definir --min-paralelismo para um número maior que um para acelerar
varreduras de hosts ou redes com baixo desempenho. Esta é uma opção arriscada para brincar,
pois configurá-lo muito alto pode afetar a precisão. Definir isso também reduz a capacidade do Nmap
para controlar o paralelismo dinamicamente com base nas condições da rede. Um valor de 10 pode ser
razoável, embora eu apenas ajuste esse valor como último recurso.
A --max-paralelismo opção às vezes é definida como um para evitar que o Nmap envie mais
de uma sonda de cada vez para os hosts. O --scan-atraso opção, discutida mais tarde, é
outra maneira de fazer isso.
--min-rtt-tempo limite tempo, --max-rtt-tempo limite tempo, --initial-rtt-tempo limite tempo (Ajustar sonda
tempos limite).
O Nmap mantém um valor de tempo limite de execução para determinar quanto tempo ele vai esperar por um
resposta da sonda antes de desistir ou retransmitir a sonda. Isso é calculado com base
nos tempos de resposta das sondagens anteriores.
Se a latência da rede se mostrar significativa e variável, esse tempo limite pode
crescer para vários segundos. Também começa em um nível conservador (alto) e pode permanecer
assim por um tempo, quando o Nmap verifica hosts que não respondem.
Especificando um inferior --max-rtt-tempo limite e --initial-rtt-tempo limite do que os padrões podem
reduza significativamente o tempo de varredura. Isso é particularmente verdadeiro para pingless (-Pn) varreduras e
aqueles contra redes fortemente filtradas. Porém, não fique muito agressivo. A varredura pode
acabam demorando mais se você especificar um valor tão baixo que muitas sondagens estão expirando
e retransmitindo enquanto a resposta está em trânsito.
Se todos os hosts estiverem em uma rede local, 100 milissegundos (--max-rtt-tempo limite 100ms) é
um valor agressivo razoável. Se o roteamento estiver envolvido, execute ping em um host na rede
primeiro com o utilitário ping ICMP ou com um criador de pacotes personalizados como o Nping. naquela
tem mais probabilidade de passar por um firewall. Observe o tempo máximo de ida e volta de
dez pacotes ou mais. Você pode querer dobrar isso para o --initial-rtt-tempo limite e
triplicar ou quadruplicar para o --max-rtt-tempo limite. Eu geralmente não defino o máximo
RTT abaixo de 100 ms, não importa quais sejam os tempos de ping. Também não exceda 1000 ms.
--min-rtt-tempo limite é uma opção raramente usada que pode ser útil quando uma rede é tão
não é confiável que mesmo o padrão do Nmap seja muito agressivo. Uma vez que o Nmap apenas reduz o
tempo limite reduzido ao mínimo quando a rede parece ser confiável, essa necessidade é
incomum e deve ser relatado como um bug para a lista de discussão nmap-dev.
--max-retentativas números (Especifique o número máximo de retransmissões de sondagem de varredura de porta).
Quando o Nmap não recebe resposta a uma investigação de varredura de porta, isso pode significar que a porta está
filtrado. Ou talvez a sonda ou resposta simplesmente tenha sido perdida na rede. Isso é também
possível que o host de destino tenha a limitação de taxa habilitada que bloqueou temporariamente o
resposta. Portanto, o Nmap tenta novamente retransmitindo a sonda inicial. Se o Nmap detectar
baixa confiabilidade da rede, ele pode tentar muitas mais vezes antes de desistir de uma porta. Enquanto
isso beneficia a precisão e também aumenta os tempos de varredura. Quando o desempenho é crítico,
as varreduras podem ser aceleradas, limitando o número de retransmissões permitidas. Você também pode
especificamos --max-retentativas 0 para evitar qualquer retransmissão, embora isso seja apenas
recomendado para situações como pesquisas informais onde portas perdidas ocasionais e
hosts são aceitáveis.
O padrão (sem -T modelo) é permitir dez retransmissões. Se uma rede parece
confiável e os hosts de destino não são limitadores de taxa, o Nmap geralmente faz apenas um
retransmissão. Portanto, a maioria das varreduras de alvo nem mesmo são afetadas pela queda --max-retentativas para
um valor baixo, como três. Esses valores podem acelerar substancialmente as varreduras de lentidão (taxa
limitado) hosts. Você geralmente perde algumas informações quando o Nmap desiste das portas antes do tempo,
embora isso possa ser preferível a deixar o --host-tempo limite expirar e perder tudo
informações sobre o alvo.
--host-tempo limite tempo (Desista de hosts de destino lentos).
Alguns hosts simplesmente pegam um longo hora de fazer a varredura. Isso pode ser devido ao mau desempenho ou
hardware ou software de rede não confiável, limitação de taxa de pacote ou um restritivo
firewall. A pequena porcentagem mais lenta dos hosts verificados pode consumir a maioria dos
tempo de varredura. Às vezes, é melhor cortar suas perdas e pular esses hosts inicialmente.
Especificar --host-tempo limite com o máximo de tempo que você está disposto a esperar. Por
exemplo, especifique 30m para garantir que o Nmap não perca mais do que meia hora em um
único host. Observe que o Nmap pode estar escaneando outros hosts ao mesmo tempo durante aquele
meia hora, então não é uma perda completa. Um host que atinge o tempo limite é ignorado. Sem porta
os resultados da tabela, detecção de sistema operacional ou detecção de versão são impressos para esse host.
--scan-atraso tempo; --max-scan-atraso tempo (Ajuste o atraso entre as sondas).
Esta opção faz com que o Nmap espere pelo menos um determinado período de tempo entre cada teste
ele envia para um determinado host. Isso é particularmente útil no caso de limitação de taxa.
Máquinas Solaris (entre muitas outras) geralmente respondem a pacotes de sondagem de varredura UDP
com apenas uma mensagem ICMP por segundo. Mais do que o enviado pelo Nmap será
um desperdício. UMA --scan-atraso de 1s manterá o Nmap nessa taxa lenta. Nmap tenta detectar
limite de taxa e ajuste o atraso da verificação de acordo, mas não custa especificá-lo
explicitamente se você já sabe qual taxa funciona melhor.
Quando o Nmap ajusta o atraso da varredura para cima para lidar com a limitação da taxa, a varredura fica mais lenta
para baixo dramaticamente. O --max-scan-atraso opção especifica o maior atraso que o Nmap
permitirá. Um baixo --max-scan-atraso pode acelerar o Nmap, mas é arriscado. Configurando isso
valor muito baixo pode levar a retransmissões de pacotes inúteis e possíveis portas perdidas
quando o alvo implementa limitação de taxa estrita.
Outro uso de --scan-atraso é evitar a detecção de intrusão baseada em limite e
sistemas de prevenção (IDS / IPS) ..
- taxa mínima número; --taxa máxima número (Controle diretamente a taxa de varredura).
O tempo dinâmico do Nmap faz um bom trabalho em encontrar uma velocidade apropriada para
Varredura. Às vezes, no entanto, pode acontecer de você saber uma taxa de varredura apropriada para um
rede, ou você pode ter que garantir que uma varredura será concluída em um determinado momento.
Ou talvez você deva evitar que o Nmap escaneie muito rapidamente. O - taxa mínima e --taxa máxima
as opções são projetadas para essas situações.
Quando o - taxa mínima opção for dada, o Nmap fará o seu melhor para enviar pacotes tão rápido quanto
ou mais rápido do que a taxa fornecida. O argumento é um número real positivo que representa um
taxa de pacotes em pacotes por segundo. Por exemplo, especificando - taxa mínima 300 significa que
O Nmap tentará manter a taxa de envio em ou acima de 300 pacotes por segundo. Especificando
uma taxa mínima não impede o Nmap de ir mais rápido se as condições o justificarem.
Da mesma forma, --taxa máxima limita a taxa de envio de uma varredura a um determinado máximo. Usar --taxa máxima
100, por exemplo, para limitar o envio a 100 pacotes por segundo em uma rede rápida. Usar
--taxa máxima 0.1 para uma varredura lenta de um pacote a cada dez segundos. Usar - taxa mínima e
--taxa máxima juntos para manter a taxa dentro de um determinado intervalo.
Essas duas opções são globais, afetando uma varredura inteira, não hosts individuais. Elas
afetam apenas varreduras de porta e varreduras de descoberta de host. Outros recursos, como detecção de sistema operacional
implementar seu próprio tempo.
Existem duas condições quando a taxa de varredura real pode cair abaixo do solicitado
mínimo. A primeira é se o mínimo é mais rápido do que a taxa mais rápida em que o Nmap pode
enviar, que depende do hardware. Neste caso, o Nmap irá simplesmente enviar pacotes como
o mais rápido possível, mas esteja ciente de que essas taxas altas podem causar uma perda de
precisão. O segundo caso é quando o Nmap não tem nada para enviar, por exemplo, no final de
uma varredura quando as últimas sondagens foram enviadas e o Nmap está esperando que elas expirem ou
ser respondido. É normal ver a taxa de varredura cair no final de uma varredura ou em
entre grupos de hosts. A taxa de envio pode exceder temporariamente o máximo para compensar
atrasos imprevisíveis, mas, em média, a taxa ficará igual ou abaixo do máximo.
Especificar uma taxa mínima deve ser feito com cuidado. Digitalizando mais rápido do que uma rede pode
suporte pode levar a uma perda de precisão. Em alguns casos, usar uma taxa mais rápida pode fazer um
escanear tomar mais do que com uma taxa mais lenta. Isso ocorre porque o adaptativo do Nmap
algoritmos de retransmissão irão detectar o congestionamento da rede causado por uma excessiva
taxa de varredura e aumentar o número de retransmissões a fim de melhorar a precisão.
Portanto, embora os pacotes sejam enviados a uma taxa mais alta, mais pacotes são enviados no geral. Boné
o número de retransmissões com o --max-retentativas opção se você precisar definir um
limite superior do tempo total de varredura.
--defeat-rst-ratelimit .
Muitos hosts usam a limitação de taxa há muito tempo. para reduzir o número de mensagens de erro ICMP
(como erros de porta inacessível) que eles enviam. Alguns sistemas agora aplicam taxas semelhantes
limites para os pacotes RST (redefinir) que eles geram. Isso pode desacelerar o Nmap drasticamente
à medida que ajusta seu tempo para refletir esses limites de taxa. Você pode dizer ao Nmap para ignorar
esses limites de taxa (para varreduras de portas, como varredura SYN que não tratar não responsivo
portas abertas) especificando --defeat-rst-ratelimit.
Usar esta opção pode reduzir a precisão, pois algumas portas parecerão não responsivas
porque o Nmap não esperou o suficiente por uma resposta RST de taxa limitada. Com uma varredura SYN,
a não resposta resulta na porta sendo rotulada como filtrada em vez de fechada
estado que vemos quando os pacotes RST são recebidos. Esta opção é útil quando você só se importa
sobre portas abertas, e distinguir entre portas fechadas e filtradas não vale a pena
tempo extra.
--nsock-motor epoll | kqueue | enquete | selecionar .
Imponha o uso de um determinado mecanismo de multiplexação nsock IO. Apenas o selecionar(2) reserva com base
o motor tem a garantia de estar disponível em seu sistema. Os motores são nomeados após o nome
da facilidade de gerenciamento de IO que eles aproveitam. Os motores atualmente implementados são epoll,
kqueue, poll e select, mas nem todos estarão presentes em qualquer plataforma. Usar nmap -V para
veja quais motores são suportados.
-T paranóico | dissimulado | educado | normal | agressivo | insano (Defina um modelo de tempo).
Embora os controles de tempo refinados discutidos na seção anterior sejam poderosos
e eficazes, algumas pessoas os consideram confusos. Além disso, escolher o apropriado
os valores às vezes podem levar mais tempo do que a varredura que você está tentando otimizar. Então Nmap
oferece uma abordagem mais simples, com seis modelos de tempo. Você pode especificá-los com o -T
opção e seu número (0–5) ou seu nome. Os nomes dos modelos são paranóia (0),
subserviente (1), educado (2), normal (3), agressivo (4), E insano (5) Os dois primeiros são
para evasão de IDS. O modo polido retarda a varredura para usar menos largura de banda e alvo
recursos da máquina. O modo normal é o padrão e assim -T3 faz nada. Modo agressivo
acelera as varreduras ao assumir que você está em um ritmo razoavelmente rápido e
rede confiável. Finalmente modo insano. assume que você está em um extraordinário
rede rápida ou estão dispostos a sacrificar alguma precisão para velocidade.
Esses modelos permitem que o usuário especifique o quão agressivo deseja ser, enquanto
deixando o Nmap para escolher os valores de tempo exatos. Os modelos também geram uma velocidade menor
ajustes para os quais não existem atualmente opções de controle de baixa granularidade. Por
exemplo, -T4. proíbe que o atraso de varredura dinâmica exceda 10 ms para portas TCP e
-T5 limita esse valor a 5 ms. Os modelos podem ser usados em combinação com
controles, e os controles de baixa granularidade que você especificar terão precedência sobre os
modelo de tempo padrão para esse parâmetro. Eu recomendo usar -T4 ao escanear
redes razoavelmente modernas e confiáveis. Mantenha essa opção mesmo quando adicionar
controles refinados para que você se beneficie dessas otimizações menores extras que
habilita.
Se você estiver em uma conexão de banda larga ou ethernet decente, recomendo sempre
utilização -T4. Algumas pessoas amam -T5 embora seja muito agressivo para o meu gosto. Pessoas
às vezes especifica -T2 porque eles acham que é menos provável que os hosts travem ou porque
eles se consideram educados em geral. Muitas vezes eles não percebem como
lento -T educado. realmente é. A verificação pode demorar dez vezes mais do que uma verificação padrão.
Travamentos da máquina e problemas de largura de banda são raros com as opções de tempo padrão (-T3)
e então eu normalmente recomendo isso para scanners cautelosos. Omitir a detecção de versão é
muito mais eficaz do que brincar com os valores de tempo para reduzir esses problemas.
Embora -T0. e -T1. pode ser útil para evitar alertas de IDS, eles levarão um
tempo extraordinariamente longo para verificar milhares de máquinas ou portas. Por tanto tempo
varredura, você pode preferir definir os valores de tempo exatos de que precisa, em vez de confiar no
enlatada -T0 e -T1 valores.
Os principais efeitos de T0 estão serializando a varredura para que apenas uma porta seja varrida por vez,
e aguardando cinco minutos entre o envio de cada sonda. T1 e T2 são semelhantes, mas eles
espere apenas 15 segundos e 0.4 segundos, respectivamente, entre as sondagens. T3. é do Nmap
comportamento padrão, que inclui paralelização. -T4 faz o equivalente a
--max-rtt-tempo limite 1250ms --min-rtt-tempo limite 100ms --initial-rtt-tempo limite 500ms
--max-retentativas 6 e define o atraso máximo de varredura TCP em 10 milissegundos. T5 faz o
Equivalente a --max-rtt-tempo limite 300ms --min-rtt-tempo limite 50ms --initial-rtt-tempo limite
250ms --max-retentativas 2 --host-tempo limite 15m bem como definir o atraso máximo de varredura TCP
a 5 ms.
FIREWALL / IDS EVASÃO E FALSIFICAÇÃO
Muitos pioneiros da Internet imaginaram uma rede aberta global com um espaço de endereço IP universal
permitindo conexões virtuais entre quaisquer dois nós. Isso permite que os hosts ajam como verdadeiros
pares, servindo e recuperando informações uns dos outros. As pessoas podem acessar todos
seus sistemas domésticos do trabalho, alterando as configurações de controle de temperatura ou destrancando as portas
para os primeiros convidados. Esta visão de conectividade universal foi sufocada pelo espaço de endereço
escassez e preocupações de segurança. No início da década de 1990, as organizações começaram a implantar
firewalls com o propósito expresso de reduzir a conectividade. Redes enormes foram isoladas
fora da Internet não filtrada por proxies de aplicativo, tradução de endereço de rede e
filtros de pacotes. O fluxo irrestrito de informações deu lugar a uma regulamentação rígida de
canais de comunicação aprovados e o conteúdo que passa por eles.
Obstruções de rede, como firewalls, podem tornar o mapeamento de uma rede extremamente difícil.
Não vai ficar mais fácil, já que sufocar o reconhecimento casual é muitas vezes um objetivo-chave de
implementação dos dispositivos. No entanto, o Nmap oferece muitos recursos para ajudar a compreender estes
redes complexas e para verificar se os filtros estão funcionando conforme o esperado. Até suporta
mecanismos para contornar defesas mal implementadas. Um dos melhores métodos de
entender sua postura de segurança de rede é tentar derrotá-la. Coloque-se no
a mentalidade de um invasor e implantar as técnicas desta seção em suas redes.
Inicie uma varredura de salto de FTP, varredura ociosa, ataque de fragmentação ou tente um túnel através de um
de seus próprios proxies.
Além de restringir a atividade da rede, as empresas estão monitorando cada vez mais o tráfego
com sistemas de detecção de intrusão (IDS). Todos os principais IDSs são enviados com regras projetadas para
detectar varreduras do Nmap porque as varreduras às vezes são precursoras de ataques. Muitos desses
produtos recentemente se transformaram em intrusão prevenção sistemas (IPS). tão ativamente
bloquear o tráfego considerado malicioso. Infelizmente para administradores de rede e fornecedores de IDS,
a detecção confiável de más intenções por meio da análise de pacotes de dados é um problema difícil. Atacantes
com paciência, habilidade e a ajuda de certas opções do Nmap geralmente podem passar por IDSs
não detectado. Enquanto isso, os administradores devem lidar com um grande número de falsos positivos
resultados em que atividades inocentes são diagnosticadas incorretamente e alertadas ou bloqueadas.
Ocasionalmente, as pessoas sugerem que o Nmap não deve oferecer recursos para contornar as regras de firewall
ou passando furtivamente por IDSs. Eles argumentam que esses recursos têm a mesma probabilidade de serem mal utilizados por
invasores, conforme usado pelos administradores para aumentar a segurança. O problema com esta lógica é
que esses métodos ainda seriam usados por invasores, que apenas encontrariam outras ferramentas ou
patch a funcionalidade no Nmap. Enquanto isso, os administradores achariam muito
mais difícil de fazer seus trabalhos. Implantar apenas servidores FTP modernos com patches é um recurso muito mais poderoso
defesa do que tentar impedir a distribuição de ferramentas que implementam o salto FTP
ataque.
Não há solução mágica (ou opção Nmap) para detectar e subverter firewalls e IDS
sistemas. É preciso habilidade e experiência. Um tutorial está além do escopo desta referência
guia, que lista apenas as opções relevantes e descreve o que elas fazem.
-f (pacotes de fragmentos); --mtu (usando o MTU especificado).
A -f opção faz com que a varredura solicitada (incluindo varreduras de ping) use minúsculos fragmentos
Pacotes IP. A ideia é dividir o cabeçalho TCP em vários pacotes para torná-lo
mais difícil para filtros de pacotes, sistemas de detecção de intrusão e outros incômodos de detectar
o que você está fazendo. Cuidado com isso! Alguns programas têm problemas para lidar com isso
pacotes minúsculos. O sniffer da velha escola chamado Sniffit falhou na segmentação imediatamente
ao receber o primeiro fragmento. Especifique esta opção uma vez, e o Nmap divide o
pacotes em oito bytes ou menos após o cabeçalho IP. Portanto, um cabeçalho TCP de 20 bytes seria
dividido em três pacotes. Dois com oito bytes do cabeçalho TCP e um com o
últimos quatro. É claro que cada fragmento também possui um cabeçalho IP. Especificamos -f novamente para usar 16
bytes por fragmento (reduzindo o número de fragmentos). Ou você pode especificar o seu próprio
tamanho de deslocamento com o --mtu opção. Não especifique também -f se você usar --mtu. O deslocamento
deve ser um múltiplo de oito. Embora os pacotes fragmentados não passem por filtros de pacotes e
firewalls que enfileiram todos os fragmentos de IP, como o CONFIG_IP_ALWAYS_DEFRAG opção em
o kernel do Linux, algumas redes não podem suportar o desempenho atingido por essas causas e, portanto,
deixe-o desabilitado. Outros não podem habilitar isso porque os fragmentos podem levar
rotas em suas redes. Alguns sistemas de origem desfragmentam pacotes de saída no
núcleo. Linux com iptables. módulo de rastreamento de conexão é um exemplo. Faça um
escaneie enquanto um farejador como o Wireshark. está em execução para garantir que os pacotes enviados sejam
fragmentado. Se o seu sistema operacional host está causando problemas, tente o --send-eth. opção para contornar
a camada IP e enviar frames Ethernet brutos.
A fragmentação só é suportada para recursos de pacotes brutos do Nmap, que incluem TCP e
Varreduras de porta UDP (exceto varredura de conexão e varredura de salto FTP) e detecção de sistema operacional. Recursos
como a detecção de versão e o Nmap Scripting Engine geralmente não suportam
fragmentação porque eles dependem da pilha TCP do seu host para se comunicar com o alvo
serviços.
-D engodo1[,engodo2][,EU][,...] (Encobrir uma varredura com iscas).
Faz com que uma varredura de engodo seja executada, o que faz parecer ao host remoto que o
o (s) host (s) que você especifica como iscas também estão escaneando a rede de destino. Assim, seu IDS
podem relatar 5 a 10 varreduras de portas de endereços IP exclusivos, mas eles não saberão qual IP
estava escaneando-os e quais eram iscas inocentes. Embora isso possa ser derrotado por meio de
rastreamento de caminho de roteador, queda de resposta e outros mecanismos ativos, é geralmente
uma técnica eficaz para ocultar seu endereço IP.
Separe cada host isca com vírgulas e, opcionalmente, você pode usar ME. como um dos
iscas para representar a posição do seu endereço IP real. Se você me colocar no sexto
posição ou mais tarde, alguns detectores de varredura de porta comuns (como Solar Designer's.
excelente Scanlogd). provavelmente não mostrarão seu endereço IP. Se você não usa
EU, o Nmap irá colocá-lo em uma posição aleatória. Você também pode usar RND. para gerar um
endereço IP aleatório não reservado ou RND:número para gerar número Endereços.
Observe que os hosts que você usa como iscas devem estar ativos ou você pode acidentalmente inundar SYN
seus alvos. Além disso, será muito fácil determinar qual host está digitalizando, se apenas
um está realmente conectado à rede. Você pode querer usar endereços IP em vez de nomes
(para que as redes iscas não o vejam em seus logs de servidor de nomes).
Chamarizes são usados na varredura inicial de ping (usando ICMP, SYN, ACK ou qualquer outro) e
durante a fase de varredura de porta real. Iscas também são usadas durante a detecção remota de sistema operacional
(-O) Decoys não funcionam com detecção de versão ou varredura de conexão TCP. Quando uma varredura atrasa
está em vigor, o atraso é aplicado entre cada lote de sondas falsas, não entre
cada sonda individual. Como os engodos são enviados em lote de uma vez, eles podem
violar temporariamente os limites de controle de congestionamento.
É importante notar que o uso de muitos chamarizes pode retardar sua varredura e, potencialmente, até
torná-lo menos preciso. Além disso, alguns ISPs filtrarão seus pacotes falsificados, mas muitos
não restrinja pacotes IP falsificados de forma alguma.
-S Endereço de IP (Endereço de origem falso).
Em algumas circunstâncias, o Nmap pode não ser capaz de determinar o seu endereço de origem (Nmap
dir-lhe-á se for este o caso). Nesta situação, use -S com o endereço IP de
a interface pela qual você deseja enviar pacotes.
Outro uso possível deste sinalizador é falsificar a varredura para fazer os alvos pensarem que
alguém outro está examinando-os. Imagine uma empresa sendo repetidamente escaneada por uma porta
concorrente! O -e opção e -Pn geralmente são necessários para esse tipo de uso. Observação
que você geralmente não receberá pacotes de resposta de volta (eles serão endereçados ao IP
você está falsificando), então o Nmap não produzirá relatórios úteis.
-e interface (Use a interface especificada).
Diz ao Nmap em qual interface enviar e receber pacotes. Nmap deve ser capaz de
detectar isso automaticamente, mas ele dirá se não puder.
--porta-fonte número da porta; -g número da porta (Número da porta de origem falsa).
Um erro de configuração surpreendentemente comum é confiar no tráfego com base apenas na origem
número da porta. É fácil entender como isso acontece. Um administrador irá definir
um firewall novinho em folha, apenas para ser inundado com reclamações de usuários ingratos
cujos aplicativos pararam de funcionar. Em particular, o DNS pode estar quebrado porque o UDP
As respostas DNS de servidores externos não podem mais entrar na rede. FTP é outro
exemplo comum. Em transferências FTP ativas, o servidor remoto tenta estabelecer um
conexão de volta ao cliente para transferir o arquivo solicitado.
Existem soluções seguras para esses problemas, muitas vezes na forma de nível de aplicativo
proxies ou módulos de firewall de análise de protocolo. Infelizmente, também são mais fáceis,
soluções inseguras. Observando que as respostas de DNS vêm da porta 53 e o FTP ativo da porta
20, muitos administradores caíram na armadilha de simplesmente permitir o tráfego de entrada
a partir dessas portas. Eles costumam presumir que nenhum invasor notaria e exploraria tal
buracos de firewall. Em outros casos, os administradores consideram isso um paliativo de curto prazo
medir até que possam implementar uma solução mais segura. Então eles esquecem a segurança
atualizar.
Administradores de rede sobrecarregados não são os únicos a cair nessa armadilha.
Vários produtos foram enviados com essas regras inseguras. Até a Microsoft tem sido
culpado. Os filtros IPsec fornecidos com o Windows 2000 e Windows XP contêm um
regra implícita que permite todo o tráfego TCP ou UDP da porta 88 (Kerberos). Noutro
caso bem conhecido, as versões do firewall pessoal Zone Alarm até 2.1.25 permitiam qualquer
pacotes UDP de entrada com a porta de origem 53 (DNS) ou 67 (DHCP).
Nmap oferece o -g e --porta-fonte opções (são equivalentes) para explorar estes
fraquezas. Basta fornecer um número de porta e o Nmap enviará pacotes dessa porta
sempre que possível. A maioria das operações de varredura que usam sockets raw, incluindo SYN e UDP
varreduras, apoie a opção completamente. A opção notavelmente não tem efeito para
quaisquer operações que usem soquetes normais de sistema operacional, incluindo solicitações de DNS, TCP
connect Varredura,. detecção de versão e verificação de script. Configurando a porta de origem também
não funciona para detecção de sistema operacional, porque o Nmap deve usar números de porta diferentes para
certos testes de detecção de SO funcionem corretamente.
--dados feitiço corda (Acrescente dados binários personalizados aos pacotes enviados).
Esta opção permite incluir dados binários como carga útil em pacotes enviados. feitiço corda pode
ser especificado em qualquer um dos seguintes formatos: 0xAABBCCDDEEFF..., AABCCDDEEFF... or
\ xAA \ xBB \ xCC \ xDD \ xEE \ xFF.... Exemplos de uso são --dados 0xdeadbeef e --dados
\ xCA \ xFE \ x09. Observe que se você especificar um número como 0x00ff, nenhuma conversão de ordem de bytes
é realizado. Certifique-se de especificar as informações na ordem de bytes esperada pelo
receptor.
--data-string corda (Acrescente string customizada aos pacotes enviados).
Esta opção permite incluir uma string regular como carga útil em pacotes enviados. corda pode
contém qualquer string. No entanto, observe que alguns caracteres podem depender do seu sistema
locale e o receptor podem não ver as mesmas informações. Além disso, certifique-se de incluir
a string entre aspas duplas e escape de quaisquer caracteres especiais do shell.
Exemplos: --data-string "Varredura conduzido by Segurança Ops, extensão 7192 " or
--data-string "Ph34r my 33t Habilidades". Lembre-se de que provavelmente ninguém realmente
veja quaisquer comentários deixados por esta opção, a menos que estejam monitorando cuidadosamente a rede
com um sniffer ou regras IDS personalizadas.
--comprimento dos dados número (Acrescente dados aleatórios aos pacotes enviados).
Normalmente o Nmap envia pacotes minimalistas contendo apenas um cabeçalho. Portanto, seus pacotes TCP
geralmente têm 40 bytes e as solicitações de eco ICMP são apenas 28. Algumas portas UDP. e IP
protocolos. obter uma carga útil personalizada por padrão. Esta opção diz ao Nmap para anexar o
dado número de bytes aleatórios para a maioria dos pacotes que envia, e não usar nenhum
cargas úteis específicas do protocolo. (Usar --comprimento dos dados 0 para nenhum aleatório ou específico de protocolo
cargas úteis .. Detecção de SO (-O) os pacotes não são afetados. porque precisão lá
requer consistência de teste, mas a maioria dos pacotes de ping e portscan suportam isso. Isto
desacelera um pouco as coisas, mas pode tornar a digitalização um pouco menos visível.
--ip-opções S | R [rota] | L [rota] | T | U ... ; --ip-opções feitiço corda (Envie pacotes com
opções de ip especificadas).
A IP protocolo[13] oferece várias opções que podem ser colocadas nos cabeçalhos dos pacotes.
Ao contrário das opções onipresentes de TCP, as opções de IP raramente são vistas devido à praticidade e
preocupações com segurança. Na verdade, muitos roteadores de Internet bloqueiam as opções mais perigosas
como roteamento de origem. No entanto, as opções ainda podem ser úteis em alguns casos para determinar
e manipular a rota da rede para as máquinas alvo. Por exemplo, você pode ser capaz de
use a opção de rota de registro para determinar um caminho para um alvo, mesmo quando mais tradicional
as abordagens do estilo traceroute falham. Ou se seus pacotes estão sendo descartados por um certo
firewall, você pode ser capaz de especificar uma rota diferente com a fonte restrita ou livre
opções de roteamento.
A maneira mais poderosa de especificar as opções de IP é simplesmente passar valores como o
argumento para --ip-opções. Preceda cada número hexadecimal com \ x e, em seguida, os dois dígitos. Você pode
repita certos caracteres seguindo-os com um asterisco e o número de
vezes que você deseja que eles repitam. Por exemplo, \ x01 \ x07 \ x04 \ x00 * 36 \ x01 é uma string hexadecimal
contendo 36 bytes NUL.
O Nmap também oferece um mecanismo de atalho para especificar opções. Basta passar a carta
R, T ou U para solicitar a rota de registro. registro de data e hora ,. ou ambas as opções juntas,
respectivamente. Roteamento de origem frouxo ou restrito. pode ser especificado com um L ou S
seguido por um espaço e, em seguida, uma lista de endereços IP separados por espaço.
Se você deseja ver as opções nos pacotes enviados e recebidos, especifique --packet-trace.
Para obter mais informações e exemplos de uso de opções de IP com Nmap, consulte
http://seclists.org/nmap-dev/2006/q3/52.
--ttl valor (Defina o campo tempo de vida do IP).
Define o campo de tempo de vida IPv4 em pacotes enviados para o valor fornecido.
--randomize-hosts (Ordem aleatória do host de destino).
Diz ao Nmap para embaralhar cada grupo de até 16384 hosts antes de examiná-los. Isso pode
tornar as varreduras menos óbvias para vários sistemas de monitoramento de rede, especialmente quando você
combine-o com opções de temporização lenta. Se você quiser randomizar grupos maiores,
aumentar PING_GROUP_SZ. em nmap.h. e recompilar. Uma solução alternativa é
gere a lista de IP de destino com uma varredura de lista (-sL -n -sobre nome do arquivo), randomize-o com
um script Perl, então forneça a lista completa ao Nmap com -iL..
--spoof-mac MAC endereço, prefixo, or fornecedor nome (Endereço MAC falso).
Pede ao Nmap para usar o endereço MAC fornecido para todos os frames Ethernet brutos que ele envia.
Esta opção implica --send-eth. para garantir que o Nmap realmente envia nível Ethernet
pacotes. O MAC fornecido pode assumir vários formatos. Se for simplesmente o número 0, o Nmap
escolhe um endereço MAC completamente aleatório para a sessão. Se a string fornecida for um
número par de dígitos hexadecimais (com os pares opcionalmente separados por dois pontos), o Nmap irá
use-os como o MAC. Se menos de 12 dígitos hexadecimais forem fornecidos, o Nmap preenche o
restante dos seis bytes com valores aleatórios. Se o argumento não for zero ou hexadecimal
string, o Nmap procura através dos prefixos nmap-mac para encontrar um nome de fornecedor contendo o
string dada (não faz distinção entre maiúsculas e minúsculas). Se uma correspondência for encontrada, o Nmap usa o OUI do fornecedor
(prefixo de três bytes). e preenche os três bytes restantes aleatoriamente. Válido
--spoof-mac exemplos de argumentos são Apple, 0, 01: 02: 03: 04: 05: 06, deadbeefcafe, 0020F2,
e Cisco. Esta opção afeta apenas varreduras de pacotes brutos, como varredura de SYN ou detecção de sistema operacional,
não recursos orientados a conexão, como detecção de versão ou o Nmap Scripting
Motor.
--proxies Separados por vírgulas Lista of procuração URLs (Retransmitir conexões TCP por meio de uma cadeia de
proxies).
Pede ao Nmap para estabelecer conexões TCP com um alvo final através da cadeia fornecida de
um ou mais proxies HTTP ou SOCKS4. Os proxies podem ajudar a esconder a verdadeira fonte de uma varredura ou
evitam certas restrições de firewall, mas podem prejudicar o desempenho da varredura,
aumentando a latência. Os usuários podem precisar ajustar o tempo limite do Nmap e outros parâmetros de varredura
adequadamente. Em particular, um menor --max-paralelismo pode ajudar porque alguns proxies
recusam-se a lidar com tantas conexões simultâneas quanto o Nmap abre por padrão.
Esta opção leva uma lista de proxies como argumento, expressa como URLs no formato
proto: // host: porta. Use vírgulas para separar URLs de nós em uma cadeia. Sem autenticação é
suportado ainda. Os protocolos válidos são HTTP e SOCKS4.
Aviso: este recurso ainda está em desenvolvimento e tem limitações. Isto é
implementado na biblioteca nsock e, portanto, não tem efeito no ping, varredura de porta
e fases de descoberta do sistema operacional de uma varredura. Apenas NSE e varredura de versão se beneficiam desta opção
até agora - outros recursos podem revelar seu endereço verdadeiro. As conexões SSL ainda não são
suportado, nem a resolução DNS do lado do proxy (nomes de host são sempre resolvidos pelo Nmap).
--badsum (Envie pacotes com somas de verificação TCP / UDP falsas).
Pede ao Nmap para usar uma soma de verificação TCP, UDP ou SCTP inválida para pacotes enviados para o destino
hospedeiros. Uma vez que virtualmente todas as pilhas de IP de host descartam esses pacotes de maneira adequada, todas as respostas
recebidos são provavelmente provenientes de um firewall ou IDS que não se preocupou em verificar o
soma de verificação. Para obter mais detalhes sobre esta técnica, consulte https://nmap.org/p60-12.html
--adler32 (Use Adler32 obsoleto em vez de CRC32C para somas de verificação SCTP).
Pede ao Nmap para usar o algoritmo Adler32 obsoleto para calcular a soma de verificação SCTP.
If --adler32 não é administrado, o CRC-32C (Castagnoli) é usado. RFC 2960[14] originalmente
Adler32 definido como algoritmo de checksum para SCTP; RFC 4960[7] posteriormente redefiniu o SCTP
checksums para usar CRC-32C. As implementações SCTP atuais devem estar usando CRC-32C, mas em
a fim de obter respostas de implementações SCTP antigas e legadas, pode ser preferível
para usar o Adler32.
SAÍDA
Qualquer ferramenta de segurança é tão útil quanto a saída que gera. Testes complexos e
algoritmos são de pouco valor se não forem apresentados de uma forma organizada e compreensível
moda. Dado o número de maneiras como o Nmap é usado por pessoas e outros softwares, nenhum
formato pode agradar a todos. Portanto, o Nmap oferece vários formatos, incluindo o modo interativo
para humanos lerem diretamente e XML para fácil análise por software.
Além de oferecer diferentes formatos de saída, o Nmap oferece opções para controlar
o detalhamento da saída, bem como mensagens de depuração. Os tipos de saída podem ser enviados para
saída padrão ou para arquivos nomeados, que o Nmap pode anexar ou sobrescrever. Arquivos de saída podem
também pode ser usado para retomar as varreduras abortadas.
O Nmap disponibiliza a saída em cinco formatos diferentes. O padrão é chamado de interativo
saída,. e é enviado para a saída padrão (stdout) .. Também existe uma saída normal.
que é semelhante ao interativo, exceto que exibe menos informações de tempo de execução e
avisos, uma vez que se espera que seja analisado após a conclusão da varredura, em vez de
interativamente.
Saída XML. é um dos tipos de saída mais importantes, pois pode ser convertido para HTML,
facilmente analisado por programas como interfaces gráficas de usuário Nmap ou importados para
bases de dados.
Os dois tipos de saída restantes são a saída simples para grep. que inclui a maioria
informações para um host de destino em uma única linha e sCRiPt KiDDi3 0utPUt. para usuários que
consideram-se | <-r4d.
Embora a saída interativa seja o padrão e não tenha opções de linha de comando associadas, o
outras quatro opções de formato usam a mesma sintaxe. Eles usam um argumento, que é o
nome do arquivo em que os resultados devem ser armazenados. Vários formatos podem ser especificados, mas cada
o formato só pode ser especificado uma vez. Por exemplo, você pode desejar salvar a saída normal para
sua própria revisão enquanto salva o XML da mesma varredura para análise programática. Você pode fazer
isso com as opções -boi myscan.xml -sobre myscan.nmap. Embora este capítulo use o simples
nomes como myscan.xml para abreviar, nomes mais descritivos são geralmente recomendados. O
nomes escolhidos são uma questão de preferência pessoal, embora eu use nomes longos que incorporam
a data da varredura e uma ou duas palavras descrevendo a varredura, colocados em um diretório com o nome de
empresa que estou digitalizando.
Enquanto essas opções salvam os resultados em arquivos, o Nmap ainda imprime a saída interativa para stdout
como sempre. Por exemplo, o comando nmap -boi myscan.xml alvo imprime XML em myscan.xml e
preenche a saída padrão com os mesmos resultados interativos que teria impresso se -boi
não foi especificado. Você pode alterar isso passando um caractere de hífen como o argumento
para um dos tipos de formato. Isso faz com que o Nmap desative a saída interativa e, em vez disso
imprime os resultados no formato que você especificou para o fluxo de saída padrão. Então, o comando
nmap -boi - alvo irá enviar apenas saída XML para stdout. Erros graves ainda podem ser
impresso no fluxo de erro normal, stderr ..
Ao contrário de alguns argumentos do Nmap, o espaço entre o sinalizador de opção do arquivo de log (como -boi) e
o nome do arquivo ou hífen é obrigatório. Se você omitir as sinalizações e fornecer argumentos como -oG-
or -oXscan.xml, um recurso de compatibilidade com versões anteriores do Nmap causará a criação de
normal formato arquivos de saída chamados G- e Xscan.xml respectivamente.
Todos esses argumentos apóiam horário de trabalho-Como. conversões no nome do arquivo. % H,% M,% S,
% m,% d,% y e% Y são exatamente iguais que em horário de trabalho. % T é o mesmo que% H% M% S,% R
é o mesmo que% H% M e% D é o mesmo que% m% d% y. Um% seguido por qualquer outro caractere
apenas produz aquele caractere (%% fornece um símbolo de porcentagem). assim -boi 'scan-% T-% D.xml' precisarão
use um arquivo XML com um nome no formato scan-144840-121307.xml.
O Nmap também oferece opções para controlar o detalhamento da varredura e para anexar aos arquivos de saída, em vez
do que derrotá-los. Todas essas opções são descritas a seguir.
Nmap saída Formatos
-sobre especificação de arquivo (saída normal).
Solicita que a saída normal seja direcionada para o nome de arquivo fornecido. Como discutido acima,
isso difere um pouco da saída interativa.
-boi especificação de arquivo (Saída XML).
Solicita que a saída XML seja direcionada para o nome de arquivo fornecido. Nmap inclui um documento
definição de tipo (DTD) que permite que os analisadores XML validem a saída XML do Nmap. Enquanto ele
destina-se principalmente ao uso programático, mas também pode ajudar os humanos a interpretar o Nmap XML
saída. O DTD define os elementos legais do formato, e muitas vezes enumera o
atributos e valores que eles podem assumir. A versão mais recente está sempre disponível em
https://svn.nmap.org/nmap/docs/nmap.dtd.
XML oferece um formato estável que é facilmente analisado por software. Analisadores XML gratuitos são
disponível para todas as principais linguagens de computador, incluindo C / C ++, Perl, Python e Java.
As pessoas até escreveram ligações para a maioria dessas linguagens para lidar com a saída do Nmap
e execução especificamente. Exemplos são Nmap :: Scanner[15]. e Nmap :: Parser[16]. dentro
Perl CPAN. Em quase todos os casos em que um aplicativo não trivial faz interface com o Nmap,
XML é o formato preferido.
A saída XML faz referência a uma folha de estilo XSL que pode ser usada para formatar os resultados como
HTML. A maneira mais fácil de usar isso é simplesmente carregar a saída XML em um navegador da web
como Firefox ou IE. Por padrão, isso só funcionará na máquina em que você executou o Nmap
(ou um configurado de forma semelhante) devido ao caminho do sistema de arquivos nmap.xsl embutido no código. Usar
da --webxml or --folha de estilo opções para criar arquivos XML portáteis que renderizam como HTML
em qualquer máquina conectada à web.
-oS especificação de arquivo (ScRipT KIdd | 3 oUTpuT).
A saída do script kiddie é como uma saída interativa, exceto que é pós-processada para
melhor se adequar à l33t HaXXorZ que anteriormente olhou para baixo no Nmap devido à sua consistência
letras maiúsculas e ortografia. Pessoas com deficiência de humor devem observar que esta opção é
tirando sarro dos script kiddies antes de me criticar por supostamente “ajudá-los”.
-oG especificação de arquivo (saída grepable).
Este formato de saída é abordado por último porque está obsoleto. O formato de saída XML é
muito mais poderoso e quase tão conveniente para usuários experientes. XML é um
padrão para o qual dezenas de analisadores excelentes estão disponíveis, enquanto a saída grepable é
meu próprio hack simples. XML é extensível para suportar novos recursos do Nmap como eles são
lançado, embora muitas vezes eu deva omitir esses recursos da saída do grep por falta de um
lugar para colocá-los.
No entanto, a saída para o grep ainda é bastante popular. É um formato simples que lista
cada host em uma linha e pode ser pesquisado e analisado trivialmente com o Unix padrão
ferramentas como grep, awk, cut, sed, diff e Perl. Até eu costumo usá-lo para uma única vez
testes feitos na linha de comando. Encontrar todos os hosts com a porta SSH aberta ou que
estão executando o Solaris leva apenas um grep simples para identificar os hosts, canalizado para um awk ou
comando cut para imprimir os campos desejados.
A saída do Grepable consiste em comentários (linhas que começam com uma cerquilha (#)). e alvo
linhas. Uma linha de destino inclui uma combinação de seis campos rotulados, separados por guias
e seguido por dois pontos. Os campos são Host, Ports, Protocols, Ignored State, OS,
Índice de Seq, IP ID e Status.
O mais importante desses campos é geralmente Ports, que dá detalhes sobre cada
porto interessante. É uma lista de entradas de portas separadas por vírgulas. Cada entrada de porta
representa uma porta interessante e tem a forma de sete barras (/) separadas
subcampos. Esses subcampos são: Número da porta, Estado, Protocolo, Proprietário, Serviço, SunRPC
informações e informações da versão.
Tal como acontece com a saída XML, esta página do manual não permite a documentação do formato inteiro. UMA
uma visão mais detalhada do formato de saída grep do Nmap está disponível em
https://nmap.org/book/output-formats-grepable-output.html.
-oA nome de base (Saída para todos os formatos).
Para sua conveniência, você pode especificar -oA nome de base para armazenar os resultados da verificação em normal, XML,
e formatos grepable de uma vez. Eles são armazenados em nome de base.nmap, nome de base.xml e
nome de base.gnmap, respectivamente. Tal como acontece com a maioria dos programas, você pode prefixar os nomes dos arquivos com
um caminho de diretório, como ~ / nmaplogs / foocorp / no Unix ou c: \ hacking \ sco no Windows.
Verbosidade e depuração opções
-v (Aumentar o nível de verbosidade).
Aumenta o nível de detalhamento, fazendo com que o Nmap imprima mais informações sobre a varredura
em andamento. As portas abertas são mostradas à medida que são encontradas e as estimativas de tempo de conclusão são
fornecido quando o Nmap pensa que uma varredura demorará mais do que alguns minutos. Use duas vezes ou
mais para um detalhamento ainda maior: -vv, ou forneça um nível de detalhamento diretamente, por exemplo
-v3..
A maioria das mudanças afeta apenas a saída interativa, e algumas também afetam o normal e o script
saída infantil. Os outros tipos de saída devem ser processados por máquinas, então o Nmap
pode fornecer detalhes substanciais por padrão nesses formatos sem cansar um ser humano
do utilizador. No entanto, existem algumas mudanças em outros modos onde o tamanho da saída pode ser reduzido
substancialmente, omitindo alguns detalhes. Por exemplo, uma linha de comentário no grepable
a saída que fornece uma lista de todas as portas verificadas é impressa apenas no modo detalhado
porque pode ser bastante longo.
-d (Aumente o nível de depuração).
Mesmo quando o modo detalhado não fornece dados suficientes para você, a depuração está disponível
para inundar você com muito mais! Tal como acontece com a opção de verbosidade (-v), a depuração está habilitada
com um sinalizador de linha de comando (-d) e o nível de depuração pode ser aumentado especificando-o
várias vezes,. como em -dd, ou definindo um nível diretamente. Por exemplo, -d9 conjuntos
nível nove. Esse é o nível efetivo mais alto e produzirá milhares de linhas
a menos que você execute uma varredura muito simples com muito poucas portas e destinos.
A saída de depuração é útil quando há suspeita de um bug no Nmap, ou se você simplesmente
confuso sobre o que o Nmap está fazendo e por quê. Como esse recurso se destina principalmente a
desenvolvedores, as linhas de depuração nem sempre são autoexplicativas. Você pode obter algo como:
Vals de tempo limite: srtt: -1 rttvar: -1 a: 1000000 delta 14987 ==> srtt: 14987 rttvar:
14987 a: 100000. Se você não entende uma linha, seus únicos recursos são ignorar
, procure no código-fonte ou solicite ajuda na lista de desenvolvimento
(nmap-dev) .. Algumas linhas são autoexplicativas, mas as mensagens se tornam mais obscuras à medida que
o nível de depuração é aumentado.
--razão (Razões do estado do host e da porta).
Mostra a razão pela qual cada porta está configurada para um estado específico e a razão pela qual cada host está ativo
ou para baixo. Esta opção exibe o tipo de pacote que determinou uma porta ou hosts
Estado. Por exemplo, um pacote RST de uma porta fechada ou uma resposta de eco de uma
hospedeiro. As informações que o Nmap pode fornecer são determinadas pelo tipo de varredura ou ping. O
Varredura SYN e ping SYN (-WL e -PS) são muito detalhados, mas a verificação de conexão TCP (-sT)
é limitado pela implementação do connect chamada de sistema. Este recurso é
habilitado automaticamente pela opção de depuração (-d) e os resultados são armazenados no log XML
arquivos, mesmo se esta opção não for especificada.
--stats-cada tempo (Imprimir estatísticas de tempo periódicas).
Imprime periodicamente uma mensagem de status de tempo após cada intervalo de tempo. O tempo é um
especificação do tipo descrito na seção “TEMPO E DESEMPENHO”; assim
por exemplo, use --stats-cada 10s para obter uma atualização de status a cada 10 segundos. Atualizações
são impressos para saída interativa (a tela) e saída XML.
--packet-trace (Rastreie pacotes e dados enviados e recebidos).
Faz com que o Nmap imprima um resumo de cada pacote enviado ou recebido. Isso é freqüentemente usado
para depuração, mas também é uma forma valiosa para novos usuários entenderem exatamente o que
O Nmap está fazendo nos bastidores. Para evitar imprimir milhares de linhas, você pode querer
especificar um número limitado de portas a serem verificadas, como - p20-30. Se você só se preocupa com o
atividades do subsistema de detecção de versão, use --version-trace em vez de. Se você só
preocupa-se com o rastreio do script, especifique --script-trace. Com --packet-trace, você obtém tudo de
o de cima.
--abrir (Mostrar apenas portas abertas (ou possivelmente abertas)).
Às vezes, você só se preocupa com as portas às quais pode realmente se conectar (portas abertas), e não
deseja resultados repletos de portas fechadas, filtradas e fechadas | filtradas. Saída
a personalização é normalmente feita após a varredura usando ferramentas como grep, awk e Perl,
mas esse recurso foi adicionado devido a solicitações esmagadoras. Especificamos --abrir para apenas ver
hosts com pelo menos uma porta aberta, aberta | filtrada ou não filtrada e só vê as portas em
esses estados. Esses três estados são tratados como normalmente são, o que significa
que aberto | filtrado e não filtrado pode ser condensado em contagens se houver um
número esmagador deles.
--iflista (Liste interfaces e rotas).
Imprime a lista de interface e as rotas do sistema detectadas pelo Nmap. Isso é útil para
depurar problemas de roteamento ou caracterização incorreta do dispositivo (como Nmap tratando um PPP
conexão como Ethernet).
Gerais saída opções
--append-saída (Anexar em vez de sobrepor os arquivos de saída).
Quando você especifica um nome de arquivo para um sinalizador de formato de saída, como -boi or -sobre, esse arquivo é
sobrescrito por padrão. Se você preferir manter o conteúdo existente do arquivo e
acrescente os novos resultados, especifique o --append-saída opção. Todos os nomes de arquivos de saída
especificado naquela execução do Nmap será então anexado ao invés de substituído. Isto
não funciona bem para XML (-boi) escaneia os dados, pois o arquivo resultante geralmente não analisa
corretamente até que você conserte à mão.
--retomar nome do arquivo (Retomar varredura abortada).
Algumas execuções extensas do Nmap levam muito tempo - na ordem de dias. Essas varreduras não
sempre corra até a conclusão. As restrições podem impedir que o Nmap seja executado durante o trabalho
horas, a rede pode cair, a máquina em que o Nmap está rodando pode sofrer um
reinicialização planejada ou não planejada, ou o próprio Nmap pode falhar. O administrador executando
O Nmap também pode cancelá-lo por qualquer outro motivo, pressionando ctrl-C. Reiniciando o
a varredura inteira desde o início pode ser indesejável. Felizmente, se normal (-sobre) ou
grepável (-oG) logs foram mantidos, o usuário pode pedir ao Nmap para retomar a varredura com o
alvo em que estava trabalhando quando a execução foi interrompida. Basta especificar o --retomar opção e
passe o arquivo de saída normal / grep como seu argumento. Nenhum outro argumento é
permitido, pois o Nmap analisa o arquivo de saída para usar os mesmos especificados anteriormente.
Simplesmente chame o Nmap como nmap --retomar nome do arquivo de log. Nmap irá anexar novos resultados ao
arquivos de dados especificados na execução anterior. A retomada não suporta o XML
formato de saída porque combinar as duas execuções em um arquivo XML válido seria
difícil.
--folha de estilo caminho or URL (Defina a folha de estilo XSL para transformar a saída XML).
O Nmap vem com um XSL. folha de estilo. denominado nmap.xsl. para visualizar ou traduzir XML
saída para HTML .. A saída XML inclui uma diretiva xml-stylesheet que aponta para
nmap.xml onde foi inicialmente instalado pelo Nmap. Execute o arquivo XML por meio de um XSLT
processador como xsltproc[17]. para produzir um arquivo HTML. Abrindo diretamente o XML
arquivo em um navegador não funciona mais bem porque os navegadores modernos limitam os locais de um
a folha de estilo pode ser carregada de. Se você deseja usar uma folha de estilo diferente, especifique-a
como o argumento para --folha de estilo. Você deve passar o nome do caminho ou URL completo. Um comum
invocação é --folha de estilo https://nmap.org/svn/docs/nmap.xsl. Isso diz a um XSLT
processador para carregar a versão mais recente da folha de estilo do Nmap.Org. O --webxml
opção faz a mesma coisa com menos digitação e memorização. Carregando o XSL de
Nmap.Org torna mais fácil ver os resultados em uma máquina que não tem Nmap (e, portanto,
nmap.xsl) instalado. Portanto, a URL é geralmente mais útil, mas o sistema de arquivos local
localização de nmap.xsl é usada por padrão por razões de privacidade.
--webxml (Carregar a folha de estilo do Nmap.Org).
Esta é uma opção conveniente, nada mais do que um apelido para --folha de estilo
https://nmap.org/svn/docs/nmap.xsl.
--sem folha de estilo (Omita a declaração de folha de estilo XSL do XML).
Especifique esta opção para evitar que o Nmap associe qualquer folha de estilo XSL ao seu XML
saída. A diretiva xml-stylesheet foi omitida.
DIVERSOS OPÇÕES
Esta seção descreve algumas opções importantes (e não tão importantes) que realmente não se encaixam
em qualquer outro lugar.
-6 (Habilite a varredura IPv6).
O Nmap tem suporte IPv6 para seus recursos mais populares. Varredura de ping, varredura de porta,
detecção de versão e o Nmap Scripting Engine suportam IPv6. A sintaxe do comando
é o mesmo de costume, exceto que você também adiciona o -6 opção. Claro, você deve usar
Sintaxe IPv6 se você especificar um endereço em vez de um nome de host. Um endereço pode parecer
como 3ffe: 7501: 4819: 2000: 210: f3ff: fe03: 14d0, portanto, nomes de host são recomendados. A saída
parece o mesmo de costume, com o endereço IPv6 na linha de "portas interessantes" sendo
a única oferta IPv6.
Embora o IPv6 não tenha exatamente dominado o mundo, ele obtém um uso significativo em alguns
(geralmente asiáticos) e a maioria dos sistemas operacionais modernos o suportam. Para usar o Nmap
com IPv6, a origem e o destino de sua varredura devem ser configurados para IPv6. Se
seu ISP (como a maioria deles) não aloca endereços IPv6 para você, túnel livre
corretores estão amplamente disponíveis e funcionam bem com o Nmap. Eu uso o túnel IPv6 grátis
corretor. serviço em http://www.tunnelbroker.net. Outros corretores de túnel são listado at
Wikipedia[18]. Os túneis 6to4 são outra abordagem gratuita popular.
No Windows, as varreduras IPv6 de soquete bruto são suportadas apenas em dispositivos Ethernet (não
túneis), e apenas no Windows Vista. e depois. Use o --sem privilégios. opção em
outras situações.
-A (Opções de varredura agressivas).
Esta opção ativa opções avançadas e agressivas adicionais. Atualmente, isso permite
Detecção de sistema operacional (-O), verificação de versão (-sV), verificação de script (-sC) e traceroute
(--traceroute) .. Mais recursos podem ser adicionados no futuro. O objetivo é permitir um
conjunto abrangente de opções de digitalização sem que as pessoas tenham que se lembrar de um grande conjunto de
bandeiras. No entanto, como a varredura de script com o conjunto padrão é considerada intrusiva,
você não deve usar -A contra redes alvo sem permissão. Esta opção apenas
ativa recursos, e não opções de tempo (como -T4) ou opções de detalhamento (-v) naquela
você pode querer também. Opções que requerem privilégios (por exemplo, acesso root), como sistema operacional
detecção e traceroute só serão habilitados se esses privilégios estiverem disponíveis.
--datadir nome do diretor (Especifique a localização do arquivo de dados Nmap personalizado).
O Nmap obtém alguns dados especiais em tempo de execução em arquivos chamados nmap-service-probes,
nmap-services, nmap-protocolos, nmap-rpc, nmap-mac-prefixes e nmap-os-db. Se o
a localização de qualquer um desses arquivos foi especificada (usando o --servicedb or
--versiondb opções), esse local é usado para esse arquivo. Depois disso, o Nmap procura
esses arquivos no diretório especificado com o --datadir opção (se houver). Quaisquer arquivos
não encontrados lá, são procurados no diretório especificado pelo NMAPDIR.
variável de ambiente. A seguir vem ~ / .nmap. para UIDs reais e eficazes; ou no Windows,
HOME\ AppData \ Roaming \ nmap (onde HOME é o diretório inicial do usuário, como
C: \ Usuários \ usuário). Isso é seguido pela localização do executável nmap e o mesmo
localização com ../share/nmap anexado. Em seguida, um local compilado, como
/ usr / local / share / nmap ou / usr / share / nmap.
--servicedb Serviços lima (Especifique o arquivo de serviços personalizados).
Pede ao Nmap para usar o arquivo de serviços especificado em vez do arquivo de dados de serviços nmap
que vem com o Nmap. Usar esta opção também causa uma verificação rápida (-F) ser usado. Ver
a descrição para --datadir para obter mais informações sobre os arquivos de dados do Nmap.
--versiondb serviço sondas lima (Especifique o arquivo de probes de serviço personalizado).
Pede ao Nmap para usar o arquivo de probes de serviço especificado em vez do nmap-service-probes
arquivo de dados que vem com o Nmap. Veja a descrição para --datadir Para maiores informações
nos arquivos de dados do Nmap.
--send-eth (Use o envio de ethernet bruto).
Pede ao Nmap para enviar pacotes na camada ethernet bruta (enlace de dados) ao invés da camada superior
Camada IP (rede). Por padrão, o Nmap escolhe aquele que geralmente é melhor para o
plataforma em que está sendo executado. Soquetes brutos (camada IP). são geralmente mais eficientes para
Máquinas Unix, enquanto frames ethernet são necessários para a operação do Windows desde
A Microsoft desativou o suporte a soquetes brutos. O Nmap ainda usa pacotes IP brutos no Unix, apesar
esta opção quando não há outra escolha (como conexões não Ethernet).
--enviar-ip (Enviar no nível de IP bruto).
Pede ao Nmap para enviar pacotes através de sockets IP brutos ao invés de enviar ethernet de nível inferior
quadros. É o complemento do --send-eth opção discutida anteriormente.
--privilegiado (Suponha que o usuário seja totalmente privilegiado).
Diz ao Nmap para simplesmente assumir que é privilegiado o suficiente para realizar envios de socket brutos,
farejamento de pacotes e operações semelhantes que geralmente requerem privilégios de root. no Unix
sistemas. Por padrão, o Nmap fecha se tais operações forem solicitadas, mas geteuid não é
zero. --privilegiado é útil com recursos do kernel Linux e sistemas semelhantes que
pode ser configurado para permitir que usuários sem privilégios executem varreduras de pacotes brutos. Tenha certeza de
forneça este sinalizador de opção antes de quaisquer sinalizadores para opções que requerem privilégios (SYN
varredura, detecção de sistema operacional, etc.). O NMAP_PRIVILEGADO. variável de ambiente pode ser definida como um
alternativa equivalente a --privilegiado.
--sem privilégios (Suponha que o usuário não tenha privilégios de soquete bruto).
Esta opção é o oposto de --privilegiado. Diz ao Nmap para tratar o usuário como
falta de socket raw de rede e privilégios de sniffing. Isso é útil para teste,
depuração, ou quando a funcionalidade de rede bruta do seu sistema operacional é de alguma forma
quebrado. o NMAP_UNPRIVILEGED. variável de ambiente pode ser definida como um equivalente
alternativa para --sem privilégios.
--libera-memória (Libere memória antes de sair).
Esta opção só é útil para depuração de vazamento de memória. Faz com que o Nmap libere
memória alocada antes de encerrar, para que os vazamentos de memória reais sejam mais fáceis de detectar.
Normalmente o Nmap ignora isso, pois o sistema operacional faz isso de qualquer maneira após o término do processo.
-V; --versão (Imprimir o número da versão).
Imprime o número da versão do Nmap e sai.
-h; --Socorro (Imprimir página de resumo de ajuda).
Imprime uma breve tela de ajuda com os sinalizadores de comando mais comuns. Executando o Nmap sem
qualquer argumento faz a mesma coisa.
TEMPO DE EXECUÇÃO INTERAÇÃO
Durante a execução do Nmap, todas as teclas pressionadas são capturadas. Isso permite que você interaja
com o programa sem abortá-lo e reiniciá-lo. Algumas teclas especiais mudarão
opções, enquanto qualquer outra tecla imprimirá uma mensagem de status informando sobre a digitalização.
A convenção é que minúsculas letras aumentar a quantidade de impressão, e maiúsculas
letras diminuir a impressão. Você também pode pressionar '?' para ajuda.
v / V
Aumentar / diminuir o nível de verbosidade
d / D
Aumentar / diminuir o nível de depuração
p / P
Ativar / desativar rastreamento de pacotes
?
Imprimir uma tela de ajuda de interação em tempo de execução
Algo mais
Imprima uma mensagem de status como esta:
Estatísticas: 0:00:07 decorrido; 20 hosts concluídos (1 em diante), 1 em verificação de serviço
Tempo de verificação do serviço: cerca de 33.33% concluído; ETC: 20:57 (0:00:12 restantes)
EXEMPLOS
Aqui estão alguns exemplos de uso do Nmap, desde o simples e rotineiro até um pouco mais complexo
e esotérico. Alguns endereços IP e nomes de domínio reais são usados para tornar as coisas mais
concreto. Em seu lugar, você deve substituir endereços / nomes de sua próprio rede.
Embora eu não ache que a varredura de portas de outras redes seja ou deva ser ilegal, algumas redes
os administradores não apreciam a varredura não solicitada de suas redes e podem reclamar.
Obter permissão primeiro é a melhor abordagem.
Para fins de teste, você tem permissão para fazer a varredura do host scanme.nmap.org.
a permissão inclui apenas a digitalização via Nmap e não o teste de exploits ou negação de serviço
ataques. Para conservar a largura de banda, não inicie mais de uma dúzia de varreduras contra
esse host por dia. Se este serviço de rastreamento gratuito for abusado, ele será desativado
e o Nmap relatará Falha ao resolver o nome de host / IP fornecido: scanme.nmap.org. Esses
as permissões também se aplicam aos hosts scanme2.nmap.org, scanme3.nmap.org e assim por diante.
esses hosts não existem atualmente.
nmap -v scanme.nmap.org.
Esta opção verifica todas as portas TCP reservadas na máquina scanme.nmap.org. O -v opção
ativa o modo detalhado.
nmap -WL -O scanme.nmap.org/24.
Lança uma varredura SYN furtiva em cada máquina que está acima dos 256 IPs no
rede de tamanho de classe C em que Scanme reside. Ele também tenta determinar o que
sistema está sendo executado em cada host que está instalado e funcionando. Isso requer privilégios de root
por causa da varredura SYN e detecção do sistema operacional.
nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127.
Inicia a enumeração de host e uma varredura de TCP na primeira metade de cada um dos 255 possíveis
sub-redes de oito bits no espaço de endereço classe B 198.116. Isso testa se os sistemas funcionam
SSH, DNS, POP3 ou IMAP em suas portas padrão ou qualquer coisa na porta 4564. Para qualquer um dos
essas portas estão abertas, a detecção de versão é usada para determinar qual aplicativo é
execução.
nmap -v -ir 100000 -Pn -p 80.
Pede ao Nmap que escolha 100,000 hosts aleatoriamente e os escaneie em busca de servidores web (porta 80). Hospedeiro
enumeração está desabilitada com -Pn desde o primeiro envio de algumas sondas para determinar se
um host está ativo é um desperdício quando você está apenas testando uma porta em cada host de destino.
nmap -Pn -p80 -boi logs / pb-port80scan.xml -oG logs / pb-port80scan.gnmap 216.163.128.20/20.
Isso faz a varredura de 4096 IPs para quaisquer servidores web (sem ping-los) e salva a saída em
formatos grepable e XML.
nmap LIVRO
Embora este guia de referência descreva todas as opções materiais do Nmap, ele não pode demonstrar totalmente
como aplicar esses recursos para resolver rapidamente tarefas do mundo real. Para isso, lançamos o Nmap
Digitalização em rede: o guia oficial do projeto Nmap para descoberta e segurança de rede
Digitalizando. Os tópicos incluem subvertendo firewalls e sistemas de detecção de intrusão, otimizando
Desempenho do Nmap e automatização de tarefas comuns de rede com o Nmap Scripting Engine.
Dicas e instruções são fornecidas para tarefas comuns do Nmap, como tomar rede
inventário, teste de penetração, detecção de pontos de acesso sem fio invasores e anulação
surtos de worm de rede. Exemplos e diagramas mostram a comunicação real na rede. Mais
mais da metade do livro está disponível gratuitamente online. Ver https://nmap.org/book para mais
informações.
Use o nmap online usando os serviços onworks.net