Connaître le nombre de machines Linux, Windows et Mac sur un réseau
![]()
L'astuce du jour consiste à utiliser la commande nmap pour scanner un réseau et afficher ensuite le nombre de machines sous Linux, Windows ou Mac. Le but sera de se faire une idée des systèmes d'exploitation qui sont utilisés autour de vous.
Voici la commande qui permet de lancer cette analyse. Il faudra bien entendu adapter la plage d'adresses IP à scanner en fonction de celle de votre réseau local :
nmap -O 192.168.1.1-255 | grep "Running: " | sort | uniq -c
Ici, on utilise nmap avec l'option -O qui permet de détecter le système. Ce dernier va alors envoyer des paquets TCP avec des ensembles anormaux d'options IP. Et en examinant les réponses reçues, il sera capable de connaître l'OS utilisé.
Voici le résultat obtenu chez moi :
3 Linux 1 Window 1 Apple
Le routeur Linksys WRT54GL, le Nokia N900 et ma machine personnelle étant sous Linux. Celle de ma copine sous Windows et l'iPhone sous FreeBSD modifié par Apple.


Créé en 2005, Tux-planet est un site qui a pour ambition de regrouper des articles sur Linux et le monde des logiciels libres. 





11 Commentaires pour "Connaître le nombre de machines Linux, Windows et Mac sur un réseau"
Flux des commentaires de cet article Ajouter un commentaireAttention qu'en même à ne pas utilisé ça n'importe où car l'utilisation d'un scanner de port est réglementée
, sinon merci pour l'astuce.
@Kasi : euh, on va jouer sur les mots alors, le scan de ports est réglementé certe, mais l'option -O ne scan pas les ports si j'ai bien compris, elle envoi des paquets TCP/IP mal foutu et analyse les réponses des machines cibles.
Yop,
Ne joue pas trop non plus et ouvre un wireshark ta commande lance un scan par défaut que tu filres ensuites avec un grep. D'ailleurs ca serait plutôt d'apres le man --osscan-limit. mais je crois que la prise d'empreinte se sert des réponses tcp donc scanne les ports, il peut y avoir l'adresse mac qui renseigne sur le constructeur (genre apple) mais ca donne pas d'infos sur sur l'os.
/sur sur/sûre sur/
les commandes sort et uniq permettent de simplifier la ligne: nmap -O x.x.x.x |grep "Running" | sort | uniq -c
j'ai une question , si j'exécute cette commande "nmap -O x.x.x.x-255 | grep "Running" | sort | uniq -c" avec mon adresse ip publique, Es ce normal qu'il y ait des pc de connecté? moi ça me donne avec l'ip public:
1 Running (JUST GUESSING) : Microsoft Windows XP (96%)
1 Running: Linux 2.6.X
1 Running: Microsoft Windows 2008
tandis qu'avec l'ip local , il ni a que moi ,normal.
(peut etre à cause du serveur tor tout simplement ;-p )
@Jahm_n : ok. Ta commande est mieux que la mienne car beaucoup plus simple. En plus, elle prend en compte tous les systèmes d'exploitation du coup. Je mets à jour l'article. Merci.
@zorg : le -255 inqiue de scanner les adresses IP de x.x.x.1 à x.x.x.255. Nmap scan donc 255 machines publique, ce qui explique pourquoi tu trouve plusieurs résultats.
Si tu veux faire cela uniquement sur ta machine, il faut juste indiquer ton adresse IP en entière sans le "-255".
Ah d'accord merci.
Il existe un moyen de récupérer les IP et le système d'exploitation des machines sur le réseau ?
Un windows ! c'est un de trop !
c' est bien beau tout ca mais c'est pas tres efficaces dans mon cas les machine sont bien configurer au niveau des firewall ce qui en result 2 machine trouve un serveur sous debian et un bete media center non configurer sur un total de 7 machine actives
bonjour,
svp quel est la derniere ou la meilleur version de nmap