Por que o ping teve êxito, mas o nmap falhou?

21

Por que o Nmap relata "O host parece inativo" quando um ping simples é bem-sucedido?

me@computer:~$ ping 123.45.67.89
PING 123.45.67.89 (123.45.67.89) 56(84) bytes of data.
64 bytes from 123.45.67.89: icmp_req=1 ttl=45 time=91.1 ms
64 bytes from 123.45.67.89: icmp_req=2 ttl=45 time=102 ms
64 bytes from 123.45.67.89: icmp_req=3 ttl=45 time=100 ms
^C
--- 123.45.67.894 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 91.136/98.182/102.417/5.022 ms

me@computer:~$ nmap 123.45.67.89

Starting Nmap 5.21 ( http://nmap.org ) at 2014-04-02 14:23 EDT
Note: Host seems down. If it is really up, but blocking our ping probes, try -PN
Nmap done: 1 IP address (0 hosts up) scanned in 3.04 seconds

As "sondas de ping" do Nmap são diferentes da linha de comando?

AShelly
fonte
Posso sugerir que você atualize sua instalação do Nmap? A versão atual é 6.40 . A versão 5.21 tem 4 anos e faltam 361 scripts NSE e milhares de impressões digitais de serviço e SO.
bonsaiviking
Obrigado. 5.21 é a versão que eu obtive por padrão. Eu acho que vou baixar e construir o mais recente.
ASHelly
Sim, o Ubuntu está lamentavelmente atrasado no Nmap. Você pode verificar as dependências no .deb do Kali , atual.
bonsaiviking

Respostas:

29

O Nmap envia muitas sondas diferentes para determinar se um host está ativo. No seu caso específico, porque você está executando o Nmap sem privilégios de root, ele não pode enviar solicitações de eco ICMP, que é o que o pingutilitário usa. Nesse caso, ele tenta se conectar às portas 80 e 443, relatando o host como ativo se a conexão for aberta ou rejeitada. Seu destino deve ter um firewall que está descartando todo o tráfego para essas portas.

Para permitir que o Nmap encontre o sistema, tente executá-lo com permissões de root. O comando sudo é freqüentemente usado para esse fim, por exemplosudo nmap 123.45.67.89

pingpode enviar pacotes ICMP porque está instalado setuid como root, o que significa que qualquer usuário pode executá-lo, mas ele será executado como usuário root quando o fizer. Os programas setuid devem ser extremamente cuidadosos para não permitir que usuários comuns obtenham um shell por meio dessa permissão extra. O Nmap, em particular, não pode impedir essa escalação de privilégios; portanto, nunca deve ser definido.

bonsaiviking
fonte
Estou no Windows e ainda estou recebendo o mesmo erro ao executá-lo no cmd com direitos de administrador. Ping está sempre bem.
Shashwat 28/10/2015
2
Eu sou raiz, mas tem esse problema
vladkras
Sem root / sudo, como o ping faz um ICMP ECHO, mas não o nmap?
27418 MikeP
11
@MikeP /bin/pingé setuid-root. Não importa quem o execute, ele será executado com privilégios de root. Os programas setuid devem ser exaustivamente testados para garantir que não possam ser usados ​​para executar comandos arbitrários. O Nmap não pode ser instalado com segurança, setuid-root, portanto você deve usar outro mecanismo: a senha ou o sudo do root.
bonsaiviking
2

Sim, eles são diferentes por padrão, o ping é ICMP e o nmap ping envia um pacote syn para a porta 80, se bem me lembro, tente usar os sinalizadores -PE, -PM, -PP para fazer um ping ICMP


fonte
0

sem privilégios, você pode verificar a porta com o netcat:

nc -z -w5 hostname 22; echo $?

resposta 1, se falhou, caso contrário, responda:

A conexão com a porta 22 do hostname [tcp / ssh] foi bem-sucedida!

0 0

douardo
fonte
É melhor citar e citar respostas quando você se refere a elas, a ordem das respostas, pode mudar diariamente. Esta resposta em si mudou a ordem das respostas para esta pergunta.
Ramhound #
0

Correção simples para mim (Windows 10). Acabei de desativar meu adaptador sem fio, que não estava em uso desde que eu estava usando o adaptador de LAN principal. Eu recomendo desabilitar todos, exceto seu adaptador principal.

NoSpamMan
fonte