[流媒体]实例解析MMS流媒体协议,下载LiveMediaVideo[2][修正版本]

news/2024/7/2 1:42:28

编写者

日期

关键词

郑昀@ultrapower

2005-10-17

mms streaming protocol

ethereal 协议分析 流媒体

为了改造mimms,我分析了SDP和流媒体服务器的来往包,看看我和他的实现到底存在哪些差异。如果你也开发流媒体下载应用,希望这个分析对你理解 Microsoft Windows Media Services”协议有帮助。

 

下面是每一个数据包。我们对每一个“包头”和“包体”的每一个字节都做了尽可能详细的分析。

对了,编码格式是“Little Endian”,也就是0f 00 00 00的实际值是0x0f

         [流媒体]实例解析MMS流媒体协议,下载LiveMediaVideo[1]

第三对包client to server 告知传输协议/IP地址/端口号

 1to server;Len=112

0030                             01 00 00 00 ce fa 0b b0 60 00  ..............`.

0040   00 00 4d 4d 53 20 0c 00 00 00 02 00 00 00 00 00  ..MMS ..........

0050   00 00 00 00 00 00 0a 00 00 00 02 00 03 00 f1 f0  ................

0060   f0 f0 ff ff ff ff 00 00 00 00 00 00 a0 00 02 00     ................

0070   00 00 5c 00 5c 00 31 00 39 00 32 00 2e 00 31 00  .././.1.9.2...1.

0080   36 00 38 00 2e 00 31 00 2e 00 38 00 35 00 5c 00  6.8...1...8.5./.

0090   54 00 43 00 50 00 5c 00 32 00 35 00 31 00 36 00  T.C.P./.2.5.1.6.

00a0   00 00 00 00 00 00

 

包头”解释:

l         01 00 00 00 ce fa 0b b0BOOB FACE8l         60 00 00 00(4d 4d 53 20)4l         4d 4d 53 20MMS ASCII4l         0c 00 00 00Length until end of packet in 8 byte boundary lengthsIncluding own data field4l         02 00 00 00Sequence number4l         00 00 00 00 00 00 00 008Double precision time stamp (see notes) used for network timingl         0a 00 00 00Length until end of packet in 8 byte boundary lengths. Including own data field4l         02 00 03 00”, Comm 2 bytes | Dir 2 bytes02 00Command03 00Direction0x034

 

Comm 2 bytes | Dir 2 bytesBody

“包体”解释:

l         f1 f0 f0 f0MMS24l         ff ff ff ff 00 00 00 008l         00 00 a0 004l         02 00 00 00Header PacketIDType4l         01 00 00 00 01 00 00 00 00 80 00 0012l         5c 00 5c 00 31 00 39 00 32 00 2e 00 31 00 36 00 38 00 2e 00 31 00 2e 00 38 00 35 00 5c 00 54 00 43 00 50 00 5c 00 32 00 35 00 31 00 36 00//192.168.1.85/TCP/2516ASCIITCPIP192.168.1.85socket2516

第三对包server to client 表示接受传输协议

 2to client;Len=96

0030                          01 00 00 00 ce fa 0b b0 50 00  ..@0..........P.

0040   00 00 4d 4d 53 20 0a 00 00 00 04 00 00 00 73 00  ..MMS ........s.

0050   70 00 3a 00 2f 00 08 00 00 00 02 00 04 00 00 00  p.:./...........

0060   00 00 f1 f0 f0 f0 08 00 00 00 46 00 75 00 6e 00  ..........F.u.n.

0070   6e 00 65 00 6c 00 20 00 4f 00 66 00 20 00 54 00  n.e.l. .O.f. .T.

0080   68 00 65 00 20 00 47 00 6f 00 64 00 73 00 00 00  h.e. .G.o.d.s...

0090   8a 94 b9 30 c2 c1                                ...0..

 

包头”解释:

l         01 00 00 00 ce fa 0b b0BOOB FACE8l        

l         02 00 04 00”, Comm 2 bytes | Dir 2 bytes02 00Command04 00Direction0x044

 

02 00 04 00Body

“包体”解释:

l         00 00 00 00l         f1 f0 f0 f0MMS24l         08 00 00 004l         46 00 75 00 6e 00 6e 00 65 00 6c 00 20 00 4f 00 66 00 20 00 54 00 68 00 65 00 20 00 47 00 6f 00 64 00 73 00Funnel Of The GodsASCIIFunnel Of The”。不知道为什么偏偏是这个上帝的漏斗,我们不妨假设服务器是想告诉我们传输协议被接受了。

 

第四对包:client to server 告知媒体文件名

 第四回合之1to server;Len=80

0030                          01 00 00 00 ce fa 0b b0 40 00  ..............@.

0040   00 00 4d 4d 53 20 08 00 00 00 03 00 00 00 00 00  ..MMS ..........

0050   00 00 00 00 00 00 06 00 00 00 05 00 03 00 01 00  ................

0060   00 00 ff ff ff ff 00 00 00 00 00 00 00 00 63 00  ..............c.

0070   65 00 62 00 65 00 69 00 6a 00 69 00 6e 00 67 00  e.b.e.i.j.i.n.g.

0080   31 00 31 00 00 00                                1.1...

 

 

包头”解释:

l         01 00 00 00 ce fa 0b b0BOOB FACE8l        

l         05 00 03 00”, Comm 2 bytes | Dir 2 bytes05 00Command03 00Direction0x034

 

05 00 03 00Body

“包体”解释:

l         01 00 00 00Command Level4l         ff ff ff ffMMS34l         00 00 00 00 00 00 00 0080l         63 00 65 00 62 00 65 00 69 00 6a 00 69 00 6e 00 67 00 31 00 31 00cebeijing11ASCIIIPDNSthis/is/the/file/path/on/server/with/filename.ext第四对包server to client 告知流属性(广播标志/比特率)

 四回合之2to client;Len=152

0030                          01 00 00 00 ce fa 0b b0 88 00  .........M......

0040   00 00 4d 4d 53 20 11 00 00 00 05 00 00 00 00 00  ..MMS ..........

0050   00 00 00 00 00 00 0f 00 00 00 06 00 04 00 00 00  ................

0060   00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00  ................

0070   00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00  ................

0080   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

0090   00 00 20 03 00 00 00 00 00 00 00 00 00 00 8e 10  .. .............

00a0   01 00 16 09 00 00 00 00 00 00 00 00 00 00 00 00  ................

00b0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

00c0   00 00 00 00 00 00 00 00 00 00 00 00 00 00        ..............

 

包头”解释:

l         01 00 00 00 ce fa 0b b0BOOB FACE8l        

l         06 00 04 00”, Comm 2 bytes | Dir 2 bytes06 00Command04 00Direction0x044

 

06 00 04 00Body

“包体”解释:

l         00 00 00 00l         01 00 00 00l         01 00 00 004l         00 00 00 00 00 00 00 00l         00 00 00 02l         00 00 00 00 00 00 00 00”,8l         00 00 00 00代表total pre-recorded media length in seconds, live = 0。因为我们这个是一个实况录像,所以是00 00 00 00

l         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00”,16字节。

l         20 03 00 00”,用在media的包字节长度。4字节。0x0320也就是800个字节。

l         00 00 00 00”,代表total number of packets in media, live = 0xffffffff or 0x00。因为我们这个是一个实况录像,所以是00 00 00 00

l         00 00 00 00”;

l         8e 10 01 00”,代表流比特率最高速度,0x0001108e就是Bitrate: 69774 bps

l         16 09 00 00”,代表整个header的大小。0x0916代表2326字节。

l         4000

 

       600 00 00 02       00 00n         0x00n         0x80       00 02n         0x01n         0x02Liven         0x42presentation

 

601 00 00 00l         0x01l         0x02BASICl         0x03NTLM0x01

 

 

第五对包:client to server 请求header

 第五回合之1to server;Len=88

0030                      01 00 00 00 ce fa 0b b0 48 00  ..j...........H.

0040   00 00 4d 4d 53 20 09 00 00 00 04 00 00 00 00 00  ..MMS ..........

0050   00 00 00 00 00 00 07 00 00 00 15 00 03 00 01 00  ................

0060   00 00 00 00 00 00 00 00 00 00 00 80 00 00 ff ff  ................

0070   ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

0080   00 00 00 20 ac 40 02 00 00 00 00 00 00 00        ... .@........

 

包头”解释:

l         01 00 00 00 ce fa 0b b0BOOB FACE8l        

l         15 00 03 00”, Comm 2 bytes | Dir 2 bytes15 00Command1503 00Direction0x034

 

15 00 03 00Body

“包体”解释:

l         01 00 00 00Command Level4l         00 00 00 004l         00 00 00 0040l         00 80 00 008l         ff ff ff ffl         00 00 00 00l         00 00 00 00 00 00 00 00l         00 00 00 00 00 20 ac 40l         02 00 00 00Header Packet ID type,用在mms pre-headers

第五对包server to client 发送header

 回合之2to client;Len=56

0030                     01 00 00 00 ce fa 0b b0 28 00  .O:...........(.

0040   00 00 4d 4d 53 20 05 00 00 00 06 00 00 00 73 00  ..MMS ........s.

0050   70 00 3a 00 2f 00 03 00 00 00 11 00 04 00 00 00  p.:./...........

0060   00 00 02 00 00 00 00 00 00 00 46 00 75 00        ..........F.u.

 

包头”解释:

l         01 00 00 00 ce fa 0b b0BOOB FACE8l        

l         11 00 04 00”, Comm 2 bytes | Dir 2 bytes11 00Command04 00Direction0x044

 

11 00 04 00Body

“包体”解释:

l         00 00 00 00l         02 00 00 00Header Packet ID Typel         00 00 00 00l         46 00 75 0000 00 00 00

 

第六回合包server to client 发送asf真实数据

 回合之1to client;Len=800

0030                     00 00 00 00 02 04 20 03 30 26  .O'......... .0&

0040   b2 75 8e 66 cf 11 a6 d9 00 aa 00 62 ce 6c e4 08  .u.f.......b.l..

0050   00 00 00 00 00 00 06 00 00 00 01 02 ce 75 f8 7b  .............u.{

0060   8d 46 d1 11 8d 82 00 60 97 c9 a2 b2 20 00 00 00  .F.....`.... ...

