【MSN协议分析】 MSN Messenger,曾经流行的即时通讯软件,依赖特定的协议进行通信。这个协议主要涉及客户端与三种服务器——dispatch服务器、notification服务器和tchboard服务器之间的交互。客户端通过端口1863与这些服务器进行数据交换,这是通过实际网络嗅探确认的事实。 在MSN Messenger的工作流程中,客户端会连接到dispatch服务器。这通常是通过TCP套接字,以messenger.hotmail.com的IP地址和端口1863为起点。一旦连接建立,客户端会发送一个ver命令,列出支持的协议版本(如msnp7, msnp6, msnp5, msnp4和cvr0)。服务器回应同样的ver命令,若返回参数为0,表示协议协商失败。 接着,客户端会发送inf请求,询问认证算法。服务器响应时提供md5算法。之后,客户端使用收到的md5和用户的电子邮件地址发送usr命令。服务器回应xfr命令,携带notification服务器的IP地址和端口,指示客户端如何连接到主工作区。 通知服务器(notification server)是MSN Messenger的核心,处理用户状态变更、聊天请求、邮件通知等所有关键功能。它的IP地址和端口通常是固定的,例如64.4.13.195:1863。 通信中,数据以命令和消息的形式传输。命令通常以特定标识符开头,后跟参数,并以换行符分隔。消息则以msg开头,第一行末尾的数字表示消息的字节数,接着是MIME头,定义了消息类型和字符集,如content-type: */*; charset=utf-8。每个命令和消息都包含一个transaction id,客户端发送后会递增,服务器回应时返回,以匹配请求和响应。 MSN协议的这一系列步骤揭示了其内部运作机制,展示了如何建立连接,如何认证用户,以及如何在不同服务器之间传输数据。虽然MSN Messenger现在已经不再使用,但其协议分析对于理解即时通讯软件的设计原理,以及网络安全和数据通信仍然具有教育价值。
- 粉丝: 2
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助