久久久久久久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                                  ......      

關閉窗口

相關文章

主站蜘蛛池模板: 日本精品一区二区三区在线观看视频 | 精品在线一区 | 国产亚洲精品久久久久动 | 日韩国产中文字幕 | 狠狠综合久久av一区二区小说 | 免费观看色 | 精品国产1区2区3区 一区二区手机在线 | 久久亚洲天堂 | 欧美日韩毛片 | 日韩精品在线视频免费观看 | 四虎影视一区二区 | 精品福利一区二区三区 | 伊人中文字幕 | 天天干成人网 | 国产精品乱码一区二三区小蝌蚪 | 午夜激情免费视频 | www.亚洲区 | 久久久精品一区 | av中文字幕网 | 免费在线观看黄网站 | 亚洲色图第一页 | 免费看91 | 日韩午夜电影 | 精品欧美激情在线观看 | 在线观看国产 | 国产精品美女久久久久aⅴ国产馆 | 亚洲三区视频 | 99视频免费在线观看 | 暖暖日本在线视频 | 亚洲视频一 | 亚洲精品一区二区三区在线 | 国产精品欧美一区二区 | av国产在线观看 | 中文在线一区二区 | 夜夜骑首页 | 伊人热久久| 国产精品久久久久久亚洲调教 | 天天天天操 | 91欧美精品成人综合在线观看 | 二区在线观看 | 免费一二区 |