【发布时间】:2011-12-12 12:51:53
【问题描述】:
我有一个带有 voip 会话的 pcap 文件,我如何将 RTP 数据包与其他数据包分开?
我可以获取 sip 数据包,但我无法区分 RTP 数据包与其他数据包。
【问题讨论】:
我有一个带有 voip 会话的 pcap 文件,我如何将 RTP 数据包与其他数据包分开?
我可以获取 sip 数据包,但我无法区分 RTP 数据包与其他数据包。
【问题讨论】:
如果你想在wireshark中查看RTP流量,那么:
希望对您有所帮助。 :)
附言编辑指出这是针对 Wireshark 的。感谢评论者指出这一点!
【讨论】:
查看@macs 关于 PCap 过滤器的建议。如果这不能满足您的需求(例如,您需要过滤掉特定 SIP 会话的 RTP 数据包),则没有简单的方法。您需要解析 SIP 消息,检索 RTP 端口号,在特定时间段内接收进出这些端口的数据包,并且(可选)通过检查它们的标头(标头中的magic number)来检查这些数据包是否是 RTP
【讨论】:
从 pcap 文件中提取 RTP/RTCP 数据包的开源软件是:
您可以从源代码中查看和了解所使用的方法。
我可以获取 sip 数据包,但我无法区分 RTP 数据包 其余的。
如果您能够解码 SIP,那么您可以找到(在 INVITE 消息中)SDP 消息。如果您对其进行解码,您可以找到 RTP“流”的 IP 和端口(以及 RTCP => 端口 + 1)。通过这些信息,您可以唯一地识别 RTP 和 RTCP 数据包。请记住,通常有 STUN 协议的包(具有相同的 IP-PORT)必须与 RTP 分开。 您必须考虑数据包捕获在哪里(网络上下文和约束),您可以考虑 NAT。
【讨论】: