锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久久国产精品人妻,日本久久久精品中文字幕,久久久精品国产Sm最大网站http://www.shnenglu.com/wanghaiguang/category/19962.html涓嶈嫻垂浣犵殑鐢熷懡錛屽湪浣犱竴瀹氫細鍚庢倲鐨勫湴鏂逛笂銆? 閫嗘按琛岃垷錛屼笉榪涘垯閫zh-cnThu, 20 Sep 2012 05:16:47 GMTThu, 20 Sep 2012 05:16:47 GMT60tcp瑕佺偣瀛︿範-鏂紑榪炴帴http://www.shnenglu.com/wanghaiguang/archive/2012/09/20/191382.html鐜嬫搗鍏?/dc:creator>鐜嬫搗鍏?/author>Thu, 20 Sep 2012 05:00:00 GMThttp://www.shnenglu.com/wanghaiguang/archive/2012/09/20/191382.htmlhttp://www.shnenglu.com/wanghaiguang/comments/191382.htmlhttp://www.shnenglu.com/wanghaiguang/archive/2012/09/20/191382.html#Feedback0http://www.shnenglu.com/wanghaiguang/comments/commentRss/191382.htmlhttp://www.shnenglu.com/wanghaiguang/services/trackbacks/191382.htmlAuthor : Kevin Lynx

涓昏閮ㄥ垎錛屽洓嬈℃彙鎵嬶細

鏂紑榪炴帴鍏跺疄浠庢垜鐨勮搴︾湅涓嶅尯鍒嗗鎴風鍜屾湇鍔″櫒绔紝浠諱綍涓鏂歸兘鍙互璋冪敤close(or closesocket)涔嬬被
鐨勫嚱鏁板紑濮嬩富鍔ㄧ粓姝竴涓繛鎺ャ傝繖閲屽厛鏆傛椂璇存甯告儏鍐點傚綋璋冪敤close鍑芥暟鏂紑涓涓繛鎺ユ椂錛屼富鍔ㄦ柇寮鐨?/span>
涓鏂瑰彂閫丗IN(finish鎶ユ枃緇欏鏂廣傛湁浜嗕箣鍓嶇殑緇忛獙錛屾垜鎯充綘搴旇鏄庣櫧鎴戣鐨凢IN鎶ユ枃鏃朵粈涔堜笢瑗褲備篃灝辨槸
涓涓緗簡FIN鏍囧織浣嶇殑鎶ユ枃孌點侳IN鎶ユ枃涔熷彲鑳介檮鍔犵敤鎴鋒暟鎹紝濡傛灉榪欎竴鏂硅繕鏈夋暟鎹鍙戦佹椂錛屽皢鏁版嵁闄?/span>
鍔犲埌榪欎釜FIN鎶ユ枃鏃跺畬鍏ㄦ甯哥殑銆備箣鍚庝綘浼氱湅鍒幫紝榪欑闄勫姞鎶ユ枃榪樹細鏈夊緢澶氾紝渚嬪ACK鎶ユ枃銆傛垜浠墍瑕佹妸鎻?/span>
鐨勫師鍒欐槸錛孴CP鑲畾浼氬姏鎵鑳藉強鍦拌揪鍒版渶澶ф晥鐜囷紝鎵浠ヤ綘鑳藉鎯沖埌鐨勪紭鍖栨柟娉曪紝鎴戞兂TCP閮戒細鎯沖埌銆?

褰撹鍔ㄥ叧闂殑涓鏂規敹鍒癋IN鎶ユ枃鏃訛紝瀹冧細鍙戦丄CK紜鎶ユ枃(瀵逛簬ACK榪欎釜涓滆タ浣犲簲璇ュ緢鐔熸倝浜?銆傝繖閲屾湁涓?/span>
涓滆タ瑕佹敞鎰忥紝鍥犱負TCP鏄弻宸ョ殑錛屼篃灝辨槸璇達紝浣犲彲浠ユ兂璞′竴瀵筎CP榪炴帴涓婃湁涓ゆ潯鏁版嵁閫氳礬銆傚綋鍙戦丗IN鎶ユ枃
鏃訛紝鎰忔濇槸璇達紝鍙戦丗IN鐨勪竴绔氨涓嶈兘鍙戦佹暟鎹紝涔熷氨鏄叧闂簡鍏朵腑涓鏉℃暟鎹氳礬銆傝鍔ㄥ叧闂殑涓绔彂閫?/span>
浜咥CK鍚庯紝搴旂敤灞傞氬父灝變細媯嫻嬪埌榪欎釜榪炴帴鍗沖皢鏂紑錛岀劧鍚庤鍔ㄦ柇寮鐨勫簲鐢ㄥ眰璋冪敤close鍏抽棴榪炴帴銆?

鎴戝彲浠ュ憡璇変綘錛屼竴鏃﹀綋浣犺皟鐢╟lose(or closesocket)錛岃繖涓绔氨浼氬彂閫丗IN鎶ユ枃銆備篃灝辨槸璇達紝鐜板湪琚姩
鍏抽棴鐨勪竴绔篃鍙戦丗IN緇欎富鍔ㄥ叧闂銆傛湁鏃跺欙紝琚姩鍏抽棴绔細灝咥CK鍜孎IN涓や釜鎶ユ枃鍚堝湪涓璧峰彂閫併備富鍔?/span>
鍏抽棴绔敹鍒癋IN鍚庝篃鍙戦丄CK錛岀劧鍚庢暣涓繛鎺ュ叧闂?浜嬪疄涓婅繕娌″畬鍏ㄥ叧闂紝鍙槸鍏抽棴闇瑕佷氦鎹㈢殑鎶ユ枃鍙戦?/span>
瀹屾瘯)錛屽洓嬈℃彙鎵嬪畬鎴愩傚浣犳墍瑙侊紝鍥犱負琚姩鍏抽棴绔彲鑳戒細灝咥CK鍜孎IN鍚堝埌涓璧峰彂閫侊紝鎵浠ヨ繖涔熺畻涓嶄笂
涓ユ牸鐨勫洓嬈℃彙鎵?--鍥涗釜鎶ユ枃孌點?

鍦ㄥ墠闈㈢殑鏂囩珷涓紝鎴戜竴鐩存病鎻怲CP鐨勭姸鎬佽漿鎹€傚湪榪欓噷鎴戣繕鏄湪鐘硅鮑鏄笉鏄灝嗛偅寮犲洓澶勯氱敤鐨勫浘鎷垮嚭鏉ワ紝
涓嶈繃錛岃繖閲屾垜鍙粰鍑烘柇寮榪炴帴鏃剁殑鐘舵佽漿鎹㈠浘錛屾憳鑷?lt;The TCP/IP Guide>錛?

 

緇欏嚭涓涓甯稿叧闂椂鐨剋indump淇℃伅錛?/span>

14:00:38.819856 IP cd-zhangmin.1748 > 220.181.37.55.80: F 1:1(0) ack 1 win 65535
14:00:38.863989 IP 220.181.37.55.80 > cd-zhangmin.1748: F 1:1(0) ack 2 win 2920
14:00:38.864412 IP cd-zhangmin.1748 > 220.181.37.55.80: . ack 2 win 65535 

 

琛ュ厖緇嗚妭錛?/strong>

鍏充簬浠ヤ笂鐨勫洓嬈℃彙鎵嬶紝鎴戣ˉ鍏呬笅緇嗚妭錛?/span>
1. 榛樿鎯呭喌涓?涓嶆敼鍙榮ocket閫夐」)錛屽綋浣犺皟鐢╟lose( or closesocket錛屼互涓嬭close涓嶅啀閲嶅)鏃訛紝濡傛灉
鍙戦佺紦鍐蹭腑榪樻湁鏁版嵁錛孴CP浼氱戶緇妸鏁版嵁鍙戦佸畬銆?/span>
2. 鍙戦佷簡FIN鍙槸琛ㄧず榪欑涓嶈兘緇х畫鍙戦佹暟鎹?搴旂敤灞備笉鑳藉啀璋冪敤send鍙戦?錛屼絾鏄繕鍙互鎺ユ敹鏁版嵁銆?/span>
3. 搴旂敤灞傚浣曠煡閬撳绔叧闂紵閫氬父錛屽湪鏈綆鍗曠殑闃誨妯″瀷涓紝褰撲綘璋冪敤recv鏃訛紝濡傛灉榪斿洖0錛屽垯琛ㄧず瀵圭
鍏抽棴銆傚湪榪欎釜鏃跺欓氬父鐨勫仛娉曞氨鏄篃璋冪敤close錛岄偅涔圱CP灞傚氨鍙戦丗IN錛岀戶緇畬鎴愬洓嬈℃彙鎵嬨傚鏋滀綘涓嶈皟鐢?/span>
close錛岄偅涔堝绔氨浼氬浜嶧IN_WAIT_2鐘舵侊紝鑰屾湰绔垯浼氬浜嶤LOSE_WAIT鐘舵併傝繖涓彲浠ュ啓浠g爜璇曡瘯銆?/span>
4. 鍦ㄥ緢澶氭椂鍊欙紝TCP榪炴帴鐨勬柇寮閮戒細鐢盩CP灞傝嚜鍔ㄨ繘琛岋紝渚嬪浣燙TRL+C緇堟浣犵殑紼嬪簭錛孴CP榪炴帴渚濈劧浼氭甯稿叧
闂紝浣犲彲浠ュ啓浠g爜璇曡瘯銆?

