TCP(Transmission Control Protocol)網(wǎng)絡傳輸控制協(xié)議,是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,數(shù)據(jù)傳輸前建立連接的工作要經(jīng)過“三次握手”,數(shù)據(jù)傳輸后斷開連接的工作要經(jīng)過“四次揮手”。
工作過程
從圖上可以得出6個標志位,分別是:
1)、SYN(synchronous):建立聯(lián)機;
3)、PSH(push):傳輸;
4)、FIN(finish):結束;
5)、RST(reset):重置;
6)、URG(urgent):緊急。
三次握手:
(1)、第一次握手:Client將標志位SYN置為1,并將該數(shù)據(jù)包發(fā)送給Server,Client進入SYN_SENT狀態(tài),等待Server確認;
(2)、第二次握手:Server收到數(shù)據(jù)包后由標志位SYN=1知道Client請求建立連接,Server將標志位SYN和ACK都置為1,并將該數(shù)據(jù)包發(fā)送給Client以確認連接請求,Server進入SYN_RCVD狀態(tài);
(3)、第三次握手:Client收到確認后,檢查ACK是否為1,如果正確則將標志位ACK置為1,并將該數(shù)據(jù)包發(fā)送給Server,Server檢查ACK是否為1,如果正確則連接建立成功,Client和Server進入ESTABLISHED狀態(tài),完成三次握手,隨后Client與Server之間可以開始傳輸數(shù)據(jù)了。
附加(SYN網(wǎng)絡攻擊):
原理:
在三次握手過程中,Server發(fā)送SYN-ACK之后,收到Client的ACK之前的TCP連接稱為半連接(half-open connect),此時Server處于SYN_RCVD狀態(tài),當收到ACK后,Server轉入ESTABLISHED狀態(tài)。SYN攻擊就是Client在短時間內偽造大量不存在的IP地址,并向Server不斷地發(fā)送SYN包,Server回復確認包,并等待Client的確認,由于源地址是不存在的,因此,Server需要不斷重發(fā)直至超時,這些偽造的SYN包將產時間占用未連接隊列,導致正常的SYN請求因為隊列滿而被丟棄,從而引起網(wǎng)絡堵塞甚至系統(tǒng)癱瘓。
檢測:
SYN攻擊時一種典型的DDOS攻擊,檢測SYN攻擊的方式非常簡單,即當Server上有大量半連接狀態(tài)且源IP地址是隨機的,則可以斷定遭到SYN攻擊了。windows下打開cmd,輸入命令:”netstat -n -p TCP“,查看是否有大量的”SYN_RECEIVED“狀態(tài)。
四次揮手:
(1)、第一次揮手:Client發(fā)送一個FIN,用來關閉Client到Server的數(shù)據(jù)傳送,Client進入FIN_WAIT_1狀態(tài);
(2)、第二次揮手:Server收到FIN后,發(fā)送一個ACK給Client,Server進入CLOSE_WAIT狀態(tài);
(3)、第三次揮手:Server發(fā)送一個FIN,用來關閉Server到Client的數(shù)據(jù)傳送,Server進入LAST_ACK狀態(tài);
(4)、第四次揮手:Client收到FIN后,Client進入TIME_WAIT狀態(tài),接著發(fā)送一個ACK給Server,Server進入CLOSED狀態(tài)。
-
通信協(xié)議
+關注
關注
28文章
884瀏覽量
40311 -
TCP
+關注
關注
8文章
1353瀏覽量
79078 -
TCPIP
+關注
關注
1文章
56瀏覽量
22754
發(fā)布評論請先 登錄
相關推薦
評論