EtherPeek NX的使用

                              AUTHOR:  Jeffrey.zhu

                                   BLOG:http://blog.csdn.net/gueter/ 

 

 

 

一、前言

    本文旨在推荐使用EtherPeek NX的同时,通过分析截取的QQ协议包,探讨QQ私有协议的一些特点。

 

 

二、EtherPeek NX概述

    前不久由于工作需要,修改madwifi代码分析无线接收包,但发送包无法获取,从源代码着手分析也过于复杂,所以才用上了Win下的截包软件EtherPeek NX,EtherPeek NX能根据OSI七层的架构,解析每个包且即时监视网路的各种状态,并能通过对问题的自动识别提供说明及解决方案,同时可以对多种网络状况提供Latency及Throughput解析,将网络上的所有结点沟通的状态以图形的方式完全显示出来,人机交互界面做的非常友好,当然,类似于其它截包软件,EtherPeek NX也需要WinPcap的支持,关于WinPcap的更多信息可参考:http://www.winpcap.org/

 

 

三、EtherPeek NX 2.0界面

 

 

 

四、包分析

    下面以QQ登录时客户端(即本机)发送的第一个数据包为例进行讨论:

 

Packet Info Flags: 0x00 Status: 0x00 Packet Length: 122 Timestamp: 13:44:35.513435 12/16/2009 Ethernet Header//帧头 Destination: 00:14:78:06:BF:32 [0-5] //无线路由MAC Source: 00:0B:C0:02:96:59 [6-11] //客户端MAC Protocol Type: 0x0800 IP [12-13] //以太网类型:IP网络 IP Header - Internet Protocol Datagram//IP头 Version: 4 [14 Mask 0xF0] //IPV4 Header Length: 5 (20 bytes) [14 Mask 0x0F] Type of Service: %00000000 [15] 000. .... Precedence: Routine ...0 .... Normal Delay .... 0... Normal Throughput .... .0.. Normal Reliability .... ..0. ECT bit - transport protocol will ignore the CE bit .... ...0 CE bit - no congestion Total Length: 104 [16-17] Identifier: 38691 [18-19] Fragmentation Flags: %000 [20 Mask 0xE0] 0.. Reserved .0. May Fragment ..0 Last Fragment Fragment Offset: 0 (0 bytes) [20-21 Mask 0x1FFF] Time To Live: 128 [22] Protocol: 17 UDP - User Datagram Protocol [23] Header Checksum: 0x98A4 [24-25] Source IP Address: 192.168.1.102 [26-29] //源IP地址:客户端 Dest. IP Address: 58.60.14.115 [30-33] //目的IP地址:服务器端 No IP Options UDP - User Datagram Protocol//UDP头 Source Port: 4000 terabase [34-35]//源端口号 Destination Port: 8000 irdmi [36-37] //目的端口号 Length: 84 [38-39] Checksum: 0x6DA0 [40-41] Application Layer Data Area: //负载 ......7.....I.. 02 19 0F 00 91 1A 37 03 DC CA EE 10 49 E4 F0 20 [42-57] ../2...Bv.{j.>A. C6 A1 5C 32 CB 1E 7F 42 76 D3 7B 6A A8 3E 41 AD [58-73] .4->dV;..?.-.`.O D4 34 2D 3E 64 56 3B E6 2E 3F 99 2D D4 60 DF 4F [74-89] [email protected]... BF F4 1B DB 40 43 9B ED 18 AD 6A 58 4D 10 C8 F0 [90-105] ._...;...... 9D 5F 1E CC 83 3B A6 9E DC B3 00 03 [106-117] FCS - Frame Check Sequence//帧校验 FCS (Calculated): 0x048E3E9E

 

 

五、QQ协议特点

    QQ协议有以下特点:

    1、默认采用UDP方式,客户端默认端口:4000,服务器端默认端口:8000;

 

    2、截取负载部分如下所示:

         02 19 0F 00 91 1A 37 03 DC CA EE 10 49 E4 F0 20  [42-57]
         C6 A1 5C 32 CB 1E 7F 42 76 D3 7B 6A A8 3E 41 AD  [58-73]
         D4 34 2D 3E 64 56 3B E6 2E 3F 99 2D D4 60 DF 4F  [74-89]
         BF F4 1B DB 40 43 9B ED 18 AD 6A 58 4D 10 C8 F0  [90-105]
         9D 5F 1E CC 83 3B A6 9E DC B3 00 03  [106-117]

 

    3、多次截包分析可知,前4个字节固定,表示内部协议版本:02 19 0F 00 ;

    4、第5个字节为命令类型编号:91;

    5、第6~第7的2个字节随机生成的包序列号(同一命令类型,连续多个包,依次递增):1A 37(用于回应包的对号入座) ;

    6、第8~第11的4个字节为QQ帐号,此处用的是明文方式,且自动补0:03 DC CA EE(转换成十进制为:64801518,作者的QQ号);

    7、最后1字节为消息结束码:03;

 

    8、从客户端(本地)发往服务器端的所有包都包含上述的1~7,而服务器端回应客户端也应该包含相应的1~7;

    9、分析可知,QQ的消息包有包头,包体,包尾之分,而且包体有全加密,不加密和部分加密的区别;

   10、前面12个包大小一致,且顺序一致,后面的则错乱,或者推知前面完成口令认证过程。

 

    具体如何实现口令认证,qq密码传送所用加解密算法,以及密钥如何协商有待进一步实验和探讨。

 

 

你可能感兴趣的:(Information,Security)