我正在尝试根据http://www.csee.umbc.edu/~pmundur/courses/CMSC691C/lab5-kurose-ross.html的例子在Java语言中实现RTSP协议;我已经成功地通过RTSP请求和流式RTP包与VLC进行了通信;VLC不能很好地识别带有JPEG有效载荷的RTP包;这就是为什么我要发送格式错误的RTP。我用wireshark嗅探了它们,并将它们与gstreamer RTSP streamer和VLc成功的RTSP通信中的数据包进行了比较。令我惊讶的是,我的应用和VLC的RTSP和RTP请求在wireshark UI中都被标记为简单的TCP和UDP数据包,而gstreamer&VLC的请求被标记为RTSP、RTP、RTCP,甚至RTSP/SDP。
我真的很困惑,我不明白为什么VLC的请求在某些情况下被wireshark解析为纯RTSP/RTP,而我的情况是纯TCP/UDP数据。至少,VLC的请求没有格式错误,即使我的请求是错误的。
如何强制wireshark将该请求识别为某个特定协议?
发布于 2013-09-22 02:33:33
右击数据包并选择“解码为...”。然后在“传输”协议列表中选择"RTP“。
如果你想解码一些定制的协议,你必须获得或编译一个分析器,这可能是相当麻烦的……幸运的是,PCAP格式很简单,直接插入到它也很容易(我上周恰好做了一个,如果我的老板同意的话,我可能会让它开源)。
感谢@GuyHarris,他表示,当检测到发起RTP会话的SDP数据包时,将执行自动RTP解码。在“编辑>首选项”菜单中还有一个选项,在“协议”树下选择" RTP“:”尝试在对话之外解码RTP“。
https://stackoverflow.com/questions/18936051
复制相似问题