<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    MDA/MDD/TDD/DDD/DDDDDDD
    posts - 536, comments - 111, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    TCP: SYN ACK FIN RST PSH URG

    Posted on 2010-04-14 18:43 leekiang 閱讀(775) 評論(0)  編輯  收藏 所屬分類: ftp,http,tcp,udp等
    三次握手Three-way Handshake

    一個虛擬連接的建立是通過三次握手來實現的

    1. (B) --> [SYN] --> (A)

    假如服務器A和客戶機B通訊. 當A要和B通信時,B首先向A發一個SYN (Synchronize) 標記的包,告訴A請求建立連接.

    注意: 一個 SYN包就是僅SYN標記設為1的TCP包(參見TCP包頭Resources). 認識到這點很重要,只有當A受到B發來的SYN包,才可建立連接,除此之外別無他法。因此,如果你的防火墻丟棄所有的發往外網接口的SYN包,那么你將不 能讓外部任何主機主動建立連接。

    2. (B) <-- [SYN/ACK] <--(A)

    接著,A收到后會發一個對SYN包的確認包(SYN/ACK)回去,表示對第一個SYN包的確認,并繼續握手操作.

    注意: SYN/ACK包是僅SYN 和 ACK 標記為1的包.

    3. (B) --> [ACK] --> (A)

    B收到SYN/ACK 包,B發一個確認包(ACK),通知A連接已建立。至此,三次握手完成,一個TCP連接完成

    Note: ACK包就是僅ACK 標記設為1的TCP包. 需要注意的是當三此握手完成、連接建立以后,TCP連接的每個包都會設置ACK位

    這就是為何連接跟蹤很重要的原因了. 沒有連接跟蹤,防火墻將無法判斷收到的ACK包是否屬于一個已經建立的連接.一般的包過濾(Ipchains)收到ACK包時,會讓它通過(這絕對不是個 好主意). 而當狀態型防火墻收到此種包時,它會先在連接表中查找是否屬于哪個已建連接,否則丟棄該包

    四次握手Four-way Handshake

    四次握手用來關閉已建立的TCP連接

    1. (B) --> ACK/FIN --> (A)

    2. (B) <-- ACK <-- (A)

    3. (B) <-- ACK/FIN <-- (A)

    4. (B) --> ACK --> (A)

    注意: 由于TCP連接是雙向連接, 因此關閉連接需要在兩個方向上做。ACK/FIN 包(ACK 和FIN 標記設為1)通常被認為是FIN(終結)包.然而, 由于連接還沒有關閉, FIN包總是打上ACK標記. 沒有ACK標記而僅有FIN標記的包不是合法的包,并且通常被認為是惡意的

    連接復位Resetting a connection

    四次握手不是關閉TCP連接的唯一方法. 有時,如果主機需要盡快關閉連接(或連接超時,端口或主機不可達),RST (Reset)包將被發送. 注意在,由于RST包不是TCP連接中的必須部分, 可以只發送RST包(即不帶ACK標記). 但在正常的TCP連接中RST包可以帶ACK確認標記

    請注意RST包是可以不要收到方確認的?

    無效的TCP標記Invalid TCP Flags

    到目前為止,你已經看到了 SYN, ACK, FIN, 和RST 標記. 另外,還有PSH (Push) 和URG (Urgent)標記.

    最常見的非法組合是SYN/FIN 包. 注意:由于 SYN包是用來初始化連接的, 它不可能和 FIN和RST標記一起出現. 這也是一個惡意攻擊.

    由于現在大多數防火墻已知 SYN/FIN 包, 別的一些組合,例如SYN/FIN/PSH, SYN/FIN/RST, SYN/FIN/RST/PSH。很明顯,當網絡中出現這種包時,很你的網絡肯定受到攻擊了。

    別的已知的非法包有FIN (無ACK標記)和"NULL"包。如同早先討論的,由于ACK/FIN包的出現是為了關閉一個TCP連接,那么正常的FIN包總是帶有 ACK 標記。"NULL"包就是沒有任何TCP標記的包(URG,ACK,PSH,RST,SYN,FIN都為0)。

    到目前為止,正常的網絡活動下,TCP協議棧不可能產生帶有上面提到的任何一種標記組合的TCP包。當你發現這些不正常的包時,肯定有人對你的網絡不懷好意。

    來源:http://doubao.javaeye.com/blog/267207
    http://hi.baidu.com/abcserver/blog/item/aa1a347310c335148601b07c.html

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 日韩电影免费在线| 日本在线看片免费| 午夜精品在线免费观看| 亚洲国产美女在线观看 | 亚洲AV无码一区二区三区DV| 精品97国产免费人成视频| 亚洲人成无码www久久久| 久久国产一片免费观看| 亚洲精品国产成人片| 久久免费线看线看| 老汉色老汉首页a亚洲| 亚洲一级免费视频| 亚洲三级视频在线观看| 免费看的成人yellow视频| 国产精品亚洲专区无码不卡| 亚洲精品偷拍视频免费观看| 中文字幕免费播放| 亚洲精品午夜在线观看| 毛片免费观看的视频在线| 蜜桃传媒一区二区亚洲AV| 国产成人麻豆亚洲综合无码精品| 日韩av无码免费播放| 亚洲日本一区二区| 一本无码人妻在中文字幕免费| 久久亚洲AV成人无码国产最大| 亚洲综合色视频在线观看| 91精品啪在线观看国产线免费| 亚洲国产精品无码久久久秋霞1| 亚洲精品国产高清不卡在线| 日本亚洲欧洲免费天堂午夜看片女人员 | 在线成人爽a毛片免费软件| 中文字幕亚洲码在线| 丁香五月亚洲综合深深爱| 香港a毛片免费观看 | 一级特黄aaa大片免费看| 久久久久亚洲av无码专区| 免费鲁丝片一级观看| 久久免费精品视频| 亚洲6080yy久久无码产自国产| 亚洲人成77777在线播放网站| 日本妇人成熟免费中文字幕 |