如何理解UDP数据包携带SIP消息

时间:2014-12-23 20:14:26

标签: udp port sip

我正在开发一种软​​件,它使用c ++中的pcap lib来捕获UDP数据包 了解接收到的UDP数据包本身是否携带SIP消息而不使用任何第三方软件的方式是什么?

5060端口可以是其中一种方式,但如果将其更改为其他内容会怎样? 例如:我的SIP服务器正在使用端口#10000。在那种情况下,我怎么能理解它?

2 个答案:

答案 0 :(得分:3)

  

了解收到的UDP数据包本身是否携带SIP消息而不使用任何第三方软件的方式是什么?

理解方式是阅读RFC3261中的SIP规范或ArsTechnica的简短介绍。在那里,您将找到消息格式,然后您可以使用该格式提取所需的信息,以便仅将数据包与某些启发式匹配或解析它。

一个好的和简单的启发式可能是第一行的匹配,它以“SIP / 2.0”(请求)结束或以“SIP / 2.0”(响应)开头。

答案 1 :(得分:0)

目前,没有选项可以将捕获数据包分解为捕获库中的相关第7层应用程序协议。您可以进行后处理以捕获数据段并进行简单检查以检测消息的第一个或两个字符以匹配SIP请求或响应。​​