news 2026/5/26 5:13:32

为什么过滤 rtmpt 而不是 rtmp?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
为什么过滤 rtmpt 而不是 rtmp?

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。
😊 座右铭:不想当开发的测试,不是一个好测试✌️。
如果感觉博主的文章还不错的话,还请点赞、收藏哦!👍

文章目录

  • 一 背景
  • 二 rtmpt
    • 2.1 含义
    • 2.2 工作原理
    • 2.3 数据包特征
  • 三 为什么过滤 rtmpt 而不是 rtmp?
    • 3.1 Wireshark 如何工作
  • 小结

一 背景

在 rtmp 推流时,有时需要通过wireshark工具抓包,而在过滤搜索中会搜索 rtmpt,那么rtmpt是什么含义,和 rtmp 又有什么关系?

二 rtmpt

2.1 含义

rtmpt 全称RTMP over HTTP Tunneling(Tunneling 中文隧道技术)是一种封装技术,是 RTMP 协议的一种传输方式,允许将原始的 RTMP 数据流嵌套在 HTTP 请求和响应中进行传输。核心目的是绕过防火墙或代理的限制。

2.2 工作原理

有些网络环境可能会阻止非标准端口的流量,比如 rtmp 默认的 1935 端口,但通常会允许 HTTP 端口(80)或 HTTPS(443)流量通过,而 RTMP 正是利用这一特点。客户端会与服务器建立一个 HTTP 连接,然后将原本要通过 TCP 端口 1935 发送的 RTMP 数据包作为 HTTP 请求的载荷(Payload) 发送出去。服务器端接收到这个 HTTP 请求后,会解封装出里面的 RTMP 数据包进行处理,并将响应再以 HTTP 响应的形式封装起来发回给客户端。

2.3 数据包特征

在 Wireshark 抓包时,在没有过滤的情况下外层是标准的 HTTP 协议,内层也就是 HTTP 载荷部分才是真实的 RTMP 二进制数据,Wireshark 能够智能地解析这种封装,并显示出 rtmpt 协议。

三 为什么过滤 rtmpt 而不是 rtmp?

如果过滤 RTMP, 窗口不会显示任何内容或者只会匹配那些最内层、真正的 RTMP 协议数据包,如果一个 RTMP 数据流是通过纯 TCP(端口 1935)传输的,过滤 rtmp 会抓到它们。但如果它是通过 HTTP 隧道(rtmpt)传输的,这些内层的 RTMP 数据包被外层的 HTTP 包裹着,直接过滤 rtmp 可能会错过建立隧道本身的初始握手和控制包,或者显示不完整。而过滤 rtmpt,则会显示所有的 RTMP 协议内容,会匹配所有被标识为“使用 HTTP 隧道传输”的 RTMP 流量。这包括了建立隧道的 HTTP 请求/响应以及隧道内的所有 RTMP 数据。它抓住了整个通信的“通道”。

这也涉及到 Wireshark 的解析和显示过滤器的逻辑。刚才说到,当流量通过 rtmp 传输时,网络上传输的实际是 HTTP 数据包,而 Wireshark 的协议解析器(Dissector) 非常强大。当它遇到一个 HTTP 数据包,并且其内容看起来像是 RTMP 流量时,它会进行“深度解析”。

3.1 Wireshark 如何工作

  1. 数据包首先被其识别为 http。

  2. 然后它检查 HTTP 的载荷(Payload),发现里面是 RTMP 数据。

  3. 它会在协议栈中额外添加一层 rtmpt 协议,来表示“这个 HTTP 载荷里封装了 RTMP”。这只是一个标签,用于告诉我们封装方式。

  4. 最后,它会继续解析载荷中最内层的实际 RTMP 数据,并为它打上 rtmp 协议的标签。

在 wireshark 过滤 rtmpt 后,点击一条数据,可以看到协议栈

Frame(物理层帧)Ethernet II(数据链路层)Internet Protocol Version4(网络层 IP)Transmission Control Protocol(传输层 TCP)Real Time Messaging Protocol<-实时消息协议 可以看到 RTMP 的 Header 和 Body

小结

在本篇文章中,了解到 RTMPT 是一种封装技术,是 RTMP 协议的一种传输方式,当抓包 RTMP 流时,过滤 RTMPT 展示的 RTMP 信息更加全面。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 5:53:37

Arbess从基础到实践(16) - 集成GitHub实现Java项目构建并自动化Docker部署

Arbess 是一款国产开源免费的 CI/CD 工具&#xff0c;支持免费自动化部署&#xff0c;一键安装零配置。本文将详细介绍如何安装并使用ArbessGitHub实现Docker项目自动化构建部署 1、GitHub 配置 本章节将介绍如何创建GitHub个人访问令牌&#xff0c;提供给Arbess克隆源码。 …

作者头像 李华
网站建设 2026/5/24 9:53:44

基于Python的健身房管理系统源码设计与文档

前言在健身房精细化运营需求提升、传统管理模式存在 “会员管理混乱、课程预约低效、数据统计滞后、私教跟进缺位” 的痛点背景下&#xff0c;基于 Python 的健身房管理系统构建具有重要的商业与实用价值&#xff1a;从会员管理层面&#xff0c;系统依托 Python 的数据库交互能…

作者头像 李华
网站建设 2026/5/25 4:19:31

NVIDIA HGX™ B300 GPU Droplet 服务器,即将上线DigitalOcean 云平台!

人工智能正以史无前例的速度演进&#xff0c;新的模型和繁重的负载不断突破可能的边界。从复杂的大型语言模型&#xff08;LLM&#xff09;到精密的科学模拟&#xff0c;开发者与企业都需要获得最强大、最高效的算力基础设施。在 DigitalOcean&#xff0c;我们致力于提供顶级的…

作者头像 李华
网站建设 2026/5/25 9:05:26

基于SpringBoot旅游包车管理系统毕业设计项目源码

题目简介 在旅游包车行业存在 “供需对接碎片化、车辆调度效率低、行程监管缺失、费用结算不透明” 的行业痛点背景下&#xff0c;基于 SpringBoot 的旅游包车管理系统的构建具有重要现实意义与产业价值&#xff1a;从游客 / 旅行社端来看&#xff0c;系统打破传统线下找车、议…

作者头像 李华
网站建设 2026/5/25 4:39:52

硬件升级全攻略:从评估到优化

硬件升级前的准备工作评估当前硬件配置&#xff0c;包括处理器、内存、存储、显卡等关键部件的型号和性能。使用系统信息工具或第三方软件如CPU-Z、GPU-Z获取详细数据。明确升级目标和预算&#xff0c;确定是提升游戏性能、多任务处理能力还是存储速度。不同需求对应不同的硬件…

作者头像 李华
网站建设 2026/5/25 17:42:11

基于SpringBoot框架的个人博客系统毕业设计项目源码

题目简介在自媒体创作普及、个人内容表达需求日益增长的背景下&#xff0c;传统博客系统存在开发复杂度高、功能适配性差、内容管理低效、交互体验单一的痛点&#xff0c;难以满足创作者轻量化搭建、精细化运营个人内容平台的需求。基于 SpringBoot 框架的个人博客系统构建具有…

作者头像 李华