Вызов nmap (nse) из python - PullRequest
       17

Вызов nmap (nse) из python

0 голосов
/ 25 ноября 2010

Все,

Есть ли простой способ получить доступ / использовать пакеты nse из python?

Спасибо

Ответы [ 4 ]

2 голосов
/ 10 апреля 2014

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

Здесь является примером:

>>> 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}}}}}
2 голосов
/ 25 ноября 2010

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

1 голос
/ 11 марта 2014

Да, я бы предложил вызвать подпроцесс и вызвать nmap таким образом.

пример

import subprocess

subprocess.call('nmap', '-sS', '127.0.0.1')
0 голосов
/ 24 февраля 2012

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

...