青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

山寨:不是最好的,是最適合我們的!歡迎體驗(yàn)山寨 中文版MSDN

Blog @ Blog

當(dāng)華美的葉片落盡,生命的脈絡(luò)才歷歷可見。 -- 聶魯達(dá)

常用鏈接

統(tǒng)計(jì)

積分與排名

BBS

Blog

Web

最新評(píng)論

TCP/IP 數(shù)據(jù)包頭格式 (轉(zhuǎn))

最近狂補(bǔ)基礎(chǔ),猛看TCP/IP協(xié)議。不過,書上的東西太抽象了,沒有什么數(shù)據(jù)實(shí)例,看了不 久就忘了。于是,搬來一個(gè)sniffer,抓了數(shù)據(jù)包來看,呵呵,結(jié)合書里面得講解,理解得 比較快。我就來灌點(diǎn)基礎(chǔ)知識(shí)。 

  開始吧,先介紹IP協(xié)議。 

  IP協(xié)議(Internet Protocol)是網(wǎng)絡(luò)層協(xié)議,用在因特網(wǎng)上,TCP,UDP,ICMP,IGMP數(shù)據(jù)都是按照IP數(shù)據(jù)格式發(fā)送得。IP協(xié)議提供的是不可靠無連接得服務(wù)。IP數(shù)據(jù)包由一個(gè)頭部和一個(gè)正文部分構(gòu)成。正文主要是傳輸?shù)臄?shù)據(jù),我們主要來理解頭部數(shù)據(jù),可以從其理解到IP協(xié)議。 

  IP數(shù)據(jù)包頭部格式(RFC791)

  Example Internet Datagram Header 

  上面的就是IP數(shù)據(jù)的頭部格式,這里大概地介紹一下。 

  IP頭部由20字節(jié)的固定長(zhǎng)度和一個(gè)可選任意長(zhǎng)度部分構(gòu)成,以大段點(diǎn)機(jī)次序傳送,從左到 右。 

  TCP協(xié)議 

  TCP協(xié)議(TRANSMISSION CONTROL PROTOCOL)是傳輸層協(xié)議,為應(yīng)用層提供服務(wù),和UDP不同的是,TCP協(xié)議提供的可靠的面向連接的服務(wù)。在RFC793中是基本的TCP描述。關(guān)于TCP協(xié)議的頭部格式內(nèi)容的說明: 

  TCP Header FORMat 

 

  TCP Header FORMat 

  跟IP頭部差不多,基本的長(zhǎng)度也是20字節(jié)。TCP數(shù)據(jù)包是包含在一個(gè)IP數(shù)據(jù)報(bào)文中的。 

  好了,簡(jiǎn)單介紹到此為止。來看看我捕獲的例子吧。這是一次FTP的連接,呵呵,是cuteftp默認(rèn)的cuteftp的FTP站點(diǎn),IP地址是:216.3.226.21。我的IP地址假設(shè)為:192.168.1.1。下面的數(shù)據(jù)就是TCO/IP連接過程中的數(shù)據(jù)傳輸。我們可以分析TCP/IP協(xié)議數(shù)據(jù)格式以及TCP/IP連接的三次握手(ThreeWay-Handshake)情況。下面的這些十六進(jìn)制數(shù)據(jù)只是TCP/IP協(xié)議的數(shù)據(jù),不是完整的網(wǎng)絡(luò)通訊數(shù)據(jù)。 

  第一次,我向FTP站點(diǎn)發(fā)送連接請(qǐng)求(我把TCP數(shù)據(jù)的可選部分去掉了) 

  192.168.1.1->216.3.226.21 

  IP頭部: 45 00 00 30 52 52 40 00 80 06 2c 23 c0 a8 01 01 d8 03 e2 15 

  TCP頭部:0d 28 00 15 50 5f a9 06 00 00 00 00 70 02 40 00 c0 29 00 00 

  來看看IP頭部的數(shù)據(jù)是些什么。 

  第一字節(jié),“45”,其中“4”是IP協(xié)議的版本(Version),說明是IP4。“5”是IHL位,表示IP頭部的長(zhǎng)度,是一個(gè)4bit字段,最大就是1111了,值為12,IP頭部的最大長(zhǎng)度就是60字節(jié)。而這里為“5”,說明是20字節(jié),這是標(biāo)準(zhǔn)的IP頭部長(zhǎng)度,頭部報(bào)文中沒有發(fā)送可選部分?jǐn)?shù)據(jù)。 

  接下來的一個(gè)字節(jié)“00”是服務(wù)類型(Type of Service)。這個(gè)8bit字段由3bit的優(yōu)先權(quán)子字段(現(xiàn)在已經(jīng)被忽略),4 bit的TOS子字段以及1 bit的未用字段(現(xiàn)在為0)構(gòu)成.4 bit的TOS子字段包含:最小延時(shí)、最大吞吐量、最高可靠性以及最小費(fèi)用構(gòu)成,這四個(gè)1bit位最多只能有一個(gè)為1,本例中都為0,表示是一般服務(wù)。 

  接著的兩個(gè)字節(jié)“00 30”是IP數(shù)據(jù)報(bào)文總長(zhǎng),包含頭部以及數(shù)據(jù),這里表示48字節(jié)。這48字節(jié)由20字節(jié)的IP頭部以及28字節(jié)的TCP頭構(gòu)成(本來截取的TCP頭應(yīng)該是28字節(jié)的,其中8字節(jié)為可選部分,被我省去了)。因此目前最大的IP數(shù)據(jù)包長(zhǎng)度是65535字節(jié)。 

  再是兩個(gè)字節(jié)的標(biāo)志位(Identification):“5252”,轉(zhuǎn)換為十進(jìn)制就是21074。這個(gè)是讓目的主機(jī)來判斷新來的分段屬于哪個(gè)分組。 

  下一個(gè)字節(jié)“40”,轉(zhuǎn)換為二進(jìn)制就是“0100 0000”,其中第一位是IP協(xié)議目前沒有用上的,為0。接著的是兩個(gè)標(biāo)志DF和MF。DF為1表示不要分段,MF為1表示還有進(jìn)一步的分段(本例為0)。然后的“0 0000”是分段便移(Fragment Offset)。 

  “80”這個(gè)字節(jié)就是TTL(Time To Live)了,表示一個(gè)IP數(shù)據(jù)流的生命周期,用Ping顯示的結(jié)果,能得到TTL的值,很多文章就說通過TTL位來判別主機(jī)類型。因?yàn)橐话阒鳈C(jī)都有默認(rèn)的TTL值,不同系統(tǒng)的默認(rèn)值不一樣。比如WINDOWS為128。不過,一般Ping得到的都不是默認(rèn)值,這是因?yàn)槊看蜪P數(shù)據(jù)包經(jīng)過一個(gè)路由器的時(shí)候TTL就減一,當(dāng)減到0時(shí),這個(gè)數(shù)據(jù)包就消亡了。這也時(shí)Tracert的原理。本例中為“80”,轉(zhuǎn)換為十進(jìn)制就是128了,我用的WIN2000。 

  繼續(xù)下來的是“06”,這個(gè)字節(jié)表示傳輸層的協(xié)議類型(Protocol)。在RFC790中有定義,6表示傳輸層是TCP協(xié)議。 

  “2c 23”這個(gè)16bit是頭校驗(yàn)和(Header Checksum)。 

  接下來“c0 a8 01 01”,這個(gè)就是源地址(Source Address)了,也就是我的IP地址。

  轉(zhuǎn)換為十進(jìn)制的IP地址就是:192.168.1.1,同樣,繼續(xù)下來的32位“d8 03 e2 15”是目標(biāo)地址,216.3.226.21 

  好了,真累啊,終于看完基本的20字節(jié)的IP數(shù)據(jù)報(bào)頭了。繼續(xù)看TCP的頭部吧,這個(gè)是作為IP數(shù)據(jù)包的數(shù)據(jù)部分傳輸?shù)摹!?

  TCP頭部:0d 28 00 15 50 5f a9 06 00 00 00 00 70 02 40 00 c0 29 00 00 

  一來就是一個(gè)兩字節(jié)段“0d 28”,表示本地端口號(hào),轉(zhuǎn)換為十進(jìn)制就是3368。第二個(gè)兩字節(jié)段“00 15”表示目標(biāo)端口,因?yàn)槲沂沁B接FTP站點(diǎn),所以,這個(gè)就是21啦,十六進(jìn)制當(dāng)然就是“00 15”。 

  接下來的四個(gè)字節(jié)“50 5f a9 06”是順序號(hào)(Sequence Number),簡(jiǎn)寫為SEQ,SEQ=1348446470下面的四個(gè)字節(jié)“00 00 00 00”是確認(rèn)號(hào)(Acknowledgment Number),簡(jiǎn)寫為ACKNUM。 

  繼續(xù)兩個(gè)字節(jié),“70 02”,轉(zhuǎn)換為二進(jìn)制吧,“0111 0000 0000 0010”。這兩個(gè)字節(jié),總共16bit,有好多東西呢。第一個(gè)4bit“0111”,是TCP頭長(zhǎng),十進(jìn)制為7,表示28個(gè)字節(jié)(剛才說了,我省略了8字節(jié)的option數(shù)據(jù),所以你只看見了20字節(jié))。接著的6bit現(xiàn)在TCP協(xié)議沒有用上,都為0。最后的6bit“00 0010”是六個(gè)重要的標(biāo)志。這是兩個(gè)計(jì)算機(jī)數(shù)據(jù)交流的信息標(biāo)志。接收和發(fā)送斷根據(jù)這些標(biāo)志來確定信息流的種類。下面是一些介紹: 

  URG:(Urgent Pointer field significant)緊急指針。用到的時(shí)候值為1,用來處理避免TCP數(shù)據(jù)流中斷 

  ACK:(Acknowledgment fieldsignificant)置1時(shí)表示確認(rèn)號(hào)(AcknowledgmentNumber)為合法,為0的時(shí)候表示數(shù)據(jù)段不包含確認(rèn)信息,確認(rèn)號(hào)被忽略。 

  PSH:(Push Function),PUSH標(biāo)志的數(shù)據(jù),置1時(shí)請(qǐng)求的數(shù)據(jù)段在接收方得到后就可直接送到應(yīng)用程序,而不必等到緩沖區(qū)滿時(shí)才傳送。 

  RST:(Reset the connection)用于復(fù)位因某種原因引起出現(xiàn)的錯(cuò)誤連接,也用來拒絕非法數(shù)據(jù)和請(qǐng)求。如果接收到RST位時(shí)候,通常發(fā)生了某些錯(cuò)誤。 

  SYN:(Synchronize sequence numbers)用來建立連接,在連接請(qǐng)求中,SYN=1,ACK=0,連接響應(yīng)時(shí),SYN=1,ACK=1。即,SYN和ACK來區(qū)分Connection Request和Connection Accepted。 

  FIN:(No more data from sender)用來釋放連接,表明發(fā)送方已經(jīng)沒有數(shù)據(jù)發(fā)送了。 

  這6個(gè)標(biāo)志位,你們自己對(duì)號(hào)入座吧。本例中SYN=1,ACK=0,當(dāng)然就是表示連接請(qǐng)求了。我們可以注意下面兩個(gè)過程的這兩位的變換。 

  后面的“40 00 c0 29 00 00”不講了,呵呵,偷懶了。后面兩次通訊的數(shù)據(jù),自己分開看吧。我們看看連接的過程,一些重要地方的變化。 

  第二次,F(xiàn)TP站點(diǎn)返回一個(gè)可以連接的信號(hào)。 

  216.3.226.21->192.168.1.1 

  IP頭部: 45 00 00 2c c6 be 40 00 6a 06 cd ba d8 03 e2 15 c0 a8 01 01 

  TCP頭部:00 15 0d 28 4b 4f 45 c1 50 5f a9 07 60 12 20 58 64 07 00 00 

  第三次,我確認(rèn)連接。TCP連接建立起來。 

  192.168.1.1->216.3.226.21 

  IP頭部: 45 00 00 28 52 53 40 00 80 06 2c 2a c0 a8 01 01 d8 03 e2 15 

  TCP頭部:0d 28 00 15 50 5f a9 07 4b 4f 45 c2 50 10 40 b0 5b 1c 00 00 

  好,我們看看整個(gè)Threeway_handshake過程。 

  第一步,我發(fā)出連接請(qǐng)求,TCP數(shù)據(jù)為:SEQ=50 5f a9 06,ACKNUM=00 00 00 00,SYN=1,ACK=0。 

  第二步,對(duì)方確認(rèn)可以連接,TCP數(shù)據(jù)為:SEQ=4b 4f 45 c1,ACKNUM=50 5f a9 07,SYN=1,ACK=1。 

  第三步,我確認(rèn)建立連接。SEQ=50 5f a9 07, ACKNUM=4b 4f45c2,SYN=0,ACK=1。 

  可以看出什么變化么?正式建立連接了呢,這些東西是什么值? 

  我接收從216.3.226.21->192.168.1.1的下一個(gè)數(shù)據(jù)包中: 

  SEQ=4b 4f 45 c2,ACKNUM=50 5f a9 07,SYN=0,ACK=1這些都是很基礎(chǔ)的東西,對(duì)于編寫sniffer這樣的東西是必須非常熟悉的。這里只講解了TCP/IP協(xié)議的一點(diǎn)點(diǎn)東西,主要是頭部數(shù)據(jù)的格式

