赞
踩
又折腾了两天,终于把交互流程的抓包弄好了。还下载了dlna的文档,但是都是英文的,而且比较多,所以只能配合抓包一起阅读了。
步骤一:发送广播包
如下:
通过UDP发送,报文类型为http,目标地址239.255.255.250 端口1900
收到设备应答如下:也是UDP协议
注意上面的Location,http://192.168.31.197:1538/
第二步的交互就是与这个url之间了
步骤二:拿到设备的url之后,开始交互
如下图:
第一个命令如下:
应答是个一个xml报文,我们暂时跳过,先看下一个请求,是一个post的命令,如下:
这个post的url是哪里来的呢?这个时候,我们再回到第一个命令的应答,如下图
最终还是被找到了,就是controlurl里面的值。暂时先这样,我们继续往下看第三条命令,居然没有找到第三条命令。。。
所以猜测,后面的命令是远程服务器发送过来,果然找到了,如下,http的head命令
那么问题来了,这个url到底是哪里来的呢?是第二条命令发送给他的如下图
这样就通了,head命令之后,有发送了一个get命令,如下
接下来就是发送媒体数据了,如下,这里的数据是mp4的数据
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。