Ily*_*iev 3 udp tcp rtp rtsp wireshark
我正在尝试根据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。
我真的很困惑,我不明白为什么在某些情况下,wireshark将VLC的请求解析为纯RTSP / RTP,而我的情况则解析为纯TCP / UDP数据。至少,即使我的请求,VLC的请求也没有格式错误。
如何强制Wireshark将请求识别为某些特定协议?
右键单击数据包,然后选择“解码为...”。然后在“传输”协议列表中选择“ RTP”。
如果要解码某些定制协议,则必须获取或编译解剖器,这可能会很麻烦。幸运的是,PCAP格式很简单,直接插入它很容易(我碰巧已经如果老板同意,我可以将其设为“开放源代码”)。
感谢@GuyHarris,他说在检测到启动RTP会话的SDP数据包时执行自动RTP解码。“ 编辑>首选项 ”菜单中还有一个选项,在“ 协议 ”树下选择“ RTP ” :“ 尝试在对话之外解码RTP ”。