nmap 忽略 --script 参数

Posted

技术标签:

【中文标题】nmap 忽略 --script 参数【英文标题】:nmap ignoring --script parameter 【发布时间】:2013-06-14 23:18:50 【问题描述】:

我已经在 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

就是这样。这是一个全新的安装,除了下载脚本之外我什么都没做。我错过了什么?

【问题讨论】:

【参考方案1】:

Nmap 的NSE 脚本(至少)有两个条件,它们在运行之前必须为真:

    必须选择脚本。在您的情况下,您使用--script redis-info 选择了它,但也可以按类别选择它(例如--script discovery)。 脚本的rule function 必须返回true。

对于redis-info,与大多数脚本一样,该规则要求打开特定端口。以下是完整的规则:

portrule = shortport.port_or_service(6379, "redis-server")

在您的情况下,端口 6379 是 filtered,这意味着它打开,因此脚本不会运行。这是意料之中的,因为在未打开的端口上运行不会有用。您可以强制脚本运行而不管其规则的返回值如何,但这很少有用。为此,请在脚本名称前加上 +,例如:--script +redis-info。请注意,这意味着它将在扫描的每个端口上运行,所以不要轻易使用它!

【讨论】:

以上是关于nmap 忽略 --script 参数的主要内容,如果未能解决你的问题,请参考以下文章

Nmap参数整合

使用nmap进行udp扫描应该使用啥参数

nmap参数说明

nmap工具常用参数的使用

Nmap从入门到再入门

Nmap使用及常见的参数选项