12 votes

Comment savoir si une machine distante utilise Windows ou Linux ?

Existe-t-il un moyen d'exécuter une commande (comme un message ICMP ou un autre protocole), d'obtenir une réponse d'une machine distante (pas sur mon propre réseau local privé) et d'analyser le message pour trouver des preuves que cette machine exécute un système d'exploitation Windows ou Linux ?

0 votes

Que comptez-vous faire de ces informations ? Il se peut qu'elles ne soient pas fiables...

0 votes

En fait, j'étais chez un client la semaine dernière et il utilisait un système qui empêchait quiconque d'utiliser un système Windows sur son réseau. Ce système avait été mis en place par un serveur distant qui n'était pas sur le même réseau. J'ai trouvé cela très étrange car je ne savais pas comment il avait été mis en place.

0 votes

Il existe de nombreuses façons de procéder. Par exemple, si vous utilisez DHCP pour fournir des adresses réseau, la requête DHCP inclut des informations sur le système d'exploitation du client.

19voto

Chochos Points 3364

Ce n'est pas définitif mais nmap le fera avec la commande nmap -O -v ( voir docs pour plus de détails) Si vous utilisez Windows ou si vous voulez une interface graphique, regardez à zenmap

2 votes

Attention, certains fournisseurs détecteront le balayage de ports à l'aide de nmap comme un abus.

3 votes

@JeroenBaert namelly AWS m'a envoyé un e-mail effrayant

11voto

Harry Johnston Points 5554

Si vous êtes sur un réseau IPv4, utilisez simplement ping. Si la réponse a un TTL de 128, la cible est probablement sous Windows. Si le TTL est de 64, la cible est probablement sous une variante d'Unix.

0 votes

Qu'entendez-vous par "probablement" ?

0 votes

Qu'en est-il de TTL=255 ? Je pense qu'il s'agit d'un système Unix.

1 votes

Je ne pense pas avoir déjà vu un TTL de 255.

2voto

riverwind Points 21
: Presumes ping service enabled on Windows local and remote hosts
:
del _IX.txt, Windows.txt
ping -n 1 [computername|ipaddress] | findstr /i /c:"Reply" > ttl.txt
for /f "tokens=1-9* delims=:=< " %%a in (ttl.txt) do (
    if %%i leq 130 (
       if %%i geq 100 (
          echo Windows & rem or echo %%c >> Windows.txt
       ) else (
          if %%i equ 64 (
             echo *IX & rem or echo %%c >> _IX.txt
          )
       )
    )
)

0 votes

Peut-on modifier ce système pour qu'il fonctionne avec une série d'adresses IP ? Si je voulais l'exécuter pour trouver tous les ttl de l'ensemble de ma pile de serveurs, j'aurais besoin de l'aide d'un spécialiste.

1voto

Apache Points 15675

Une façon de procéder est d'utiliser NMap . A partir de la réponse, il peut deviner le système d'exploitation distant.

1voto

BO VESTERGAARD Points 1

Paquet : xprobe 'OR' xprobe2
Description : Identification du système d'exploitation à distance Xprobe2 vous permet de déterminer quel système d'exploitation est exécuté sur un hôte distant. Il envoie plusieurs paquets à un hôte et analyse les réponses renvoyées. La fonctionnalité de Xprobe2 est comparable à la fonction d'empreinte du système d'exploitation de nmap.

Exemple :
$ sudo apt-get install xprobe
$ sudo xprobe2 -T21-23,80,53,110 ###.###.###.###.###

Référence :
http://www.sys-security.com/html/projects/X.html
http://sourceforge.net/projects/xprobe/

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X