作業系統探測
nmap最著名的功能之一是用tcp/ip協議棧fingerprinting進行遠端作業系統探測。
nmap
傳送一系列
tcp和
udp報文到遠端主機,檢查響應中的每乙個位元。在進行一打測試如
tcp isn
取樣,tcp
選項支援和排序,
ipid
取樣,和初始視窗大小檢查之後,
nmap
把結果和資料庫
nmap-os-fingerprints
中超過1500
個已知的作業系統的
fingerprints
進行比較,如果有匹配,就列印出作業系統的詳細資訊。每個
fingerprint
包括乙個自由格式的關於
os的描述文字,和乙個分類資訊,它提供**商名稱(如
sun)
,下面的作業系統(如
solaris),os
版本(如10)
,和裝置型別
(通用裝置,路由器,
switch
,遊戲控制台,等
)。如果nmap不能猜出作業系統,並且有些好的已知條件(如至少發現了乙個開放埠和乙個關閉埠),
nmap
會提供乙個
url,如果您確知執行的作業系統,您可以把
fingerprint
提交到那個
url。這樣您就擴大了
nmap
的作業系統知識庫,從而讓每個
nmap
使用者都受益。作業系統檢測可以進行其它一些測試,這些測試可以利用處理過程中收集到的資訊。例如執行時間檢測,使用
tcp時間戳選項
(rfc 1323)
來估計主機上次重啟的時間,這僅適用於提供這類資訊的主機。另一種是
tcp序列號**分類,用於測試針對遠端主機建立乙個偽造的
tcp連線的可能難度。這對於利用基於源
ip位址的可信關係
(rlogin
,防火牆過濾等
)或者隱含源位址的攻擊非常重要。這一類哄騙攻擊現在很少見,但一些主機仍然存在這方面的漏洞。實際的難度值基於統計取樣,因此可能會有一些波動。通常採用英國的分類較好,如「
worthy challenge
」或者「trivial joke」
。在詳細模式
(-v)
下只以普通的方式輸出,如果同時使用
-o,還報告
ipid
序列產生號。很多主機的序列號是「增加」類別,即在每個傳送包的
ip頭中增加
id域值,
這對一些先進的資訊收集和哄騙攻擊來說是個漏洞。
文件使用多種語言描述了版本檢測的方式、使用和定製。採用下列選項啟用和控制作業系統檢測:
-o (
啟用作業系統檢測
)
也可以使用-a來同時啟用作業系統檢測和版本檢測。
--osscan-limit (
針對指定的目標進行作業系統檢測
)
如果發現乙個開啟和關閉的tcp埠時,作業系統檢測會更有效。採用這個選項,
nmap
只對滿足這個條件的主機進行作業系統檢測,這樣可以節約時間,特別在使用
-p0掃瞄多個主機時。這個選項僅在使用-o或
-a進行作業系統檢測時起作用。
--osscan-guess; --fuzzy (
推測作業系統檢測結果)
當nmap無法確定所檢測的作業系統時,會盡可能地提供最相近的匹配,nmap預設進行這種匹配,使用上述任乙個選項使得
nmap
的推測更加有效。
NMAP使用例項(三)
雖然nmap這些年來功能越來越多,它也是從乙個高效的埠掃瞄器開始的,並且那仍然是它的核心功能。nmap target 這個簡單的命令掃瞄主機 target 上的超過 1660 個tcp 埠。許多傳統的埠掃瞄器只列出所有埠是開放還是關閉的,nmap 的資訊粒度比它們要細得多。它把埠分成六個狀態 ope...
NMAP使用例項(六)
服務和版本探測 把nmap指向乙個遠端機器,它可能告訴您埠 25 tcp 80 tcp 和53 udp 是開放的。使用包含大約 2,200 個著名的服務的 nmap services 資料庫,nmap 可以報告那些埠可能分別對應於乙個郵件伺服器 smtp web 伺服器 http 和網域名稱伺服器 ...
nmap使用小結
更細節的知識請看nmap的manpage,這裡主要是解釋nmap的乙個gtk前端zenmap中的預設幾個掃瞄命令的選項 intense scan nmap t4 a v www.rickyzhang.me t 0 5 set timing template higher is faster a en...