如果wireshark无法识别某些类型的协议(RTSP、RTP、RTCP),如何强制其破译它们?

2024-01-19

我正在尝试根据Java实现RTSP协议http://www.csee.umbc.edu/~pmundur/courses/CMSC691C/lab5-kurose-ross.html http://www.csee.umbc.edu/~pmundur/courses/CMSC691C/lab5-kurose-ross.html例子;我已经成功通过 RTSP 请求和流 RTP 数据包与 VLC 成功通信; VLC 无法很好地识别带有 JPEG 负载的 RTP 数据包;这就是为什么我认为我发送了格式错误的 RTP。我用wireshark嗅探它们,并将它们与数据包进行比较,从gstreamer RTSP流媒体和VLc的成功RTSP通信中嗅探。让我惊讶的是,我的应用程序和 VLC 的 RTSP 和 RTP 请求在wireshark UI 中都被标记为简单的 TCP 和 UDP 数据包,而 gstreamer&VLC 的请求被标记为 RTSP、RTP、RTCP,甚至 RTSP/SDP。

我真的很困惑,我不明白为什么在某些情况下VLC的请求被wireshark解析为纯RTSP/RTP,而我的情况是纯TCP/UDP数据。至少,VLC 的请求没有格式错误,即使我的请求格式错误。

我怎样才能强制wireshark将该请求识别为某些特定协议?


右键单击数据包并选择“解码为...”。然后在“传输”协议列表中选择“RTP”。

如果你想解码一些定制的协议,你就必须获取或编译一个解析器,这可能会很麻烦......幸运的是,PCAP格式很简单,直接插入它很容易(我碰巧刚刚做了上周,如果我的老板同意,我可能会将其开源)。