鐗瑰埆鐨凾IME_WAIT鐘舵侊細

浠庝互涓奣CP榪炴帴鍏抽棴鐨勭姸鎬佽漿鎹㈠浘鍙互鐪嬪嚭錛屼富鍔ㄥ叧闂殑涓鏂瑰湪鍙戦佸畬瀵瑰鏂笷IN鎶ユ枃鐨勭‘璁?ACK)鎶ユ枃鍚庯紝
浼氳繘鍏IME_WAIT鐘舵併俆IME_WAIT鐘舵佷篃縐頒負2MSL鐘舵併?

浠涔堟槸2MSL錛烳SL鍗矼aximum Segment Lifetime錛屼篃灝辨槸鎶ユ枃鏈澶х敓瀛樻椂闂達紝寮曠敤<TCP/IP璇﹁В>涓殑璇濓細“
瀹?MSL)鏄換浣曟姤鏂囨琚涪寮冨墠鍦ㄧ綉緇滃唴鐨勬渶闀挎椂闂淬?#8221;閭d箞錛?MSL涔熷氨鏄繖涓椂闂寸殑2鍊嶃傚叾瀹炴垜瑙夊緱娌?/span>
蹇呰鎶婅繖涓狹SL鐨勭‘鍒囧惈涔夋悶鏄庣櫧錛屼綘鎵闇瑕佹槑鐧界殑鏄紝褰揟CP榪炴帴瀹屾垚鍥涗釜鎶ユ枃孌電殑浜ゆ崲鏃訛紝涓誨姩鍏抽棴鐨?/span>
涓鏂瑰皢緇х畫絳夊緟涓瀹氭椂闂?2-4鍒嗛挓)錛屽嵆浣夸袱绔殑搴旂敤紼嬪簭緇撴潫銆備綘鍙互鍐欎唬鐮佽瘯璇曪紝鐒跺悗鐢╪etstat鏌ョ湅涓嬨?

