本頁使用了標題或全文手工轉換

Nmap

維基百科,自由的百科全書
跳至導覽 跳至搜尋
Nmap Security Scanner
5.21版的Nmap熒幕截圖
5.21版的Nmap熒幕截圖
原作者Gordon Lyon (Fyodor)
首次釋出1997年9月 (1997-09)
目前版本
  • 7.93 (2022年9月1日;穩定版本)[1]
編輯維基數據連結
原始碼庫 編輯維基數據連結
程式語言C, C++, Python, Lua
作業系統跨平台
語言英語
類型電腦安全網絡管理
特許條款GNU通用公眾特許條款
網站nmap.org/

Nmap網絡對映器)是一款用於網絡發現安全審計網絡安全工具,它是自由軟件。軟件名字Nmap是Network Mapper的簡稱。通常情況下,Nmap用於:

  • 列舉網絡主機清單
  • 管理服務升級排程
  • 監視主機
  • 服務執行狀況

Nmap可以檢測目標主機是否線上、埠開放情況、偵測執行的服務類型及版本資訊、偵測作業系統與裝置類型等資訊。 它是網絡管理員必用的軟件之一,用以評估網絡系統安全。

Nmap 是不少黑客腳本小子愛用的工具 。系統管理員可以利用Nmap來探測工作環境中未經批准使用的伺服器,黑客通常會利用Nmap來搜集目標電腦的網絡設定,從而計劃攻擊的方法。

Nmap通常用在資訊搜集階段,用於搜集目標機主機的基本狀態資訊。掃描結果可以作為漏洞掃描漏洞利用權限提升階段的輸入。例如,業界流行的漏洞掃描工具Nessus與漏洞利用工具Metasploit都支援匯入Nmap的XML格式結果,而Metasploit框架內也整合了Nmap工具(支援Metasploit直接掃描)。

Nmap不僅可以用於掃描單個主機,也可以適用於掃描大規模的電腦網絡(例如,掃描互聯網上數萬台電腦,從中找出感興趣的主機和服務)。

Nmap 核心功能[編輯]

主機發現[編輯]

用於發現目標主機是否處於活動狀態。
Nmap 提供了多種檢測機制,可以更有效地辨識主機。例如可用來列舉目標網絡中哪些主機已經開啟,類似於Ping命令的功能。

埠掃描[編輯]

用於掃描主機上的埠狀態。
Nmap可以將埠辨識為開放(Open)、關閉(Closed)、過濾(Filtered)、未過濾(Unfiltered)、開放或過濾(Open|Filtered)、關閉或過濾(Closed|Filtered)。預設情況下,Nmap會掃描1660個常用的埠[2],可以覆蓋大多數基本應用情況。

版本偵測[編輯]

用於辨識埠上執行的應用程式與程式版本。
Nmap目前可以辨識數千種應用的簽章(Signatures),檢測數百種應用協定。而對於不辨識的應用,Nmap預設會將應用的指紋(Fingerprint)列印出來,如果用戶確知該應用程式,那麼用戶可以將資訊提交到社區,為社區做貢獻。

作業系統偵測[編輯]

用於辨識目標主機的作業系統類型、版本編號及裝置類型。
Nmap目前提供1500個作業系統或裝置的指紋資料庫[3],可以辨識通用PC系統、路由器、交換機等裝置類型。

防火牆/IDS規避和哄騙[編輯]

Nmap提供多種機制來規避防火牆、IDS的的封鎖和檢查,便於秘密地探查目標主機的狀況。
基本的規避方式包括:封包分片、IP誘騙、IP偽裝、MAC地址偽裝。

NSE指令碼引擎[編輯]

NSE是Nmap最強大最靈活的特性之一,可以用於增強主機發現、埠掃描、版本偵測和作業系統偵測等功能,還可以用來擴充進階的功能如web掃描、漏洞發現和漏洞利用等。Nmap使用Lua語言來作為NSE手稿語言,目前的Nmap指令碼庫已經支援350多個指令碼。

Nmap基本命令和典型用法[編輯]

  • Nmap 基本指令
nmap [ <掃描類型> ...] [ <選項> ] { <掃描目標說明> }
  • 全方位掃描(包括Host Discovery、埠掃描、埠服務版本掃描、OS類型掃描及預設指令碼掃描):
nmap -A target_ip
  • Ping掃描:
nmap -sn target_ip
  • 快速埠掃描(前100個常用埠):
nmap -F target_ip
  • 版本掃描:
nmap -sV target_ip 
  • 作業系統類型掃描:
nmap -O target_ip
  • 運行標記為safe的nse script
nmap -sC target_ip
  • 運行完整tcp握手掃描(雖然nmap預設使用tcp半開放掃描,即選項-sS。但卻容易被今日大多資安廠商入侵偵測系統發現,因此使用「完整握手掃描-sT」還比「隱形掃描-sS」來得更隱匿)
nmap -sT target_ip
  • 發送碎片封包,躲避ids偵測和繞過防火牆(8-bytes為單位),但實際上碎片封包特徵過於明顯,不建議於實際紅隊攻擊中使用
nmap -f target_ip
  • 使用同網段上閒置主機(zombie_host)作為跳板掃描
nmap -sI zombie_host:zombie_port target_ip
  • 使用大量虛假的源地址,混淆被掃描方日後鑑識、分析的能力,即誘餌掃描
nmap -D ip1,ip2,ip3,... target_ip  

nmap -D RND:10 target_ip (隨機產生10組ipv4掩護)

其他[編輯]

Nmap 常被跟評估系統漏洞軟件Nessus混為一談。Nmap 以隱祕的手法,避開入侵檢測系統的監視,並儘可能不影響目標系統的日常操作。

Nmap 在電影《廿二世紀殺人網絡》中,連同SSH1英語SSH132位元迴圈冗餘校驗漏洞,被崔妮蒂用以入侵發電站的能源管理系統。

參見[編輯]

外部連結[編輯]

參考資料[編輯]

  1. ^ Nmap 7.93 - 25th Anniversary Release!. 2022年9月1日 [2022年9月2日] (英語). 
  2. ^ 端口扫描基础. [2016-05-09]. (原始內容存檔於2016-06-04). 
  3. ^ 操作系统探测. [2016-05-09]. (原始內容存檔於2016-06-04).