¿Por qué el ping tendría éxito pero nmap fallará?

21

¿Por qué Nmap informa "Host parece inactivo" cuando un simple ping tiene éxito?

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

¿Son las "sondas de ping" de Nmap diferentes del ping de la línea de comando?

AShelly
fuente
¿Puedo sugerirle que actualice su instalación de Nmap? La versión actual es 6.40 . La versión 5.21 tiene 4 años y le faltan 361 scripts NSE y miles de huellas digitales de servicio y sistema operativo.
bonsaiviking
Gracias. 5.21 es la versión que obtuve por defecto. Supongo que iré a descargar y compilar lo último.
AShelly
Sí, Ubuntu está lamentablemente atrasado en Nmap. Puede verificar las dependencias en el .deb de Kali , que es actual.
bonsaiviking

Respuestas:

29

Nmap envía muchas sondas diferentes para determinar si un host está activo. En su caso específico, debido a que está ejecutando Nmap sin privilegios de root, no puede enviar solicitudes de eco ICMP, que es lo que pingutiliza la utilidad. En este caso, intenta conectarse al puerto 80 y al puerto 443, informando que el host está activo si la conexión se abre o se rechaza. Su objetivo debe tener un cortafuegos que deje caer todo el tráfico a esos puertos.

Para permitir que Nmap encuentre el sistema, intente ejecutarlo con permisos de root. El comando sudo se usa con frecuencia para este propósito, por ejemplosudo nmap 123.45.67.89

pingpuede enviar paquetes ICMP porque está instalado setuid a root, lo que significa que cualquier usuario puede ejecutarlo, pero se ejecutará como usuario root cuando lo haga. Los programas Setuid deben tener mucho cuidado al no permitir que los usuarios habituales obtengan un shell a través de este permiso adicional. Nmap en particular no puede evitar esta escalada de privilegios, por lo que nunca debe hacerse setuid.

bonsaiviking
fuente
Estoy en Windows y sigo recibiendo el mismo error al ejecutarlo en cmd con derechos de administrador. Ping siempre está bien.
shashwat
2
Soy root pero tengo este problema
vladkras
Sin root / sudo, ¿cómo puede hacer ping un ICMP ECHO pero no nmap?
MikeP
1
@MikeP /bin/pinges setuid-root. No importa quién lo ejecute, se ejecuta con privilegios de root. Los programas Setuid deben probarse exhaustivamente para garantizar que no se puedan utilizar para ejecutar comandos arbitrarios. Nmap no puede instalarse de forma segura setuid-root, por lo que debe utilizar algún otro mecanismo: la contraseña de root o sudo.
bonsaiviking
2

Sí, son diferentes de forma predeterminada, ping es ICMP y nmap ping envía un paquete de sincronización al puerto 80 si no recuerdo mal, intente usar los indicadores -PE, -PM, -PP para que haga un ping ICMP


fuente
0

sin privilegios, puede escanear el puerto con netcat:

nc -z -w5 hostname 22; echo $?

responda 1 si falla, de lo contrario responda:

¡La conexión al puerto del nombre de host 22 [tcp / ssh] se realizó correctamente!

0 0

douardo
fuente
Es mejor citar y citar respuestas cuando las consulta, el orden de las respuestas puede cambiar a diario. Esta respuesta en sí misma ha cambiado el orden de las respuestas a esta pregunta.
Ramhound
0

Solución simple para mí (Windows 10). Acabo de deshabilitar mi adaptador inalámbrico, que no estaba en uso ya que estaba usando el adaptador LAN principal. Recomiendo deshabilitar todos menos su adaptador principal.

NoSpamMan
fuente