




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、目錄一、即時通訊軟件概述 3二、即時通信的技術(shù)架構(gòu) .4三、QQ通信原理的概述 .7四、QQ協(xié)議的分析 8五、QQ數(shù)據(jù)包的分析.11六、參考文獻(xiàn)與相應(yīng)網(wǎng)站13一、即時通訊軟件概述 在當(dāng)今信息時代,人們之間的信息交流需求越來越高, 即時通( Instant Messenger, IM) 軟件應(yīng)運(yùn)而生,立即受到廣大互聯(lián)網(wǎng)用戶的喜愛, 風(fēng)靡全球。在我國流行的 IM軟件品種繁多,有國內(nèi)騰訊公司的OICQ(簡稱QQ), 國外的 ICQ, AIM, MSN 和 Yahoo Mes-senger等即時通產(chǎn)品。其中 ICQ和 AIM是美國在線公司 AOL出品的兩款流行的即時通軟件, ICQ憑借它推出時間最長和
2、強(qiáng)大的功能依然占據(jù)著即時通主流的位置。MSN是微軟推出的即時通產(chǎn)品,它最大的特點就是將個人郵箱與即時通信功能完善結(jié)合。Yahoo Messenger中文名字叫雅虎通, 由世界著名搜索引擎 Yahoo推出, 它的最新簡體中文版本是 5.5 版。目前,國內(nèi)最為流行的即時通訊軟件是騰訊QQ。它以良好的中文界面和不斷增強(qiáng)的功能形成了一定的QQ網(wǎng)絡(luò)文化。各種IM工具在中國的市場占有率如下:由于騰訊QQ在中國市場的占有率較高,以下我們主要以O(shè)ICQ為主,進(jìn)行結(jié)構(gòu)、安全技術(shù)、協(xié)議、數(shù)據(jù)分析方面的探討。二、即時通信的技術(shù)架構(gòu)1、即時通信的通信模式有客戶/服務(wù)器(C/S)通信模式和對等通信(P2P)模式1) 客
3、戶/服務(wù)器(C/S)通信模式采用的是三層C/S結(jié)構(gòu)。三層C/S結(jié)構(gòu)分為三部分:客戶、應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器。l 客戶:通常實現(xiàn)用戶界面,它提供了一個可視化接口,用來顯示信息和收集數(shù)據(jù),它只與應(yīng)用服務(wù)器打交道。l 應(yīng)用服務(wù)器:通常實現(xiàn)應(yīng)用邏輯,是連 接客戶與數(shù)據(jù)庫服務(wù)器的橋梁。它響應(yīng)用戶發(fā)來的請求執(zhí)行某種業(yè)務(wù)任務(wù),并與數(shù)據(jù)庫服務(wù)器打交道。在實際應(yīng)用過程中,該層的組件通??煞譃閮蓚€以上的層次, 因此這種結(jié)構(gòu)也被稱為多層次結(jié)構(gòu)。l 數(shù)據(jù)庫服務(wù)器:實現(xiàn)數(shù)據(jù)的定義、維護(hù)、訪問、更新以及管理,并響應(yīng)應(yīng)用服務(wù)器的數(shù)據(jù)請求。它的物理實現(xiàn)可以在某一 種數(shù)據(jù)庫管理系統(tǒng)中,也可以是多個異種數(shù)據(jù)庫的集合,這種數(shù)據(jù)庫
4、可以駐留在多種平臺上。優(yōu)點:l 信息存貯與管理比較集中規(guī)范。目前,互聯(lián)網(wǎng)上可以公開訪問的信息基本上都保存在服務(wù)器上,信息的儲存管理功能較為透明,用戶提出訪問請求后,無須再過問其他,服務(wù)器則根據(jù)一定的規(guī)則應(yīng)答訪問請求。l 安全性較好。從安全的角度來說,各種系統(tǒng)都存在或多或少的安全漏洞,由于C S模式采用集中管理,客戶端被動地從服務(wù)器接受指令,因此,一臺客戶機(jī)出現(xiàn)安全問題,不會影響整個系統(tǒng)。劣勢:l CS模式投資大且維護(hù)成本高昂。采用CS架構(gòu),網(wǎng)絡(luò)管理工作人員既要對服務(wù)器維護(hù)管理,又要對客戶端維護(hù)和管理,這需要高昂的投資和復(fù)雜的技術(shù)支持,維護(hù)成本很高,維護(hù)任務(wù)量大。IM系統(tǒng)大都組合使用了C/S和P
5、2P模式。l CS 模式下,服務(wù)器及帶寬決定了網(wǎng)絡(luò)的性能。每臺服務(wù)器的自身存儲空間決定了所能提供的信息量,而且客戶端訪問數(shù)量過多,超過了服務(wù)器所能容納的量,服務(wù)器會負(fù)荷過大而造成系統(tǒng)的癱瘓。l CS模式下,服務(wù)器容錯性不高,一旦服務(wù)器出現(xiàn)問題,整個系統(tǒng)將會癱瘓。2)、對等通信(P2P)模式P 2 P是 “ P e e r t o P e e r ”的縮寫,它指的是不通過中樞服務(wù)器而在個人電腦之間實現(xiàn)文件交換和共享的一種新技術(shù)。P2P模式下,沒有提供信息的服務(wù)器與接受信息的客戶瀏覽器之分,每臺電腦都可以既是信息提供者又是索取者。對等點之間通過直接互聯(lián)實現(xiàn)信息、處理器、存儲甚至高速緩存等資源的全面
6、共享,而無需依賴集中式服務(wù)器支持。 優(yōu)點:l P2P模式最主要的優(yōu)點就是資源的高利用率。在P2P網(wǎng)絡(luò)上,每個對等體可以發(fā)布自己的信息,也可以利用網(wǎng)絡(luò)上其他對等體的信息資源,使閑散資源有初會得到利用。l 在 P 2 P網(wǎng)絡(luò)中,每個對等體都是一個活動的參與者,每個對等點都向網(wǎng)絡(luò)貢獻(xiàn)自己所擁有的資源,各種負(fù)載可以得到合理的均移和平衡。對等點越多,網(wǎng)絡(luò)的性能越好,網(wǎng)絡(luò)隨著規(guī)模的增大而越發(fā)穩(wěn)固,使網(wǎng)絡(luò)具有極強(qiáng)的可擴(kuò)展性。l 信息在網(wǎng)絡(luò)設(shè)備間直接流動,高速及時,降低中轉(zhuǎn)服務(wù)成本。劣勢:l 缺乏管理機(jī)制。缺乏管理的 P 2 P網(wǎng)絡(luò)在為人們帶來方便的同時,也可能會帶來大量的垃圾信息。 l 安全性差。一個擁有眾
7、多用戶的 P 2 P網(wǎng)絡(luò)可能會成為黑客的攻擊對象,而且分散式結(jié)構(gòu)的P2P網(wǎng)絡(luò)有利于木馬病毒等破壞性程序的傳播,這將極大地威脅 P2P網(wǎng)絡(luò)的安全。例:QQ網(wǎng)絡(luò)結(jié)組合使用了C/S和P2P模式。 (數(shù)據(jù)服務(wù)器) (應(yīng)用服務(wù)器)31 2 4 用戶A用戶B(1)用戶注冊、登錄、狀態(tài)、刷新。(TCP/UDP協(xié)議)(2)好友列表下載、其他信息。(TCP/UDP協(xié)議)(3)離線消息。(TCP/UDP協(xié)議)(4)消息、文件傳送(UDP協(xié)議)2、即時通信的安全技術(shù)RFC2778定義的即時通信實體模型密文存儲:PGP加密軟件數(shù)據(jù)儲存加密存取控制:不同工作組的用戶賦予相應(yīng)的權(quán)限數(shù)據(jù)加密技術(shù) 鏈路加密:數(shù)據(jù)傳輸加密節(jié)點
8、加密: 端到端加密: 包過濾路由器防火墻有類型應(yīng)用級網(wǎng)關(guān)應(yīng)用代理 防火墻技術(shù)包過濾路由器結(jié) 雙宿主主機(jī)結(jié)構(gòu) 防火墻的系統(tǒng)結(jié)構(gòu) 屏蔽主機(jī)結(jié)構(gòu)(包過濾路由器+屏蔽網(wǎng)關(guān)) 屏蔽了網(wǎng)結(jié)構(gòu)三、QQ通信原理的概述我們經(jīng)常聽到TCP/IP和UDP(用戶數(shù)據(jù)報協(xié)議)這兩個術(shù)語,它們都是建立在更低層的IP協(xié)議上的兩種通訊傳輸協(xié)議。前者是以數(shù)據(jù)流的形式,將傳輸數(shù)據(jù)經(jīng)分割、打包后,通過兩臺機(jī)器之間建立起的虛電路,進(jìn)行連續(xù)的、雙向的、嚴(yán)格保證數(shù)據(jù)正確性的文件傳輸協(xié)議。而后者是以數(shù)據(jù)報的形式,對拆分后的數(shù)據(jù)的先后到達(dá)順序不做要求的文件傳輸協(xié)議。QQ可以使用TCP也可以使用UDP,但QQ默認(rèn)是使用UDP協(xié)議,因為UDP協(xié)
9、議消耗資源小,發(fā)送速度快。但當(dāng)UDP協(xié)議不能正常轉(zhuǎn)發(fā)的時候,就會采用TCP協(xié)議進(jìn)行發(fā)送。而信息的可靠發(fā)送是通過各種驗證機(jī)制來完成的。當(dāng)你的機(jī)器安裝了OICQ以后,實際上,你既是服務(wù)端(Server),又是客戶端(Client)。當(dāng)你登錄OICQ時,你的OICQ作為Client連接到騰訊公司的主服務(wù)器上,當(dāng)你“看誰在線”時,你的OICQ又一次作為Client從QQ Server上讀取在線網(wǎng)友名單。當(dāng)你和你的OICQ伙伴進(jìn)行聊天時,如果你和對方的連接比較穩(wěn)定,你和他的聊天內(nèi)容都是以UDP的形式,在計算機(jī)之間傳送。如果你和對方的連接不是很穩(wěn)定,QQ服務(wù)器將為你們的聊天內(nèi)容進(jìn)行“中轉(zhuǎn)”,并且接受方在收
10、到消息后返回一個回應(yīng)信息,發(fā)送方就是通過這個信息來確認(rèn)消息是否已經(jīng)收到。QQ通信中的幾個過程:1、登陸。 不管UDP還是TCP,最終登陸成功之后,QQ都會有一個TCP連接來保持在線狀態(tài)。這個TCP連接的遠(yuǎn)程端口一般是80,采用UDP方式登陸的時候,端口是8000。因此,假如你所在的網(wǎng)絡(luò)開放了80端口(80端口是最常用端口,就是通常訪問Web的端口,禁掉它的話,你的網(wǎng)絡(luò)對你來說價值已經(jīng)不大了),但沒有屏蔽騰訊的服務(wù)器IP,你還是可以登陸成功QQ的。2、聊天消息通信。 采用UDP協(xié)議,通過服務(wù)器中轉(zhuǎn)方式。因此,現(xiàn)在的IP偵探在你僅僅跟對方發(fā)送聊天
11、消息的時候是無法獲取到IP的。大家都知道,UDP 協(xié)議是不可靠協(xié)議,它只管發(fā)送,不管對方是否收到的,但它的傳輸很高效。但是,作為聊天軟件,怎么可以采用這樣的不可靠方式來傳輸消息呢?于是,騰訊采用了上層協(xié)議來保證可靠傳輸:如果客戶端使用UDP協(xié)議發(fā)出消息后,服務(wù)器收到該包,需要使用UDP協(xié)議發(fā)回一個應(yīng)答包。如此來保證消息可以無遺漏傳輸。之所以會發(fā)生在客戶端明明看到“消息發(fā)送失敗”但對方又收到了這個消息的情況,就是因為客戶端發(fā)出的消息服務(wù)器已經(jīng)收到并轉(zhuǎn)發(fā)成功,但客戶端由于網(wǎng)絡(luò)原因沒有收到服務(wù)器的應(yīng)答包引起的。3、文件/自定義表情傳送。大家都知道,QQ可以傳送文件,可以發(fā)送自定義表情。先說官方表情。
12、官方表情實際發(fā)送的是命令字,而沒有發(fā)送表情。客戶端收到命令字后,會自動解釋為對應(yīng)的表情。因此,QQ2008正式版的客戶端發(fā)出的新版表情,在2007beta4及以前的版本無法找到相對應(yīng)的表情,就無法解釋,看到的就會是空白信息,但查聊天記錄就會有表情字樣。自定義表情的傳送是以文件傳輸方式進(jìn)行的。下面說文件傳輸方式:A要向B發(fā)送一個文件,于是發(fā)出一個文件傳送請求。服務(wù)器收到這個文件傳送請求后,轉(zhuǎn)發(fā)給B,同時在B應(yīng)答后,將A的IP地址同時發(fā)送給B。B這個時候就得到了A的真實IP。這里的IP是本機(jī)IP。也就是說,如果A處在內(nèi)網(wǎng),B得到的地址就是一個內(nèi)網(wǎng)地址。B得到了A的地址之后,就會嘗試去連接A。如果B
13、也處于內(nèi)網(wǎng),那么,顯然A跟B之間的連接是無法建立的。這個時候,客戶端就會請求服務(wù)器進(jìn)行文件中轉(zhuǎn)。因為服務(wù)器具有公網(wǎng) IP,處在內(nèi)網(wǎng)的A跟B都是可以連接到服務(wù)器的,于是,A跟B的文件傳送就通過服務(wù)器中轉(zhuǎn)的方式,順利進(jìn)行。(注:服務(wù)器文件中轉(zhuǎn)使用443端口)所以,如果一個局域網(wǎng)只開放80端口,QQ是可以登陸成功的,也可以進(jìn)行聊天。但傳送文件也是不可以的,除非你們都在同一個內(nèi)網(wǎng)。如果局域網(wǎng)還同時開放443端口,QQ的功能才都可以正常使用。四、QQ2003高層協(xié)議的分析為了從網(wǎng)絡(luò)測量數(shù)據(jù)中識別出QQ數(shù)據(jù)包,首先必須了解QQ協(xié)議和報文格式經(jīng)研究發(fā)現(xiàn),QQ協(xié)議分成以下幾類:1、文字聊天協(xié)議族(TCPF,T
14、ext Chatting Protocol Family):支持QQ客戶端間進(jìn)行的文字聊天最開始使用的傳輸層協(xié)議只是UDP協(xié)議,后來也支持TCP協(xié)議。UDP數(shù)據(jù)包中的第一個字符Ox02為這個協(xié)議族的標(biāo)識。服務(wù)器默認(rèn)使用端口號8000,QQ客戶端軟件一般從4000號端口開始嘗試使用。雖然近些年來QQ軟件不斷修改協(xié)議和實現(xiàn),不斷推出和整合了很多娛樂休閑的功能,QQ聊天仍然是QQ用戶使用最多最頻繁的功能。所以,本文所做的研究和工作主要圍繞著QQ的文字聊天協(xié)議族。TCPF包可以分為類:登錄請求包(LIP,LogIn Packet),它是由客戶端向服務(wù)器發(fā)出登錄請求的數(shù)據(jù)包。登錄應(yīng)答包(LRP,Logi
15、n Reply Packet),它是由服務(wù)器響應(yīng)客戶端登錄請求的數(shù)據(jù)包。注銷請求包(LOP,LogOut Packet),它是由客戶端向服務(wù)器發(fā)出注銷登錄請求的數(shù)據(jù)包,服務(wù)器對這個包不作應(yīng)答??蛻舳似渌–SP,Client Sent Packet),它是由客戶端向服務(wù)器發(fā)送的其它包。服務(wù)器其它包(SSP,Server Sent Packet),它是由服務(wù)器向客戶端發(fā)送的其它包。TCPF包的基本格式為:包頭數(shù)據(jù)包尾所有TCPF包的前7個字節(jié)是包頭,包頭可以識別TCPF包的內(nèi)容。不同類型的包數(shù)據(jù)不同。包尾都是0x03結(jié)束。包頭的分析:包頭的基本格式為:TCPF包標(biāo)識發(fā)送者標(biāo)識命令編號命令序列號
16、第字節(jié):TCPF包標(biāo)識:0x02。第字節(jié):發(fā)送者標(biāo)識。如果是0x01 0x00,表明是由服務(wù)器發(fā)送。0x0A 0x1D表明是由客戶端發(fā)送。第字節(jié):命令編號。編號含義如下:編號命令編號命令0x0001注銷登錄0x0017收到消息(服務(wù)器發(fā)起)0x0002心跳信息0x001a未知作用0x0004更新用戶信息0x001c在對方好友列表上刪除自己0x0005搜索信息0x001d未知作用0x0006獲取用戶信息0x0022登陸0x0009不需認(rèn)證方式添加好友0x0026獲取好友清單0x000a刪除好友0x0027獲取在線好友0x000b需要認(rèn)證的方式添加好友0x0030群操作指令0x000d設(shè)置隱身示忙
17、等狀態(tài)0x0080收到系統(tǒng)消息(服務(wù)器發(fā)起)0x0012確認(rèn)收到系統(tǒng)信息0x0081收到好友狀態(tài)改變消息(服務(wù)器發(fā)起)0x0016發(fā)送信息第-6字節(jié):命令序列號??蛻舳撕头?wù)器都有各自的當(dāng)前發(fā)送序列號。每初始發(fā)出一個指令的時候,使用當(dāng)前的序列號,然后把當(dāng)前序列號加一,如果超過0xFFFF,就繞回。如果是響應(yīng)對方發(fā)出的命令,則使用這個命令的序列號。我們可以通過序列號來判斷發(fā)出的指令是否已經(jīng)得到了應(yīng)答,如果沒有,可以重發(fā)。服務(wù)器對收到的命令的序列號順序沒有要求。服務(wù)器也不會一定按照發(fā)出的順序給予應(yīng)答。包尾的分析:所有的TCPF包都以0x03作為包尾。在包頭和包尾中間的包數(shù)據(jù)則不同類型的包有所不同。
18、2、數(shù)據(jù)傳輸協(xié)議族(DTPF,Data Transfer Protocol Family):QQ客戶端除了與TCPF服務(wù)器通信以外,還與其它服務(wù)器使用UDP或TCP進(jìn)行通信,但使用與TCPF不同的端口號。這個通信過程傳遞的是QQ Show的圖片數(shù)據(jù)、QQ廣告等。(1)UDP主要用于在線業(yè)務(wù)的傳輸,UDP是面向非連接的傳輸層協(xié)議。其基本的報文格式:源端口目的端口長度校驗和數(shù)據(jù)端口號表示發(fā)送進(jìn)程和接收進(jìn)程各占兩個字節(jié),TCP端口號與UDP端口號是相互獨(dú)立的,但通常選擇相同的端口號。UDP長度字段占兩個字節(jié),UDP首部和UDP數(shù)據(jù)的字節(jié)長度,該字段的最小值是8字節(jié)。UDP檢驗和占兩個字節(jié),覆蓋UDP
19、首部和UDP數(shù)據(jù),UDP的檢驗和是可選的,其基本計算方法與IP首部檢驗和計算方法相類似,但UDP數(shù)據(jù)報的長度可以為奇數(shù)字節(jié)。UDP數(shù)據(jù)報包含一個12字節(jié)長的偽首部,是為了計算檢驗和而設(shè)置的,偽首部包含IP首部一些字段,其目的是讓UDP兩次檢查數(shù)據(jù)是否已經(jīng)正確到達(dá)目的地(2)TCP主要運(yùn)用在離線的情況下,發(fā)送離線文件等。其基本的報文格式:源端口號目的端口號序列號確認(rèn)好偏移保留標(biāo)志窗口校驗和緊急指針選項填充數(shù)據(jù)源端口和目的端口字段各占2字節(jié)。端口是傳輸層與應(yīng)用層的服務(wù)接口。傳輸層的復(fù)用和分用功能都要通過端口才能實現(xiàn)。 序號字段占4字節(jié)。TCP連接中傳送的數(shù)據(jù)流中的每一個字節(jié)都編上一個序號。序號字段
20、的值則指的是本報文段所發(fā)送的數(shù)據(jù)的第一個字節(jié)的序號。 確認(rèn)號字段占4字節(jié),是期望收到對方的下一個報文段的數(shù)據(jù)的第一個字節(jié)的序號。 數(shù)據(jù)偏移占4bit,它指出TCP報文段的數(shù)據(jù)起始處距離 CP報文段的起始處有多遠(yuǎn)。“數(shù)據(jù)偏移”的單位不是字節(jié)而是32bit字(4字節(jié)為計算單位)。 保留字段占6bit,保留為今后使用,但目前應(yīng)置為0。 緊急比特URG當(dāng)URG1時,表明緊急指針字段有效。它告訴系統(tǒng)此報文段中有緊急數(shù)據(jù),應(yīng)盡快傳送(相當(dāng)于高優(yōu)先級的數(shù)據(jù))。 確認(rèn)比特ACK只有當(dāng)ACK1時確認(rèn)號字段才有效。當(dāng)ACK0時,確認(rèn)號無效。 復(fù)位比特RST(Reset) 當(dāng)RST1時,表明TCP連接中出現(xiàn)嚴(yán)重差錯
21、(如由于主機(jī)崩潰或其他原因),必須釋放連接,然后再重新建立運(yùn)輸連接。 同步比特SYN同步比特SYN置為1,就表示這是一個連接請求或連接接受報文。 終止比特FIN(FINal)用來釋放一個連接。當(dāng)FIN1時,表明此報文段的發(fā)送端的數(shù)據(jù)已發(fā)送完畢,并要求釋放運(yùn)輸連接。 窗口字段占2字節(jié)。窗口字段用來控制對方發(fā)送的數(shù)據(jù)量,單位為字節(jié)。TCP連接的一端根據(jù)設(shè)置的緩存空間大小確定自己的接收窗口大小,然后通知對方以確定對方的發(fā)送窗口的上限。 檢驗和占2字節(jié)。檢驗和字段檢驗的范圍包括首部和數(shù)據(jù)這兩部分。在計算檢驗和時,要在TCP報文段的前面加上12字節(jié)的偽首部。 緊急指針字段占16bit。緊急指針指出在本報
22、文段中的緊急數(shù)據(jù)的最后一個字節(jié)的序號。 選項字段長度可變。TCP首部可以有多達(dá)40字節(jié)的可選信息,用于把附加信息傳遞給終點,或用來對齊其它選項。 填充字段這是為了使整個首部長度是4字節(jié)的整數(shù)倍。 3、語音、視頻聊天協(xié)議:QQ直播、QQ語音聊天采用目前流行的P2P技術(shù)。五、QQ數(shù)據(jù)包的分析通過Sniffer,wireshark,WinNetCap,WinSock Expert等抓包工具,可以抓取相關(guān)的數(shù)據(jù)包進(jìn)行分析。抓包可以看到它們在不同的層次。Internet從上到下一次是物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層。而QQ是用的應(yīng)用層協(xié)議是騰訊公司的私有協(xié)議OICQ。以下對一次抓取的數(shù)據(jù)包進(jìn)行
23、分析:網(wǎng)卡地址段為:0000 00 23 54 51 72 28 00 b0 2c 2c 97 d4 08 00其中,開始的六個字節(jié)00 23 54 51 72 28為本機(jī)(對方服務(wù)器)網(wǎng)絡(luò)適配器的物理地址,00 b0 2c 2c 97 d4這六個字節(jié)為對方服務(wù)器(本機(jī))網(wǎng)絡(luò)適配器的物理地址。后面的08表示該數(shù)據(jù)傳輸協(xié)議將用TCP/IP協(xié)議傳輸;00表示下面將用TCP/IP協(xié)議中的IP協(xié)議傳輸。IP協(xié)議字段如下:如圖:45 00到00 17之間的代碼代表了IP首部的內(nèi)容。45代表此IP協(xié)議的版本是4.0版本,IP首部長度為5*4,即20個字節(jié)。00是服務(wù)類型,具有優(yōu)先級參數(shù)、延時性參數(shù)、傳輸量
24、參數(shù)、可靠性參數(shù)、成本參數(shù),這里為平常的等級,即沒有設(shè)等級。00 6b轉(zhuǎn)換成十進(jìn)制是107,表示此數(shù)據(jù)包的所有數(shù)據(jù)為107個 字節(jié)。00 00代表IP協(xié)議的驗證身份,即IP數(shù)據(jù)包格式中的“標(biāo)識“項。40 00為標(biāo)志項和片偏移項,代表不允許分片,這是第一個也是最后一個分片。36代表生存時間,轉(zhuǎn)換為十進(jìn)制為54。11為協(xié)議項,表示此IP數(shù)據(jù)段完成以后,將由UDP協(xié)議來代替,由此可以得知,OICQ消息傳播是通過UDP協(xié)議來實現(xiàn)的。0d ff為首部校驗和,用來校驗數(shù)據(jù)包首部的正確性。3a fb 3a c9代表源地址(此處為服務(wù)器地址),c0 a8 00 17代表目的地址(此處為本機(jī)地址),說明這是一個
25、返回數(shù)據(jù)包。至此,IP頭部的分析完成。抓包的另一部分信息如下:IP協(xié)議字段后為UDP協(xié)議字段:1f 40(十進(jìn)制為8000)代表騰訊的OICQ主機(jī)是通過哪個端口發(fā)送(接受)消息,0f a0(十進(jìn)制為4000)代表本機(jī)是通過哪個端口接受(發(fā)送)消息的。00 57表示此UDP數(shù)據(jù)段的總長度為87個字節(jié)。50 05為校驗和。UDP協(xié)議字段之后的為OICQ協(xié)議字段,此處為TCPF協(xié)議字段:為分析這個字段,可參照前面所訴的QQ高層協(xié)議。通過以上介紹,我們可以對TCPF協(xié)議字段作出以下分析:02為TCPF協(xié)議簇在UDP數(shù)據(jù)包中的標(biāo)識。19 57為與客戶端版本相關(guān)的字段,代表某一QQ版本。00 81為命令編
26、號,與后面的發(fā)送者請求號碼結(jié)合起來,可以看出這是一個CSP(客戶端其他包)。75 69為命令序列號,轉(zhuǎn)換為十進(jìn)制為30057。33 ed 13 30為發(fā)送者QQ號碼,這是一個Big Endian(高位在前)的unsigned long型數(shù)值,即0x33ed1330轉(zhuǎn)換為十進(jìn)制為871174960。最后的03為包尾結(jié)束字節(jié)。33 ed 13 30與03之間的為加密的數(shù)據(jù)段,使用Session Key作為密鑰。六、參考文獻(xiàn)與相應(yīng)網(wǎng)站參考文獻(xiàn):申普兵.寬帶通信網(wǎng)絡(luò).人民郵電出版社任唯賢.即時消息用戶行為和網(wǎng)絡(luò)特征的分析.北京交通大學(xué)碩士論文參考網(wǎng)站:三、QQ文字聊天協(xié)議1、TCPF概述:TCPF是建
27、立在UDP協(xié)議上的協(xié)議族,主要支持文字聊天功能。TCPF是以請求響應(yīng)模式工作的。也就是說,客戶端發(fā)出一個請求,服務(wù)器端會給出一個相應(yīng)的響應(yīng);服務(wù)器向客戶端發(fā)送信息,客戶端也會給服務(wù)器相應(yīng)的響應(yīng)。請求和響應(yīng)通過相同的序列號來進(jìn)行配對(請求代碼也應(yīng)該相同)。而且每種請求的發(fā)起方都是相同的。2、TCPE包結(jié)構(gòu)TCPF包我們把它分為類:1)、登錄請求包(LIP,LogIn Packet),它是由客戶端向服務(wù)器發(fā)出登錄請求的數(shù)據(jù)包。2)、登錄應(yīng)答包(LRP,Login Reply Packet),它是由服務(wù)器響應(yīng)客戶端登錄請求的數(shù)據(jù)包。3)、注銷請求包(LOP,LogOut Packet),它是由客戶端向服務(wù)器發(fā)出注銷登錄請求的數(shù)據(jù)包,服務(wù)器對這個包不作應(yīng)答。4)、客戶端其它包(CSP,Client Sent Packet),它是由客戶端向服務(wù)器發(fā)送的其它包。5)、服務(wù)器其它包(SSP,Server Sent Pa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京鏈家購房合同范本
- 產(chǎn)品攝影廣告合同范例
- 劇目買斷合同范本
- 融資收費(fèi)合同范本
- 勞動合同范本解除
- 單位車輛外包服務(wù)合同范本
- 分期出租房合同范本
- 醫(yī)療服務(wù)協(xié)議合同范本
- 單位招聘保安合同范本
- 分項付款合同范本
- PySide學(xué)習(xí)教程
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter1 Introduction
- 人教三年級數(shù)學(xué)下冊表格式全冊
- 事業(yè)單位綜合基礎(chǔ)知識考試題庫 綜合基礎(chǔ)知識考試題庫.doc
- 優(yōu)秀教研組評比制度及實施細(xì)則
- 譯林初中英語教材目錄
- 物業(yè)交付后工程維修工作機(jī)制
- 農(nóng)作物病蟲害專業(yè)化統(tǒng)防統(tǒng)治管理辦法
- JJF 1752-2019全自動封閉型發(fā)光免疫分析儀校準(zhǔn)規(guī)范(高清版)
- GB 1886.300-2018 食品安全國家標(biāo)準(zhǔn) 食品添加劑 離子交換樹脂(高清版)
- 食品經(jīng)營單位經(jīng)營場所和設(shè)備布局、操作流程示意圖模板
評論
0/150
提交評論