涓轟粈涔堥渶瑕?MSL錛熸牴鎹?lt;TCP/IP璇﹁В>鍜?lt;The TCP/IP Guide>涓殑璇存硶錛屾湁涓や釜鍘熷洜錛?/span>
鍏朵竴錛屼繚璇佸彂閫佺殑ACK浼氭垚鍔熷彂閫佸埌瀵規柟錛屽浣曚繚璇侊紵鎴戣寰楀彲鑳芥槸閫氳繃瓚呮椂璁℃椂鍣ㄥ彂閫併傝繖涓氨寰堥毦鐢?/span>
浠g爜婕旂ず浜嗐?/span>
鍏朵簩錛屾姤鏂囧彲鑳戒細琚販娣嗭紝鎰忔濇槸璇達紝鍏朵粬鏃跺欑殑榪炴帴鍙兘浼氳褰撲綔鏈鐨勮繛鎺ャ傜洿鎺ュ紩鐢?lt;The TCP/IP Guide>
鐨勮娉曪細The second is to provide a “buffering period” between the end of this connection
and any subsequent ones. If not for this period, it is possible that packets from different
connections could be mixed, creating confusion.

TIME_WAIT鐘舵佹墍甯︽潵鐨勫獎鍝嶏細

褰撴煇涓繛鎺ョ殑涓绔浜嶵IME_WAIT鐘舵佹椂錛岃榪炴帴灝嗕笉鑳藉啀琚嬌鐢ㄣ備簨瀹炰笂錛屽浜庢垜浠瘮杈冩湁鐜板疄鎰忎箟鐨?/span>
鏄紝榪欎釜绔彛灝嗕笉鑳藉啀琚嬌鐢ㄣ傛煇涓鍙e浜嶵IME_WAIT鐘舵?鍏跺疄搴旇鏄繖涓繛鎺?鏃訛紝榪欐剰鍛崇潃榪欎釜TCP
榪炴帴騫舵病鏈夋柇寮(瀹屽叏鏂紑)錛岄偅涔堬紝濡傛灉浣燽ind榪欎釜绔彛錛屽氨浼氬け璐ャ?

瀵逛簬鏈嶅姟鍣ㄨ岃█錛屽鏋滄湇鍔″櫒紿佺劧crash鎺変簡錛岄偅涔堝畠灝嗘棤娉曞啀2MSL鍐呴噸鏂板惎鍔紝鍥犱負bind浼氬け璐ャ傝В鍐寵繖
涓棶棰樼殑涓涓柟娉曞氨鏄緗畇ocket鐨凷O_REUSEADDR閫夐」銆傝繖涓夐」鎰忓懗鐫浣犲彲浠ラ噸鐢ㄤ竴涓湴鍧銆?

瀵逛簬TIME_WAIT鐨勬彃鏇詫細

褰撳緩绔嬩竴涓猅CP榪炴帴鏃訛紝鏈嶅姟鍣ㄧ浼氱戶緇敤鍘熸湁绔彛鐩戝惉錛屽悓鏃剁敤榪欎釜绔彛涓庡鎴風閫氫俊銆傝屽鎴風榛樿鎯呭喌
涓嬩細浣跨敤涓涓殢鏈虹鍙d笌鏈嶅姟鍣ㄧ鐨勭洃鍚鍙i氫俊銆傛湁鏃跺欙紝涓轟簡鏈嶅姟鍣ㄧ鐨勫畨鍏ㄦэ紝鎴戜滑闇瑕佸瀹㈡埛绔繘琛?/span>
楠岃瘉錛屽嵆闄愬畾鏌愪釜IP鏌愪釜鐗瑰畾绔彛鐨勫鎴風銆傚鎴風鍙互浣跨敤bind鏉ヤ嬌鐢ㄧ壒瀹氱殑绔彛銆?

瀵逛簬鏈嶅姟鍣ㄧ錛屽綋璁劇疆浜哠O_REUSEADDR閫夐」鏃訛紝瀹冨彲浠ュ湪2MSL鍐呭惎鍔ㄥ茍listen鎴愬姛銆備絾鏄浜庡鎴風錛屽綋浣?/span>
鐢╞ind騫惰緗甋O_REUSEADDR鏃訛紝濡傛灉鍦?MSL鍐呭惎鍔紝铏界劧bind浼氭垚鍔燂紝浣嗘槸鍦╳indows騫沖彴涓奵onnect浼氬け璐ャ?/span>
鑰屽湪linux涓婂垯涓嶅瓨鍦ㄨ繖涓棶棰樸?鎴戠殑瀹為獙騫沖彴錛歸inxp, ubuntu7.10)

瑕佽В鍐硍indows騫沖彴鐨勮繖涓棶棰橈紝鍙互璁劇疆SO_LINGER閫夐」銆係O_LINGER閫夐」鍐沖畾璋冪敤close鏃訛紝TCP鐨勮涓恒?/span>
SO_LINGER娑夊強鍒發inger緇撴瀯浣擄紝濡傛灉璁劇疆緇撴瀯浣撲腑l_onoff涓洪潪0錛宭_linger涓?錛岄偅涔堣皟鐢╟lose鏃禩CP榪炴帴
浼氱珛鍒繪柇寮錛孴CP涓嶄細灝嗗彂閫佺紦鍐蹭腑鏈彂閫佺殑鏁版嵁鍙戦侊紝鑰屾槸绔嬪嵆鍙戦佷竴涓猂ST鎶ユ枃緇欏鏂癸紝榪欎釜鏃跺橳CP榪?/span>
鎺ュ氨涓嶄細榪涘叆TIME_WAIT鐘舵併?

濡備綘鎵瑙侊紝榪欐牱鍋氳櫧鐒惰В鍐充簡闂錛屼絾鏄茍涓嶅畨鍏ㄣ傞氳繃浠ヤ笂鏂瑰紡璁劇疆SO_LINGER鐘舵侊紝絳夊悓浜庤緗甋O_DONTLINGER
鐘舵併?

鏂紑榪炴帴鏃剁殑鎰忓錛?/strong>
榪欎釜綆椾笉涓婃柇寮榪炴帴鏃剁殑鎰忓錛屽綋TCP榪炴帴鍙戠敓涓浜涚墿鐞嗕笂鐨勬剰澶栨儏鍐墊椂錛屼緥濡傜綉綰挎柇寮錛宭inux涓婄殑TCP瀹炵幇
浼氫緷鐒惰涓鴻榪炴帴鏈夋晥錛岃寃indows鍒欎細鍦ㄤ竴瀹氭椂闂村悗榪斿洖閿欒淇℃伅銆?

榪欎技涔庡彲浠ラ氳繃璁劇疆SO_KEEPALIVE閫夐」鏉ヨВ鍐籌紝涓嶈繃涓嶇煡閬撹繖涓夐」鏄惁瀵逛簬鎵鏈夊鉤鍙伴兘鏈夋晥銆?

鎬葷粨錛?/strong>

涓漢鎰熻錛岃秺鍐欒秺鐑傘傛帴涓嬫潵浼氳鍒癟CP鐨勬暟鎹彂閫侊紝榪欎細娑夊強鍒版粦鍔ㄧ獥鍙e悇縐嶅畾鏃跺櫒涔嬬被鐨勪笢瑗褲傛垜鐪熻瘹
甯屾湜鍚勪綅鑳藉澶氭彁鎰忚銆傚浜嶵CP榪炴帴鐨勬柇寮錛屾垜浠彧瑕佹竻妤氾細
1. 鍦ㄩ粯璁ゆ儏鍐典笅錛岃皟鐢╟lose鏃禩CP浼氱戶緇皢鏁版嵁鍙戦佸畬姣曪紱
2. TIME_WAIT鐘舵佷細瀵艱嚧鐨勯棶棰橈紱
3. 榪炴帴鎰忓鏂紑鏃跺彲鑳戒細鍑虹幇鐨勯棶棰樸?/span>
4. maybe more...

鏈枃杞嚜錛?a href="http://www.shnenglu.com/kevinlynx/archive/2008/05/14/49825.html">http://www.shnenglu.com/kevinlynx/archive/2008/05/14/49825.html



]]>
tcp瑕佺偣瀛︿範-寤虹珛榪炴帴 http://www.shnenglu.com/wanghaiguang/archive/2012/09/20/191379.html鐜嬫搗鍏?/dc:creator>鐜嬫搗鍏?/author>Thu, 20 Sep 2012 04:56:00 GMThttp://www.shnenglu.com/wanghaiguang/archive/2012/09/20/191379.htmlhttp://www.shnenglu.com/wanghaiguang/comments/191379.htmlhttp://www.shnenglu.com/wanghaiguang/archive/2012/09/20/191379.html#Feedback0http://www.shnenglu.com/wanghaiguang/comments/commentRss/191379.htmlhttp://www.shnenglu.com/wanghaiguang/services/trackbacks/191379.htmlAuthor : Kevin Lynx

鍑嗗錛?/strong>

鍦ㄨ繖閲屾湰鏂囧皢閬靛驚涓婁竴綃囨枃绔犵殑椋庢牸錛屽彧鎻怲CP鍗忚涓殑瑕佺偣錛岃繖鏍鋒垜瑙夊緱鍙互鏇村鏄撳湴鎺屾彙TCP銆傛垨鑰?/span>
鏍規湰璋堜笉涓婃帉鎻★紝瀵逛簬榪欑綰悊璁虹殑涓滆タ錛屽嵆浣夸綘鐜板湪鎺屾彙浜嗗啀澶氱殑緇嗚妭錛屼竴孌墊椂闂村悗涔熶細娣″繕銆?

鍦ㄤ互鍚庡悇縐嶇粏鑺備腑錛屽洜涓烘垜浠細娑夊強鍒板垎鏋愪竴浜汿CP涓殑鏁版嵁鎶ワ紝鍥犳涓涓崗璁寘鎴幏宸ュ叿蹇呬笉鍙皯銆傚湪
<TCP/IP璇﹁В>涓竴鐩翠嬌鐢╰cpdump銆傝繖閲屽洜涓烘垜鐨勭郴緇熸槸windows錛屾墍浠ュ彧濂戒嬌鐢╳indows騫沖彴鐨則cpdump錛?/span>
涔熷氨鏄?/span>WinDump銆傚湪浣跨敤WinDump涔嬪墠錛屼綘闇瑕佸畨瑁呰紼嬪簭浣跨敤鐨勫簱WinpCap銆?

鍏充簬WinDump鐨勫叿浣撶敤娉曚綘鍙互浠庣綉涓婂叾浠栧湴鏂硅幏鍙栵紝榪欓噷鎴戝彧紼嶅井鎻愪竴涓嬨傝璁¦inDump寮濮嬬洃鍚暟鎹紝
棣栧厛闇瑕佺‘瀹氳鍏剁洃鍚摢涓涓綉緇滆澶?鎴栬呰鏄綉緇滄帴鍙?銆備綘鍙互:

windump -D

鑾峰彇褰撳墠鏈哄櫒涓婄殑緗戠粶鎺ュ彛銆傜劧鍚庝嬌鐢細

windump -i 2 

寮濮嬪緗戠粶鎺ュ彛2鐨勬暟鎹洃鍚倃indump濡傚悓tcpdump(鍏跺疄灝辨槸tcpdump)涓鏍鋒敮鎸佽繃婊よ〃杈懼紡錛寃indump
灝嗕細鏍規嵁浣犳彁渚涚殑榪囨護琛ㄨ揪寮忚繃婊や笉闇瑕佺殑緗戠粶鏁版嵁鍖咃紝渚嬪錛?

windump -i 2 port 4000 

閭d箞windump鍙細鏄劇ず绔彛鍙蜂負4000鐨勭綉緇滄暟鎹?

搴忓彿鍜岀‘璁ゅ彿錛?/strong>

瑕佽瑙CP鐨勫緩绔嬭繃紼嬶紝涔熷氨鏄偅涓墍璋撶殑涓夋鎻℃墜錛屽氨浼氭秹鍙婂埌搴忓彿鍜岀‘璁ゅ彿榪欎袱涓笢瑗褲傜炕涔﹀埌TCP
鐨勬姤鏂囧ご錛屾湁涓や釜寰堥噸瑕佺殑鍩?閮芥槸32浣?灝辨槸搴忓彿鍩熷拰紜鍙峰煙銆傚彲鑳芥湁浜涘悓瀛︿細瀵筎CP閭d釜鎶ユ枃澶存湁鎵
鐤戞儜(鑳界湅鎳傛垜鍦ㄨ浠涔堢殑浼氫駭鐢熻繖鏍風殑鐤戞儜涔堬紵)錛岃繖閲屾垜鍙互鍛婅瘔浣狅紝浣犲彲浠ュ亣鎯砊CP鐨勬姤鏂囧ご灝辨槸涓?/span>
C璇█緇撴瀯浣?鍋囨兂鑰屽凡錛屽幓緲葷炕bsd瀵筎CP鐨勫疄鐜幫紝鑲畾娌¤繖涔堢畝鍗?錛岄偅涔堝ぇ鑷翠笂錛屾墍璋撶殑TCP鎶ユ枃澶村氨鏄細

typedef struct _tcp_header
{
   
/// 16浣嶆簮绔彛鍙?/span>
    unsigned short src_port;
   
/// 16浣嶇洰鐨勭鍙e彿
    unsigned short dst_port;
   
/// 32浣嶅簭鍙?/span>
    unsigned long seq_num;
   
/// 32浣嶇‘璁ゅ彿
    unsigned long ack_num;
   
/// 16浣嶆爣蹇椾綅[4浣嶉閮ㄩ暱搴︼紝淇濈暀6浣嶏紝ACK銆丼YN涔嬬被鐨勬爣蹇椾綅]
    unsigned short flag;
   
/// 16浣嶇獥鍙eぇ灝?/span>
    unsigned short win_size;
   
/// 16浣嶆牎楠屽拰
    short crc_sum;
   
/// 16浣嶇揣鎬ユ寚閽?/span>
    short ptr;
   
/// 鍙夐夐」
   
/// how to implement this ?   

}
tcp_header;

