nmap學習筆記

參考:

Nmap中文手冊 http://www.nmap.com.cn/doc/manual.shtm

《Nmap滲透測試指南》商廣明

 

基礎

關於namp

nmap是一款用於網絡探測和安全審覈的工具。nmap使用原始IP報文來發現網絡上有哪些主機,提供什麼服務。

 

nmap的命令格式:nmap <選項> <目標>

~

 

目標格式

對於目標,namp提供了一種“八位字節”的方法進行設置。格式如下:

192.168.123.0-255

其等效於下面的CIDR表示法:

192.168.123.0/8

 

主機發現

nmap提供了很多主機發現的選項。用戶可以通過使用列表掃描(-sL)或者 通過關閉ping (-P0)跳過ping的步驟,也可以使用多個端口把TCP的SYN/ACK、UDP、ICMP 任意組合起來。

 

-sL

只列出網絡上的主機而不對它們發送報文。但是仍然可以獲取它們的名字。例如:

 

-sP

僅僅使用ping掃描,然後打印對掃描做出了相應的機器。

可以用來檢測網絡中有多少臺主機正在運行。

但是無法探測出使用了防火牆的主機。

 

-P0

完全跳過namp發現階段,這樣做的好處是穿透禁止ping的防火牆,也可以避免被防火牆發現。

 

端口掃描

端口的狀態

namp可以掃描超過1660個TCP端口,每個端口可以被分爲6種狀態:open(開放的), closed(關閉的),filtered(被過濾的), unfiltered(未被過濾的), open|filtered(開放或者被過濾的),或者 closed|filtered(關閉或者被過濾的)。

 

常見的幾種狀態如下圖。

注意能否訪問和端口是否開放沒有聯繫。

 

掃描方法

可以使用-T0 ~ -T5來設置掃描速度,較慢的速度可以逃避IDS,較快的速度對網絡要求較高,並且可能犧牲準確性。

使用-p指定要掃描的端口。

例如下圖指定掃描80端口,對於192.168.199.1,速度爲T5的快速掃描沒能得出正確結論(open),只能說是filtered。

 

 

nmap支持十幾種掃描技術,常見的如下。

-sS

TCP SYN掃描,最受歡迎,速度很快,可以一秒鐘掃描幾千個端口。

SYN又被稱爲半開放掃描,因爲它不打開一個完全的TCP連接。它發送一個SYN報文,然後等待響應。 SYN/ACK表示端口在監聽 (開放),而 RST (復位)表示沒有監聽者。

 SYN掃描相對來說不易被注意到,因爲它從來不完成TCP連接。 

 

-sU

UDP掃描,常見的UDP服務包括DNS,SNMP,和DHCP。

UDP掃描發送空的(沒有數據)UDP報頭到每個目標端口。 如果返回ICMP端口不可到達錯誤(類型3,代碼3), 該端口是closed(關閉的)。 其它ICMP不可到達錯誤(類型3, 代碼1,2,9,10,或者13)表明該端口是filtered(被過濾的)。

 

-sA

TCP ACK掃描,不能確定是open的還是open|filtered。

-sA用於發現防火牆規則。確定它們是有狀態的還是無狀態的,哪些端口是被過濾的。

 

探測

版本探測

除了探測到端口狀態之外,還可以對其上面運行的服務和版本號進行探測。

如果管理員對其進行了別有用心的設置,探測結果可能出錯。不過一般都是對的。

 

系統探測

還可以探測主機使用的操作系統。可能只能通過TTL來判斷吧。

 

逃避防火牆/IDS的檢測

-f

對報文分段,更容易逃避檢測。

 

-D

使用虛假的誘餌地址發包,讓對方的管理員以爲是誘餌而忽略掉你真正的請求。

可以使用-D 加 數個地址

也可以使用-D 加 RND:10 這種格式,意味着生成10個隨機的地址。

 

-sI

源地址欺騙

 

--source-port

源端口欺騙。

-g參數等效。

 

--spoof-mac

MAC地址欺騙

 

--data-length

附加隨機數據讓自己長得不像TCP或ICMP包。

 

輸出

默認的輸出是直接輸出到命令行界面,不過還有其它的輸出方式。

包括XML輸出,XML輸出是最重要的輸出形式。

                                                                         

-oN

將命令行輸出的內容保存到txt文件中,最簡單的輸出形式。

   

-oX

保存爲.xml格式。

 

信息蒐集

使用namp的NES腳本,可以對目標進行儘可能全面的信息收集。

--ip-geolocation-*

顯示IP的地理位置。

 

--script whois

顯示域名註冊運營商等信息。

 

--script ip2hosts

ip反查,可以查出一個網站上綁定的所有域名。

 

--script http-stored-xss.nse

探測xss漏洞。

 

--script dns-brute --script-args dms-brutr.domain=

探測子域名和DNS服務主機名

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章