NSE:未能初始化脚本引擎:

NSE: failed to initialize the script engine:

我是 VAPT 的新手,我正在为 windows 使用 GUI,这是我使用 nmap 在线指南 [nmap -p 80 --script http-default- accounts.routers xx.xx.xx.xx]。我从这里借用脚本:https://nmap.org/nsedoc/scripts/http-default-accounts.html

[nmap -p 80 --script http-default-accounts.routers xx.xx.xx.xx]

Nmap 输出在此行下方开始:

NSE:未能初始化脚本引擎:

C:\Program Files (x86)\Nmap/nse_main.lua:823: 'http-default-accounts.category' 不匹配类别、文件名或目录

堆栈回溯:

[C]: 在函数中 'error'

C:\Program Files (x86)\Nmap/nse_main.lua:823: 在本地 'get_chosen_scripts'

C:\Program Files (x86)\Nmap/nse_main.lua:1315: 在主块中

[C]:在? 退出!

Nmap 使用 --script 选项将脚本名称和类别的布尔表达式引入 运行。要为这些脚本提供参数,您可以使用 --script-args 选项。所以你想要 运行 是:nmap --script http-default-accounts --script-args http-default-accounts.category=routers

在大多数情况下,您可以将脚本名称从脚本参数名称中去掉,只要您意识到另一个脚本也可能正在寻找名为 category 的参数。例如:nmap --script http-default-accounts --script-args category=routers

如果您正在使用此命令:

nmap --script vulscan.nmap-vulners -sV {target}

然后改用下面的命令。

nmap -sV --script vulners {target}

对我来说,它奏效了。

至于 Nmap 7.90 [2020-10-03] changelog,处理目录已更改:

[GH#2051]Restrict Nmap's search path for scripts and data files. NMAPDATADIR, defined on Unix and Linux as ${prefix}/share/nmap, will not be searched on Windows, where it was previously defined as C:\Nmap . Additionally, the --script option will not interpret names as directory names unless they are followed by a '/'. [Daniel Miller]

所以基本上如果我们说你正在使用 kali 并且这是你的旧命令:

nmap --script vulscan -sV ###.###.###.###

应该变成这样:

nmap --script vulscan/ -sV ###.###.###.###

在目录名后添加 /