使用tshark过滤VoIP呼叫

时间:2012-05-15 18:47:05

标签: sip voip wireshark tshark

我正在分析网络上的VoIP通话

现在我正在使用生成的.pcap文件,但稍后我会实时监听。

我正在使用tshark,我可以很容易地从.pcap中过滤掉一些重要数据(比如“源IP地址和端口”,“目标IP地址和端口”,有效负载丢失,Max Delta(ms),最大抖动(ms),平均抖动(ms))

  

tshark -r myfile -q -z rtp,streams

我想知道的是:我如何获得呼叫的SIP添加者? (客户端和服务器)

我可以通过过滤所有sip INVITE来检索一些sip addrs(只有客户端),如下所示:

  

tshark -r myFile -R“sip.Request-Line包含INVITE”

但我无法获取服务器的地址。

为了澄清一点,我的想法是在tshark中获得这个“统计”,就像wireshark在我访问“Telephony> VoIP Calls”时给我的(就像tshark -r myfile -q -z rtp,streams返回我一样)统计数据就像wireshark的电话> RTP> Show All Streams一样,有没有办法做到这一点?如果不是“统计”(-z)我怎么能创建一个过滤器(-R)来做类似Wirehark的“VoIPCall”功能

我正在使用tshark,因为我想使用这些数据,而不只是在屏幕上分析它

由于

2 个答案:

答案 0 :(得分:5)

尝试:

tshark -r myFile -R "sip.CSeq.method eq INVITE"

这将过滤客户端发送的请求以及服务器的相应回复。

答案 1 :(得分:0)

我处于类似的情况,最终通过tshark手册页。

命令:tshark -r input_file.pcap -q -z sip,stat

说明:

-r <infile> : Read packet data from infile

-q : When reading a capture file, don't print packet information; this is useful if you're using a -z option to calculate statistics and don't want the packet information printed, just the statistics.

-z <statistics> : Get TShark to collect various types of statistics and display the result after finishing reading the capture file.

您还可以向过滤添加过滤器,例如,您想要汇总所有只有SIP 480状态码的数据包,您可以通过以下方式添加:

tshark -r input_file.pcap -q -z sip,stat,sip.Status-Code==480

-z sip,stat[,filter] : This option will activate a counter for SIP messages. You will get the number of occurrences of each SIP Method and of each SIP Status-Code

如果您需要多个过滤器,可以逐个添加

tshark -r input_file.pcap -q -z sip,stat,sip.Status-Code==480 -z sip,stat,sip.Status-Code==500

如果您想通过SIP地址汇总,可以按以下方式进行过滤:

tshark -r input_file.pcap -q -z sip,stat,sip.to.host==sip-to-host.com

参见:

  1. TShark Man页面:https://www.wireshark.org/docs/man-pages/tshark.html
  2. SIP过滤器:https://www.wireshark.org/docs/dfref/s/sip.html