2015-08-27 3 views
0

Tentative d'exécution de cette découverte d'hôte avec le module python-nmap: (Je ne sais pas comment imprimer le nom des hôtes car il n'existe pratiquement aucune documentation sur son utilisation). Je souhaite pouvoir voir chaque OS de chaque périphérique sur mon réseau.Python3.4.3 Nmap: Détection de l'hôte avec détection du système d'exploitation

import nmap 
nm = nmap.PortScanner() 

nm.scan(hosts='192.168.2.1/24', arguments='-sS -O') 
for host in nm.all_hosts(): 
    #print the host and the Operating system 

Si vous connaissez un bon tutoriel sur l'utilisation de python-nmap, dites-moi s'il vous plaît! Je cours sur un mac 10.10.5 et je sais utiliser nmap. Si vous savez comment imprimer la découverte hôte et peut-être d'autres balises utiles, s'il vous plaît aidez-moi ici =) Fonctionnant sur python

Répondre

2
3.4.3

nmap.PortScanner.all_hosts retourne une liste de chaînes (adresses IP). Il suffit d'imprimer host pour obtenir des adresses d'hôte.

Pour obtenir des informations OS utiliser nm[host]['osclass']:

for host in nm.all_hosts(): 
    print(host) 
    print(nm[host].get('osclass', 'unknown')) 
    # {'vendor': 'Linux', 'accuracy': '100', 'type': 'general purpose', 
    # 'osfamily': 'Linux', 'osgen': '3.X'} 
+0

Je l'essayer pour le moment, pouvez-vous me dire comment vous avez trouvé cette information? J'ai essayé de trouver de la documentation mais le xael.org ne fournissait pas vraiment de bonnes informations ... –

+0

@bob, j'ai lu le [Usage] (http://xael.org/norman/python/python-nmap/#usage). Dans l'exemple d'utilisation, vous pouvez voir que 'nm.all_hosts()' retourne une liste de 'str':' ['127.0.0.1'] ' – falsetru

+0

Je suis désolé mais mon problème est d'obtenir le système d'exploitation (OS) de chaque périphérique (dans nmap il est -O) –