久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

tcp數據傳輸的調試

作者:劉溫電   來源:本站原創   點擊數:  更新時間:2013年11月23日   【字體:

這兩天還是再調tcp,網上的資料也不全,大多是關于tcp握手連接的東西,而且都說的是,所以只好摸索著來,首先,關于握手,各大資料都說是3次,握手,握手應答,應答,然后建立連接。對于握手連接的處理,有兩點,假設主動連接端為a端,被動連接端為b端,第一點是判斷這一幀的第48位,a端b主機發送0x02,b主機向a主機發送0x12,然后a主機在向b主機發送0x10,對于b端,首先要判斷來端是否為0x02如果是,則向a端的此位發送0x12,同時第二點就是序列號,將a的序列號加1以后,放在b端回應的應答號中去。回應的序列號中放入一個生成的序列號。序號的位置在38-41位,應答號的位置在42-45位。發送握手應答后,b只要在判斷其返回幀的第48位是否為0x10和應答號是否加一即可。若不對,丟包或者發送重傳即可。
當建立連接以后,就可以傳輸數據了,傳輸數據時,a向b傳輸應用數據的同時,在第48位發送的應該為0x12。然后加上序列號,在b端處理時需要注意兩個問題,1,每次發送數據都應該接收一個應答,2,收方的應答號,是發方的序列號加上數據個數。
我在調試的時候,就出現了問題,開始的時候,沒有做應答,結果上位機會連續發送多次數據。后來我添加了應答處理,序列號我是按照握手協議那么寫的,序列號只加1,結果發現上位機會一個一個的重傳。后來通過抓包軟件才發現,原來是b返回的應答號,應該是a的序列號,加上a所傳輸的數據。
解決了應答,剩下的就是數據提取了,提取應用數據首先要計算兩個相關數據,1,偏移,2,數據個數。偏移就是真實的應用數據在一幀的具體位置。只要知道了數據位置和個數,就可以獲取數據了。
應用數據偏移計算為 tcp源端口號的位置 + tcp頭長度 
應用數據的長度計算為  ip總長度 - ip頭長度 -  tcp頭長度
最后就是四次揮手,對此網上解釋也是亂七八糟的,也許是我的智力低下造成的不理解,但還是通過抓包軟件才看明白的。
首先是a端向b端發送0x11,然后b端發送應答返回0x10,發送應答后,繼續發送0x11。然后等待a端發送0x10這樣,即完成了揮手操作。
以下是抓包數據,可以給大家做個參考。

syn
a->b
0000  f0 7d 68 70 04 3c f0 7d  68 60 3b 42 08 00 45 00   .}hp.<.} h`;B..E.
0010  00 34 49 42 40 00 40 06  6d 64 c0 a8 01 69 c0 a8   .4IB@.@. md...i..
0020  01 64 08 89 ea 60 55 ff  c5 b6 00 00 00 00 80 02   .d...`U. ........
0030  ff ff dc 5a 00 00 02 04  05 b4 01 03 03 00 01 01   ...Z.... ........
0040  04 02        

syn ack
b->a
0000  f0 7d 68 60 3b 42 f0 7d  68 70 04 3c 08 00 45 00   .}h`;B.} hp.<..E.
0010  00 34 81 f7 40 00 40 06  34 af c0 a8 01 64 c0 a8   .4..@.@. 4....d..
0020  01 69 ea 60 08 89 a5 19  17 70 55 ff c5 b7 80 12   .i.`.... .pU.....
0030  44 70 db 4f 00 00 02 04  05 b4 01 03 03 00 01 01   Dp.O.... ........
0040  04 02       

