预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

网络即时通信软件协议分析摘要:随着人们对即时通信软件的依赖越来越大而对于这些即时通信软件的协议分析也显得越来越重要本文主要即时通信软件的发展现状比较了几款即时通信软件的特点着重介绍了QQ协议的分析方法和对于登陆过程的简要分析为QQ的其他功能的协议分析提供了参考。关键词:即时通信;协议分析;抓包一、引言随着Internet在世界的迅速发展宽带业务的普及率也越来越高几乎每个人的家庭中工作中都有连接Internet的个人电脑同时应人们对Internet即时通信(文字语音视频文件传输)的要求网络上的即时通信软件应运而生目前网络上流行的即时通信软件有:QQFetionMSNICQ在国外ICQMSN占主流地位国内则是QQFetion占主流地位中国移动开发的Fetion依靠它在移动通信方面的优势大有超越腾讯QQ的趋势同时对于不同职业的人群即时通信软件的选择也不尽相同公司职员和商务人事主要选择MSN而学生则主要选择QQ和Fetion。由于这些即时通信软件的功能越来越多同时也越来越完善所以人们对它的依赖程度也越来越大这些即时通信软件的协议格式都不相同各个软件公司都想要自己的产品在网络上能提供一些与其他软件不同的服务所以这些软件的协议都是不公开的避免有人编写插件用以逃过付费从而享受软件提供的有偿服务。但是这也严重的束缚了即时通信软件的发展。因此对这些主流的即时通信软件进行协议分析是十分必要的。本文对现在国内主流的QQ和MSN进行初步的协议分析对分析方法进行了介绍。对协议分析前的准备采集QQ数据是我们对QQ协议进行分析的基础。PC上:QQ2OO8windumpOSX上:showUDPcalcMD5qqDecrypt把QQ密码更改为123456。这主要是为了方便分析。关闭其它不必要的网络程序避免产生干扰数据。如果有必要的话重新启动计算机。三、数据包收集过程1、打开命令行窗口输人命令开始收集:windump—wpc.dump-s0udp。2、运行QQ且登录。3、登录成功以后等待4到5秒。其主要目的是把登录的命令和后面要收集的命令区分开来。4、执行需要收集的操作其间注意把操作细节给以记录。包括操作顺序系统的反馈提示输人过的信息。如果某一操作反馈时间比较长记录大约的时间间隔且记录下我们可能需要的信息。信息越详细越有助于进行猜测。5、完成需要记录的信息后等4到5秒选择离线。目的是把后面的操作和中间的操作区分开来。6、回到命令行窗口应用Ctrl+C键结束收集。把当前目录下生成的pc.dump文件传送到Mac上准备做进一步分析。四、QQ文本传输协议数据包分析在sample目录下已经有一个这样的pc.dump文件。在开始分析前需要对数据进行一些预处理以便以后的分析。1、要把这个文件转化为方便阅读的文本文件格式使用showUDPpc.dump>pc.ascii。这时能够生成一个名为pc.ascii的文件。这个文件是一个文本文件你可以用textEdit等编辑器来打开它。里面是分为一个包一个包的UDP数据的内容。进行简单地判断把一些与QQ无关的数据删除。然后保存这个文件。在sample目录里面也能够看到此文件。进一步删除这个文件中一些我们暂时不感兴趣的内容。例如只留下以02开头的数据包。这些数据包是我们称为TCPF协议族的通信。它构成了QQ文字聊天功能的主体。把此文件保存为tepf.ascii。这是我们下一阶段的分析重点。2、准备一些解密的密钥。首先在tcpf.ascii文件中第一个包应该是以020a1do022开头的登录数据包。把它的随机密码部分(应该是16个01拷贝到一个空白的纯文本文件中并把它保存为loginKey.hex文件。其次把后面的登录包数据部分(不包括包尾的03)保存为loginData.hex。最后我们执行:qqDeeryptloginData.hexloginKey.hex。这个程序的作用是使用loginKey.hex文件的内容作为密钥去解密loginData.hex文件中的数据。如果解密成功的话程序输出的最后一块数据就是解密后的结果。把这块数据保存为loginData.deerypt。这时我们就有了QQ登录数据包的真实数据。3、制作一个文件它里面是QQ密码的ascii数值。对123456的密码应该为313233343536。第一在sample里面有这个文件文件名为pwd.hex。第二制作密码的MD5digest运行:ealeMD5pwd.hex。这个命令能够计算pwd.hex文件里面数值的MD5digest且把输出结果中的MDd5digest保存到pwdmd5.hex中。第三计算MD5digest的MD5digest运行ealeMD5pwdMD5.hex把计算的结果部分保存到pwdmd5md5.hex文件中