MSN Messenger 协议(MSN协议集合)

通信协议MSN协议分析 MSN通信协议 喜欢研究MSN的可以看看啊 立即下载

MSNP9协议分析报告
1. 连 接

MSN Messenger协议建立在TCP/IP之上。除了文件传输和语音聊天是直接的"点对点"通信之外,其它所有的情形全部通过服务器进行。

在逻辑上,一共有三种类型的服务器,各司其职:

派遣服务器(Dispatch Server, DS) - 客户端最初连接的服务器。负责给客户端分配合适的通知服务器。域名是messenger.hotmail.com,标准服务端口是1863。完成派遣任务后,切断TCP连接。
通知服务器(Notification Server, NS) - 客户端需要一直保持连接的服务器。很多任务要在这个会话内完成,包括登录、改变状态、获取用户列表、修改用户信息、发起聊天、接受呼叫、邮件通知、退出等等。服务端口由派遣服务器指定,通常也是1863。
接线服务器(Switchboard Server, SS) - 客户端之间聊天使用的中转服务器。每开一个聊天窗口,客户端和服务器就建立一个TCP会话。当客户端之间需要进行文件传输或语音聊天时,发送系统消息,建立"点对点"会话通道(可能转为使用UDP)。服务端口通常也是1863。"点对点" 通信使用的端口由客户端自动协商决定,如文件传输通常使用6891端口。
2. 命 令

MSN Messenger命令使用纯ASCII码。对非ASCII码字符使用URL编码。命令的语法是

XXX[<SP>TrID<SP&gtARAM1<SP&gtARAM2…]<CRLF>
其中,<SP>是空白字符,<CRLF>是回车换行,XXX是一个3字符的命令串,TrID是一个流水号,PARAMx是参数,[ ]内是可选项。最简单的命令没有流水号和参数。为了方便起见,下面讨论时用" "代表<SP>,"/r/n"代表<CRLF>,"/x??"代表一个值为0x??字节。红色表示由客户端发出,蓝色表示由服务器发出。一个MSN Messenger命令的例子如下:

USR 18 TWN I example@hotmail.com/r/n
3. 错 误

无论是由于客户端发出的命令无效,参数无效,还是其他什么原因,服务器可以返回一个错误。格式为

XXX[<SP>TrID]<CRLF>
其中,XXX是一个3位数字的串。如

ADD 21 AL non_existent@passport.com non_existent@passport.com/r/n
205 21/r/n
上例中,non_existent@passport.com是一个不存在的账号。

4. 消 息

MSN Messenger消息符合MIME 1.0标准,由消息头与消息体组成。通常使用UTF-8编码,消息头中也需要URL编码格式,消息体则直接用二进制数据。

一个MSN Messenger消息的例子如下:

MIME-Version: 1.0/r/n
Content-Type: text/plain; charset=UTF-8/r/n
X-MMS-IM-Format: FN=%E5%AE%8B%E4%BD%93; EF=; CO=0; CS=86; PF=0/r/n
/r/n
bhw98/xE4/xBD/xA0/xE5/xA5/xBD/xEF/xBC/x81
经简单分析可知,"%E5%AE%8B%E4%BD%93"是"宋体"的UTF-8加URL编码,而"bhw98/xE4/xBD/xA0/xE5/xA5/xBD/xEF/xBC/x81"是"bhw98你好!"的UTF-8编码。