閭d箞錛岃繖涓簭鍙峰拰紜鍙鋒槸浠涔堬紵TCP鎶ユ枃涓烘瘡涓涓瓧鑺傞兘璁劇疆涓涓簭鍙鳳紝瑙夊緱寰堝鎬紵榪欓噷騫朵笉鏄負姣忎竴
瀛楄妭闄勫姞涓涓簭鍙?閭d細鏄涔堝彲絎戠殑緙栫▼鎵嬫硶?)錛岃屾槸涓轟竴涓猅CP鎶ユ枃闄勫姞涓涓簭鍙鳳紝榪欎釜搴忓彿琛ㄧず鎶ユ枃
涓暟鎹殑絎竴涓瓧鑺傜殑搴忓彿錛岃屽叾浠栨暟鎹垯鏄牴鎹絎竴涓暟鎹殑鍋忕Щ鏉ュ喅瀹氬簭鍙風殑錛屼緥濡傦紝鐜板湪鏈夋暟鎹細
abcd銆傚鏋滆繖孌墊暟鎹殑搴忓彿涓?200錛岄偅涔坅鐨勫簭鍙峰氨鏄?200錛宐鐨勫簭鍙峰氨鏄?201銆傝孴CP鍙戦佺殑涓嬩竴涓暟鎹寘
鐨勫簭鍙峰氨浼氭槸涓婁竴涓暟鎹寘鏈鍚庝竴涓瓧鑺傜殑搴忓彿鍔犱竴銆備緥濡俥fghi鏄痑bcd鐨勪笅涓涓暟鎹寘錛岄偅涔堝畠鐨勫簭鍙峰氨
鏄?204銆傞氳繃榪欑鐪嬩技綆鍗曠殑鏂規硶錛孴CP灝卞疄鐜頒簡涓烘瘡涓涓瓧鑺傝緗簭鍙風殑鍔熻兘(緇堜簬鏄庣櫧涓轟粈涔堜功涓婅鍛婅瘔
鎴戜滑‘涓烘瘡涓涓瓧鑺傝緗竴涓簭鍙?#8217;浜嗗惂?)銆傛敞鎰忥紝璁劇疆搴忓彿鏄竴縐嶅彲浠ヨTCP鎴愪負’鍙潬鍗忚‘鐨勬墜孌點?/span>
TCP涓悇縐嶄貢涓冨叓緋熺殑涓滆タ閮芥槸鏈夌洰鐨勭殑錛屽ぇ閮ㄥ垎鐩殑榪樻槸涓轟簡’鍙潬‘涓や釜瀛椼傚埆鎶奣CP鐪嬮珮娣變簡錛屽鏋?/span>
璁╀綘鏉ヨ璁′竴涓綉緇滃崗璁紝鐩殑闇瑕佸憡璇変綘鏄?#8217;鍙潬鐨?#8216;錛屼綘灝變細鏄庣櫧涓轟粈涔堜細浜х敓閭d簺涔變竷鍏碂鐨勪笢瑗夸簡銆?

鎺ョ潃鐪嬶紝紜鍙鋒槸浠涔堬紵鍥犱負TCP浼氬鎺ユ敹鍒扮殑鏁版嵁鍖呰繘琛岀‘璁わ紝鍙戦佺‘璁ゆ暟鎹寘鏃訛紝灝變細璁劇疆榪欎釜紜鍙鳳紝
紜鍙烽氬父琛ㄧず鎺ユ敹鏂瑰笇鏈涙帴鏀跺埌鐨勪笅涓孌墊姤鏂囩殑搴忓彿銆備緥濡傛煇涓嬈℃帴鏀舵柟鏀跺埌搴忓彿涓?200鐨?瀛楄妭鏁頒婦鎶ワ紝
閭d箞瀹冨彂閫佺‘璁ゆ姤鏂囩粰鍙戦佹柟鏃訛紝灝變細璁劇疆紜鍙蜂負1204銆?

澶ч儴鍒嗕功涓婂湪璁茬‘璁ゅ彿鍜屽簭鍙鋒椂錛岄兘浼氳紜鍙鋒槸搴忓彿鍔犱竴銆傝繖鍏跺疄鏈夌偣璇В浜猴紝鎵浠ユ垜鎵嶅湪榪欓噷搴熻瘽浜?/span>
鍗婂ぉ(楂樻墜瀹藉涓?D)銆?

寮濮嬩笁嬈℃彙鎵嬶細

濡傛灉浣犺繕涓嶄細綆鍗曠殑tcp socket緙栫▼錛屾垜寤鴻浣犲厛鍘誨瀛︼紝榪欏氨濂芥瘮浣犱笉浼欳++鍩烘湰璇硶錛屽氨鍒幓鐮旂┒vtable
涔嬬被銆?

涓夋鎻℃墜寮濮嬩簬瀹㈡埛绔瘯鍥捐繛鎺ユ湇鍔″櫒绔傚綋浣犺皟鐢ㄨ濡俢onnect鐨勫嚱鏁版椂錛屾甯告儏鍐典笅灝變細寮濮嬩笁嬈℃彙鎵嬨?/span>
闅忎究鍦ㄧ綉涓婃壘寮犱笁嬈℃彙鎵嬬殑鍥撅細

connection

濡傚墠鏂囨墍榪幫紝涓夋鎻℃墜涔熷氨鏄駭鐢熶簡涓変釜鏁版嵁鍖呫傚鎴風涓誨姩榪炴帴錛屽彂閫丼YN琚緗簡鐨勬姤鏂?娉ㄦ剰搴忓彿鍜?/span>
紜鍙鳳紝鍥犱負榪?/span>閲屼笉鍖呭惈鐢ㄦ埛鏁版嵁錛屾墍浠ュ簭鍙峰拰紜鍙峰氨鏄姞涓鍑忎竴鐨勫叧緋?銆傛湇鍔″櫒绔敹鍒拌鎶ユ枃鏃訛紝姝?/span>
甯告儏鍐典笅灝卞彂閫丼YN鍜孉CK琚緗簡鐨勬姤鏂囦綔涓虹‘璁わ紝浠ュ強鍛婅瘔瀹㈡埛绔細鎴戞兂鎵撳紑鎴戣繖杈圭殑榪炴帴(鍙屽伐)銆傚鎴?/span>
绔簬鏄啀瀵規湇鍔″櫒绔殑SYN榪涜紜錛屼簬鏄啀鍙戦丄CK鎶ユ枃銆傜劧鍚庤繛鎺ュ緩绔嬪畬姣曘傚浜庨樆濉炲紡socket鑰岃█錛屼綘
鐨刢onnect鍙兘灝辮繑鍥炴垚鍔熺粰浣犮?

鍦ㄨ繘琛屼簡閾哄ぉ鐩栧湴鐨勭綏鍒╁反绱㈢殑鍩虹姒傚康鐨勮瑙e悗錛岀湅鐪嬭繖涓繛鎺ュ緩绔嬬殑榪囩▼錛屾槸涓嶆槸綆鍗曞緱鍑犺繎鏃犺亰錛?

鎴戜滑鏉ュ疄闄呯偣錛屽啓涓渶綆鍗曠殑瀹㈡埛绔唬鐮侊細

   sockaddr_in addr;
    memset(
&addr, 0, sizeof( addr ) );
    addr.sin_family
= AF_INET;
    addr.sin_port
= htons( 80 );
   
/// 220.181.37.55
    addr.sin_addr.s_addr = inet_addr( "220.181.37.55" );
    printf(
"%s : connecting to server.\n", _str_time() );
   
int err = connect( s, (sockaddr*) &addr, sizeof( addr ) );

涓昏灝辨槸connect銆傝繍琛岀▼搴忓墠鎴戜滑榪愯windump錛?

windump -i 2 host 220.181.37.55 

 

00:38:22.979229 IP noname.domain.4397 > 220.181.37.55.80: S 2523219966:2523219966(0) win 65535 <mss 1460,nop,nop,sackOK>
00:38:23.024254 IP 220.181.37.55.80 > noname.domain.4397: S 1277008647:1277008647(0) ack 2523219967 win 2920 <mss 1440,nop,nop,sackOK>
00:38:23.024338 IP noname.domain.4397 > 220.181.37.55.80: . ack 1 win 65535 

濡備綍鍒嗘瀽windump鐨勭粨鏋滐紝寤鴻鍙傜湅<tcp/ip璇﹁В>涓浜巘cpdump鐨勬弿榪般?

寤虹珛榪炴帴鐨勯檮鍔犱俊鎭細

铏界劧SYN銆丄CK涔嬬被鐨勬姤鏂囨病鏈夌敤鎴鋒暟鎹紝浣嗘槸TCP榪樻槸闄勫姞浜嗗叾浠栦俊鎭傛渶涓洪噸瑕佺殑灝辨槸闄勫姞鐨凪SS鍊箋傝繖涓?/span>
鍙互琚崗鍟嗙殑MSS鍊煎熀鏈笂灝卞彧鍦ㄥ緩绔嬭繛鎺ユ椂鍗忓晢銆傚浠ヤ笂鏁版嵁琛ㄧず錛孧SS涓?460瀛楄妭銆?

榪炴帴鐨勬剰澶栵細

榪炴帴鐨勬剰澶栨垜澶ц嚧鍒嗕負涓ょ鎯呭喌(涔熻榪樻湁鏇村鎯呭喌)錛氱洰鐨勪富鏈轟笉鍙揪銆佺洰鐨勪富鏈哄茍娌℃湁鍦ㄦ寚瀹氱鍙g洃鍚?/span>
褰撶洰鐨勪富鏈轟笉鍙揪鏃訛紝涔熷氨鏄錛孲YN鎶ユ枃孌墊牴鏈棤娉曞埌杈懼鏂?濡傛灉浣犵殑鏈哄櫒鏍規湰娌℃彃緗戠嚎錛屼綘灝變笉鍙揪)錛?/span>
閭d箞TCP鏀朵笉鍒頒換浣曞洖澶嶆姤鏂囥傝繖涓椂鍊欙紝浣犱細鐪嬪埌TCP涓殑瀹氭椂鍣ㄦ満鍒跺嚭鐜頒簡銆俆CP瀵瑰彂鍑虹殑SYN鎶ユ枃榪涜
璁℃椂錛屽綋鍦ㄦ寚瀹氭椂闂村唴娌℃湁寰楀埌鍥炲鎶ユ枃鏃訛紝TCP灝變細閲嶄紶鍒氭墠鐨凷YN鎶ユ枃銆傞氬父錛屽悇縐嶄笉鍚岀殑TCP瀹炵幇瀵逛簬
榪欎釜瓚呮椂鍊奸兘涓嶅悓錛屼絾鏄嵁鎴戣瀵燂紝閲嶄紶嬈℃暟鍩烘湰涓婇兘鏄?嬈°備緥濡傦紝鎴戣繛鎺ヤ竴涓笉鍙揪鐨勪富鏈猴細

