2010-11-25 2 views

ответ

2

Использовать любые методы для извлечения внешней команды. Там вы можете найти несколько примеров: There

+0

Я надеялся получить доступ к скриптам NSE api .. – user492554 2010-11-25 03:46:49

0

Хотя есть some libraries для интеграции Lua в программы на Python, то Nmap Scripting Engine (NSE) тесно интегрирована в сам сканер Nmap, и не может действительно быть разделены. Как упоминал Поль, запуск Nmap в качестве внешней команды вполне возможен, и результаты скрипта могут быть проанализированы на выходе.

0

Да, я предлагаю позвонить subprocess и вызвать nmap таким образом.

пример

import subprocess 

subprocess.call('nmap', '-sS', '127.0.0.1') 
1

Вы можете использовать python-nmap пакет для этого,

Here пример:

>>> import nmap 
>>> nm=nmap.PortScanner() 
>>> nm.scan('192.168.1.212', '445', 
     arguments='--script=/usr/local/share/nmap/scripts/smb-os-discovery.nse') 

Выход:

{'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}}}}} 
Смежные вопросы