天天看點

nmap掃描工具的安裝與使用

概念

NMap,也就是Network Mapper,是Linux下的網絡掃描和嗅探工具包。

 其基本功能有三個:

(1)是掃描主機端口,嗅探所提供的網絡服務

(2)是探測一組主機是否線上

(3)還可以推斷主機所用的作業系統,到達主機經過的路由,系統已開放端口的軟體版本

nmap端口狀态解析
open : 應用程式在該端口接收 TCP 連接配接或者 UDP 封包。 
closed :關閉的端口對于nmap也是可通路的, 它接收nmap探測封包并作出響應。但沒有應用程式在其上監聽。
filtered :由于包過濾阻止探測封包到達端口,nmap無法确定該端口是否開放。過濾可能來自專業的防火牆裝置,路由規則 或者主機上的軟體防火牆。
unfiltered :未被過濾狀态意味着端口可通路,但是nmap無法确定它是開放還是關閉。 隻有用于映射防火牆規則集的 ACK 掃描才會把端口分類到這個狀态。
open | filtered :無法确定端口是開放還是被過濾, 開放的端口不響應就是一個例子。沒有響應也可能意味着封包過濾器丢棄了探測封包或者它引發的任何反應。UDP,IP協定,FIN, Null 等掃描會引起。
closed|filtered:(關閉或者被過濾的):無法确定端口是關閉的還是被過濾的
           

nmap基本參數及使用

  • -sT

    TCP connect()掃描,這種方式會在目标主機的日志中記錄大批的連結請求以及錯誤資訊。
  • -sP

    ping掃描,加上這個參數會使用ping掃描,隻有主機存活,nmap才會繼續掃描,一般最好不加,因為有的主機會禁止ping,卻實際存在。
  • -sS

    半開掃描,一般不會記入日志,不過需要root權限。
  • -sU

    udp掃描,但是一般不可靠。
  • -sA

    用來穿過防火牆的規則集,速度慢。
  • -sV

    端口服務及版本
  • -A

    包含了-sV,-O,全面系統檢測,啟動腳本檢測,掃描等。
  • -P0

    掃描之前不使用ping,适用于防火牆禁止ping,比較有用。
  • -v

    顯示掃描程序
  • -O

    探測目标系統的漏洞,容易誤報
  • -oN/-oX/-oG

    将報告寫入檔案,格式分别為正常(自定義.txt),XML,grepable.
  • -iL

    掃描主機清單
  • -sC

    –script=default 預設的腳本掃描,主要是搜集各種應用服務的資訊
nmap掃描工具的安裝與使用

namp掃描應用

在網絡上尋找所有線上主機

nmap -sP 18.16.202.0/24
or 
nmap -sP 18.16.202.*
           

在網絡上尋找一定範圍内的主機

nmap -sP 18.16.202.100-255
           

掃描tcp端口:

指定端口範圍使用-p參數,如果不指定要掃描的端口,Nmap預設掃描從1到1024再加上nmap-services列出的端口

nmap-services是一個包含大約2200個著名的服務的資料庫,Nmap通過查詢該資料庫可以報告那些端口可能對應于什麼伺服器,但不一定正确。

是以正确掃描一個機器開放端口的方法是上面指令。-p1-65535

注意,nmap有自己的庫,存放一些已知的服務和對應端口号,假如有的服務不在nmap-services,可能nmap就不會去掃描,這就是明明一些端口已經是處于監聽狀态,nmap預設沒掃描出來的原因,需要加入-p參數讓其掃描所有端口。

雖然直接使用nmap也可以掃描出開放的端口,但是使用-p1-65535 能顯示出最多的端口

差別在于不加-p 時,顯示的都是已知協定的端口,對于未知協定的端口沒顯示

$ nmap 18.16.202.169 -p 1-65535
Starting Nmap 7.70 ( https://nmap.org ) at 2019-01-12 14:15 ?D1�������?����??
Nmap scan report for 18.16.202.169
Host is up (0.00070s latency).
Not shown: 65510 closed ports
PORT      STATE    SERVICE
135/tcp   open     msrpc
137/tcp   filtered netbios-ns
139/tcp   open     netbios-ssn
445/tcp   open     microsoft-ds
902/tcp   open     iss-realsecure
912/tcp   open     apex-mesh
1080/tcp  open     socks
1536/tcp  open     ampr-inter
1537/tcp  open     sdsc-lm
1538/tcp  open     3ds-lm
1539/tcp  open     intellistor-lm
1545/tcp  open     vistium-share
1551/tcp  open     hecmtl-db
1552/tcp  open     pciarray
3306/tcp  open     mysql
3389/tcp  open     ms-wbt-server
4537/tcp  open     wssauthsvc
5040/tcp  open     unknown
5357/tcp  open     wsdapi
8118/tcp  open     privoxy
14264/tcp open     unknown
14280/tcp open     unknown
18386/tcp open     unknown
34642/tcp open     unknown
49152/tcp open     unknown

Nmap done: 1 IP address (1 host up) scanned in 17.87 seconds
           

不指定:

Starting Nmap 7.70 ( https://nmap.org ) at 2019-01-12 14:15 ?D1�������?����??
Nmap scan report for 18.16.202.169
Host is up (0.00051s latency).
Not shown: 990 closed ports
PORT      STATE SERVICE
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
902/tcp   open  iss-realsecure
912/tcp   open  apex-mesh
1080/tcp  open  socks
3306/tcp  open  mysql
3389/tcp  open  ms-wbt-server
5357/tcp  open  wsdapi
49152/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 6.98 seconds
           

參考:

給Linux系統/網絡管理者的nmap的29個實用例子

Nmap掃描原理與用法

滲透工具用法(三):Nmap 的用法

nmap指令-----基礎用法

Nmap基本使用教程

不老的神器:安全掃描器Nmap滲透使用指南

nmap常用指令

nmap常用指令集合