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

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

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

    一江春水向東流

    做一個有思想的人,期待與每一位熱愛思考的人交流,您的關注是對我最大的支持。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      44 隨筆 :: 139 文章 :: 81 評論 :: 0 Trackbacks

    ?重裝TCP數據段,我看了《TCP/IP詳解卷二:實現》覺得它里面的實現考慮的很全面,當然也就很復雜。而我組裝只是為了監視,所以不必那么復雜,于是自己想了一個方法。現在我已經根據這個方法成功組裝TCP分段,所以這個方法是可行的。另外,我的IP分片的組裝用的方法跟這個方法也差不多。

    ??? 首先說下存儲tcp分段的數據結構:一個二維鏈表,我把它叫作重裝表。具有相同socket對(源ip地址、目的ip地址、源端口號、目的端口號)的tcp數據包放在一個橫向的鏈表里,該鏈表的頭節點只保存了源ip地址、目的ip地址、源端口號、目的端口號這些信息。如下圖所示:

    ?

    ??? 然后介紹重裝TCP數據段的方法:

    1.每到來一個tcp數據包(pkt),我先將該數據包的源ip地址、目的ip地址、源端口號、目的端口號取出來在重裝表(tpq_tbl)中縱向的鏈表中查找有沒有與它相匹配的鏈表(fp)存在,如果有,就把pkt數據包放入與它有相同socket對的fp鏈中,放入鏈表的時,我先查找pkt的順序號在鏈表中的適當位置,然后才放入;如果沒有,則在tpq_tbl中新創建一個該類型的鏈表頭節點,然后再將其放入新創建的鏈表中。

    2.每當在fp中放入一個tcp數據段后,我就檢查fp鏈表中的數據段是否已經到齊了(判斷方法下面介紹),若到齊,就將個鏈表中所有數據段的數據部分拼接到一起,得到應用層報文,然后釋放該鏈表,然后重復1-2步驟;若沒到齊,直接重復1-2步驟。

    ?關于判斷一個鏈表中tcp數據段是否到齊的方法:
    ??? 使用的變量說明:
    ??? count計數器,表示當前鏈表中的所有tcp數據段數據部分的長度之和。每當在該鏈表中加入一個新tcp數據段時,我都會將count累加上該tcp數據段的數據部分的長度。
    ??? syn_seq,表示本次tcp連接的第一個數據包的順序號,也就是建立tcp連接時的第一次握手的SYN包的順序號。
    ??? fin_seq,表示本次tcp連接的最后一個數據包的順序號,也就是關閉tcp連接時的第二個FIN包的順序號。

    ??? 判斷:當(fin_seq - syn_seq)與count相等時,就說明tcp數據段已經到齊,否則就是沒有到齊。

    posted on 2008-04-10 23:01 allic 閱讀(3427) 評論(3)  編輯  收藏 所屬分類: TCP/IP 開發

    評論

    # re: 關于TCP重組[轉] 2009-10-01 14:44 xinwang
    能不能把源碼貼出來,學習一下 謝謝  回復  更多評論
      

    # re: 關于TCP重組[轉][未登錄] 2010-01-14 17:09 秋水
    萬一你監視的是一個長連接,而且你監視開始時,連接已經建立,那你就無法獲得syn_seq了呀
    請問如何處理這種問題  回復  更多評論
      

    # re: 關于TCP重組[轉] 2011-01-18 21:43 坑跌呢你
    這種辦法局限性太大了,實驗可以,沒有實用性  回復  更多評論
      

    主站蜘蛛池模板: 可以免费观看的毛片| 在线看片人成视频免费无遮挡| 亚洲高清在线mv| 大学生a级毛片免费观看 | 亚洲乱码卡三乱码新区| 国产高清在线精品免费软件| 成人A毛片免费观看网站| 亚洲伊人久久大香线蕉在观 | 亚洲理论电影在线观看| 黄网站色在线视频免费观看| 免费一区二区无码视频在线播放 | 亚洲AV无码国产精品色午友在线| 青苹果乐园免费高清在线| 中文字幕高清免费不卡视频| 亚洲 欧洲 自拍 另类 校园| 亚洲线精品一区二区三区影音先锋 | 你是我的城池营垒免费看 | 亚洲AV成人影视在线观看| 亚洲啪啪综合AV一区| 日本免费一区二区三区最新 | 99久久久国产精品免费牛牛| 日韩亚洲综合精品国产| 亚洲黄网站wwwwww| 亚洲人成无码久久电影网站| 国产精品视频免费一区二区| 永久在线观看免费视频| 污污视频免费观看网站| 亚洲性线免费观看视频成熟| 久久久久亚洲AV无码专区首| 亚洲精品色婷婷在线影院| 无码人妻精品一二三区免费| 免费无码成人AV在线播放不卡| 一级做性色a爰片久久毛片免费| 亚洲AV成人一区二区三区在线看| 亚洲五月六月丁香激情| 国产亚洲AV夜间福利香蕉149| 香蕉视频在线观看免费国产婷婷| 成人免费的性色视频| 久久精品免费观看| 最近2019中文免费字幕在线观看| 免费激情网站国产高清第一页|