使用tcpdump捕获RTP和SIP流量

时间:2012-07-27 10:22:00

标签: sip rtp tcpdump

我需要捕获SIP和RTP流量才能发现问题。我可以很好地捕获SIP消息,但是捕获RTP流量时遇到问题。

我尝试了以下内容,但这只是取出了SIP软件包而没有RTP。

  

tcpdump -T rtp -vvv src -s 1500 -i any -w /home/lantrace_test2.pcap   港口5060

我想做的另一种方式是rtp使用一系列UDP端口,捕获我们用于RTP流量的范围,但我找不到捕获一系列端口的方法,所以不确定如果tcpdump支持捕获的端口范围

感谢您提供的任何帮助

3 个答案:

答案 0 :(得分:14)

如您所知,您的SIP流量超过5060,但SIP消息的SDP正文描述了嗅探RTP的端口。换句话说,在提议/答案交换完成之前,无法知道要嗅探哪些端口。

如果您对所涉及的用户代理有所了解,那么您可以尝试捕获一系列端口上的流量等技巧。 (例如tcpdump -n dst portrange 10000-11000之类的东西。)

答案 1 :(得分:7)

您可以尝试这样的事情:

tcpdump -i bond3 udp port 5060 or udp portrange 10500-11652 -s 0 -w filename.cap

通过这个,您将捕获SIP和媒体

答案 2 :(得分:2)

查看 pcapsipdump :将SIP / RTP会话以相同的格式写入磁盘,如" tcpdump -w",但每个SIP会话只有一个文件。或者使用tshark进行过滤,如here所述。