命令一览
命令  来源  去向  说明  备注
ACK  SS  Client  确认,做出肯定回答。  acknowledgement
ADD  Client  NS  发出添加新联系人到列表的请求。  add user
NS  Client  返回添加新联系人请求的应答。
ADG  Client  NS  发出添加新联系人组请求。  add group
NS  Client  返回添加新联系人组请求的应答。
ANS  Client  SS  接受聊天连接请求。  answer
BLP  Client  NS  设置对尚未列入明确允许/禁止的联系人列表的保密策略。  block list privacy
NS  Client  返回设置保密策略请求的应答。
BYE  SS  Client  通知客户端结束会话。  bye
CAL  Client  SS  发出建立聊天连接的请求。  call
SS  Client  返回建立聊天连接请求的应答。
CHG  Client  NS  发出改变状态的请求。  change state
NS  Client  返回改变状态的应答。
CHL  NS  Client  服务器发出验证要求。  challenge
SS  Client
CVR  Client  NS  发出客户端的OS、语言、MSN Messenger版本等信息。  client version
Client  SS
NS  Client  返回推荐的MSN Messenger版本、升级软件需要的下载地址等信息。
SS  Client
FLN  NS  Client  通知有联系人列表中的用户下线。  off-line
GTC  Client  NS  设置当有联系人列表中的用户状态改变时给出的提示。  greeting to changes?
NS  Client  返回设置请求的应答。
INF  Client  NS  询问服务器所支持的认证方式。  information?
Client  SS
NS  Client  返回服务器所支持的认证方式。
SS  Client
ILN  NS  Client  当客户端登录或添加联系人到列表时,通知列表中的联系人的状态。  initial online state
IRO  SS  Client  当有新用户加入聊天连接时,通知客户端该连接中的用户名单。  initial roster information
JIO  SS  Client  通知客户端已经同另外的用户建立了聊天连接。  jion
LSG  Client  NS  发出获取联系人组列表的请求。  list groups
NS  Client  返回获取联系人组列表请求的应答。
LST  Client  NS  发出获取联系人列表的请求。  list
NS  Client  返回获取联系人列表请求的应答。
MSG  Client  SS  发送消息到其他用户(聊天对象)。  message
NS  Client  传递服务器(系统) 的消息到客户端。
SS  Client  传递其他用户(聊天对象)的消息到客户端。
NAK  SS  Client  做出否定回答。  negative acknowledgement
NLN  NS  Client  通知客户端联系人上线或改变状态。  on-line
OUT  All  All  结束客户端-服务器的连接。  out
PNG  Client  NS  测试TCP连接状态。  ping
Client  SS
PRP  Client  NS  发出设置个人电话号码的请求。  personal phone number
NS  Client  返回设置请求的应答
PNG  Client  NS  测试TCP连接状态。  ping
Client  SS
QNG  NS  Client  返回测试TCP连接状态的应答。  quiz ping?
SS  Client
QRY  Client  NS  客户端回答服务器的验证要求。  quiz reply?
Client  SS
REA  Client  NS  发出修改用户昵称的请求。  rename nickname
NS  Client  返回修改用户昵称请求的应答。
REG  Client  NS  发出修改联系人组的请求。  rename group
NS  Client  返回修改联系人组请求的应答。
REM  Client  NS  发出从联系人列表中删除用户的请求。  rename user
NS  Client  返回删除用户请求的应答。
RMG  Client  NS  发出删除联系人组的请求。  remove group
NS  Client  返回删除联系人组请求的应答。
RNG  NS  Client  通知客户端有人要建立聊天连接。  ring
SYN  Client  NS  客户端-服务器同步。  synchronization
NS  Client
URL  Client  NS  发出获取MSN服务URL的请求。  URL
NS  Client  返回获取URL请求的应答。
USR  All  All  声明、传递、鉴别用户身份。  user
VER  Client  DS  协商MSN Messenger协议版本。  version
Client  NS
DS  Client
NS  Client
XFR  DS  Client  向客户端分配NS(通知客户端转向连接指定的NS)。  transfer
Client  NS  发出分配SS的请求。
NS  Client  返回分配SS请求的应答。

