PPT下載
TCP知識提綱
傳輸層實現的是端到端的通信 網絡層的點到點 某一個局域網的主機——某一個局域網的主機
端口號的概念
傳輸層的端口號,有兩個作用,它代表的是程序地址;他還標明瞭上層協議
範圍0~65535
- a)公有端口號0~1023 已經固定的標準公有協議所對應的端口號
- b)註冊端口號1024~49151 公衆所熟知,並經常使用,經過IANA註冊的端口號(eg:OICQ)
- c)動態端口號49152~65535
端到端通信過程中
發送
目標端口號,是固定的 HTTP(80)HTTPS(443)
源端口號是>1023的隨機端口號
回覆
目標端口號,是給發送方的端口號
源端口號是,自己服務器的固定端口號(對調)
爲什麼源端口號一定要隨機?
因爲上層的應用協議有不同的會話,所以源端口號必須是隨機的不重複的端口號,這樣在回報的過程中,才能正確的將資源返回給指定的會話頁面
windows查看端口號:netstat –ano
端口掃描
主要作用:進行信息收集
向大範圍的主機的一系列TCP/UDP端口發起連接,根據應答報文判斷主機是否使用這些端口提供服務
主要工具,nmap純命令行的工具,Zenmap圖形化界面(底層就是nmap)
部署一個服務的時候,要遵行最小化安裝原則(不安裝無關的服務)
傳輸層的主要協議:可控、可靠(TCP)或不可靠(UDP)
1、可靠TCP
面向連接,雙方在通信之前,一定要確保連接能夠建立,數據實時交互(打電話)
-
a) 三次握手和四次揮手
-
i. 三次握手
意義:確保通信的雙方能夠可靠的建立連接並且傳輸數據
標誌:SYN請求建立連接,在FLAGS字段裏置位爲1
-
ii. 四次揮手
意義:確保連接結束後,及時斷開,釋放資源
標誌:FIN表示斷開連接,在flag字段中
爲什麼斷開連接一定是四次?
半關閉狀態,就是爲了確保雙方能夠將所有的數據發送完畢再斷開
-
-
b) 分段和重組(讓數據在傳輸的過程中更高效)
- i. 數據分段的依據是MSS MAX SEGMENT SIZE
- ii. MSS=MTU-網絡層頭部-傳輸層頭部 1500-20-20=1460(MSS在三次握手時候就協商好了)
- iii. 數據流協議和數據報協議的區別:網絡層分片的第二個原因,是因爲傳輸層沒有使用TCP協議
- iv. 重組靠序列號
-
c) 確認和重傳(確保雙方一定能收到對方的數據)
- i. 確認的依據是確認序列號ACKOWLEGEMENT NUMBER
- ii. 確認序列號的規律是,在SEQ的基礎上加1,
eg:ACK=10表示收到序列號爲9的數據,並且下一個發送10 - iii. 重傳的依據:時間是往返的時間
-
d) 滑動窗口機制
滑動:窗口的值是可變的
窗口:window size規定了對方能夠一次性發送的數據分段的大小 -
e) 擁塞控制機制
慢啓動
2、不可靠UDP
面向無連接,雙方在通信時,不要建立連接,並且只是盡力的去傳送數據(沒有任何可靠機制,報文及其簡單)
3、TCP/UDP的區別
- a) 是否連接:面向連接/面向無連接
- b) 傳輸可靠性:可靠的/不可靠的
- c) 應用場合:對數據傳輸要求高/傳輸效率高,速度要求快
- d) 速度:慢/快
傳輸層面臨的安全威脅
- 1、DOS/DDOS 拒絕服務攻擊/分佈式拒絕服務攻擊
通過無用,無意義的數據包,連接等,佔用目標主機的資源(帶寬,CPU,內存資源等),以此來實現目標主機無法給正常用戶提供的目標 - 2、CC攻擊 也是DOS攻擊的一種
- 3、TCP SYN半開連接(利用TCP三次握手機制的缺陷,利用最後一個ACK,不給最後一個回確認數據,耗盡服務器的資源)
- 4、UDP洪水攻擊:攻擊者通過向服務器發送大量的UDP保溫,佔用服務器的鏈路帶寬,導致服務器負擔過重而不能正常
- 5、針對flag字段的異常攻擊,造成服務器TCP/IP協議棧處理異常
TCP SYN 半開鏈接 實驗
-
1、ENSP搭建實驗拓撲 ,三朵雲,橋接V1網卡,連接XP虛擬機、win7虛擬機和KALI虛擬機
-
2、啓動KALI和XP虛擬機,並且配置好網卡,IP地址,能夠互相通信
-
3、KALI上輸入
hping3 -q -n -a x.x.x.x -S -s 53 --keep -p 445 --flood x.x.x.x
hping3 -q -n -a 僞造源IP -S -s 僞造源端口 --keep -p 目的端口 --flood 目的IP -
4、持續監控XP的CPU利用率和抓包信息