12:39:50.560690 IP cd-zhangmin.1573 > 220.181.37.55.1024: S 3117975575:3117975575(0) win 65535 <mss 1460,nop,nop,sackOK>
12:39:53.538734 IP cd-zhangmin.1573 > 220.181.37.55.1024: S 3117975575:3117975575(0) win 65535 <mss 1460,nop,nop,sackOK>
12:39:59.663726 IP cd-zhangmin.1573 > 220.181.37.55.1024: S 3117975575:3117975575(0) win 65535 <mss 1460,nop,nop,sackOK>

鍙戝嚭浜嗕笁涓簭鍙蜂竴鏍風殑SYN鎶ユ枃錛屼絾鏄病鏈夊緱鍒頒竴涓洖澶嶆姤鏂?搴熻瘽)銆傛瘡涓涓猄YN鎶ユ枃涔嬮棿鐨勯棿闅旀椂闂撮兘鏄?/span>
鏈夎寰嬬殑錛屽湪windows涓婃槸3縐?縐?縐?2縐掋備笂闈㈢殑鏁版嵁浣犵湅涓嶅埌12縐掕繖涓暟鎹紝鍥犱負榪欐槸絎笁涓姤鏂囧彂鍑虹殑
鏃墮棿鍜宑onnect榪斿洖閿欒淇℃伅鏃剁殑鏃墮棿涔嬪樊銆傚彟涓鏂歸潰錛屽鏋滆繛鎺ュ悓涓涓綉緇滐紝榪欎釜闂撮殧鏃墮棿鍙堜笉鍚屻備緥濡?/span>
鐩存帴榪炲眬鍩熺綉錛岄棿闅旀椂闂村氨宸笉澶氫負500ms銆?

