我分析我的VoIP网络电话
现在我使用的是产生.pcap文件,但后来我会在实时侦听此。
我使用的tshark的,我可以从.pcap(如“源IP地址和端口号”,“目的IP地址和端口”,有效载荷pckt丢失,最多达(毫秒),最大抖动(很容易地过滤掉一些重要的数据MS),平均抖动(毫秒))与
tshark的-R MYFILE -q -z RTP流
我想知道的是:我怎样才能得到一个呼叫的SIP addrs的? (客户端和服务器)
我可以找回一些SIP addrs的(仅客户端)通过过滤所有的SIP INVITE是这样的:
tshark的-r MYFILE -R “sip.Request行包含邀请”
但我无法得到服务器的地址。
为了澄清一点,我的想法是让在这个tshark的“统计”,Wireshark的一样给我,当我访问“电话> VoIP呼叫”(同样的方式,tshark的-r MYFILE -q -z RTP,streamsreturns我的统计数据就像Wireshark的的电话> RTP>显示所有数据流),是有办法做到这一点? 如果不是我怎么可以创建一个过滤器(-R)做类似的Wireshark的“VoIPCall”功能的东西“统计”(-z)
我使用的tshark的,因为我想这个数据的工作,而不是仅仅分析它在我的屏幕
谢谢
尝试:
tshark -r myFile -R "sip.CSeq.method eq INVITE"
这将用于过滤从客户端和来自服务器的对应的应答发送的请求。
我是在一个类似的情况,并最终通过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
参考:
- tshark的手册页: https://www.wireshark.org/docs/man-pages/tshark.html
- SIP过滤器: https://www.wireshark.org/docs/dfref/s/sip.html