Движку Nmap не удалось загрузить скрипт - PullRequest
0 голосов
/ 08 апреля 2020

EDITED - вместо этого запустите подпроцесс, но вывод будет строковым.

Я пишу скрипт python для автоматизации ежедневных задач nmap, я использую python 3.6 и nmap, установленный в моем windows. когда я запускаю Nmap из командной строки, это работает. в то время как из сценария python он выдает ошибку

{'nmap': {'command_line': 'nmap -oX - -p 443 --script=C:/Users/670241893/PycharmProjects/untitled/SSLandTLS/nmap_script/ssl-cert.nse google.com', 'scaninfo': {'error': ["NSE: Failed to load C:/Users/670241893/PycharmProjects/untitled/SSLandTLS/nmap_script/ssl-cert.nse:\r\n...harmProjects/untitled/SSLandTLS/nmap_script/ssl-cert.nse:3: module 'outlib' not found:\r\n\tNSE failed to find nselib/outlib.lua in search paths.\r\n\tno field package.preload['outlib']\r\n\tno file 'C:\\Program Files (x86)\\Nmap\\lua\\outlib.lua'\r\n\tno file 'C:\\Program Files (x86)\\Nmap\\lua\\outlib\\init.lua'\r\n\tno ...

используемый мной скрипт загружает NSE-скрипт nmap из папки, используя nmap engine

import nmap

def nmap_dh_paramater_check():
    nm = nmap.PortScanner()
    results = nm.scan('google.com', '443', arguments='--script=C:/Users/670241893/PycharmProjects/untitled/SSLandTLS/nmap_script/ssl-cert.nse')
    print (results)

путь к файлу скрипт проверен. что пошло не так?

или я мог бы запустить команду cmd, используя python, как это

def run_nmap_command():
    command ="nmap -p 443 --script ssl-cert google.com"
    output = subprocess.getoutput(command)
    print(output)
    return output

, но вывод будет строковым, есть ли способ, как вывод hv JSON?

...