(鎴戝己鐑堝緩璁綘鑳借繍琛寃indump鍘昏瘯楠岃繖閲屾彁鍒扮殑姣忎竴涓幇璞★紝濡傛灉浣犲湪ubuntu涓嬩嬌鐢╰cpdump錛岃浣弒udo :D)

鍑虹幇鎰忓鐨勭浜岀鎯呭喌鏄鏋滀富鏈烘暟鎹寘鍙揪錛屼絾鏄瘯鍥捐繛鎺ョ殑绔彛鏍規湰娌℃湁鐩戝惉錛岄偅涔堝彂閫丼YN鎶ユ枃鐨勮繖
鏂逛細鏀跺埌RST琚緗殑鎶ユ枃(connect涔熶細榪斿洖鐩稿簲鐨勪俊鎭粰浣?錛屼緥濡傦細

13:37:22.202532 IP cd-zhangmin.1658 > 7AURORA-CCTEST.7100: S 2417354281:2417354281(0) win 65535 <mss 1460,nop,nop,sackOK>
13:37:22.202627 IP 7AURORA-CCTEST.7100 > cd-zhangmin.1658: R 0:0(0) ack 2417354282 win 0
13:37:22.711415 IP cd-zhangmin.1658 > 7AURORA-CCTEST.7100: S 2417354281:2417354281(0) win 65535 <mss 1460,nop,nop,sackOK>
13:37:22.711498 IP 7AURORA-CCTEST.7100 > cd-zhangmin.1658: R 0:0(0) ack 1 win 0
13:37:23.367733 IP cd-zhangmin.1658 > 7AURORA-CCTEST.7100: S 2417354281:2417354281(0) win 65535 <mss 1460,nop,nop,sackOK>
13:37:23.367826 IP 7AURORA-CCTEST.7100 > cd-zhangmin.1658: R 0:0(0) ack 1 win 0 

鍙互鐪嬪嚭錛?AURORA-CCTEST.7100榪斿洖浜哛ST鎶ユ枃緇欐垜錛屼絾鏄垜榪欒竟鏍規湰涓嶅湪涔庤繖涓姤鏂囷紝緇х畫鍙戦丼YN鎶ユ枃銆?/span>
涓夋榪囧悗connect灝辮繑鍥炰簡銆?鏁版嵁鍙嶆槧鐨勪簨瀹炴槸榪欐牱)

鍏充簬listen:

TCP鏈嶅姟鍣ㄧ浼氱淮鎶や竴涓柊榪炴帴鐨勯槦鍒椼傚綋鏂拌繛鎺ヤ笂鐨勫鎴風涓夋鎻℃墜瀹屾垚鏃訛紝灝變細灝嗗叾鏀懼叆榪欎釜闃熷垪銆傝繖涓槦

鍒楃殑澶у皬鏄氳繃listen璁劇疆鐨勩傚綋榪欎釜闃熷垪婊℃椂錛屽鏋滄湁鏂扮殑瀹㈡埛绔瘯鍥捐繛鎺ワ紙鍙戦丼YN錛夛紝鏈嶅姟鍣ㄧ涓㈠純鎶ユ枃錛?

鍚屾椂涓嶅仛浠諱綍鍥炲銆?

鎬葷粨錛?/strong>
TCP榪炴帴鐨勫緩绔嬬殑鐩稿叧瑕佺偣灝辨槸榪欎簺(or more?)銆傛甯告儏鍐典笅灝辨槸涓夋鎻℃墜錛岄潪姝e父鎯呭喌涓嬪氨鏄疭YN涓夋瓚呮椂錛?/span>
浠ュ強鏀跺埌RST鎶ユ枃鍗磋蹇界暐銆?

鏈枃杞嚜錛?a href="http://www.shnenglu.com/kevinlynx/archive/2008/05/11/49482.html">http://www.shnenglu.com/kevinlynx/archive/2008/05/11/49482.html



]]>
欧美久久亚洲精品| 99久久国产热无码精品免费| 国产精品免费久久久久影院| 久久99精品国产麻豆不卡| 欧美午夜A∨大片久久 | 国内精品久久久久影院日本 | 久久av免费天堂小草播放| 久久99国产精品久久99小说| 香蕉久久av一区二区三区| 久久精品国产半推半就| 精品久久久久久久久免费影院| 777米奇久久最新地址| 武侠古典久久婷婷狼人伊人| 久久精品国产亚洲网站| 人妻无码精品久久亚瑟影视| 777久久精品一区二区三区无码| 99精品国产免费久久久久久下载| 69SEX久久精品国产麻豆| 久久中文字幕人妻丝袜| 久久精品国产72国产精福利| 97久久超碰成人精品网站| 狠狠色综合网站久久久久久久高清| 亚洲国产精品人久久| 久久久精品人妻一区二区三区蜜桃| 亚洲欧美久久久久9999| 久久九九久精品国产| 免费精品99久久国产综合精品| 日本久久久久亚洲中字幕| 亚洲日韩欧美一区久久久久我 | 久久久久久九九99精品| 久久这里都是精品| 久久久久亚洲AV无码专区网站 | 久久精品aⅴ无码中文字字幕不卡| 久久国产成人亚洲精品影院| 久久免费精品视频| 精品久久久久久久| 2021精品国产综合久久| 久久精品国产亚洲沈樵| 国产激情久久久久影院老熟女免费 | 久久AAAA片一区二区| 久久九九久精品国产|