Nmap是一個免費開放的網絡掃描和嗅探工具包,也叫網絡映射器(Network Mapper)。Nmap工具能夠用來掃描電腦上開放的端口,肯定哪些服務運行在哪些端口,而且推斷出計算機運行的操做系統。經過使用該工具,能夠評估網絡系統安全。因此,Nmap是大部分用戶所必要的工具之一。本章將對Nmap工具的基礎知識進行詳細介紹。html
Nmap是一款很是不錯的網絡掃描工具,支持各類操做系統,如Windows、Linux、Mac OS等。爲了幫助用戶更好的使用該工具,本節將對Nmap工具作一個簡單介紹。數據庫
Nmap是一款開源免費的網絡發現(Network Discovery)和安全審計(Security Auditing)工具。軟件名字Nmap是Network Mapper的簡稱。Nmap最初是由Fyodor在1997年建立的。隨後在開源社區衆多的志願者參與下,該工具逐漸成爲最爲流行安全必備工具之一。目前,Nmap工具的最新版本是6.47。ubuntu
因爲Nmap工具具備許多優勢,因此該工具被普遍應用。其中,Nmap工具的優勢以下所示:瀏覽器
q 靈活:支持數十種不一樣的掃描方式,支持多種目標對象的掃描。安全
q 強大:Nmap能夠用於掃描互聯網上大規模的計算機羣。網絡
q 可移植:支持主流的操做系統,如Windows、Linux、Unix、Mac OS等;而且其源碼開放,方便移植。架構
q 簡單:提供默認的操做能覆蓋大部分功能,如基本端口掃描,全面掃描。app
q 自由:Nmap做爲開源軟件,在GPL License的範圍內能夠自由的使用。工具
q 文檔豐富:Nmap官網提供了詳細的文檔描述。Nmap做者及其它安全專家編寫了多部Nmap參考書籍。測試
q 社區支持:Nmsp背後有強大的社區團隊支持。
q 讚譽有加:得到不少的獎勵,並在不少影視做品中出現(如黑客帝國2、Die Hard4等)。
q 流行:目前Nmap已經被成千上萬的安全專家列爲必備的工具之一。
Nmap主要包括四個方面的掃描功能,分別是主機發現、端口掃描、應用與版本偵測、操做系統偵測。這四項功能之間,又存在大體的依賴關係。一般狀況下順序關係,如圖1.1所示。
圖1.1 Nmap功能架構圖
下面將詳細介紹以上Nmap各功能之間的依賴關係。以下所示:
(1)首先用戶須要進行主機發現,找出活動的主機。而後,肯定活動主機上端口情況。
(2)根據端口掃描,以肯定端口上具體運行的應用程序與版本信息。
(3)對版本信息偵測後,對操做系統進行偵測。
在這四項基本功能的基礎上,Nmap提供防火牆與IDS(IntrusionDetection System,入侵檢測系統)的規避技巧,能夠綜合應用到四個基本功能的各個階段;另外Nmap提供強大的NSE(Nmap Scripting Language)腳本引擎功能,腳本能夠對基本功能進行補充和擴展。
Nmap使用TCP/IP協議棧指紋準確地判斷目標主機的操做系統類型。首先,Nmap經過對目標主機進行端口掃描,找出有哪些端口正在目標主機上監聽。當偵測到目標主機上有多於一個開放的TCP端口、一個關閉的TCP端口和一個關閉的UDP端口時,Nmap的探測能力是最好的。Nmap工具的工做原理如表1-1所示。
表1-1 Nmap工做原理
Nmap對目標主機進行一系列測試,如表1-1所示。利用得出的測試結果創建相應目標主機的Nmap指紋。最後,將此Nmap指紋與指紋庫中指紋進行查找匹配,從而得出目標主機的操做系統類型。
Nmap常見的掃描類型如表1-2所示。
表1-2 Nmap主要掃描類型
當用戶對Nmap工具備一個清晰的認識後,便可安裝並使用該工具了。若是要安裝該工具,則必需要先獲取其軟件包。本節將介紹如何獲取Nmap工具的安裝包。
Nmap工具的官網是http://nmap.org/。在該官網提供了Nmap各類類型包的下載地址。其中,下載地址是:
https://nmap.org/download.html
在瀏覽器中輸入以上地址後,將打開如圖1.2所示的界面。
圖1.2 Nmap下載頁面
在該界面根據本身的系統版本,選擇相應的軟件包。因爲章節的緣由,上圖只截取了一部分(包括源碼包和Windows二進制包的下載地址)。
經過上一節的介紹,用戶能夠順利的獲取到Nmap工具的安裝包。接下來,用戶就能夠在操做系統中安裝該工具了。爲了使任何全部用戶均可以很好的使用該工具,下面將分別介紹在Windows和Linux操做系統中安裝Nmap工具的方法。
【示例1-1】下面將介紹在Windows下安裝Nmap工具的方法。具體操做步驟以下所示:
(1)在Windows下雙擊下載的Nmap軟件包,本例中的軟件包名爲nmap-6.47-setup.exe。雙擊該軟件包後,將彈出許可協議對話框,如圖1.3所示。
(2)該界面顯示了安裝Nmap工具的許可證協議。這裏單擊I Agree按鈕,將彈出選擇組件對話框,如圖1.4所示。
圖1.3 許可證協議對話框 圖1.4 選擇組件對話框
(3)在該界面選擇安裝Nmap其它功能的一些組件,如Zenmap、Ndiff、Nping等。若是用戶不想安裝某組件的話,將組件名前面複選框中的對勾去掉便可。這裏選擇默認設置,安裝全部組件。而後,單擊Next按鈕,將彈出安裝位置選擇對話框,如圖1.5所示。
(4)該界面是用來設置Nmap安裝位置的。若是用戶但願安裝到其它位置的話,則單擊Browse按鈕,選擇要安裝的位置。這裏使用默認的位置,而後單擊Install按鈕,將彈出WinPcap許可協議對話框,如圖1.6所示。
圖1.5 安裝位置選擇對話框 圖1.6 WinPcap許可證協議對話框
(5)該界面顯示了安裝WinPcap組件的許可證協議。WinPcap是重要的組件,用來實現數據包捕獲和網絡分析。因此,必須安裝。這裏單擊I Agree按鈕,將顯彈出WinPcap安裝完成提示信息對話框,如圖1.7所示。
(6)該界面顯示WinPcap組件已經完成。此時,單擊Next按鈕,將彈出WinPcap選項對話框,如圖1.8所示。
圖1.7 WinPcap安裝完成信息 圖1.8 WinPcap選項對話框
(7)該界面用來設置啓動NPF選項。這裏使用默認設置,而後單擊Next按鈕,將彈出完成對話框,如圖1.9所示。
(8)該界面提示WinPcap組件已設置完成。此時,單擊Finish按鈕,將顯示開始安裝Nmap工具。安裝完成後,將彈出Nmap安裝完成提示信息對話框,如圖1.10所示。
圖1.9 WinPcap組件設置完成 圖1.10 Nmap安裝完成信息
(9)從該界面能夠看到Nmap工具已經安裝完成。此時,單擊Next按鈕,將彈出建立快捷方式的對話框,如圖1.11所示。
(10)該界面用來設置Nmap工具建立快捷方式的位置。默認是在啓動菜單欄和桌面上建立快捷方式,這裏使用默認設置。而後,單擊Next按鈕,將彈出Nmap完成對話框,如圖1.12所示。
圖1.11 建立快捷方式對話框 圖1.12 Nmap設置完成
(11)從該界面能夠看到Nmap工具已設置完成。此時,單擊Finish按鈕,退出Nmap安裝嚮導。
提示:若是用戶當前系統中已經安裝WinPcap的話,將不會彈出圖1.6所示的對話框,而是彈出如圖1.13所示的對話框。
圖1.13 WinPcap已經安裝
從該界面能夠看到提示WinPcap組件在當前系統中已經安裝,接下來將跳過WinPcap組件安裝。此時,單擊「肯定」按鈕,將顯示如圖1.10所示的界面。若是用戶不但願彈出圖1.13對話框的話,在圖1.4中去掉WinPcap 4.1.3組件前面複選框中的對勾便可。
在Linux下可使用兩種方法來安裝。其中,一種是使用二進制包,另外一種就是源碼包。可是,在Linux中二進制包的安裝有兩大流派,分別是Red Hat的rpm(Redhat Package Management)和Debian的dpkg。因此,對於使用二進制包安裝,則須要根據系統的類型選擇相應的包進行安裝。下面分別介紹這兩種類型包的安裝方法。
1.Red Hat系列系統安裝
【示例1-2】在Red Hat系列系統中安裝Nmap工具。下面以RHEL操做系統爲例,演示Nmap的安裝方法。執行命令以下所示:
[root@RHEL ~]# rpm -ivh nmap-6.47-1.i386.rpm
Preparing... ########################################### [100%]
1:nmap ########################################### [100%]
看到以上輸出信息,則表示Nmap工具安裝成功。在以上命令中,rpm是命令,表示安裝.rpm格式的軟件包;-ivh是-i、-v和-h三個選項的組合,其中-i表示安裝、-v顯示詳細信息、-h用來顯示安裝進度;nmap-6.47-1.i386.rpm是軟件包名。
2.Debian系列系統安裝
【示例1-3】在Debian系列系統中安裝Nmap工具。下面以Ubuntu操做系統爲例,演示Nmap的安裝方法。執行命令以下所示:
test@testtual-machine:~$ sudo dpkg -i nmap_6.47-4_i386.deb
[sudo] password for test #輸入當前登陸系統用戶的密碼
(正在讀取數據庫 ... 系統當前共安裝有 175794 個文件和目錄。)
正準備解包 nmap_6.47-4_i386.deb ...
正在將 nmap (6.47-4) 解包到 (6.47-4) 上 ...
正在設置 nmap (6.47-4) ...
正在處理用於 man-db (2.6.7.1-1ubuntu1) 的觸發器 ...
看到以上相似輸出信息,則表示Nmap功能安裝成功。
源碼包能夠在各類系列的Linux系統中安裝。下面將以RHEL操做系統爲例,介紹使用源碼包安裝Nmap 工具的方法。具體操做步驟以下所示:
(1)解壓Nmap安裝包。執行命令以下所示:
[root@RHEL ~]# tar jxvf nmap-6.47.tar.bz2
執行以上命令後,將會將源碼包中的文件解壓的當前目錄下nmap-6.47文件夾中。
(2)配置Nmap工具。執行命令以下所示:
執行以上命令,表示爲Nmap工具指定了默認的安裝位置。
(3)編譯軟件包。執行命令以下所示:
[root@RHEL nmap-6.47]# make
(4)安裝軟件包。執行命令以下所示:
[root@RHEL nmap-6.47]# make install
以上命令執行成功的話,將會看到「NMAP SUCCESSFULLY INSTALLED」信息。該信息表示,Nmap工具安裝成功。
本文選自:Nmap掃描基礎教程大學霸內部資料,轉載請註明出處,尊重技術尊重IT人!