MSNP10协议分析 00.基本 [by progsoft]

原创 2004年08月24日 09:48:00

    1999年,Microsoft向IETF提交了一份"MSN Messenger Service 1.0 Protocol"草案,这是最初版本的MSN Messenger协议。
    现在MSN版本为6.2,协议版本为MSNP10,本文着重介绍MSNP10的基本情况。
    文章以作者分析研究体会为主,同时参考他人资料完成。
    MSN的协议都是基于TCP,除P2P的文件传输和语音对话等,所有连接都是面向服务器的1863端口。

    MSN的登陆,你需要于3种服务器打交道:
1. Dispatch Server:分配服务器,简称DS
    作用:指导用户转向合适的NS,均衡服务器负荷

2. Notification Server:通知服务器,简称NS
    作用:维系整个会话的服务器,包括用户列表,分组信息,自己和好友状态改变,请求对话和发送文件,与Hotmail的E-mail等

3. Switchboard Server: 接线服务器,简称SS
    作用:用户之间聊天对话的网关,每个对话的请求开始,和文件传输的请求等等,都要先和SB通话。


    绝大部分MSN命令都是纯文本架构的格式(文件传送,用户头像部分ASC),所以我们分析起来就比较方便。并且这些命令都是存贮在数据报中被传递到服务器或者客户端的。这些传递的数据流中,可以分为三种数据:命令,信息和错误。

Commands 命令
    与Dos命令类似,MSN的命令通常是3个字母,后面跟参数,参数间空格以分割,最后以/r/n结束。
    语法结构:
    XXX[<SP>TrID<SP>PARAM1<SP>PARAM2…]<CRLF>

Messages 信息
    所有信息都是以MSG开头的,可以看作一种特殊的命令。
消息的特殊在于,分割符号包括了空格和NewLine(/r/n),所以消息第一行最后一个参数的数字表示,该消息的长度(从第二行开始)。
    语法结构:
    MSG[<SP>PARAM1<SP>PARAM2…]<SP>LEN<CRLF>
    LINE1<CRLF>
    LINE2<CRLF>
    ...

Errors 错误
    错误是一种特殊的命令,以三位十进制数字符号开始,后面跟一ID,标明错误产生的命令序号。
    语法结构:
    XXX[<SP>TrID]<CRLF>

TrID 事务ID
    从客户端送到服务器的命令中,都应包含有一个事务ID。服务器响应的应答命令,也要包含同样的事务ID。
    事务ID的范围是0--4294967295。理论上从0开始,然后每次+1。实际上只要可以区分不同命令就可。

注:<SP>=/x20 <CRLF>=/r/n

Oracle:TNS数据传输协议-进阶篇

工作流程 前面介绍了TNS协议数据包的基础结构,在对最基础的通信包结构有了一定了解后,有必要对整体工作流程有一定的认识。下面是一个应用程序到Oracle数据库的流程图。 ...
  • Loydia
  • Loydia
  • 2016年07月08日 15:52
  • 25763

Redis 协议为例谈简单的协议分析

怎样去研究一个协议的过程,协议的格式,好处,怎么样模拟发包等,下面是一个简单的过程记录。 研究的步骤: 协议相关的资料,RFC,官方文档等。弄清楚协议工作在4层还是7层,是二进制还是文本协议等 抓包,...
  • lzz957748332
  • lzz957748332
  • 2016年03月22日 15:44
  • 3079

【网络协议】基于winpcap的以太网络抓包及协议分析

下面的程序只是一个简单的示例: #include "stdafx.h" #include "pcap.h" #include #pragma comment(lib,"wpcap.lib") #pr...
  • anda0109
  • anda0109
  • 2014年11月26日 14:23
  • 4975

MSNP18协议分析(二)--- MSN登录身份认证

目录(?)[+] 一 连接服务器 连接到DS服务器连接到NS服务器断开服务器连接 二 身份验证 SSO认证方式登录验证生成登录是发送的p 三 小结 这一篇开始主要介绍M...
  • qinggebuyao
  • qinggebuyao
  • 2013年03月12日 11:15
  • 2364

MSNP18协议分析(一)--- MSN协议介绍

目录(?)[-] 一 MSNP二 MSNP基本概念 服务器协议命令错误代码编码方式名字 三 通讯过程 近一个多月一直在做手机上一个MSN客户端的项目,目前项目也接近尾声。对于M...
  • qinggebuyao
  • qinggebuyao
  • 2013年03月12日 11:13
  • 1868

最简单的一个堆栈溢出攻击实例 (2) [by Progsoft]

下面我们以Release版本为例,解剖程序。 将exe反汇编得到关键代码如下: 函数ShowComputerName:    00401030: 8B 4C 24 04        mov...
  • adermxl
  • adermxl
  • 2013年11月05日 14:12
  • 609

最简单的一个堆栈溢出攻击实例 (1) [by Progsoft]

以下列出一个简单的利用自身堆栈溢出漏洞,攻击自己的程序。 编译使用环境Windows2000/WindowsXP/VC6.0以下代码直接编译就可以产生简单攻击效果。 正常无溢出程序,弹出OK对话框...
  • adermxl
  • adermxl
  • 2013年11月05日 14:11
  • 865

msnp15登录协议实现

  • 2010年02月22日 14:00
  • 32KB
  • 下载

协议分析实验报告by计自0902_冯志强_200926100604

  • 2011年07月04日 21:03
  • 492KB
  • 下载

TensorFlow入门教程,从基本概念到实战分析 by 李理|出门问问

  • 2016年07月09日 11:43
  • 1.53MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MSNP10协议分析 00.基本 [by progsoft]
举报原因:
原因补充:

(最多只允许输入30个字)