2013-06-18 97 views
3

我已經在Ubuntu 12.04服務器上安裝了nmap 6.25,並試圖使用redis-info腳本。我已經下載了該腳本並將其放在我的主目錄中。當我運行時:nmap忽略-script參數

nmap -p 6379 -Pn my.ip.num.ber --script redis-info.nse 

它只是做一個正常的掃描,甚至根本沒有檢查腳本。

Host is up. 
PORT  STATE SERVICE 
6379/tcp filtered unknown 

就是這樣。這是一個全新的安裝,除了下載腳本之外,我什麼也沒有改變。我錯過了什麼?

回答

4

的Nmap的NSE腳本有(至少),這需要兩個條件是真的,他們會跑之前:

  1. 腳本必須選擇。對於您的情況,您選擇了--script redis-info,但也可以按類別選擇(例如--script discovery)。
  2. 該腳本的rule function必須返回true。

對於redis-info,與大多數腳本一樣,該規則要求打開特定端口。下面是完整的規則:

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

在你的情況下,端口6379是filtered,這意味着它是開放,因此該腳本將不會運行。這是預期的,因爲在未打開的端口上運行將不會有用。您可以可以強制腳本運行而不管其規則的返回值,但這很少有用。爲此,請在+前加腳本名稱,如下所示:--script +redis-info。請注意,這意味着它將運行在的每個端口掃描,所以不要輕易使用它!

+0

這是問題,謝謝! –