使用 pcap 过滤 sdp 数据包

Filtering sdp packets using pcap

本文关键字:数据包 sdp 过滤 pcap 使用      更新时间:2023-10-16

我想过滤 sdp 数据包,以便能够识别 rtp 流的可能会话启动。我正在使用 c++ 的 pcap 库来读取数据包,我想为 sdp 数据包编写一个解析器,但我不知道除了 SIP 和 MGCP 之外还有哪些协议可以封装 sdp(我的意思是在 UDP 之后(。或者如果有人可以阐明wireshark如何过滤/识别SDP数据包。

如果我们限制自己在SDP可以直接运行的协议上,那么,如果我们看一下Wireshark的当前主分支版本:

  • 原则上,任何使用媒体类型来描述其有效负载的协议都可以携带SDP,媒体类型值为"application/sdp",尽管我不知道在实践中,您是否会看到例如,SDP-over-HTTP而不是SDP-over-SIP;
  • ITU-T建议书Q.1990中规定的BICC承载控制隧道协议可以承载SDP,隧道协议指示器的SDP值为0x20;
  • 思科会话管理协议可以承载SDP;
  • ISUP(ISDN用户部分(协议可以承载SDP;
  • 网关控制协议(RFC 3525;早期版本称为MEGACO(和MGCP(RFC 3435(可以携带SDP;
  • 会话公告协议 (RFC 2974( 可以携带 SDP。

您将在当今的网络流量中看到哪些是另一回事。

至于运行它们的协议,嗯,它们中的大多数运行在TCP或可能的UDP之上,或者在最终运行在TCP或可能的UDP之上的东西之上,这意味着它们将在IPv4或IPv6上运行,

这意味着它们将在可以传输IPv4或IPv6的任何链路层上运行, 意味着以太网和 802.11 和 PPP 和....

然而,ISUP至少可以在老式的电话网络堆栈上运行,例如7号信令系统堆栈;在这些堆栈上运行时是否传输SDP是另一回事。