• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            yehao's Blog

            TCP三次握手及四次揮手詳細(xì)圖解

            相對于SOCKET開發(fā)者,TCP創(chuàng)建過程和鏈接折除過程是由TCP/IP協(xié)議棧自動(dòng)創(chuàng)建的.因此開發(fā)者并不需要控制這個(gè)過程.但是對于理解TCP底層運(yùn)作機(jī)制,相當(dāng)有幫助.
            而且對于有網(wǎng)絡(luò)協(xié)議工程師之類筆試,幾乎是必考的內(nèi)容.企業(yè)對這個(gè)問題熱情之高,出乎我的意料:-)。有時(shí)上午面試前強(qiáng)調(diào)這個(gè)問題,并重復(fù)講一次,下午幾乎每一個(gè)人都被問到這個(gè)問題。
            因此在這里詳細(xì)解釋一下這兩個(gè)過程。
            TCP三次握手
            所謂三次握手(Three-way Handshake),是指建立一個(gè)TCP連接時(shí),需要客戶端和服務(wù)器總共發(fā)送3個(gè)包。
            三次握手的目的是連接服務(wù)器指定端口,建立TCP連接,并同步連接雙方的序列號和確認(rèn)號并交換 TCP 窗口大小信息.在socket編程中,客戶端執(zhí)行connect()時(shí)。將觸發(fā)三次握手。
             
            • 第一次握手:
              客戶端發(fā)送一個(gè)TCP的SYN標(biāo)志位置1的包指明客戶打算連接的服務(wù)器的端口,以及初始序號X,保存在包頭的序列號(Sequence Number)字段里。
            • 第二次握手:
              服務(wù)器發(fā)回確認(rèn)包(ACK)應(yīng)答。即SYN標(biāo)志位和ACK標(biāo)志位均為1同時(shí),將確認(rèn)序號(Acknowledgement Number)設(shè)置為客戶的I S N加1以.即X+1。


            • 第三次握手.
              客戶端再次發(fā)送確認(rèn)包(ACK) SYN標(biāo)志位為0,ACK標(biāo)志位為1.并且把服務(wù)器發(fā)來ACK的序號字段+1,放在確定字段中發(fā)送給對方.并且在數(shù)據(jù)段放寫ISN的+1

            SYN攻擊

               在三次握手過程中,服務(wù)器發(fā)送SYN-ACK之后,收到客戶端的ACK之前的TCP連接稱為半連接(half-open connect).此時(shí)服務(wù)器處于Syn_RECV狀態(tài).當(dāng)收到ACK后,服務(wù)器轉(zhuǎn)入ESTABLISHED狀態(tài).

              Syn攻擊就是 攻擊客戶端 在短時(shí)間內(nèi)偽造大量不存在的IP地址,向服務(wù)器不斷地發(fā)送syn包,服務(wù)器回復(fù)確認(rèn)包,并等待客戶的確認(rèn),由于源地址是不存在的,服務(wù)器需要不斷的重發(fā)直 至超時(shí),這些偽造的SYN包將長時(shí)間占用未連接隊(duì)列,正常的SYN請求被丟棄,目標(biāo)系統(tǒng)運(yùn)行緩慢,嚴(yán)重者引起網(wǎng)絡(luò)堵塞甚至系統(tǒng)癱瘓。

             Syn攻擊是一個(gè)典型的DDOS攻擊。檢測SYN攻擊非常的方便,當(dāng)你在服務(wù)器上看到大量的半連接狀態(tài)時(shí),特別是源IP地址是隨機(jī)的,基本上可以斷定這是一次SYN攻擊.在Linux下可以如下命令檢測是否被Syn攻擊

            netstat -n -p TCP | grep SYN_RECV

            一般較新的TCP/IP協(xié)議棧都對這一過程進(jìn)行修正來防范Syn攻擊,修改tcp協(xié)議實(shí)現(xiàn)。主要方法有SynAttackProtect保護(hù)機(jī)制、SYN cookies技術(shù)、增加最大半連接和縮短超時(shí)時(shí)間等.

            但是不能完全防范syn攻擊。

            TCP 四次揮手

            TCP的連接的拆除需要發(fā)送四個(gè)包,因此稱為四次揮手(four-way handshake)。客戶端或服務(wù)器均可主動(dòng)發(fā)起揮手動(dòng)作,在socket編程中,任何一方執(zhí)行close()操作即可產(chǎn)生揮手操作。

             

             

            參見wireshark抓包,實(shí)測的抓包結(jié)果并沒有嚴(yán)格按揮手時(shí)序。我估計(jì)是時(shí)間間隔太短造成。

            posted on 2011-05-01 16:20 厚積薄發(fā) 閱讀(524) 評論(0)  編輯 收藏 引用 所屬分類: 網(wǎng)絡(luò)編程

            導(dǎo)航

            <2025年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            統(tǒng)計(jì)

            常用鏈接

            留言簿

            隨筆分類

            文章分類

            文章檔案

            搜索

            最新評論

            亚洲国产精品久久66| 久久免费大片| 成人久久久观看免费毛片| 久久99精品国产99久久| 国产巨作麻豆欧美亚洲综合久久 | 久久狠狠爱亚洲综合影院| 国产成年无码久久久免费| 麻豆精品久久精品色综合| 亚洲精品无码久久不卡| 久久天天躁狠狠躁夜夜网站 | 久久99热这里只频精品6| 久久精品国产亚洲av麻豆色欲| 国产精品成人无码久久久久久| 狠狠色狠狠色综合久久| 一本大道加勒比久久综合| 无码人妻少妇久久中文字幕蜜桃| 欧美一区二区精品久久| 亚洲国产精品久久电影欧美| 久久久久99精品成人片三人毛片| 国产69精品久久久久APP下载 | 久久久久综合国产欧美一区二区| 久久久精品国产sm调教网站| 国内精品久久久久影院老司| 精品久久久久久国产免费了| 国产精品无码久久综合| 综合网日日天干夜夜久久| 久久无码国产| 国产女人aaa级久久久级| 久久免费线看线看| 999久久久无码国产精品| 伊人久久大香线蕉av不变影院| 久久只这里是精品66| 精品久久久久久久久久久久久久久 | 国内精品久久久久影院老司| 亚洲国产精品综合久久一线| 欧洲国产伦久久久久久久 | 欧美久久一级内射wwwwww.| 精品久久久无码中文字幕| 国产精品狼人久久久久影院| 久久精品国产亚洲欧美| 久久夜色精品国产亚洲|