Tous,Appel de nmap (nse) à partir de python
Existe-t-il un moyen facile d'accéder/d'utiliser les paquets nse à partir de python?
Merci
Tous,Appel de nmap (nse) à partir de python
Existe-t-il un moyen facile d'accéder/d'utiliser les paquets nse à partir de python?
Merci
Utilisez l'une des méthodes pour exécuter une commande externe. Vous y trouverez quelques exemples: There
Bien qu'il existe some libraries pour l'intégration de Lua dans les programmes Python, le moteur de script Nmap (ESN) est étroitement intégré dans le scanner Nmap lui-même, et ne peut pas vraiment être séparé. Comme Pol mentionné, l'exécution de Nmap en tant que commande externe est entièrement possible, et les résultats du script pourraient être analysés à partir de la sortie.
Oui, je suggère d'appeler subprocess et d'appeler nmap de cette façon.
exemple
import subprocess
subprocess.call('nmap', '-sS', '127.0.0.1')
Vous pouvez utiliser package python-nmap pour cela,
Here est un exemple:
>>> import nmap
>>> nm=nmap.PortScanner()
>>> nm.scan('192.168.1.212', '445',
arguments='--script=/usr/local/share/nmap/scripts/smb-os-discovery.nse')
Sortie:
{'nmap': {'command_line': u'nmap -oX - -p 445 --script=/usr/local/share/nmap/scripts/smb-os-discovery.nse 192.168.1.212',
'scaninfo': {u'tcp': {'method': u'syn', 'services': u'445'}},
'scanstats': {'downhosts': u'0',
'elapsed': u'0.28',
'timestr': u'Fri Aug 31 21:33:19 2012',
'totalhosts': u'1',
'uphosts': u'1'}},
'scan': {u'192.168.1.212': {'hostname': u'BookLife',
'script': {u'smb-os-discovery': u'\n OS: Unix (Samba 3.2.5)\n Computer name: localhost\n Domain name: localdomain\n FQDN: localhost.localdomain\n NetBIOS computer name: \n System time: 2012-07-19 09:27:12 UTC+7\n'},
'status': {'reason': u'arp-response', 'state': u'up'},
u'tcp': {445: {'name': u'microsoft-ds',
'product': None,
'reason': u'syn-ack',
'state': u'open',
'version': None}}}}}
J'espérais accéder à l'API de script NSE. – user492554