--min-hostgroup <milissegundos>;
--max-hostgroup <milissegundos> (Ajuste dos
tamanhos dos grupos de rastreio(scan) paralelos)O Nmap tem a habilidade de fazer um rastreio(scan) de portas ou de
versões em múltiplos anfitriões(hosts) em paralelo. O Nmap faz isso dividindo
a faixa de endereços IP-alvo em grupos e então rastreando um
grupo de cada vez. No geral grupos maiores são mais eficientes. A
contrapartida é que os resultados dos anfitriões(hosts) não pode ser fornecido
até que o grupo inteiro tenha terminado. Portanto se o Nmap
começou com um tamanho de grupo igual a 50, o usuário não
receberia nenhum relatório (exceto pelas atualizações mostradas no
modo verbose) até que os primeiros 50 anfitriões(hosts) tivessem
completado.
Por default, o Nmap assume um compromisso para resolver esse
conflito. Ele começa com um tamanho de grupo pequeno, igual a
cinco, para que os primeiros resultados venham rápido e então
aumenta o tamanho até que chegue em 1024. O número default exacto
depende das opções fornecidas. Por questões de eficiência o Nmap
usa tamanhos de grupo maiores para o UDP ou para rastreios(scans) TCP com
poucas portas.
Quando o tamanho de grupo máximo é especificado com
--max-hostgroup, o Nmap nunca irá exceder esse
tamanho. Especifique um tamanho mínimo com
--min-hostgroup e o Nmap irá tentar manter o
tamanho dos grupos acima desse nível. O Nmap pode ter que usar
tamanhos menores do que especificou, se não houverem
anfitriões(hosts)-alvo suficientes restando em uma dada interface para
completar o mínimo especificado. Ambos podem ser configurados para
manter o tamanho do grupo dentro de uma faixa específica, embora
isso raramente seja desejado.
O uso primário destas opções é especificar um tamanho de
grupo mínimo grande de forma que o rastreio(scan) completo seja executado mais
rapidamente. Uma escolha comum é 256 para rastrear(scan) uma rede em
blocos de tamanho Classe C. Para um rastreio(scan) com muitas portas
exceder esse número não irá ajudar muito. Para rastreios(scans) com poucos
números de portas um tamanho de grupo de anfitriões(hosts) de 2048 ou mais
pode ser útil.
--min-parallelism <milissegundos>;
--max-parallelism <milissegundos> (Ajuste da
paralelização das sondagens)Estas opções controlam o número total de sondagens que podem
estar pendentes para um grupo de anfitriões(hosts). Elas são usadas para o
rastreio(scan) de portas e para a descoberta de anfitriões(hosts). Por default
o Nmap calcula um paralelismo ideal e constantemente actualizado
baseado no desempenho da rede. Se os pacotes estiverem sendo
descartados o Nmap reduz o ritmo e liberta menos sondagens
pendentes. O número de sondagens ideal aumenta vagarosamente
conforme a rede se mostre mais confiável. Estas opções estabelecem
limites mínimo e máximo nessa variável. Por default o paralelismo
ideal pode cair até 1 se a rede se mostrar não-confiável e subir
até diversas centenas em condições perfeitas.
O uso mais comum é estabelecer
--min-parallelism em um número maior que um para
melhorar a velocidade dos rastreios(scans) de anfitriões(hosts) ou redes com desempenho
ruim. Esta é uma opção arriscada para se ficar brincando pois
configurar um valor alto demais pode afetar a precisão. Configurar
isso também reduz a habilidade do Nmap de controlar o paralelismo
dinamicamente baseado nas condições da rede. Um valor igual a dez
pode ser razoável, embora eu só ajuste esse valor como última
alternativa.
A opção --max-parallelism às vêzes é
configurada para evitar que o Nmap envie aos anfitriões(hosts) mais do que uma
sondagem de cada vez. Isso pode ser útil em conjunto com
--scan-delay (discutido mais tarde), embora esta
última normalmente sirva bem ao propósito por si só.
--min_rtt_timeout <milissegundos>,
--max-rtt-timeout <milissegundos>,
--initial-rtt-timeout <milissegundos> (Ajuste
de tempo de expiração (timeouts) das sondagens)O Nmap mantém um valor de tempo de expiração (timeout) de
execução para determinar quanto tempo ele deve esperar por uma
resposta de uma sondagem antes de desistir ou retransmitir essa
sondagem. Isso é calculado com base nos tempos de resposta de
sondagens anteriores. Se a lentidão da rede se mostra
significativa e variável esse tempo de expiração pode subir para
vários segundos. Ele também começa com um nível conservador
(alto) e pode ficar desse jeito por um tempo enquanto o Nmap
rastreia(scan) anfitriões(hosts) não-responsivos.
Estas opções recebem um valor em milissegundos. Especificar
um --max-rtt-timeout e
--initial-rtt-timeout mais baixos que o default
pode reduzir o tempo de rastreio(scan) significativamente. Isso é
particularmente verdade para rastreios(scans) sem ping
(-P0) e para aqueles contra redes bastante
filtradas. Mas não se torne muito agressivo. O rastreio(scan) pode acabar
levando mais tempo se especificar um valor tão baixo que
muitas sondagens irão expirar o tempo e serem retransmitidas
enquanto a resposta ainda está em trânsito.
Se todos os anfitriões(hosts) estão em uma rede local, 100 milissegundos
é um valor de --max-rtt-timeout razoavelmente
agressivo. Se houver roteamento envolvido faça um ping de um anfitrião(host)
da rede primeiro com o utilitário ICMP ping ou com um formatador
de pacotes customizados como o hping2, que pode passar por um
firewall mais facilmente. Descubra o tempo máximo de round trip em
dez pacotes mais ou menos. Coloque o dobro desse valor em
--initial-rtt-timeout e o triplo ou quádruplo
para o --max-rtt-timeout. Normalmente eu não
configuro o rtt máximo abaixo de 100ms, não importa quais os
tempos de ping. Eu também não excedo o valor 1000ms.
--min_rtt_timeout é uma opção raramente
utilizada que poderia ser útil quando uma rede é tão não-confiável
que mesmo o default do Nmap é muito agressivo. Considerando que o
Nmap apenas reduz o tempo de expiração para um valor mínimo quando
a rede parece ser confiável, esta necessidade não é comum e
deveria ser reportada à lista de discussão nmap-dev como um
bug.
--host-timeout <milissegundos> (Desiste
em anfitriões(hosts)-alvo lentos)Alguns anfitriões(hosts) simplesmente levam tempo
demais para serem rastreados. Isso pode ser
causado por um hardware ou software de rede com fraco desempenho
ou pouco confiável, limitação na taxa dos pacotes ou por um
firewall restritivo. Os poucos anfitriões(hosts) mais lentos de todos os anfitriões(hosts)
escaneados podem acabar sendo responsáveis pela maior parte do
tempo total gasto com o rastreio(scan). Às vêzes é melhor cortar fora o
prejuízo e saltar esses anfitriões(hosts) logo no início. Isso pode ser feito
especificando --host-timeout com o número de
milissegundos que tolera esperar. Eu normalmente especifico
1800000 para ter certeza de que o Nmap não irá gastar mais do que
meia hora em um único anfitrião(host). Note que o Nmap pode estar escaneando
outros anfitriões(hosts) ao mesmo tempo em que essa meia hora desse único anfitrião(host)
está correndo, então não é uma perda de tempo total. Um anfitriões(hosts) que
expira o tempo é saltado. Nenhum resultado de tabela de portas,
detecção de SO ou detecção de versão é mostrado para esse
anfitrião(host).
--scan-delay <milissegundos>;
--max_scan-delay <milissegundos> (Ajusta o
atraso entre sondagens)Esta opção faz com que o Nmap aguarde um determinado número
de milissegundos entre cada sondagem enviada a um dado anfitrião(host). Isto
é particularmente útil no caso de limitação de taxas de
transferência. Máquinas Solaris (entre muitas outras) irão
normalmente responder a pacotes de sondagens de rastreios(scans) UDP com
apenas uma mensagem ICMP por segundo. Qualquer número maior que
isso, enviado pelo Nmap, será um desperdício. Um
--scan-delay de 1000 irá manter uma taxa de
transferência baixa. O Nmap tenta detectar a limitação de taxa e
ajusta o atraso no rastreio(scan) de acordo, mas não dói especificar
explicitamente se já sabe qual a taxa que funciona
melhor.
Outro uso do --scan-delay é para evitar os
sistemas de prevenção e deteção de intrusão (IDS/IPS) baseados em
limites.
-T
<Paranoid|Sneaky|Polite|Normal|Aggressive|Insane>
(Estabelece um padrão de temporização)Embora os controles de temporização de ajuste fino
discutidos nas seções anteriores sejam poderosos e efectivos,
algumas pessoas consideram-nos confusos. Escolher os
valores apropriados pode às vêzes levar mais tempo do que o
próprio rastreio(scan) que está tentando optimizar. Por isso o Nmap
oferece uma aproximação mais simples com seis padrões de
temporização. Você pode especificá-los com a opção
-T e os números (0 - 5) ou os nomes. Os nomes de
padrões são paranóico (paranoid, 0), furtivo (sneaky, 1), educado
(polite, 2), normal (3), agressivo (agressive, 4) e insano
(insane, 5). Os dois primeiros são para evitar um IDS. O modo
educado (ou polido), diminui o ritmo de rastreio(scan) para usar
menos banda e recursos da máquina alvo. O modo normal é o default
e, portanto, -T3 não faz nada. O modo agressivo
acelera os rastreios(scans) assumindo que está em uma rede razoavelmente
rápida e confiável. Finalmente, o modo insano assume que está
em uma rede extraordinariamente rápida ou está disposto a
sacrificar alguma precisão pela velocidade.
Estes padrões permitem que o usuário especifique o quão
agressivo desejam ser, ao mesmo tempo que deixam o Nmap escolher
os valores de temporização exactos. Os padrões também fazem ajustes
pequenos na velocidade onde ainda não existem opções para controle
de ajuste fino. Por exemplo, -T4 proibe que o
atraso dinâmico de rastreio(scan) exceda 10ms para portas TCP e
-T5 corta esse valor para 5 milissegundos.
Padrões podem ser utilizados em conjunto com controles de ajuste
fino desde que o padrão seja especificado primeiramente. Do
contrário os valores default para os padrões irão se sobrepor aos
valores que especificar. Eu recomendo usar
-T4 quando rastrear(scan) redes razoavelmente modernas
e confiáveis. Mantenha essa opção (no começo da linha de comando)
mesmo que adicione controles de ajuste fino, de forma que
possa se beneficiar com as pequenas otimizações extras que
ela habilita.
Se tiver uma conexão ethernet ou de banda-larga
decente, eu recomendaria sempre utilizar -T4.
Algumas pessoas adoram o -T5 embora seja
agressivo demais para o meu gosto. As pessoas às vêzes especificam
-T2 porque acham que diminui a probabilidade de
travar os anfitriões(hosts) ou porque elas consideram-se educadas em geral.
Normalmente elas não percebem o quão lento o -T
Polite realmente é. Esses rastreios(scans) podem levar dez vêzes
mais tempo que um rastreio(scan) default. Travamento de máquinas e problemas
com a banda são raros com as opções de temporização default
(-T3) e portanto, eu normalmente as recomendo
para escaneadores precavidos. Omitir a detecção de versão é bem
mais eficaz do que ficar brincando com os valores de temporização
para reduzir esses problemas.
Embora o -T0 e o -T1
possam ser usados para evitar alertas no IDS, eles irão leva muito
mais tempo para rastrear(scan) milhares de máquinas ou portas. Para um
rastreio(scan) tão amplo prefira estabelecer os valores exatos de
temporização que precisa ao invés de depender dos valores
"engessados" de -T0 e
-T1.
Os principais efeitos de T0 é serializar o
rastreio(scan) de forma que apenas uma porta é rastreada de cada vez e então
aguardar cinco minutos entre o envio de cada sondagem.
T1 e T2 são similares mas
aguardam apenas 15 segundos e 0,4 segundos, respectivamente, entre
as sondagens. T3 é o comportamento default do
Nmap, que inclui o paralelismo. T4 faz o mesmo
que --max-rtt-timeout 1250 --initial-rtt-timeout
500 e estabelece o atraso máximo de rastreio(scan) TCP em 10
milissegundos. T5 faz o mesmo que
--max-rtt-timeout 300 --min_rtt_timeout 50
--initial-rtt-timeout 250 --host-timeout 900000 e
estabelece o atraso máximo de rastreio(scan) TCP em 5ms.