Сценарий NMAP nse с использованием python3

Как я передам nse команде?

import os domain = "example.com" nse = ["vulscan", "vulners", "xmpp-brute", "xmpp-info", "xmlrpc-methods", "xdmcp-discover", "необычный порт"] os.system("nmap -v --script= nse " + домен)


person user3584509    schedule 05.04.2020    source источник


Ответы (1)


Есть несколько вариантов:

import os 

domain = "example.com" 

nse = ["vulscan","vulners","xmpp-brute","xmpp-info","xmlrpc-methods","xdmcp-discover","unusual-port"] 

for each_script in nse:
   os.system("nmap -v --script={} {}".format(each_script, domain)

Но с помощью os.system команда не очищается. (Совет: узнайте больше о модулях «os» и «sys»)

Более безопасной альтернативой будет subprocess: Образец:

import subprocess

subprocess.call('nmap', '-sS', 'example.com')

Однако я бы сказал, что лучший подход — использовать библиотеку nmap из Python. Пример:

import nmap #OR nmap3
nm=nmap.PortScanner()
nm.scan('example.com', '445', 
         arguments='--script=/usr/local/share/nmap/scripts/smb-os-discovery.nse')

Отправная точка здесь.

person andreis11    schedule 05.04.2020