相对于看RTSP协议,直接抓包分析会对该协议有一个简单的认知。本文在Windows下使用Wireshark抓包,live555服务器使用前些日子搞的工程。

一、RTSP包

RTSP包基于TCP传输。下面按照使用live555的h264测试工程,使用单播方式,按顺序列出RTSP包的格式。先打开Wireshark工具进行抓包,然后用vlc连接,这样才会出现rtsp包。播放地址为:

1、OPTION

客户端(vlc)发送OPTION请求:
Request: OPTIONS rtsp://192.168.18.18:8554/h264ESVideo RTSP/1.0\r\n
CSeq: 2\r\n
User-Agent: LibVLC/2.1.3 (LIVE555 Streaming Media v2014.01.21)\r\n
\r\n
服务器回应包:
Response: RTSP/1.0 200 OK\r\n
CSeq: 2\r\n
Date: Sun, Jan 03 2016 11:57:35 GMT\r\n
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER\r\n
\r\n
发送option获取服务器支持的方法有哪些。

2、DESCRIBE

客户端发送DESCRIBE,请求RTSP服务器描述自身有哪些资源,对应的抓包结果:
Request: DESCRIBE rtsp://192.168.18.18:8554/h264ESVideo RTSP/1.0\r\n
CSeq: 3\r\n
User-Agent: LibVLC/2.1.3 (LIVE555 Streaming Media v2014.01.21)\r\n
Accept: application/sdp\r\n
\r\n
服务器回应包:

Response: RTSP/1.0 200 OK\r\n
CSeq: 3\r\n
Date: Sun, Jan 03 2016 11:57:35 GMT\r\n
Content-Base: rtsp://192.168.18.18:8554/h264ESVideo/\r\n
Content-type: application/sdp
Content-length: 515
\r\n

回应同时有SDP(会话描述协议),SDP内容较多较复杂,不在本文详述。抓包结果如下图所示:

3、SETUP

SETUP命令用于确定转输机制,建立RTSP会话。客户端发的包如下:

Request: SETUP rtsp://192.168.18.18:8554/h264ESVideo/track1 RTSP/1.0\r\n
CSeq: 4\r\n
User-Agent: LibVLC/2.1.3 (LIVE555 Streaming Media v2014.01.21)\r\n
Transport: RTP/AVP/TCP;unicast;client_port=64328-64329
\r\n

服务器回应:
Response: RTSP/1.0 200 OK\r\n
CSeq: 4\r\n
Date: Sun, Jan 03 2016 11:57:35 GMT\r\n
Transport: RTP/AVP/TCP;unicast;destination=192.168.18.1;source=192.168.18.18;client_port=64328-64329;server_port=6970-6971
Session: 735B75BD;timeout=65
\r\n
Transport的值表示传输协议,如为“Transport: RTP/AVP/TCP”表示RTP使用TCP来传输。如果是 “RTP/AVP/UDP”则表示使用UDP传输。后面接着的值表示单播(unicast)、多播(multicast)。以及端口号范围。回应包除了上述内容,还有IP地址。

4、PLAY

PLAY即开始播放视频,客户端发包:

Request: PLAY rtsp://192.168.18.18:8554/h264ESVideo/ RTSP/1.0\r\n
CSeq: 5\r\n
User-Agent: LibVLC/2.1.3 (LIVE555 Streaming Media v2014.01.21)\r\n
Session: 735B75BD
Range: npt=0.000-\r\n
\r\n

服务器回应:
Response: RTSP/1.0 200 OK\r\n
CSeq: 5\r\n
Date: Sun, Jan 03 2016 11:57:35 GMT\r\n
Range: npt=0.000-\r\n
Session: 735B75BD
RTP-Info: url=rtsp://192.168.18.18:8554/h264ESVideo/track1;seq=33054;rtptime=859736117\r\n
\r\n

5、GET_PARAMETER

获取参数命令,客户端发包:

Request: GET_PARAMETER rtsp://192.168.18.18:8554/h264ESVideo/ RTSP/1.0\r\n
CSeq: 6\r\n
User-Agent: LibVLC/2.1.3 (LIVE555 Streaming Media v2014.01.21)\r\n
Session: 735B75BD
\r\n

服务器回应:
Response: RTSP/1.0 200 OK\r\n
CSeq: 6\r\n
Date: Sun, Jan 03 2016 11:57:35 GMT\r\n
Session: 735B75BD
Content-length: 10
\r\n

6、TEARDOWN

关闭播放,VLC发TEARDOWN命令:
Request: TEARDOWN rtsp://192.168.18.18:8554/h264ESVideo/ RTSP/1.0\r\n
CSeq: 7\r\n
User-Agent: LibVLC/2.1.3 (LIVE555 Streaming Media v2014.01.21)\r\n
Session: 735B75BD
\r\n

