Nmap NSE 脚本 sh: 1: 未找到

Nmap NSE script sh: 1: not found

我正在使用 Nmap 开发扫描仪。我正在用 NSE 脚本扩展这个扫描器。

我有一个 运行s 'Nuclei' 的脚本,使用 Nmap。这个脚本是别人做的,用过的,以前用过。但是,当我现在 运行 它时,我得到错误:sh: 1: nuclei: not found。 Nuclei(当然)安装在系统上,它以 root 和普通用户身份工作。看起来 Nmap 无法访问 Nuclei,但如何解决?

NSE 脚本:

local shortport = require "shortport"
local stdnse = require "stdnse" 

portrule = function(host,port) 
    return true
end 

action = function(host,port) 
    local handle = ""
        local always = stdnse.get_script_args("nuclei.always")
    local hostname = stdnse.get_hostname(host)
    
    if     port.number == 80 then
        handle = io.popen("nuclei -u http://" .. hostname .. " -nc -silent -etags intrusive -rl 30 -rlm 1000 -bs 8 -c 8")
    elseif port.number == 443 then 
        handle = io.popen("nuclei -u https://" .. hostname .. " -nc -silent -etags intrusive -rl 30 -rlm 1000 -bs 8 -c 8")
    elseif always == "yes" then      
        handle = io.popen("nuclei -u " .. hostname .. " -nc -silent -etags intrusive -rl 30 -rlm 1000 -bs 8 -c 8")
    end 
    local result = handle:read("*a") 
    handle:close()
    return result
end 

Nmap命令: nmap -script=nuclei.nse -p80,443 -T2 IPADDRESS Nmap 是使用 Snap 安装的。它 运行 于 Ubuntu。

解决方法很简单: 使用 apt 安装 nmap,而不是 snap。