nmap
oferece funcionalidade de detecção de sistema operacional baseada em impressão digital TCP/IP enviando seis pacotes de sondagem e analisando suas respostas. Na documentação é dito que alguns deles são enviados para uma porta aberta e alguns são enviados para uma porta fechada.
Alguém sabe como nmap
decide para qual porta enviar as sondas? Ele apenas procura a primeira porta fechada e as primeiras portas abertas que encontra? Ele os procura em uma determinada ordem? Ou ele escolhe aleatoriamente uma porta?
Nesse caso, não há documentação melhor do que o próprio código . O Nmap depende dos resultados da varredura de portas para determinar uma lista de portas abertas e fechadas. Ele está procurando três coisas em particular:
De um modo geral, ele escolhe o primeiro deles (menor número) que conhece, mas há algumas regras para as coisas que ele tenta evitar:
tcpwrapped
. Às vezes, isso pode ser resultado de um IPS encerrando uma conexão; portanto, pular essas portas ajuda a garantir que o Nmap esteja obtendo uma conexão não modificada com o destino.Se bem entendi, o nmap tenta portas abertas ou fechadas apenas se não for capaz de detectar o sistema operacional por impressão digital, mas a documentação não explica a sequência de portas verificadas. Acho que você poderia descobrir como, rastreando seu próprio tráfego durante a varredura.