MSN Messenger协议 原作:bhw98

如何解除360捆绑的浏览器主页并设定默认页面 阅读详情

前 言

MSN Messenger 是Microsoft开发的聊天工具,目前在国内拥有很大的用户群。使用MSN Messenger可以与他人进行文字聊天,语音对话,视频会议等即时交流,还可以通过此软件来查看联系人是否联机等。该软件的最新版本是6.1。

1999年,Microsoft向IETF提交了一份"MSN Messenger Service 1.0 Protocol"草案,这是最初版本的MSN Messenger协议。在以后几年,该公司不再公开有关MSN Messenger协议的升级、修改细节的官方文档。但无论是开发第三方的聊天客户端软件(如Gaim, MyIM等),还是做协议分析,必须对其通信协议有深入了解。正因为如此,有一些民间人士对这些协议开展了研究(见本文的"相关资源"一节)。

当我们还在感叹"这世界,变化快"的时候,MSN Messenger的协议已经到了第10版,简称MSNP10,对应于MSN Messenger 6.1。MSN Messenger 6.0则使用MSNP9。现在Microsoft强迫MSN Messenger用户升级到6.0或6.1版,因为服务器对MSNP8以下的版本不再支持。本文及后续文章所描述的MSN Messenger协议主要针对MSNP9/MSNP10。

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>PARAM1<SP>PARAM2…]<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 N
已解决:你的连接不是专用连接NET:ERR CERT COMMON NAME INVALID,攻击者可能试图窃取你的信息 HSTS(HTTP严格传输安全)是一种网站用来声明他们只能使用安全连接(HTTPS)的方法。当一个网站声明了 HSTS 策略后,浏览器必须拒绝所有的 HTTP 连接并阻止用户接受不安全的 SSL 证书。大多数主流浏览器都支持 HSTS‌。 阅读详情

相关推荐

如何解决“你的连接不是专用连接攻击者可能试图从 localhost 窃取你的信息(例如,密码、消息或信用卡)”

如果工作目录在IIS服务器主目录下,展开<默认网站>节点,选中工作目录,右键选择 属性菜单,在属性设置窗口的 目录 tab页中 创建应用程序,并设置相应的权限即可。解决方法:打开IIS服务器控制台,展开<应用程序池>节点,设置你的虚拟目录使用的应用程序池(在属性窗口的目录tab页上可以看到)。给当前应用程序池的属性的标识tab页中,预定义帐户改为使用配制项,在配置项中制定一个权限比较高的用户,启动该进程已进行调试。综上方法,均没有试过。1.原因:VS找不到浏览器的启动程序,重新设置默认浏览器即可。

m0_60469045的博客 3万+

2020新版MicrosoftEdge默认主页网址为:

https://ntp.msn.cn/edge/ntp?locale=zh-cn&dsp=0&sp=Google# 至于如何设置:电脑管家->工具箱->浏览器保护,中进行设置。

幽香飞狐的博客 2万+

Microsoft Edge无法恢复默认标签页的解决办法

1.首先打开设置 点击三个小点 2.找到 开始、主页和新建标签页 3.找到此处并打开蓝色按钮 点击第二个选项,把以下网址复制上去,如图所示 https://ntp.msn.cn/edge/ntp?locale=zh-CN&title=新建标签页&dsp=1&sp=必应 4.点击小房子 即可跳转到默认的新标签页 ,绕开流氓浏览器的封锁 注:此方法适用于网上设置默认浏览器方法不奏效的人群,出现设置默认浏览器时弹出糟糕!错误对话框的人群 ....

m0_51525427的博客 1万+

MSN Messenger协议概况

前 言MSN MessengerMicrosoft开发的聊天工具,目前在国内拥有很大的用户群。使用MSN Messenger可以与他人进行文字聊天,语音对话,视频会议等即时交流,还可以通过此软件来查看联系人是否联机等。该软件的最新版本是6.1。1999年,Microsoft向IETF提交了一份"MSN Messenger Service 1.0 Protocol"草案,这是最初版本的M

0ffs3t 1527

MSN Messenger 协议

 转自:http://bbs.phpchina.com/viewthread.php?tid=72278&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D5&sid=VjOyd8msn协议详解可能有些人会用人家已经写好的代码来开发关于msn的东西,但在理解代码或调试过程根本不知道什么意思,更别说自己写了,这里有一篇MSN协议

sgear 3965

MSN Messenger协议简介

您正在看的数据结构与算法分析是:MSN Messenger协议简介。 前 言  MSN MessengerMicrosoft开发的聊天工具,目前在国内拥有很大的用户群。使用MSN Messenger可以与他人进行文字聊天,语音对话,视频会议等即时交流,还可以通过此软件来查看联系人是否联机等。该软件的最新版本是6.1。  1999年,Microsoft向IETF提交了一份"MSN Messeng

瞎几把学 1248

MSN Messenger协议

MSN Messenger协议 前 言 MSN MessengerMicrosoft开发的聊天工具,目前在国内拥有很大的用户群。使用MSN Messenger可以与他人进行文字聊天,语音对话,视频会议等即时交流,还可以通过此软件来查看联系人是否联机等。该软件的最新版本是6.1。 1999年,Microsoft向IETF提交了一份"MSN Messenger Service 1

Wait for 的专栏 972

MSN Messenger 协议MSN协议集合)

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

瞎几把学 759

MSN Messenger协议分析

MSN Messenger协议msn protocol本文摘自:http://www.vctop.com/摘录目的:学习之用,并不用于商业目的                                                                 原作bhw98 前 言MSN MessengerMicrosoft开发的聊天工具,目前在国内拥有很大的用户群。

面朝大海 春暖花开 3208

MSN Messenger协议 【 very cool stuff 】

 原作bhw98 前 言MSN MessengerMicrosoft开发的聊天工具,目前在国内拥有很大的用户群。使用MSN Messenger可以与他人进行文字聊天,语音对话,视频会议等即时交流,还可以通过此软件来查看联系人是否联机等。该软件的最新版本是6.1。1999年,Microsoft向IETF提交了一份"MSN Messenger Service 1.0 Protoc

FreeXploiT 2773
上一篇: MSN协议中文释义(Zz)
下一篇: VC Debug中遇到first chance exception问题
fanccYang
博客等级 码龄22年 1粉丝 7原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值