首页 > 解决方案 > 使用 python3 的 NMAP nse 脚本

问题描述

我将如何将 nse 传递给命令?

导入 os domain = "example.com" nse = ["vulscan","vulners","xmpp-brute","xmpp-info","xmlrpc-methods","xdmcp-discover","unusual-port"] os.system("nmap -v --script=nse" + 域)

标签: python-3.xnmap

解决方案


有几个选择:

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

但是,我想说的最好方法是使用 Python 中的 nmap 库。例子:

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

起点在这里


推荐阅读