服务器回应:
Response: RTSP/1.0 200 OK\r\n
CSeq: 7\r\n
Date: Sun, Jan 03 2016 11:57:38 GMT\r\n
\r\n

RTSP还有很多其它的命令,可以参考其它资料,本文不涉及。

二、RTP包

RTP包基于UDP或TCP传输。VLC发PLAY命令就会播放视频,接着就是连续不断的RTP包。下图是一个RTP协议截图:

三、RTCP包

RTP包基于UDP传输。会话参与者会定期发送RTCP包。RTCP包有不同的类型:

Goodbyte包

李迟 2016.1.3 晚

live555抓包实例相关推荐

  1. [na]tcpdump非常实用的抓包实例

    基本语法篇 常用应用:过滤物理口过滤某个port/ip/mac过滤协议显示ip/mac/port不解析等 过滤mac tcpdump -i eth0 ether host 24:DF:6A:F4:59 ...

  2. 网络基本功(二十四):Wireshark抓包实例分析TCP重传

    转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese 介绍 前文论述了TCP基础知识,从本节开始,通过TCP抓包实例来诊断TCP常见问题 ...

  3. 网络基本功(二十三):Wireshark抓包实例诊断TCP连接问题

    转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese 介绍 前文论述了TCP基础知识,从本节开始,通过TCP抓包实例来诊断TCP常见问题 ...

  4. Wireshark抓包实例诊断TCP连接问题

    转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese   介绍   前文论述了TCP基础知识,从本节开始,通过TCP抓包实例来诊断TCP ...

  5. linux下tcpdump抓包实例

    linux系统上的tcpdump命令对于网络故障定位是一款很好的工具,简单而强大,通过分析网络报文,不但能够定位问题根由,还对软件优化有很大帮助 步骤一:首先确认系统上已经安装了tcpdump(rpm ...

  6. 使用tcpdump抓包实例

    tcpdump通过调用网卡驱动进行网络抓包,在网络诊断,数据包分析的时候,特别有用.例子如下: tcpdump -i eno16777728 host 192.168.52.1 #抓取本机到192.1 ...

  7. linux服务器抓包实例

    1.输入ifconfig,查看linux服务器网卡和ip 2.安装tcpdump 3.例子:抓取网卡eht0 及192.168.168.18ip和8081端口 tcpdump -i eht0 -w f ...

  8. tcpdump抓包实例

    //IP过滤 tcpdump -i eth1 host 192.168.1.1 tcpdump -i eth1 src host 192.168.1.1 tcpdump -i eth1 dst hos ...

  9. tcpdump非常实用的抓包实例

    基本语法 ======== 过滤主机 -------- - 抓取所有经过 eth1,目的或源地址是 192.168.1.1 的网络数据 # tcpdump -i eth1 host 192.168.1 ...

最新文章

  1. “80后”财富新贵创业秘诀
  2. python%20语言 20培训_Python语言学习之20个值得学习的Python技巧
  3. 使用AngularJS 进行Hybrid App 开发已经有一年多时间了,这里做一个总结
  4. dedecms 备份和恢复的完整流程
  5. MULE ESB参考网站所在位置
  6. 《C语言点滴》一1.5 内功修炼
  7. JAVA程序中 + 号的使用
  8. 初探EntityFramework——来自数据库的Code First
  9. mysql导入的excel更新_excel导入数据库,存在则更新不存在添加
  10. 【NOIP2004】【Luogu1085】不高兴的津津
  11. WLAN加密技术详解
  12. 浅谈 Mybatis 中的 ${ } 和 #{ }的区别
  13. 多易教育大数据课程学费调整通知
  14. 医院随访管理系统的特点
  15. 电商分析需要重点关注的核心指标
  16. 谈谈如何解决win7/win10/win11右键转圈卡顿问题
  17. 高中数学向量——基础概念篇
  18. 2021大数据工程师就业前景及发展方向分析
  19. originPro2021(3)添加图例导出图片图例不完全
  20. Excel同一单元格多数据如何求平均数

热门文章

  1. 逃税被罚13.4亿的薇娅将于3月复出?
  2. 苹果员工号召罢工 呼吁顾客平安夜不购买苹果产品
  3. 蚂蚁森林:不存在网友反馈的“没有造林”的情况 干旱造成梭梭矮小
  4. 我是特斯拉车主:以前很风光,现在被鄙视
  5. 还在4S店买车?《Boss1+1》张朝阳对话贾鸣镝“种草”购车新方式
  6. 闲鱼:1月13日至1月19日冻结涉欺诈用户1.1万个
  7. 美团将建新上海总部 斥资65亿元拿下上海杨浦商办地块
  8. 苹果5G手机因疫情影响 或将推迟至10月发布
  9. 疑似OPPO Find X2外观专利曝光:月亮形相机模组亮了
  10. 苹果设备频繁杀后台问题在iOS 13.2.2正式版更新后得以抑制