感谢 @GuyHarris,他指出,当检测到启动 RTP 会话的 SDP 数据包时,会执行自动 RTP 解码。里面还有一个选项“编辑 > 首选项“菜单,选择”RTP“ 在下面 ”协议“ 树: ”尝试在对话之外解码 RTP".

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果wireshark无法识别某些类型的协议(RTSP、RTP、RTCP),如何强制其破译它们? 的相关文章

  • 当网络上的所有计算机都具有相同的公共IP地址时,如何向特定计算机发送UDP数据包? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 这就是问题 它非常简单 理解 我家里有 2 台电脑 它们都有相同的公共 IP 地址 例如 1 2 3 4 我在咖啡馆有一台计算机 不同的网络 因此它具
  • TCPServer 具有同时全双工通信

    我正在尝试编写一个 C 服务器 客户端 它将同时通过 TCP 相互发送字节数组 我正在努力思考如何实现这一目标 我见过的所有示例都等待消息 然后发送响应 我需要同时进行沟通 我是否需要为服务器和客户端上的传入和传出创建 2 个单独的 TCP
  • 如何进行 TCP 打孔?

    问题如下 这是我当前的测试代码 但没有成功 static void Main string args if args Count 3 Console WriteLine Bad args var ep new IPEndPoint IPAd
  • Python。从 6 字节字符串中打印 mac 地址

    我有 6 字节字符串的 mac 地址 您将如何以 人类 可读的格式打印它 Thanks import struct x x x x x x struct unpack BBBBBB your variable with mac
  • wireshark 和 tcpdump -r:奇怪的 tcp 窗口大小

    我正在使用 tcpdump 捕获 http 流量 并且对 TCP 慢启动以及窗口大小如何增加感兴趣 sudo tcpdump i eth1 w wget tcpdump tcp and port 80 当我使用 Wireshark 查看转储
  • 很难理解带有 async_read 和 async_write 的 Boost ASIO TCP 的一些概念

    我很难理解使用 async read 和 async write 时构建 tcp 客户端的正确方法 这examples http www boost org doc libs 1 38 0 doc html boost asio examp
  • C#/Unity - 无法从异步方法调用 Unity 方法

    我正在使用Unity3D 这是我的异步方法 private void Receive IAsyncResult ar try IPEndPoint ipEndPoint null byte data udpClient EndReceive
  • Node.js 找不到模块“tcp”

    节点在以下行崩溃 var tcp require tcp 错误文本 node js 201 throw e process nextTick error or error event on first tick Error Cannot f
  • 我的代码中某处存在无限循环

    我有这个 Java 游戏服务器 最多可处理 3 000 个 tcp 连接 每个玩家或每个 tcp 连接都有自己的线程 每个线程的运行情况如下 public void run try String packet char charCur ne
  • 将视频流式传输到 gstreamer rtsp 服务器

    我正在尝试构建一个基于gstreamer的rtsp视频服务器 就我而言 我需要客户端连接到服务器并开始将视频流传输到服务器 我读过一些关于这个主题的教程 尤其是这个 http www ip sense com linuxsense how
  • Android TCP 连接最佳实践

    我正在开发一个需要 TCP 连接到 TCP 服务器的 Android 应用程序 用 Node js 编写 我的 Android TCP 客户端正在工作 可以来回发送消息 我的具体问题是 在 Android 中处理与服务器的 TCP 连接的最
  • 是否可以通过 TCP 连接到正在侦听 3G 网络端口的 iPhone?

    我正在开发一个严重依赖 P2P 的应用程序 但我目前没有任何 SIM 卡可供实验 因此我正在 wifi 网络上进行测试 我想知道 3G 网络上的 iPhone 是否可以连接以及是否需要穿越 NAT 设备 您位于提供商的路由器后面 您的 IP
  • IE 未在 TLS 相互身份验证中发送客户端证书

    我正在尝试与第三方 API 建立 TLS 相互身份验证 客户端证书配置良好 当我尝试通过 Chrome 访问端点 url 时 它工作正常 Chrome 要求在消息框中确认证书 当我这样做时 页面会显示其内容 当我尝试使用 IE 执行同样的操
  • 由于将请求从主线程传递到工作线程,netty 中出现延迟?

    我有一些关于 Netty 服务器端 TCP IP 应用程序的问题 我想知道在将请求从老板线程传递到工作线程时是否会因为 netty 由于缺少配置等 而出现延迟 我在用 new OrderedMemoryAwareThreadPoolExec
  • 在 Perl 中如何接受多个 TCP 连接?

    我对 Linux 的 Perl 脚本有疑问 它的主要目的是成为 3 个应用程序之间的中间人 它应该做什么 它应该能够等待 UDP 文本 不带空格 udp port 当它收到 UDP 文本时 它应该将其转发到连接的 TCP 客户端 问题是我的
  • C# - 从客户端检查 TCP/IP 套接字状态

    我想为我的 TCP IP 客户端类提供 CheckConnection 函数 以便我可以检查是否发生了错误 我自己的客户端断开连接 服务器断开连接 服务器卡住等 我有类似的东西 bool isConnectionActive false i
  • 数据包丢失和数据包重复

    我试图找出数据包丢失和数据包重复问题之间的区别 有谁知道 数据包重复 是什么意思 和TCP检测到丢失时重传数据包一样吗 No In TCP 数据包 的传递是可靠的 我认为在这种情况下术语数据应该更好 因为它是面向流的协议 数据包丢失和重复是
  • 接收UDP数据包

    假设我的程序通过网络 UDP 发送 1000 字节 它是否保证接收方将 一批 接收 1000 个字节 或者他可能需要执行多次 读取 直到收到完整的消息 如果后者为真 我如何确保同一消息的数据包顺序不会 混淆 按顺序 或者协议可能保证这一点
  • 在 macOS 10.12 上绑定到套接字时出现 NSPOSIXErrorDomain

    我正在玩CocoaAsyncSocket https github com robbiehanson CocoaAsyncSocket在 Swift 中绑定到 UDP 套接字并通过本地网络接收消息 我正在初始化一个套接字 并尝试绑定到一个端
  • Python套接字模块:Recv()数据响应被切断

    解释 我目前正在尝试使用 python 脚本控制智能电源板 为了实现这一点 我使用了带有套接字模块的 TCP 连接 大约 75 的情况下 我会得到我正在寻找的响应 数据 并且一切都运行良好 然而 大约 25 的情况下 响应会以完全相同的长度

随机推荐