Nmap基本使用教程


 如期而至!

 nmap這個滲透工具一般用在滲透的准備階段,用於收集用戶的信息,為后面的滲透做情報支持

本教程分為14個小模塊,分別為:

1.nmap的安裝和掃描的基本概念

2.如何找到網絡上的設備

3.端口掃描概要

4.端口掃面技術和算法

5.優化nmap的性能

6.服務和應用程序版本的識別

7.遠程操作系統的識別

8.nmap的腳本引擎

9.識別並繞過防火牆和IDS

10.防御nmap掃描

11.nmap的圖形化程序zenmap

12.格式化nmap的輸出內容

13.理解和設置nmap的數據文件

14.總結

一.nmap的安裝和掃描的基本概念

首先對於nmap的安裝,可以自行百度,當然kali linux是內置了nmap的,只要在命令行下輸入nmap即可使用,參數-version可以查看當前nmap的版本,如下圖

然后對於掃描簡單的來說其實就是四個動作

1.統一溝通語言  (TCP/IP協議)

2.發出刺激           (ICMP報文頭)

3.受到刺激的反饋  (ICMP的反饋)

4通過比對刺激和反饋完成掃描

二.如何找到網絡上的設備

nmap的基本輸入:

將你要掃描的設備地址告訴nmap可以通過下面的方法實現

統一格式:nmap  [掃描類型]  [設置]  {設備地址}

其中設備地址(主機名,IP地址,網段等)可以通過以下方法

1.-iL <文件名>          通過文件輸入地址

2.-iR <IP地址數目>

3.--exclude <exclude_file> :排出文件中的地址

4.直接輸入IP或網段(最常用)

上面是nmap兩個簡單掃描例子,僅反饋了一些簡單的信息,但是對於其他的數據收集,nmap里面有詳細的參數可以實現,下面將開始講解一些常用參數的使用:

掃描參數:

1.-sL   不做掃描,僅完成DNS解析和網址的轉換

2.-sP    默認發ICMP echo請求和TCP的ACK請求(80端口)       

3.-PN   不用ping

4.-Ps    <端口號列表>    發TCP協議SYN標記的空包(80端口)

5.-PA    <端口號列表>    發TCP協議ACK標記的空包(80端口)   

6.-PU    <端口號列表>    (31338端口)

7.-PE -PP -PM

8.-PO <協議列表>

9.-PR  (ARP ping)

設置參數:

--traceroute
-n(不要做DNS解析)
-R(DNS解析所有的地址,默認不解析不在線的IP)
-system-dns(使用系統DNS)
--dns-servers <server1>[,<server2>[,…]](使用其他DNS)

三.端口掃描概要

1.端口掃描:

-p <端口號列表>

2.端口狀態:

  1.Open,端口開啟,有程序監聽此端口
  2.Closed,端口關閉,數據能到達主機,但是沒有程序監聽此端口。
  3.Filtered,數據未能到達主機。
  4.Unfiltered,數據能到達主機,但是Nmap無法判斷端口開啟還是關閉。
  5.Open|filtered,端口沒有返回值,主要出現在UDP,IP,FIN,NULL和Xmas掃描
  6.Closed|filtered,只出現在IP ID idle 掃描。

四.端口掃面技術和算法

1.TCP標志位掃描

 -sS   TCP SYN掃描(匿名掃描,默認不加類型,需要root權限,掃描速度快)

-sT   TCP全連接掃描(不需要root權限,TCP掃描的默認模式,端口狀態和SYN相同,耗時長)

2.UDP掃描

-sU      (使用-sUV能增加掃描的准確性)

沒有UDP端口開放

3.協議掃描

-sO     獲取服務器支持哪些協議

常用的掃描一般就上面幾種,其他的暫時不講解,需要了解的可以自己去百度或者等我的nmap進階教程整理出來。

五.優化nmap的性能

-F (快速掃描100個常用端口)

其他的打算在nmap進階教程再講解

六.服務和應用程序版本的識別

有時候nmap探測出來的服務和版本信息並不是非常准確,不過我們可以通過加參數的方式使其精確

1.-sV:探測開放端口的服務和版本信息
2.--version-intensity<0-9>:設置探測深度
3.--version-light:相當於0-2
4.--version-all:相當於0-9
5.--version-trace:顯示版本掃描詳情(用於調試)

 

七.遠程操作系統的識別

1.-O:啟動操作系統識別。
2.--osscan-limit:限定只識別有端口開放的主機,提高-O和-A參數時的掃描速度。
3.--osscan-guest<OS>:給NMAP建議的操作系統。類似於sqlmap的參數。
4.--max-os-tries <次數>:設置重試次數(默認為5),提高准確性或者提高速度。

 

八.nmap的腳本引擎

九.識別並繞過防火牆和IDS

十.防御nmap掃描

十一.nmap的圖形化程序zenmap

十二.格式化nmap的輸出內容

十三.理解和設置nmap的數據文件

十四.總結

 基礎簡單的nmap教程,基本使用參數就這些,不要看只有幾個,組合起來其實還是比較多的,本教程暫時到這里,還有沒有講解的模塊打算在下一篇的nmap進階使用教程在講解

在此之前,希望大家能熟練掌握本教程的內容,最好的是去看看計算機網絡原理,TCP/IP協議,腳本引擎.NET,腳本語言Lua,為進階教程做好一定的知識儲備,以免太晦澀看不懂。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM