要了解DLNA需要了解upnp,因为DLNA在upnp之上

whireshark 抓包工具准备

先把whireshark打开
使用过滤器把网关的包去掉,不然干扰太多,首先说明,只要发包网关一定会发很多包回应,这一步时通过ssdp协议回应的:
分析所有包但是除了网关
udp port 1900 and (!host 192.168.1.1)

//只分析116的包
udp and host 192.168.1.108

kodi

首先分析kodi的探测search包

M-SEARCH * HTTP/1.1
MX: 5
ST: upnp:rootdevice
MAN: “ssdp:discover”
User-Agent: UPnP/1.0 DLNADOC/1.50 Kodi
Connection: close
Host: 239.255.255.250:1900

chrome

因为我打开着chrome,所以接下去又找到了chrome的包,我们都知道大名鼎鼎的chromecast,也是一样正在往网络上发探测搜索包,kodi 这样的软件也是一样正在网络里面发包。
M-SEARCH * HTTP/1.1
HOST: 239.255.255.250:1900
MAN: “ssdp:discover”
MX: 1
ST: urn:dial-multiscreen-org:service:dial:1
USER-AGENT: Google Chrome/89.0.4389.90 Windows

手机发送

在局域网里面有手机开着看电影的时候,无一例外在里面会受到手机不断发送的消息,这样手机会收到设备返回的单播包,手机在里面找到自己的render,显示在界面上,由播放者选择投屏。

单播回送包

这是一个单播回送的信息
HTTP/1.1 200 OK
Location: http://192.168.1.144:1350/DeviceDescription.xml
Cache-Control: max-age=1800
Server: UPnP/1.0 DLNADOC/1.50 Kodi
EXT:
BOOTID.UPNP.ORG: 0
CONFIGID.UPNP.ORG: 9678
USN: uuid:97aa0fa5-1810-10f8-edcc-5a1a3e8aa358::upnp:rootdevice
ST: upnp:rootdevice
Date: Wed, 05 May 2021 13:39:43 GMT

notify信息

协议拥有者也会发送notify信息,表明自己是什么!如以下包

mediarender的信息
NOTIFY * HTTP/1.1
Host: 239.255.255.250:1900
Location: http://192.168.1.108:1294/
Cache-Control: max-age=1800
Server: UPnP/1.0 DLNADOC/1.50 Kodi
NTS: ssdp:alive
USN: uuid:01820fcf-4611-f824-9f1b-e44c7f0d909e::upnp:rootdevice
NT: upnp:rootdevice

NOTIFY * HTTP/1.1
Host: 239.255.255.250:1900
Location: http://192.168.1.108:1294/
Cache-Control: max-age=1800
Server: UPnP/1.0 DLNADOC/1.50 Kodi
NTS: ssdp:alive
USN: uuid:01820fcf-4611-f824-9f1b-e44c7f0d909e
NT: uuid:01820fcf-4611-f824-9f1b-e44c7f0d909e

NOTIFY * HTTP/1.1
Host: 239.255.255.250:1900
Location: http://192.168.1.108:1294/
Cache-Control: max-age=1800
Server: UPnP/1.0 DLNADOC/1.50 Kodi
NTS: ssdp:alive
USN: uuid:01820fcf-4611-f824-9f1b-e44c7f0d909e::urn:schemas-upnp-org:device:MediaRenderer:1
NT: urn:schemas-upnp-org:device:MediaRenderer:1

NOTIFY * HTTP/1.1
Host: 239.255.255.250:1900
Location: http://192.168.1.108:1294/
Cache-Control: max-age=1800
Server: UPnP/1.0 DLNADOC/1.50 Kodi
NTS: ssdp:alive
USN: uuid:01820fcf-4611-f824-9f1b-e44c7f0d909e::urn:schemas-upnp-org:service:AVTransport:1
NT: urn:schemas-upnp-org:service:AVTransport:1

NOTIFY * HTTP/1.1
Host: 239.255.255.250:1900
Location: http://192.168.1.108:1294/
Cache-Control: max-age=1800
Server: UPnP/1.0 DLNADOC/1.50 Kodi
NTS: ssdp:alive
USN: uuid:01820fcf-4611-f824-9f1b-e44c7f0d909e::urn:schemas-upnp-org:service:ConnectionManager:1
NT: urn:schemas-upnp-org:service:ConnectionManager:1

NOTIFY * HTTP/1.1
Host: 239.255.255.250:1900
Location: http://192.168.1.108:1294/
Cache-Control: max-age=1800
Server: UPnP/1.0 DLNADOC/1.50 Kodi
NTS: ssdp:alive
USN: uuid:01820fcf-4611-f824-9f1b-e44c7f0d909e::urn:schemas-upnp-org:service:RenderingControl:1
NT: urn:schemas-upnp-org:service:RenderingControl:1

//以上为ssdp发现协议的过程

下面说到控制和事件

SOAP协议

简单对象访问协议(Simple Object Access Protocol:SOAP)定义如何使用XML与HTTP来执行远程过程调用(Remote Procedure Call)。包括控制点如何发送命令消息给设备,设备收到命令消息后如何发送响应消息给控制点。该协议运用在UPnP工作流程的设备控制部分。抓包会发现一堆的soap控制信息。
以下为推送端和kodi的交互过程

GET / HTTP/1.1
Host: 192.168.1.144:1551
User-Agent: Go-http-client/1.1
Accept-Encoding: gzip

HTTP/1.1 200 OK
Date: Wed, 05 May 2021 14:18:51 GMT
Content-Length: 3369
Content-Type: text/xml; charset=“utf-8”
Server: UPnP/1.0 DLNADOC/1.50 Kodi

<?xml version="1.0" encoding="UTF-8"?> 1 1 urn:schemas-upnp-org:device:MediaRenderer:1 Kodi (MS-BXGVPAQUGSSC) XBMC Foundation http://kodi.tv/ Kodi - Media Renderer Kodi 18.9 (18.9.0) Git:20201023-0655c2c718 http://kodi.tv/ uuid:cff47b40-2475-7ff1-7459-318ec45c9853 http://192.168.1.144:8080/ DMR-1.50 image/png 256 256 8 /icon256x256.png image/png 120 120 8 /icon120x120.png image/png 48 48 8 /icon48x48.png image/png 32 32 8 /icon32x32.png image/png 16 16 8 /icon16x16.png urn:schemas-upnp-org:service:AVTransport:1 urn:upnp-org:serviceId:AVTransport /AVTransport/cff47b40-2475-7ff1-7459-318ec45c9853/scpd.xml /AVTransport/cff47b40-2475-7ff1-7459-318ec45c9853/control.xml /AVTransport/cff47b40-2475-7ff1-7459-318ec45c9853/event.xml urn:schemas-upnp-org:service:ConnectionManager:1 urn:upnp-org:serviceId:ConnectionManager /ConnectionManager/cff47b40-2475-7ff1-7459-318ec45c9853/scpd.xml /ConnectionManager/cff47b40-2475-7ff1-7459-318ec45c9853/control.xml /ConnectionManager/cff47b40-2475-7ff1-7459-318ec45c9853/event.xml urn:schemas-upnp-org:service:RenderingControl:1 urn:upnp-org:serviceId:RenderingControl /RenderingControl/cff47b40-2475-7ff1-7459-318ec45c9853/scpd.xml /RenderingControl/cff47b40-2475-7ff1-7459-318ec45c9853/control.xml /RenderingControl/cff47b40-2475-7ff1-7459-318ec45c9853/event.xml SUBSCRIBE /AVTransport/cff47b40-2475-7ff1-7459-318ec45c9853/event.xml HTTP/1.1 Host: 192.168.1.144:1551 User-Agent: Go-http-client/1.1 CALLBACK:

HTTP/1.1 200 OK
SID: uuid:7b7b6be2-c7db-41e4-c966-0e13962c2f96
TIMEOUT: Second-1800
Date: Wed, 05 May 2021 14:18:51 GMT
Content-Length: 0
Connection: close
Server: UPnP/1.0 DLNADOC/1.50 Kodi

以上的交互过程非常清楚,简单,upnp协议是非常方便的,多分析,多抓包,可以获取很多软件使用的方法。
未完待续,继续补充

投放屏幕upnp协议探究抓包相关推荐

  1. 互联网协议IP抓包分析 -- wireshark

    互联网协议IP抓包分析 – wireshark 互联网协议IP是Internet Protocol的缩写,中文缩写是网协 互联网协议也就是为计算机相互连接进行通信而设计的协议. IP地址协议报文首部 ...

  2. java实现FTP协议:wireshark抓包解析

    本节我们看看ftp协议的数据包格式,同时使用代码加以实现.首先我们现在机器上安装ftp服务器,我在自己的机器上安装了QuickFTP Server,它是我随便找来的一款Mac ftp服务器,如下图所示 ...

  3. Http协议和抓包工具

    爬虫系列目录 1.HTTP协议和抓包工具 文章目录 爬虫系列目录 理解Http协议 常见请求头参数 常见响应状态码 Chrome抓包工具的使用 理解Http协议 http: 80 https: 443 ...

  4. 实战录 | 基于openflow协议的抓包分析

    <实战录>导语 云端卫士<实战录>栏目定期会向粉丝朋友们分享一些在开发运维中的经验和技巧,希望对于关注我们的朋友有所裨益.本期分享人为云端卫士安全SDN工程师宋飞虎,将带来基于 ...

  5. ICMP协议及其抓包分析

    ICMP协议及其抓包分析 Internet消息控制协议(ICMP)指定了多种消息类型,其目的就是管理网络. ICMP的消息分为错误信息.请求信息和响应消息. 一般ICMP数据包格式 ICMP数据包类型 ...

  6. tcpdump抓包ftp协议_tcpdump抓包使用方法详解

    tcpdump抓包分析详解 [root@linux ~]#tcpdump [-nn] [-i 接口] [-w 储存档名] [-c 次数] [-Ae][-qX] [-r 档案] [所欲撷取的数据内容] ...

  7. tcpdump抓包ftp协议_tcpdump抓包并保存成cap文件

    首选介绍一下tcpdump的常用参数 tcpdump采用命令行方式,它的命令格式为: tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ] [ -i 网络接 ...

  8. 抓包红色_抓包三部曲 WebSocket 协议原理抓包分析

    这篇文章通过抓包分析 WebSocket 协议的细节,学习一下 WebSocket 执行流程. 1.WebSocket 流程说明 (1)客户端和服务器之间完成三次握手建立 TCP 连接(TLS/SSL ...

  9. 接口协议之抓包分析 TCP 协议

    TCP 协议是在传输层中,一种面向连接的.可靠的.基于字节流的传输层通信协议. 环境准备 对接口测试工具进行分类,可以如下几类: 网络嗅探工具:tcpdump,wireshark 代理工具:fiddl ...

最新文章

  1. JAVA语言概述和基本语法知识点
  2. SVN账号重新指定方法
  3. 这里有一份福利“拍了拍”你
  4. 第一行代码学习笔记第二章——探究活动
  5. bzoj 1221: [HNOI2001] 软件开发
  6. 安装漂亮的Faenza1.3与Faience0.5图标主题
  7. 【DP】【高精】逆序对(jzoj 2014)
  8. PHP简单好看的表白墙网自适应源码+后台
  9. 闲来无事,就把lnmp的php升级到php-5.2.17最新稳定版本
  10. 给Lisp程序员的Python简介
  11. 第一章 WebGL简介 Introduction
  12. Linux中线程使用详解
  13. PostgreSQL的JDBC驱动---jdbc的链接数据库
  14. php soapfault 怎么用,SoapFault出现的问题及解决办法分享
  15. 三小时学会Kubernetes:容器编排详细指南
  16. iphone4s 关于大于400M的视频无法拷贝的问题
  17. python微信加人_Python 基于wxpy库实现微信添加好友功能(简洁)
  18. 带着问题,再读ijkplayer源码
  19. python运行cmd命令和opencv搭建_Python让蔡徐坤在我的命令行里打篮球!
  20. 用js计算12个月的社保缴纳总额-企业信息公示

热门文章

  1. 在Ubuntu 18.04 LTS 入门 ROS Melodic 机器人 操作系统
  2. php时间跨度,在PHP中执行与日期时间相关的操作
  3. ruby和python比较_为什么说Ruby比Python容易阅读
  4. 法拉第未来FF91付费预订仅300台,国内关联公司存在失信
  5. 永别了!2200元,老外眼中的2200元神机缺货数月后下架
  6. 百度元宇宙产品“希壤”将于12月27日发布
  7. iPhone成交额2秒破亿!京东11.11晚8点战报:5分钟家电成交额破20亿
  8. 苹果推送iOS 15系统正式版:实况文本等功能上线
  9. 华为P50首发麒麟9000L:5nm EUV工艺打造 配置有所缩减
  10. 号称36个月不卡顿!网友:就是有点贵