¿Cómo puedo saber qué sistema operativo de servidor está ejecutando un sitio en particular?

13

¿Hay alguna manera de verificar qué servidor OS está ejecutando un sitio en particular? Por ejemplo, desde la línea de comandos de Linux. Tal vez a través de telnet? Pero todo lo que puedo obtener de "telnet www.google.com http" es:

Trying 209.85.173.104...
Connected to www.l.google.com.
Escape character is '^]'.

¿Puede alguien detenerse en el tema si es posible?

ervv
fuente

Respuestas:

13

Puede buscar la funcionalidad de huellas digitales del sistema operativo integrada en NMap.

Sin embargo, si está buscando algo como "¿Qué está ejecutando Google?" no llegará lejos, ya que no sabrá qué hay detrás de sus equilibradores de carga, o los firewalls lo bloquearán, y las huellas digitales solo pueden ser tan precisas para que pueda obtener informes falsos y no pueda llegar a ningún lado cuando la conexión sea de alguna manera NAT 'ed.

Bart Silverstrim
fuente
2
gracias. He buscado apt repos para nmap, y encontré la aplicación xprobe, que está diseñada exclusivamente para ese propósito.
ervv
15

Muchos sitios te dirán en los encabezados HTTP:

$ curl -s -I hotmail.com | grep Server
Server: Microsoft-IIS/7.5

$ curl -s -I pinterest.com | grep Server
Server: nginx/0.8.54

Algunos incluyen el sistema operativo y, a veces, la versión:

$ curl -s -I linuxquestions.com | grep Server
Server: Apache/2.2.9 (Unix)

$ curl -s -I red.com | grep Server
Server: Apache/2.2.3 (Red Hat)

$ curl -s -I slashdot.org | grep Server
Server: Apache/2.2.3 (CentOS)

$ curl -s -I bar.com | grep Server
Server: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8r DAV/2 PHP/5.3.8

Algunos escriben su propio software de servicio web:

$ curl -s -I google.com | grep Server
Server: gws

$ curl -s -I yahoo.com | grep Server
Server: YTS/1.20.10

Pero algunos no envían el Serverencabezado:

$ curl -s -I serverfault.com 
HTTP/1.1 200 OK
Cache-Control: public, max-age=41
Content-Length: 129706
Content-Type: text/html; charset=utf-8
Expires: Tue, 27 Mar 2012 13:01:46 GMT
Last-Modified: Tue, 27 Mar 2012 13:00:46 GMT
Vary: *
Date: Tue, 27 Mar 2012 13:01:04 GMT


$ curl -s -I www.facebook.com 
HTTP/1.1 302 Found
Location: http://www.facebook.com/common/browser.php
P3P: CP="Facebook does not have a P3P policy. Learn why here: http://fb.me/p3p"
Set-Cookie: datr=sbpxT_PpXR9FO5mMTy8pCTjD; expires=Thu, 27-Mar-2014 13:03:45 GMT; path=/; domain=.facebook.com; httponly
Content-Type: text/html; charset=utf-8
X-FB-Debug: VJycxKwQ9bAV0Z/n6jfN1WSFx4pqj2337c1jc+pPlE0=
X-Cnection: close
Content-Length: 0
Date: Tue, 27 Mar 2012 13:03:45 GMT

Cualquiera o todos estos podrían estar mintiendo. La sugerencia de Bart nmapes más probable que sea precisa, pero no puede producir resultados 100% precisos por las razones que mencionó. A veces ni siquiera tiene sentido, por ejemplo, con la cantidad de servidores que están involucrados en el cumplimiento de una solicitud HTTP única en Google, sus servidores web, servidores de búsqueda, servidores de bases de datos, servidores de almacenamiento en caché y cualquier otra cosa que ejecuten. diferentes sistemas operativos y no tendrías forma de saberlo.

Ladadadada
fuente