2010-11-25 3 views

Répondre

2

Utilisez l'une des méthodes pour exécuter une commande externe. Vous y trouverez quelques exemples: There

+0

J'espérais accéder à l'API de script NSE. – user492554

0

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.

0

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') 
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}}}}}