0070   00 00 00 00 01 00 01 00 8e 10 01 00 a1 dc ab 8c  ................

0080   47 a9 cf 11 8e e4 00 c0 0c 20 53 65 68 00 00 00  G........ Seh...

0090   00 00 00 00 1b 8c fa 8c 59 c8 16 4b 85 2f ac 87  ........Y..K./..

00a0   f4 b8 59 bd 16 09 00 00 00 00 00 00 70 4f ab 48  ..Y.........pO.H

00b0   1e d0 c5 01 ff ff ff ff 00 00 00 00 00 00 00 00  ................

00c0   00 00 00 00 00 00 00 00 00 00 00 00 88 13 00 00  ................

00d0   00 00 00 00 09 00 00 00 20 03 00 00 20 03 00 00  ........ ... ...

00e0   8e 10 01 00 b5 03 bf 5f 2e a9 cf 11 8e e3 00 c0  ......._........

00f0   0c 20 53 65 b1 06 00 00 00 00 00 00 11 d2 d3 ab  . Se............

0100   ba a9 cf 11 8e e6 00 c0 0c 20 53 65 06 00 83 06  ......... Se....

0110   00 00 a9 46 43 7c e0 ef fc 4b b2 29 39 3e de 41  ...FC|...K.)9>.A

0120   5c 85 27 00 00 00 00 00 00 00 01 00 0c 7a 00 68  /.'..........z.h

