使用tcpdump捕获RTP和SIP流量

18
我需要捕获SIP和RTP流量来查找问题,我可以成功捕获SIP消息,但在捕获RTP流量时遇到了问题。
我尝试了以下命令,但只获取了SIP数据包,没有获取到RTP数据:
tcpdump -T rtp -vvv src -s 1500 -i any -w /home/lantrace_test2.pcap port 5060
另一种想法是,由于rtp使用一系列UDP端口,我们可以捕获我们用于RTP流量的端口范围,但我找不到一种捕获一系列端口的方法,因此不确定tcpdump是否支持端口范围进行捕获。
非常感谢您提供的任何帮助。
3个回答

15

您的SIP流量运行在5060端口,但用于嗅探RTP的端口是由SIP消息的SDP主体描述的。换句话说,在完成Offer/Answer交换之前,无法知道要嗅探哪些端口。

如果您知道有关用户代理的一些信息,那么可以尝试一些技巧,例如在一系列端口上捕获流量(例如tcpdump -n dst portrange 10000-11000)。


3
仅记录与特定主机之间的日志。 - wprl

7
您可以尝试以下方法:

您可以尝试类似于以下方式:

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

通过这个工具,您可以捕获SIP和媒体数据。


2

看一下 pcapsipdump: 将SIP/RTP会话以与"tcpdump -w"相同的格式写入磁盘,但每个SIP会话一个文件。或者使用带有筛选器的tshark,如这里描述的


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接