ack
a->b
0000  f0 7d 68 70 04 3c f0 7d  68 60 3b 42 08 00 45 00   .}hp.<.} h`;B..E.
0010  00 28 49 43 40 00 40 06  6d 6f c0 a8 01 69 c0 a8   .(IC@.@. mo...i..
0020  01 64 08 89 ea 60 55 ff  c5 b7 a5 19 17 71 50 10   .d...`U. .....qP.
0030  ff ff 60 8b 00 00                                  ..`...         

push ack(真實數據為 acsii的aa 55,可以注意一下第三行的 55 ff c5 b7)
a->b
0000  f0 7d 68 70 04 3c f0 7d  68 60 3b 42 08 00 45 00   .}hp.<.} h`;B..E.
0010  00 2c 49 45 40 00 40 06  6d 69 c0 a8 01 69 c0 a8   .,IE@.@. mi...i..
0020  01 64 08 89 ea 60 55 ff  c5 b7 a5 19 17 71 50 18   .d...`U. .....qP.
0030  ff ff c9 e8 00 00 61 61  35 35                     ......aa 55

ack (對于數據的應答,可以注意一下第三行的 55 ff c5 bb)
b->a
0000  f0 7d 68 60 3b 42 f0 7d  68 70 04 3c 08 00 45 00   .}h`;B.} hp.<..E.
0010  00 28 81 fa 40 00 40 06  34 b8 c0 a8 01 64 c0 a8   .(..@.@. 4....d..
0020  01 69 ea 60 08 89 a5 19  17 71 55 ff c5 bb 50 10   .i.`.... .qU...P.
0030  44 6c 1c 1b 00 00                                                     Dl....  

fin ack
a->b
0000  f0 7d 68 70 04 3c f0 7d  68 60 3b 42 08 00 45 00   .}hp.<.} h`;B..E.
0010  00 28 49 3f 40 00 40 06  6d 73 c0 a8 01 69 c0 a8   .(I?@.@. ms...i..
0020  01 64 08 88 ea 60 1d b0  ba ac 0f a9 ae ee 50 11   .d...`.. ......P.
0030  ff ff a1 d8 00 00                                  ......         

ack
b->a
0000  f0 7d 68 60 3b 42 f0 7d  68 70 04 3c 08 00 45 00   .}h`;B.} hp.<..E.
0010  00 28 81 f4 40 00 40 06  34 be c0 a8 01 64 c0 a8   .(..@.@. 4....d..
0020  01 69 ea 60 08 88 0f a9  ae ee 1d b0 ba ad 50 10   .i.`.... ......P.
0030  44 70 5d 68 00 00                                  Dp]h..              

fin ack
b->a
0000  f0 7d 68 60 3b 42 f0 7d  68 70 04 3c 08 00 45 00   .}h`;B.} hp.<..E.
0010  00 28 81 f5 40 00 40 06  34 bd c0 a8 01 64 c0 a8   .(..@.@. 4....d..
0020  01 69 ea 60 08 88 0f a9  ae ee 1d b0 ba ad 50 11   .i.`.... ......P.
0030  44 70 5d 67 00 00                                  Dp]g..  

ack
a->b
0000  f0 7d 68 70 04 3c f0 7d  68 60 3b 42 08 00 45 00   .}hp.<.} h`;B..E.
0010  00 28 49 40 40 00 40 06  6d 72 c0 a8 01 69 c0 a8   .(I@@.@. mr...i..
0020  01 64 08 88 ea 60 1d b0  ba ad 0f a9 ae ef 50 10   .d...`.. ......P.
0030  ff ff a1 d7 00 00                                  ......      

關閉窗口

相關文章

主站蜘蛛池模板: 91综合网| 久久亚洲国产精品 | 久草青青草 | 亚洲精品黑人 | 欧美黄色免费网站 | 91美女在线观看 | 久久精品亚洲精品国产欧美 | 欧美日韩视频一区二区 | av影音| 色久伊人 | a中文在线视频 | 99精品欧美一区二区三区 | 毛片99 | 91久操视频 | 国产精品99视频 | 狠狠涩 | 久久91精品国产一区二区三区 | 亚洲综合无码一区二区 | 成人免费一区二区三区视频网站 | 韩国理论电影在线 | 免费一区二区三区在线视频 | 在线观看黄免费 | 99久久精品国产一区二区三区 | 国产欧美一区二区三区在线看蜜臀 | 黄色大片免费播放 | 欧州一区二区 | 欧美日韩在线一区二区三区 | 午夜三级在线观看 | 国产黄色精品在线观看 | 国产aⅴ精品| 国产精品高潮呻吟久久av野狼 | 国产一区二区三区久久久久久久久 | 在线视频中文字幕 | 欧美另类视频 | 韩日视频在线观看 | www.免费看片.com | 五月免费视频 | 人妖一区| 日韩高清一区 | 久久久激情 | 91麻豆精品国产91久久久更新资源速度超快 |