posted on 2008-05-16 14:50 isabc 閱讀(4327) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++基礎(chǔ)

廣告信息(免費(fèi)廣告聯(lián)系)

中文版MSDN:
歡迎體驗(yàn)

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美一级理论性理论a| 久久成人在线| 亚洲高清视频在线观看| 亚洲综合丁香| 亚洲一区二区精品在线| 欧美风情在线观看| 毛片基地黄久久久久久天堂| 国产精品一香蕉国产线看观看| 亚洲精品乱码视频| 亚洲激情在线播放| 久久一区二区三区四区| 久久男人资源视频| 国产亚洲高清视频| 亚洲永久精品国产| 亚洲综合色婷婷| 国产精品激情av在线播放| 亚洲美女毛片| 亚洲一二三区在线观看| 欧美天堂在线观看| 一本一道久久综合狠狠老精东影业| 日韩午夜在线| 欧美日韩天堂| 亚洲一区在线直播| 午夜精品一区二区三区四区| 欧美色一级片| 亚洲在线一区二区三区| 性欧美精品高清| 国产一区二区三区在线观看精品 | 欧美高清视频| 亚洲国产片色| 欧美极品影院| 一区二区三区欧美视频| 亚洲免费小视频| 国产免费亚洲高清| 欧美在线亚洲| 欧美成人综合一区| 一区二区欧美日韩视频| 欧美日韩在线免费视频| 亚洲欧美日韩国产| 久久综合网hezyo| 亚洲精品看片| 国产精品扒开腿爽爽爽视频| 亚洲欧美综合一区| 免费日韩视频| 一区二区三区国产在线| 国产精品一区二区三区久久久 | 久久久久久伊人| 免费在线看一区| 日韩午夜精品| 国产亚洲激情在线| 欧美成人午夜激情| 亚洲无毛电影| 免费成人av在线看| 亚洲一区国产视频| 国模私拍视频一区| 欧美精品性视频| 欧美一区二区三区免费看| 欧美电影电视剧在线观看| 亚洲在线免费观看| 在线精品一区| 国产精品你懂的| 美女脱光内衣内裤视频久久影院| 一卡二卡3卡四卡高清精品视频| 久久精品一区二区三区四区| 亚洲精品系列| 黄网站免费久久| 欧美婷婷六月丁香综合色| 久久国产夜色精品鲁鲁99| 日韩视频免费观看高清完整版| 久久久人成影片一区二区三区观看| 日韩一二在线观看| 在线播放视频一区| 国产精品网站在线播放| 欧美精品在线观看一区二区| 久久狠狠亚洲综合| 中文国产成人精品| 亚洲日本欧美天堂| 免费欧美高清视频| 久久精品99久久香蕉国产色戒| 一本不卡影院| 亚洲欧洲精品一区二区三区| 国精品一区二区三区| 国产精品久久久久久久久久久久久| 麻豆av一区二区三区久久| 午夜天堂精品久久久久| 一区二区三区四区五区在线| 欧美天天在线| 亚洲一区视频在线| 亚洲国产你懂的| 国产亚洲成人一区| 国产精品女主播在线观看 | 亚洲欧美日韩天堂| 亚洲免费激情| 亚洲级视频在线观看免费1级| 老司机精品视频网站| 久久精品国产亚洲一区二区三区| 在线视频亚洲欧美| 一本色道久久综合亚洲精品按摩 | 韩国成人福利片在线播放| 国产精品日日摸夜夜摸av| 欧美日韩在线视频一区| 欧美日韩国产片| 欧美日韩三级电影在线| 欧美日韩国产在线| 欧美日韩亚洲在线| 国产精品福利网站| 国产精品久久久久免费a∨大胸| 欧美理论大片| 欧美福利一区二区| 美女网站在线免费欧美精品| 久久手机免费观看| 久久影院亚洲| 欧美成人精品h版在线观看| 欧美成人精品福利| 亚洲福利av| 9人人澡人人爽人人精品| 中国女人久久久| 亚洲欧美日韩国产一区二区三区| 新片速递亚洲合集欧美合集| 欧美在线亚洲综合一区| 久久免费99精品久久久久久| 免播放器亚洲一区| 欧美日韩国产综合网 | 亚洲欧美另类在线观看| 午夜宅男欧美| 久久人人97超碰国产公开结果| 欧美成人情趣视频| 日韩一区二区免费高清| 亚洲午夜免费视频| 久久久久天天天天| 欧美黄免费看| 亚洲激情校园春色| 欧美激情91| 日韩视频在线一区二区三区| 亚洲性夜色噜噜噜7777| 久久激情综合网| 欧美激情1区2区| 国产精品一级| 亚洲韩国日本中文字幕| 亚洲一区二区三区涩| 久久一日本道色综合久久| 亚洲人成网站色ww在线| 先锋亚洲精品| 欧美日韩国产综合一区二区| 国内外成人在线| 一道本一区二区| 久久久久成人网| 日韩亚洲精品视频| 久久激情婷婷| 国产精品国产三级国产专区53| 尤物九九久久国产精品的特点| 在线亚洲精品福利网址导航| 麻豆成人在线播放| 亚洲尤物影院| 欧美剧在线免费观看网站| 激情久久五月天| 欧美一级网站| 亚洲美女网站| 91久久黄色| 国产精品视频网站| 亚洲国产成人午夜在线一区| 一区二区激情小说| 老色鬼精品视频在线观看播放| 日韩午夜电影在线观看| 久久手机精品视频| 国产精品女主播在线观看| 亚洲精品视频免费| 老鸭窝91久久精品色噜噜导演| 亚洲一区二区三区四区五区黄| 欧美黄色小视频| 亚洲电影专区| 牛牛国产精品| 久久久久久穴| 影音先锋日韩资源| 久久九九精品99国产精品| 亚洲天堂成人在线视频| 欧美视频日韩视频| 一本色道久久加勒比精品| 欧美激情一区二区三区在线视频| 久久精品在这里| 黑人一区二区三区四区五区| 午夜在线视频观看日韩17c| 一本一道久久综合狠狠老精东影业| 欧美激情第4页| 亚洲精品色图| 亚洲日韩欧美一区二区在线| 免费观看久久久4p| 亚洲国产综合在线| 亚洲第一免费播放区| 蜜桃av噜噜一区二区三区| 亚洲成色www8888| 欧美大秀在线观看| 欧美99在线视频观看| 亚洲狼人精品一区二区三区| 亚洲欧洲美洲综合色网| 欧美久久久久久蜜桃| 亚洲天堂av综合网| 亚洲网友自拍| 国产一区二区三区日韩| 美女黄网久久|