NMAP學習筆記


nmap(Network Mapper)是一款用於網絡掃描和安全審計軟件開源軟件,支持Windows、Mac、Linux等多個平台。同時,很多網絡管理員也用它來進行網絡設備管理、服務升級和主機監控。NMAP使用原始的IP包來探測網絡上存活的主機、服務、操作系統等各種信息。NMAP被設計用來進行大型網絡的掃描,但也可以用來對單個目標進行掃描。Nmap還曾在20部電影大屏幕上出現過。

一、下載安裝。

Windows下有exe安裝包以及圖形界面,我感覺使用起來最方便。Linux和Mac下也都有RPM和DMG安裝包,安裝相對簡單,使用上可能命令行的場景比較多,具體使用哪個版本就看各人喜好了。

二、主機發現

2.1 常規掃描

簡單的在命令后加ip地址,可以進行常規掃描,查看主機是否存活以及開放的端口。

nmap 11.133.171.200

2.2 Ping 掃描

類似於Ping命令,僅執行Ping掃描,可以快速發現主機是否存活。

nmap -sn 11.133.171.1-254

如果想看具體的過程,可以加上 --packet-trace 參數,這樣在返回結果之前,可以看到每一步的交互過程。

2.3 TCP SYN Ping 掃描

通常情況下,Nmap默認Ping掃描是使用TCP ACK和ICMP Echo請求對目標進行是否存活的響應,當目標主機的防火牆阻止這些請求時,可以使用TCP Syn Ping掃描。

TCP協議是TCP/IP協議族中的面向連接的、可靠的傳輸層協議,允許發送和接收字節流形式的數據。為了使服務器和客戶端以不同的速度產生和消費數據,TCP提供了發送和接收兩個緩沖區。TCP提供全雙工服務,數據同時能雙向流動。通信的每一方都有發送和接收兩個緩沖區,可以雙向發送數據。

nmap -PS -v 11.133.171.1-254

2.4 TCP ACK Ping 掃描

nmap -PA -v 11.133.171.1-254

使用 -PA 選項可以進行 TCP ACK Ping 掃描,它與 TCP Syn Ping 是非常類似的,唯一的區別是設置TCP的標志位是ACK而不是SYN,使用這種方式掃描可以探測組織SYN包或ICMP Echo請求的主機。

2.5 UDP Ping 掃描

nmap -PU -v 11.133.171.1-254

-PU 選項是發送一個空的UDP報文到指定端口,如果目標主機響應則返回一個ICMP端口不可達錯誤,如果目標主機不是存活狀態則會返回各種ICMP報錯信息。

2.6 ICMP Ping Types 掃描

ICMP (Internet Control Message Protocol)是Internet控制報文協議。它是TCP/IP協議族的一個子協議用於在IP主機、路由器之間傳遞控制消息。控制消息是指網絡通不通、主機是否可達、路由是否可用等網絡本身的消息。這些消息雖然並不傳輸用戶數據,但是對於用戶數據的傳遞起着重要作用。

ICMP Echo 方式掃描

nmap -PE -v 11.133.171.1-254

使用ICMP時間戳Ping掃描

nmap -PP -v 163.com

使用ICMP地址掩碼Ping掃描

nmap -PM -v 11.133.171.1-254

2.7 ARP Ping 掃描

nmap -PR 11.133.171.1-254

這個選項通常用在掃描局域網時,在本地局域網中防火牆不會禁止ARP請求,這就使它的掃描更加高效。

地址解析協議,即ARP(Address Resolution Protocol),是根據IP地址獲取物理地址的一個TCP/IP協議,其功能:主機將ARP請求廣播到網絡上的所有主機,並接收返回消息,確定目標IP地址的物理地址,同時將IP地址和硬件地址存入本機ARP緩存中,下次請求時直接查詢ARP緩存。

三、端口掃描

端口是指接口電路中的一些寄存器,這些寄存器分別用來存放數據信息、控制信息和狀態信息,相應的端口分別稱為數據端口、控制端口和狀態端口。

端口狀態。NMAP提供了6個端口狀態,分別是Open、Closed、Filtered、Unfiltered、Open|Filtered、Closed|Filtered。

時序選項。NMAP提供了T0-T5幾個時序選項,分別是從慢到快的掃描方式。

3.1 常用掃描方式

nmap -p 445 11.133.171.1-254
-p用來指定端口或端口范圍。-F選項可以快速的掃描端口,但並不是所有的端口都掃描。NMAP默認是使用隨機的順序對端口進行掃描,使用 -r選項則可以使用排序順序進行掃描。

四、服務識別與探測

Nmap通過Nmap-service可以探測主機的端口,以及該端口對應的服務,甚至可以進一步探索版本號、主機名、設備類型等信息。

4.1 版本探測

使用 nmap -sV 11.133.171.141 可以啟用版本探測,這並不僅僅是端口探測,而是通過相應的端口對應相應的服務,根據服務指紋識別出相應的版本。

使用 nmap -sV -A 11.133.171.141 可以看到更加詳細的信息和更加直觀的方式。

4.2 操作系統探測

在網絡掃描過程中,對操作系統版本的探測非常重要。最常見的操作系統探測方法是利用TTL也就是數據包的存活時間,不同的操作系統的TTL也是不同的,可以根據這些TTL進行操作系統探測。

使用 nmap -O 11.133.171.141 可以啟用操作系統探測。Nmap在掃描過程中,經常會發送一系列報文,--version-intensity 選項可以為每個報文賦予1-9之間的值,表示掃描時的強度,強度越高准確度越高速度相應就慢,強度越低准確度越低速度就快。

五、定時掃描

這里的定時掃描區別於Linux系統的Crontab定時任務,是一系列Nmap提供的可配置的定時選項,通過這些選項我們可加快或者減慢掃描速度,也可以延時、定時掃描,其提供的這些選項更多的是用來逃逸防火牆、IDS(入侵檢測系統)。

並行掃描組。

放棄緩慢的目標主機。可以通過--host-timeout參數指定對主機的掃描時間。

nmap --host-timeout 100ms 11.133.171.122

六、防火牆與IDS

網絡防火牆就是一個位於計算機和它所連接的網絡之間的軟件(或硬件)。防火牆可以關閉不使用的端口,而且還能禁止特定端口的流出通信。

IDS是英文“Intrusion Detection Systems”的縮寫,意思是入侵檢測系統。主要是依照一定的安全策略,通過軟件、硬件,對網絡、系統的運行狀況進行監視,盡可能發現各種攻擊企圖、攻擊行為或攻擊結果,以保證網絡系統資源的機密性、完整性和可用性。

6.1 報文分段

選項 解釋
-f 報文分段
--mtu number 指定偏移大小
-D ip,ip,ip RND:number
-sI 源地址欺騙
--source-port port-number 源端口欺騙
--data-length number 指定發包長度
--randomize-hosts 目標主機隨機排序
--spoof-mac 0 MAC地址欺騙

七、使用NSE腳本進行信息收集

NMAP使用--script參數可以調用NSE腳本。

NMAP的NSE腳本是用Lua程序創作,提供強大的信息搜集功能。

搜集的信息主要包括:IP信息(地理位置、開放端口)、WHOIS信息、EMAIL信息、IP反查、DNS信息搜集(A記錄、CNAME記錄等)、系統信息、后台打印機服務漏洞、系統漏洞掃描、WEB漏洞掃描等。


免責聲明!

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



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