埠掃瞄原理方法

2022-07-19 04:42:15 字數 2779 閱讀 1418

埠掃瞄:

埠掃瞄的目的:

判斷目標主機上開放了哪些服務,判斷目標主機的作業系統。如果入侵者掌握了目標主機開放了哪些服務運用何種作業系統,他們就能夠使用相應的手段實現入侵。

埠的基本概念

常見公認埠

埠掃瞄原理:

tcp報文結構:

tcp協議只定義了一種報文格式

建立、拆除連線、傳輸資料使用同樣的報文

tcp報文格式

tcp報文段首部(20個位元組)

這些埠可用來將若干高層協議向下復用;

序號欄位和確認序號字段:

序號:佔4個位元組,是本報文段所傳送的資料部分第乙個位元組的序號。在tcp傳送的資料流中,每乙個位元組都有乙個序號。例如,一報文段的序號為300,而起資料供100位元組,則下乙個報文段的序號就是400;

由於序號欄位有32比特長,可以對4gb的資料進行編號,這樣就可保證當序號重複使用時,舊序號的資料早已在網路中消失了;

資料偏移字段

資料偏移:佔4位元,表示資料開始的地方離tcp報文段的起始處有多遠。這實際上就是tcp報文段首部的長度。由於首部長度不固定,因此資料偏移欄位是必要的。

保留字段: 6位元,供今後使用,目前置為0。

6個位元的控制字段

緊急位元urgent:當urg=1時,表明此報文應盡快傳送,而不要按原來的排隊順序來傳送。與「緊急指標」字段配合使用,緊急指標指出在本報文段中的緊急資料的最後乙個位元組的序號,使接收方可以知道緊急資料共有多長;

確認位元ack:只有當ack=1時,確認序號欄位才有意義;

急迫位元psh:當psh=1時,表明請求遠地tcp將本報文段立即傳送給其應用層,而不要等到整個快取都填滿了之後再向上交付。

復位位元reset:當rst=1時,表明出現嚴重差錯,必須釋放連線,然後再重建傳輸連線。復位位元還用來拒絕乙個非法的報文段或拒絕開啟乙個連線;

同步位元syn:在建立連線時使用,當syn=1而ack=0時,表明這是乙個連線請求報文段。對方若同意建立連線,在發回的報文段中使syn=1和ack=1。因此,syn=1表示這是乙個連線請求或連線接受報文,而ack的值用來區分是哪一種報文;

終止位元final:用來釋放乙個連線,當fin=1時,表明欲傳送的位元組串已經發完,並要求釋放傳輸連線;

視窗字段

視窗window:佔2位元組,表示報文段傳送方的接收視窗,單位為位元組。此視窗告訴對方,「在未收到我的確認時,你能夠傳送的資料的位元組數至多是此視窗的大小。」

通知視窗advertised window:接收端根據其接收能力許諾的視窗值,是來自接收端的流量控制。接收端將通知視窗的值放在tcp報文的首部中,傳送給對方。

擁塞視窗congestion window:是傳送端根據網路擁塞情況得出的視窗值,是來自傳送端的流量控制。

檢驗和覆蓋了整個的tcp報文段:tcp首部和tcp資料。這是乙個強制性的字段,由發端計算和儲存,由收端進行驗證。

選項字段允許每台主機設定能夠接受的最大tcp載荷能力(預設536位元組) 。

三次握手協議:

在tcp/ip協議中,tcp協議提供可靠的連線服務,採用三次握手建立乙個連線。

第一次

第一次握手:建立連線時,客戶端傳送syn包(syn=j)到伺服器,並進入syn_send狀態,等待伺服器確認;syn:同步序列編號(synchronize sequence numbers)。

第二次

第二次握手:伺服器收到syn包,必須確認客戶的ack(ack=j+1),同時自己也傳送乙個syn包(syn=k),即syn+ack包,此時伺服器進入syn_recv狀態;

三次握手

第三次

第三次握手:客戶端收到伺服器的syn+ack包,向伺服器傳送確認包ack(ack=k+1),此包傳送完畢,客戶端和伺服器進入established狀態,完成三次握手。

完成三次握手,客戶端與伺服器開始傳送資料,在上述過程中,還有一些重要的概念:

埠掃瞄原理:嘗試與目標主機建立連線,如果目標主機有回覆則說明埠開放。

掃瞄分類:

1. 全tcp連線,這種方法使用三次握手與目標主機建立標準的tcp連線。但是這種方法跟容易被發現,被目標主機記錄。

2. syn掃瞄,掃瞄主機自動向目標主機的指定埠傳送syn資料段,表示傳送建立連線請求。

!!如果目標主機的回應報文syn=1,ack=1.則說明該埠是活動的,接著掃瞄主機傳送回乙個rst給目標主機拒絕連線。導致三次握手失敗。

!!如果目標主機回應是rst則埠是「死的」。

3 fin掃瞄,傳送乙個fin=1的報文到乙個關閉的視窗該報文將丟失並返回乙個rst,如果該fin報文傳送到活動視窗則報文丟失,不會有任何反應。

4.**掃瞄。就是抓雞啦。

埠掃瞄原理

埠掃瞄原理分類 1 全tcp連線 這種掃瞄方法使用三次握手,與目標計算機建立標準的tcp連線。但是這種掃瞄方式很容易被目標主機記錄,不推薦使用。2 半開啟式掃瞄 syn掃瞄 在這種掃瞄技術中,掃瞄主機自動向目標計算機的指定埠傳送syn資料段,表示傳送建立連線請求。a,如果目標計算機的回應tcp報文中...

Linux埠掃瞄方法

在開發,除錯,測試中,經常需要檢視某台機子有沒有開放指定的斷口,這裡列出了兩種常用的查詢linux系統上哪些埠向外部開放的方法。當然,不止這兩種方法,也可以自己寫乙個埠掃瞄工具。具體實現要根據tcp和udp的協議原理來實現埠掃瞄。使用nmap命令檢查開放埠 nmap network explorat...

埠掃瞄詳解

tcpconnect掃瞄 tcp全連線掃瞄。使用系統提供的connect 函式來連線目標埠,如果目標埠正在監聽這個埠,那麼connect 函式將會被成功返回,否則,說明改埠不可訪問。通過完整的tcp三次握手 也即一次tcp連線 來判斷目標埠的狀態 tcpsyn掃瞄 半開啟掃瞄。首先客戶端向要掃瞄的埠...