免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 681 | 回复: 0
打印 上一主题 下一主题

msn协议 ,网上来的,备查以后 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-12 15:48 |只看该作者 |倒序浏览

MSN协议分析
一、概要介绍
msn messenger通常使用端口1863进行通信(在实际中用sniff跟踪发现msn通信都是用1863端口进行通信的)。在msn messenger工作中,本机客户端与三种服务器通过协议进行通信和数据交换。(dispatch服务器、notification服务器tchboard服务器)。在本机客户端和各服务器之间主要通过两种形式的进行通信,一种是命令,另一种是消息。
dispatch服务器主要用于初始化连接服务器。用户首先利用地址messenger.hotmail.com 和端口 1863连接dispatch服务器,然后根据再返回的ip地址和端口来连接notification服务器。
notification服务器是msn messenger的主工作区,几乎所有的操作都要与notification服务器进行连接和信息交换,包括用户的状态改变、聊天请求以及来信通知。实际在工作中notification服务器的ip地址和端口固定为64.4.13.195:1863。 command:多数数据是以标准的命令格式发送的。标准的命令格式主要由三部分组成,以命令标识符开始,然后是参数,以换行为结束。参数之间以空格区分。
message:是一种独特的命令方式。它以msg开头,每个消息的第一行的末尾以一个数字来表示消以下部分息的字节数(包括mime头和主体部分)。第二行为mime的头,一般形式为mime-version: 1.0,以换行结束。下一行所代表的是要发送消息的类型,定义的格式为content-type: */*; charset=utf-8,其中*/*代表消息类型,charset=utf-8是完全可选的,与是否使用该参数与定义的消息类型有关。随后mime头以两个换行结束,用于区分消息主体。
transaction id:在客户端向服务器端发送的每个命令和消息中都包含一个transaction id。其位于命令标识符和msg后面,服务器端收到客户端的相应命令和消息后,回应客户端时把对应的transaction id返回给客户端,客户端根据transaction id来判断服务器回应的是哪个请求。每次客户端向服务器发送一次命令或消息后,transaction id自动加1。
二、启动msn
初始化连接
(1) 连接的第一步是连接dispatch服务器。打开一个tcp socket,通过ip地址messenger.hotmail.com和1863端口连接dispatch服务器。
(2) 当连接dispatch服务器成功后,本机客户端向dispatch服务器发送一个ver命令,以msnp7 msnp6 msnp5 msnp4 cvr0(协议版本)作为参数。服务器收到请求后,同样返回ver命令,如果参数为0,表示协商失败。
(3) 本机客户端收到回复后,向服务器发送一个无参数的inf请求,请求一个认证算法。当dispatch服务器收到后返回md5。
(4) 本机客户端根据返回的参数向服务器发送usr命令,其中传入两个参数,第一个为服务器返回的md5,第二个参数为客户申请登陆的电子邮件地址。服务器根据收到的请求返回一个xfr命令,把notification服务器的ip地址和端口作为参数返回给客户端。
(5) 最后客户端根据ip地址和端口去连接notification服务器。以下是客户端和dispatch服务器的实际通信过程。
connect: messenger.hotmail.com 1863
>>> ver 0 msnp7 msnp6 msnp5 msnp4 cvr0
>> inf 1
>> usr 2 md5 i
example@passport.com

>> ver 3 msnp7 msnp6 msnp5 msnp4 cvr0
>> inf 4
>> usr 5 md5 i
example@passport.com

>> usr 6 md5 s 23e54a439a6a17d15025f4c6cbd0f6b5
>> chg 7 nln
>> xfr 10 sb
>> usr 1
example@passport.com
16925950.1016955577.17693
>> cal 2
name_123@hotmail.com



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/15071/showart_1715996.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP