我正在分析网络上的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,因为我想使用这些数据,而不只是在屏幕上分析它
由于
答案 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
参见: