Python滲透測試之tcp幾種埠掃描的講解
tcp資料包格式:
TCP是傳輸層的協議,它的資料包格式如下:
1、源埠號
2、目標埠
3、seq 用於表示這個資料包攜帶的資料是這個資料流哪個位置的資料,用於資料排序
4、ack 接受方向傳送方確認已經收到的資料
5、跟ip頭部的4位首部長度一樣(見本期上半節內容),最少值為5(20位元組,即選項處沒資料),最大15(60位元組,即選項處資料為40位元組)
6、保留位,wirshake抓包沒發現此欄位,但是發現它與標誌欄位合併了
7、6位標標誌欄位:
(源自百度百科)
8、可以看作tcp的緩衝區,根據mss大小,用於確定一次性傳送分組的個數
9、校驗和,與IP校驗和欄位是一樣的(見本期內容上半節講解)
10、當標誌位設定了URG時,表示這個緊急指標有效,表示緊急指標開始的資料才是正常資料
11、選項欄位
12、資料
此處沒有總長度欄位是因為可通過ip頭部總長度減去ip頭部得到tcp總長度,而udp有總長度欄位是為了32位對齊
TCP建立連線:
表現形式為三次握手,客戶機傳送SYN標誌位的資料包,對方返回SYN,ACK標誌位的欄位,客戶機收到包後返回ACK確認包,在這三次握手後就建立起tcp連線了:
3次握手例項:
埠:
每一個埠對應一個服務,有時我們可以根據埠知道後面執行著什麼服務,例如埠22開放表示開放著ssh服務。
SYN掃描:
SYN掃描又稱半開掃描,傳送一個‘標誌位’為S的TCP資料包到目標伺服器的某個埠,如果埠開放,就會返回一個標誌位為SYN,ACK的TCP資料包,如果埠關閉就返回標誌位為RST的資料包。
SYN掃描速度比較快,但容易被防火牆過濾,且丟包無法被發現
FIN掃描:
本機傳送一個標誌位為F的TCP資料包到目標伺服器的某個埠,如果埠開放,就不會做出回應,如果埠關閉就返回標誌位為RST的TCP資料包。
FIN掃描速度快,且不易被過濾,難以被發現,但是對windows系統無效,無論埠是否開放,windows都返回RST包。
NULL掃描:
與FIN掃描類似,本機傳送一個標誌位為空的TCP資料包到目標伺服器的某個埠,如果埠開放,就不會做出回應,如果埠關閉就返回標誌位為RST的TCP資料包。
NULL掃描速度快,且不易被過濾,難以被發現,但是對windows系統無效
XMAS掃描:
XMAS掃描,又稱聖誕樹掃描,因為它像聖誕樹一樣掛了很多標誌位,本機傳送一個標誌位為“FIN,URG,PSH”的TCP資料包到目標伺服器的某個埠,如果埠開放,就不會做出回應,如果埠關閉就返回標誌位為RST的TCP資料包。
XMAS掃描速度快,且不易被過濾,難以被發現,但是對windows系統無效。
指令碼效果展示(以SYN掃描為例):
我ubuntu(192.168.1.113)的TCP對外只開了22埠(ssh服務)
現在我執行我的指令碼(先掃描小範圍埠,以便用wireshark抓包進行分析)
下面我以FIN掃描1-250埠來檢視效果(FIN,NULL,XMAS掃描當沒有資料包返回時都進行了再次兩次重傳進行驗證)
指令碼程式碼片段展示:
原文釋出時間為:2017-03-08
本文作者:exploit
本文來自雲棲社群合作伙伴“Python中文社群”,瞭解相關資訊可以關注“Python中文社群”微信公眾號
相關文章
- 記學習滲透測試之掃描埠
- 滲透測試之主機探測與埠掃描
- 【滲透測試筆記】之【MSF 弱點掃描】筆記
- 記學習滲透測試之漏洞掃描二
- 記學習滲透測試之漏洞掃描一
- 記學習滲透測試之漏洞掃描簡述
- 滲透測試工程師必知的漏洞掃描工具!工程師
- 滲透測試與漏洞掃描有什麼區別?
- python掃描埠Python
- 為什麼滲透測試很重要?滲透測試的服務方式有幾種?
- APP滲透測試基本內容與漏洞掃描介紹APP
- 埠掃描工具nmap的常用引數講解
- 什麼是網路滲透測試?網路滲透測試分為幾種型別?型別
- Perun 內網滲透掃描神器內網
- 什麼是滲透測試?滲透測試分為哪幾類?
- 滲透測試和漏洞掃描是什麼?兩者有何區別?
- 漏洞掃描、滲透測試、程式碼審計三者之間有什麼差異?
- 滲透測試之nmap
- 滲透測試網站安全基礎點講解網站
- 滲透測試中常見的開放埠有哪些?
- 滲透測試之域名收集
- 滲透測試是什麼?滲透測試三種分類主要包括哪些?
- 你真的瞭解“滲透測試”嗎?滲透測試有何作用?
- 從滲透測試到漏洞掃描 看我們如何對網站做安全防護網站
- 各種環境下的滲透測試
- GraphQL滲透測試詳解
- 【網路安全純乾貨分享】漏洞掃描和滲透測試的區別是什麼?
- 埠掃描器
- 網站滲透測試漏掃工具的應用技巧網站
- 滲透測試9種常見漏洞
- 專欄講解滲透測試網站資訊獲取網站
- 滲透測試之資訊收集
- 滲透測試中最常見的9種漏洞!
- 滲透測試會用到哪些工具?滲透測試教程
- 滲透測試怎麼做?滲透測試的步驟有哪些?
- Zenmap(埠掃描工具)
- python滲透測試入門——Scapy庫Python
- 網站安全測試之APP滲透測試漏洞網站APP