我在Ubuntu 12.04服务器上安装了nmap 6.25,并尝试使用redis-info脚本。我已经下载了脚本并将其放在我的主目录中。我跑的时候:
nmap -p 6379 -Pn my.ip.num.ber --script redis-info.nse
它只进行正常扫描,甚至根本不检查脚本。
Host is up.
PORT STATE SERVICE
6379/tcp filtered unknown
那就是它。这是一个全新的安装,除了下载脚本之外我什么都没做。我错过了什么?
答案 0 :(得分:6)
Nmap的NSE脚本(至少)有两个条件在运行之前必须为true:
--script redis-info
选择了它,但也可以按类别选择(例如--script discovery
)。对于redis-info
,与大多数脚本一样,规则要求打开特定端口。这是完整的规则:
portrule = shortport.port_or_service(6379, "redis-server")
在您的情况下,端口6379为filtered
,这意味着不打开,因此脚本将无法运行。这是预期的,因为在未打开的端口上运行将没有用。无论其规则的返回值如何,都可以强制脚本运行,但这很少有用。为此,请在脚本名称前加上+
,如下所示:--script +redis-info
。请注意,这意味着它将在扫描的每个端口上运行,因此请不要轻易使用它!