0130   00 2d 00 63 00 6e 00 00 00 cb a5 e6 14 72 c6 32  .-.c.n.......r.2

0140   43 83 99 a9 69 52 06 5b 5a 58 00 00 00 00 00 00  C...iR.[ZX......

0150   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

0160   00 00 fa 00 00 88 13 00 00 00 00 00 00 00 fa 00  ................

0170   00 88 13 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

0180   00 01 00 00 00 2a 2c 0a 00 00 00 00 00 00 00 00  .....*,.........

0190   00 5d 8b f1 26 84 45 ec 47 9f 5f 0e 65 1f 04 52  .]..&.E.G._.e..R

01a0   c9 1a 00 00 00 00 00 00 00 02 01 ea cb f8 c5 af  ................

01b0   5b 77 48 84 67 aa 8c 44 fa 4c ca 80 00 00 00 00  [wH.g..D.L......

01c0   00 00 00 02 00 00 00 01 00 0c 00 02 00 02 00 00  ................

01d0   00 49 00 73 00 56 00 42 00 52 00 00 00 00 00 00  .I.s.V.B.R......

01e0   00 01 00 34 00 00 00 0c 00 00 00 44 00 65 00 76  ...4.......D.e.v

01f0   00 69 00 63 00 65 00 43 00 6f 00 6e 00 66 00 6f  .i.c.e.C.o.n.f.o

0200   00 72 00 6d 00 61 00 6e 00 63 00 65 00 54 00 65  .r.m.a.n.c.e.T.e

0210   00 6d 00 70 00 6c 00 61 00 74 00 65 00 00 00 4d  .m.p.l.a.t.e...M

0220   00 50 00 40 00 4c 00 4c 00 00 00 74 d4 06 18 df  .P.@.L.L...t....

0230   ca 09 45 a4 ba 9a ab cb 96 aa e8 6a 05 00 00 00  ..E........j....

0240   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

 

包头”解释:

l         01 00 00 00 ce fa 0b b0BOOB FACE8l         30 26 b2 75 8e 66 cf 11  a6 d9 00 aa 00 62 ce 6c

ASFGUIDheaderasfGUIDheader chunk objectheaderl        

l         a1 dc ab 8c 47 a9 cf 11 8e e4 00 c0 0c 20 53 65”, File Header Objectobject

 

.





http://www.niftyadmin.cn/n/3649647.html

相关文章

react集成钉钉api_如何将Google Maps API集成到React应用程序中

react集成钉钉api介绍 (Introduction) This tutorial aims at integrating the google maps API to your React components and enabling you to display maps on your website. 本教程旨在将google maps API集成到您的React组件中,并使您能够在网站上显示地图。 先…

Android项目实战系列—基于博学谷(四)我的模块(上)

由于这个模块内容较多,篇幅较长,请耐心阅读。 “我”的模块分为四个部分 我的界面 设置界面 修改密码界面 设置密保和找回密码 一、“我”的界面 1、底部导航栏 (1)、导入界面图片 将底部导航栏所需图片main_course_icon.png、main_course…

[流媒体]实例解析MMS流媒体协议,下载LiveMediaVideo[1]

[流媒体]按照MMS协议和MS Media Server交互下载实时交通录像的包分析---实例解析MMS流媒体协议,下载LiveMediaVideo编写者日期关键词郑昀ultrapower2005-10-17mms streaming protocol ethereal 协议分析 流媒体通过mms://220.194.63.17/cebeijing8,我们可…

如何在Visual Studio Code中调试Angular CLI应用程序

介绍 (Introduction) In this post, you’ll create an Angular CLI application, then add configuration to debug it in Visual Studio Code. 在本文中,您将创建一个Angular CLI应用程序,然后添加配置以在Visual Studio Code中对其进行调试。 TLDR-对…

Android项目实战系列—基于博学谷(四)我的模块(下)

由于这个模块内容较多,篇幅较长,请耐心阅读。 “我”的模块分为四个部分 我的界面 设置界面 修改密码界面 设置密保和找回密码 一、修改密码 1、创建修改密码界面 在com.boxuegu.activity包中,创建一个java类,命名为ModifyPswActivity。在r…

手机道路信息监测网的实际操作设想

从下面的新闻谈起,在实际的操作层面,SP首先和交通台合作,征集众多的信息提供者,这些志愿者每日驾车保证上下班途中手机开机。SP就可以利用LBS接口查询到手机所处的经纬度,如下所示:116.2139240.22050然后&a…