MSN Messenger协议--错误代码一览
代码  含义  可能的命令  错误示例  备注
200  非法命令     ABC 18/r/n
200 18/r/n    
201  非法参数     CHG 19 FLN 0/r/n
201 19/r/n
ADD 20 AL aaa@bbb@ccc aaa@bbb@ccc/r/n
201 20/r/n    
205  用户不存在  ADD  ADD 21 AL none@hotmail.com none@hotmail.com/r/n
205 21/r/n    
206  缺少域名     
207  已经登录  USR  USR 20 TWN I example@hotmail.com/r/n
207 20/r/n
USR 21 TWN S 8d30fc782aa25ec9e1293fdda13cab42/r/n
207 21/r/n    
208  非法用户名  CAL  CAL 2 @@hotmail.com/r/n
208 2/r/n    
209  非法用户昵称  REA  REA 18 one@hotmail.com kill%20microsoft/r/n
209 18/r/n    
210  用户太多  ADD  ADD 23 FL one@hotmail.com one@hotmail.com 0/r/n
210 23/r/n  最大150
215  用户已在列表中  ADD  ADD 36 FL one@hotmail.com one@hotmail.com 2/r/n
ADD 36 825 FL one@hotmail.com one@hotmail.com 2/r/n
ADD 37 FL one@hotmail.com one@hotmail.com 2/r/n
215 37/r/n  
CAL  CAL 5 two@hotmail.com/r/n
CAL 5 RINGING 213697/r/n
CAL 6 two@hotmail.com/r/n
215 6/r/n
216  用户不在列表中  REM  REM 14 FL three@hotmail.com/r/n
216 14/r/n  
REA  REA 48 three@hotmail.com three/r/n
216 48/r/n
CAL  CAL 2 three@hotmail.com/r/n
216 2/r/n
217  用户不在线  CAL  CAL 2 two@hotmail.com/r/n
217 2/r/n  
218  已在指定模式  BLP  BLP 17 BL/r/n
BLP 17 151 BL/r/n
BLP 18 BL/r/n
218 18/r/n  
GTC  GTC 19 A/r/n
GTC 19 152 A/r/n
GTC 20 A/r/n
218 20/r/n
219  用户已经在相反的列表中  ADD  ADD 15 AL four@hotmail.com four@hotmail.com/r/n
ADD 15 AL 56 four@hotmail.com four/r/n
ADD 16 BL four@hotmail.com four@hotmail.com/r/n
219 16/r/n  
223  用户组太多  ADG  ADG 28 new%20group 0/r/n
223 28/r/n  最大30
224  非法组号  ADD  RMG 24 3/r/n
RMG 24 11506 3/r/n
ADD 25 FL five@hotmail.com 3/r/n
224 25/r/n  
REM  RMG 24 3/r/n
RMG 24 11506 3/r/n
REM 25 FL five@hotmail.com 3/r/n
224 25/r/n
REG  RMG 24 3/r/n
RMG 24 11506 3/r/n
REG 25 3 New%20Name 0/r/n
224 25/r/n
RMG  RMG 24 3/r/n
RMG 24 11506 3/r/n
RMG 25 3/r/n
224 25/r/n
225  用户不在组中  REM  REM 26 FL six@hotmail.com 3/r/n
225 26/r/n  
229  组名太长  ADG  ADG 27 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 0/r/n
229 27/r/n  最大60
230  不能删除组0  RMG  RMG 28 0/r/n
230 28/r/n  
300 缺少必要的参数       
302  尚未登录       
500 服务器内部错误       
540 验证应答错误       
600 服务器忙       
707 无法建立连接       
910 服务器忙       
911 身份验证失败

MSN协议简单分析 能给同学们很好的找到自己想要的MSN设计的资源信息,给即将毕业的学生一个很好的利用资源 立即下载

相关推荐

应用层协议分析报告

应用层协议分析实验报告,分析HTTP协议报文的首部格式,理解HTTP协议的工作过程;分析DNS的工作过程。

MSN Messenger 协议分析一

MSN Messenger 协议分析一 2007年11月21日 星期三 作者: 熊传波 <!--google_ad_client = "pub-4075792327756511";google_ad_width = 200;google_ad_height = 200;google_ad_format = "200x200_as";google_ad_type =

jiljil的专栏 1337

MSN 协议

msn协议,html文档

MSN 问题解决(其中一个问题困扰了很久)

 MSN CAN NOT LOGIN. ERROR CODE: 81000314 OR 80072745MSN 遇到错误码 81000314 或 80072745 无法登入? MSN CAN NOT LOGIN. ERROR CODE: 81000314 OR 80072745 MSN 遇到错误码 81000314 或 80072745 无法登入? 可能是 MSNSERVER 正在改 IP,

kofterry的专栏 1320

MSNP9协议分析报告

1. 连 接MSN Messenger协议建立在TCP/IP之上。除了文件传输和语音聊天是直接的"点对点"通信之外,其它所有的情形全部通过服务器进行。在逻辑上,一共有三种类型的服务器,各司其职:派遣服务器(Dispatch Server, DS) - 客户端最初连接的服务器。负责给客户端分配合适的通知服务器。域名是messenger.hotmail.com,标准服务端口是1863。完成

