Como posso descobrir qual sistema operacional de servidor está executando um site específico?

13

Existe uma maneira de verificar qual sistema operacional do servidor está executando um site específico. Por exemplo, na linha de comando do linux. Talvez via telnet? Mas tudo o que posso obter em "telnet www.google.com http" é:

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

Alguém pode insistir no assunto, se possível?

ervv
fonte

Respostas:

13

Você pode procurar a funcionalidade de impressão digital do SO incorporada no NMap.

No entanto, se você estiver procurando algo como "O que o Google está executando?" você não irá longe, pois não saberá o que está por trás dos balanceadores de carga ou os firewalls a bloquearão, e as impressões digitais podem ser tão precisas para que você possa recuperar relatórios falsos e não chegar a lugar nenhum quando a conexão for de alguma forma NAT ed.

Bart Silverstrim
fonte
2
obrigado. Eu pesquisei repositórios apt pelo nmap e encontrei o aplicativo xprobe, projetado exclusivamente para esse fim.
ervv 27/03
15

Muitos sites informam nos cabeçalhos 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

Alguns incluem o sistema operacional e, às vezes, a versão:

$ 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

Alguns escrevem seu próprio software de serviço da web:

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

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

Mas alguns não enviam o Servercabeçalho:

$ 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

Qualquer um ou todos estes podem estar mentindo. A sugestão de Bart nmaptem mais probabilidade de ser precisa, mas não pode produzir resultados 100% precisos pelos motivos mencionados. Às vezes, nem faz sentido, por exemplo, com o número de servidores envolvidos no cumprimento de uma única solicitação HTTP no Google, seus servidores Web, servidores de pesquisa, servidores de banco de dados, servidores de cache e tudo o que eles executam. sistemas operacionais diferentes e você não teria como saber.

Ladadadada
fonte