抓包分析DLNA——(1)设备发现

UPnP协议将整个通信过程分为五个步骤,分别是:Step0:地址分配,也就是设备通过DHCP等协议获取IP地址的过程。这实际上是UPnP通信的前提条件。Step1:设备发现(Discovery),controlpoint通过这一步骤找到感兴趣的UPnP设备。Step2:设备描述(Description),control point获取设备描述信息,从而了解设备所能提供的服务类型等具体信
摘要由CSDN通过智能技术生成


UPnP协议将整个通信过程分为五个步骤,分别是:

Step0:地址分配,也就是设备通过DHCP等协议获取IP地址的过程。UPnP通信的前提条件。

Step1:设备发现(Discovery),controlpoint通过这一步骤找到感兴趣的UPnP设备。

Step2:设备描述(Description),control point获取设备描述信息,从而了解设备所能提供的服务类型等具体信息。

Step3:设备控制(Control)。

Step4:Eventing。

Step5:Presentation。

 

本系列实例中所使用的环境:

DMS:VMware + Ubuntu14 + MiniDLNA1.13。IP地址是192.168.159.129。

DMP: Win7 + Foobar + foo_upnp插件(0.99.48)。 IP地址是192.168.159.1。

 

设备发现是UPnP的第一个步骤。对应协议栈如图所示:


SSDP的Notification一共有三种类型——ssdp:alive,ssdp:byebye和ssdp:update。当一个新设备加入到网络中后,按照协议应向网络中的控制点广播ssdp:alive通告,即advertisement。

在我们的环境中,在关闭Foobar的情况下首先启动miniDLNA。这时DMS立即连续发送了24条SSDP报文,即广播的advertisement。目的IP为协议中定好的广播地址239.255.255.250,断口号则固定为1900([1]文档1.2节),如下图所示:

这24条报文可以分为4组,每组6条。第1-6条报文与第7-12条报文的内容完全一致。第13-18条报文与19-24条报文的内容一致。其中第三组报文构成一套完整的ssdp:alive通告,向网络中的其它设备宣告自己存在。第一组报文是与第三组报文内容相对应的ssdp:byebye通告。这是为了确保在发布alive通告之前,清除control point上可能存有的关于本设备及服务的旧的状态信息。第二组与第四组报文分别是第一组与第四组报文的重复,这是因为SSDP是基于非可靠的UDP传输,UPnP协议允许设备

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值