Nmap 簡單功能介紹/TCP Header/常見端口


Nmap:Network Mapper,網絡掃描和嗅探的工具包

基本功能有3個:

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

2.探測一組主機是否在線

3.推斷主機所用的操作系統,到達主機經過的路由,系統已開放端口的軟件版本

首先需要溫習一下tcp包頭的相關基礎知識

TCP Header:

 

Source port:源端口 占16位 2個字節,計算機一共65536個端口。0端口保留1-1024為系統服務端口,如果掃描時不指定端口范圍,nmap默認掃描1-1024端口。

Destination port :目的端口 16位 2個字節

Sequence number:序列號 4個字節,用來標識從TCP源端向TCP目的端

Acknowledgment number:確認號

Data offset:數據偏移 

Reserved:保留位

TCP標志位:

1.ACK  Acknowledgment    確認標志

2.RST   Reset         復位標志

3.URG  Urgent          緊急標志

4.SYN   Synchronize   建立連接標志

5.PSH   Push       推標志

6.FIN     Finish        結束標志 

Window Size:TCP窗口,用於流量控制,滑動窗口控制機制。每次只能接受一定量的數據

Checksum:校驗和

 

 

三次握手,一般先發送SYN請求,再發RST重設就斷開

 

 

 

ICMP協議屬於IP協議的一部分,主要診斷網絡的問題

ping 用的是 -0類型 Echo Reply

-3 目標不可達,或者到了那回不來,路由過不去

 

下面是一個ping的包,可以看到code參數Echo replay

 

 

 

下面是常見端口對應的服務,Telnet主要用於路由器交換機遠程調試,在設備上開啟Telnet服務,可以遠程登錄進行調試。Telnet是明文協議,可以用抓包抓到密碼,很多現在用ssh,可以用xshell登錄。但是Telnet登錄需要有這個命令,現在win10基本沒有了telnet命令。如果想在win10使用telnet需要自己設置。

 

 

SMTP郵件服務器。

DNS發送請求的時候用udp協議

SNMP:網絡管理協議

HTTPS:會在鏈路中對數據加密 443或者8433

RDP:遠程桌面協議

1.如果用wireshark抓包分析,會發現幾乎所有的情況都是在使用UDP,使用TCP的情況非常罕見,神秘兮兮。其實當解析器發出一個request后,返回的response中的tcp刪節標志比特位被置1時,說明反饋報文因為超長而有刪節。這是因為UDP的報文最大長度為512字節。解析器發現后,將使用TCP重發request,TCP允許報文長度超過512字節。既然TCP能將data stream分成多個segment,它就能用更多的segment來傳送任意長度的數據。

2. 另外一種情況是,當一個域的輔助域名服務器啟動時,將從該域的主域名服務器primary DNS server執行區域傳送。除此之外,輔域名服務器也會定時(一般時3小時)向PDS進行查詢以便了解SOA的數據是否有變動。如有變動,也會執行一次區域傳送。區域傳送將使用TCP而不是UDP,因為傳送的數據量比一個request或response多得多。

 

 

發現主機是否存活,有些時候防火牆存在我們掃描不到主機是否存活,-p0或者-pn參數可以跳過發現主機直接掃描端口。局域網掃描時會經常抓到ARP的包,默認先發送ARP請求,如果有ARP的包說明這個主機就已經存在了。

 

 

Nmap端口掃描常用命令:

 


1.進行ping掃描,打印出對掃描做出響應的主機,不做進一步測試(如端口掃描或者操作系統探測):
nmap -sP 192.168.1.0/24

2.僅列出指定網絡上的每台主機,不發送任何報文到目標主機:
nmap -sL 192.168.1.0/24

3.探測目標主機開放的端口,可以指定一個以逗號分隔的端口列表(如-PS22,23,25,80):
nmap -PS 192.168.1.234

4.使用UDP ping探測主機:
nmap -PU 192.168.1.0/24

5.使用頻率最高的掃描選項:SYN掃描,又稱為半開放掃描,它不打開一個完全的TCP連接,執行得很快:
nmap -sS 192.168.1.0/24

6.當SYN掃描不能用時,TCP Connect()掃描就是默認的TCP掃描:
nmap -sT 192.168.1.0/24

7.UDP掃描用-sU選項,UDP掃描發送空的(沒有數據)UDP報頭到每個目標端口:
nmap -sU 192.168.1.0/24

8.確定目標機支持哪些IP協議 (TCP,ICMP,IGMP等):
nmap -sO 192.168.1.19

9.探測目標主機的操作系統:
nmap -O 192.168.1.19

nmap -A 192.168.1.19

另外,nmap官方文檔中的例子:
1.nmap -v scanme.
這個選項掃描主機scanme中 所有的保留TCP端口。選項-v啟用細節模式。

2.nmap -sS -O scanme./24
進行秘密SYN掃描,對象為主機Scanme所在的“C類”網段 的255台主機。同時嘗試確定每台工作主機的操作系統類型。因為進行SYN掃描 和操作系統檢測,這個掃描需要有根權限。

3.nmap -sV -p 22,53,110,143,4564 188.116.0-255.1-127
進行主機列舉和TCP掃描,對象為B類188.116網段中255個8位子網。這 個測試用於確定系統是否運行了sshd、DNS、imapd或4564端口。如果這些端口 打開,將使用版本檢測來確定哪種應用在運行。

 

其他選項:
-p (只掃描指定的端口)
單個端口和用連字符表示的端口范 圍(如 1-1023)都可以。當既掃描TCP端口又掃描UDP端口時,可以通過在端口號前加上T: 或者U:指定協議。 協議限定符一直有效直到指定另一個。 例如,參數 -p U:53,111,137,T:21-25,80,139,8080 將掃描UDP 端口53,111,和137,同時掃描列出的TCP端口。

-F (快速 (有限的端口) 掃描)

 

其他

 

比如探測操作系統,利用ping命令,去觀察TTL的值 Linux和windows對應的TTL值是不同的,可依此判斷操作系統類型。

 

 

 

防火牆/IDS躲避和哄騙

 

 

 

Nmap保存和輸出

 

 

漏洞掃描:根據版本信息可以上網查詢已知的其存在的漏洞並進行滲透測試。

 

 


免責聲明!

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



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