南京程序员俱乐部 2115

MSN 协议分析

MSN 协议分析一、概要介绍 msn messenger通常使用端口1863进行通信(在实际中用sniff跟踪发现msn通信都是用1863端口进行通信的)。在msn messenger工作中,本机客户端与三种服务器通过协议进行通信和数据交换。(dispatch服务器、notification服务器tchboard服务器)。在本机客户端和各服务器之间主要通过两种形式的进行通信

笔者从事电信媒体开发多年,愿意将多年的开发经验分享给同行 5482

不要以为装了防火墙,我就治不了你!!(特洛纳)

不要以为装了防火墙,我就治不了你!!文章来源:cpu88s blog原文题目为:不要以为装了防火墙。我就治不了你!!--如何使tcp包和udp包穿透防火墙 通过本文的httptunnel 技术同时逃过了防火墙的屏蔽以及系统的追踪试验,我们可以看到网络安全仅仅依靠某种或某几种手段是不可靠的,同时对安全系统的盲目性依赖往往会造成巨大的安全隐患。希望通过本文能引起管理员对网络安全防护系统的思考。什么是

FreeXploiT 2519

博客连连看 之 MSN Messenger 联系人个人空间导入工具

最近工作,生活 都找不到方向,比较郁闷,写个小工具可以暂缓一下心情,给自己一个平和的心态。接下来我介绍一下这个工具,下载地址:MSN Messenger 联系人个人空间导入工具.rar 功能:方便您阅读MSN联系人个人空间的内容。主要是将您MSN中的联系人的个人空间博客导出到 博客连连看(下载)RSS阅读器程序中,或者导出到一个OPML文件(包含个人空间的信息的RSS集合文件),这样如

eqxp_arvid的专栏 2486

MSN Messenger详解,重温经典的即时通讯软件

虽然MSN Messenger在2013年停止服务,并被微软推出的Skype取代,但它的影响与回忆仍然深深地烙印在人们的记忆中。作为当时最流行的即时通讯软件之一,它见证了互联网时代沟通方式的变革,也留下了许多美好的回忆。

m0_72410588的博客 2542

[VB]VB中调用MSN 6.2 API函数

VB中调用MSN 6.2 API函数  了解这方面内容的起因是早上有位朋友让我看一段关于MSN开发程序,现在无法运行,我打开工程发现是针对4.7编写的,而他的计算机安装的6,2,因为我也用6.2所以我在VB中查看了一下,发现是缺少Messenger Type Library。但是多了Messenger API Type Library,可能是做为Messenger Type Library的替

王德封-逐浪 936

MSN下载2010最新版

MSN下载2010最新版

qq_43680030的博客 1954

msn协议 中文版,非常好用

msn协议 中文版,非常好用,非常适合刚学习的兄弟学习

属性子集选择的基本启发方法_图网络基本属性

如何描述一个网络Degree DistributionP(k): 随机选择的节点, 度为k的的概率分布, 使用直方图来描述 其中 表示度为k的节点数, 比如上图中,度为1的节点数有6, 所有节点数为10, 所以 Path LengthPath: path是指每个节点连接下一个节点的序列,其中,一个path能够重复多次相同的边, 如下图: ACBDCDEG Distance: 连接节点对最少数量...

weixin_36082388的博客 1093

DirectUI的历史

原始的DirectUI / | \ / MSN Windows XP Office Explorer \ NetUI | \ ...

akn7533的博客 183

Windows Mobile5.0与Windows Mobile6.0对比评测

    在大家将关注的目光投向微软新一代桌面操作系统Vista的时候。微软今年年初在3GSM大会上推出了掌上移动平台推出的Windows Mobile 6.0操作系统。    作为桌面操作系统领域的绝对霸主,微软每每推出新一代操作系统均能够吸引无数消费者的眼球。此次也不例外,Windows Mobile 6.0操作系统一经推出同样受到消费者普遍关注。时隔Vista在国内发布不足四个月时间。

关注移动互联网创业-葛涵涛 1万+

翻译TIPatterns--简单化(Simplifying Idioms)

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 330
上一篇: Asp.net debug canot start debugging
下一篇: Asp.net client MAC
hack8
博客等级 码龄18年 109粉丝 128原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值