使用pcap过滤sdp数据包

时间:2016-02-10 16:46:37

标签: c++ wireshark network-protocols pcap sdp

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

1 个答案:

答案 0 :(得分:0)

如果我们仅限于SDP可以直接运行的协议,那么,如果我们查看Wireshark的当前主分支版本:

  • 任何使用媒体类型描述其有效载荷的协议原则上都可以携带SDP,媒体类型值为" application / sdp"虽然我不知道是否在实践中,您会看到,例如,SDP-over-HTTP而不是SDP-over-SIP;
  • ITU-T建议书Q.1990中规定的BICC承载控制隧道协议可以携带SDP,隧道协议指示符的值为SD20的0x20;
  • Cisco会话管理协议可以携带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至少可以运行在老式电话网络堆栈之上,例如Signaling System No. 7堆栈;是否在这些堆栈上运行时传输SDP是另一回事。