En el último resultado de la prueba, el signo de interrogación ("ntp?" en lugar de "ntp") indica que nmap no pudo reconocer el servicio en ejecución. Por lo tanto, adivina que NTP solo confía en el tipo de servicio generalmente asociado a este número de puerto, pero sin ninguna confianza (de ahí el signo de interrogación).
Los encabezados enviados por este servicio son muy minimalistas:
HTTP/1\.1 400 Bad request
Content-Type: text/html
Y eso es todo. En el servidor web real, encontrará un grupo de encabezados que indican la fecha, el nombre del servidor, los parámetros de la memoria caché, etc. Aquí, simplemente no hay nada.
Supongo que, por lo tanto, no estás frente a un servidor web completo, pero tampoco:
- Un servidor web específicamente diseñado, como una interfaz de administración remota integrada en algún dispositivo,
- Un servidor web ofuscado (siguiendo nuestra discusión en los comentarios a continuación),
- Otro servicio que se basa en el protocolo HTTP (un servicio web, un servidor WebDav, etc.), que prueba otras solicitudes HTTP que el GET habitual puede provocar un comportamiento interesante en tales casos.
Editar :
Para responder con mayor precisión a su pregunta, Nmap es una herramienta general, sus scripts son principalmente útiles contra servidores no confusos como una forma fácil de obtener información básica.
Aquí, el administrador hizo un esfuerzo específico para ofuscar su servidor con el objetivo de ocultar la información que necesitan esas herramientas generales. Por lo tanto, es necesario ir un paso más allá y utilizar herramientas más específicas.
Desde un punto de vista técnico, los scripts de nmap están diseñados para ejecutarse solo cuando sea necesario. El script relacionado con HTTP solo se ejecutará cuando un servicio se identifique como HTTP mediante nmap. Esto se hace mediante la declaración portrule=
que encontrará al comienzo de los scripts, aquí hay algunos ejemplos que vienen de scripts aleatorios de nmap HTTP:
portrule = shortport.http
portrule = shortport.port_or_service( {80, 443}, {"http", "https"}, "tcp", "open")
Una forma sucia, por ejemplo, sería editar estos scripts para forzar su ejecución ... pero sin un resultado garantizado. Utilice mejor la herramienta adecuada para la tarea correcta.