1. 程式人生 > >Nmap基本使用教程

Nmap基本使用教程

調試 時長 好的 並不是 version int 常用端口 log 優化

如期而至!

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,為進階教程做好一定的知識儲備,以免太晦澀看不懂。

Nmap基本使用教程