识别VoIP用户

我正在寻找一种方法,通过数据包分析尽可能多地识别ISPnetworking上的消费VoIP用户。

我的设置是这样的:

在我的核心交换机上,进出千兆位1的所有stream量都跨越到千兆位2,在那里我连接了一台Linux服务器。

这是我一直在尝试的:

我跑tshark看我的networking和标准的SIP端口过滤。 就像是:

tshark -i eth0 -f "(net 1.2.3.4/24 or net 4.5.6.7/24) and (port 5060 or port 5061)" -w ./outfile 

运行了一个多星期,然后通过输出文件search唯一的IP列表。

我以这种方式看到了一些SIP用户,但几乎没有我应该做的那么多。 这种方法有什么问题吗? 据我了解,大多数主要的消费者VoIP产品,如Vonage,都使用SIP来进行信号传输。

我想要什么(我想):

我想实际分类协议,寻找SIP,RTP等。如果我安装L7filter,我可以使用iptables来标记我感兴趣的stream量,但我不知道我会从那里去得到一个独特的清单IP地址。

我接受任何build议。

监控stream量的最佳select可能是sflow–请查看您的networking设备制造商的文档,以便在交换机上进行configuration。 对于聚合器,看一下像Argus这样的东西,或者如果你简单地想要捕获用于过程的sflow数据,请参阅Inmon的sflow工具箱。

还有其他的协议在野外使用,主要是MGCP被淘汰,你可能会看到SCCP或更可能是一些IAX中继。 另外请注意,Skype使用完全专有的P2P协议。

我曾经使用像Packeteer这样的设备来分析和优先处理这个stream量,但是你的描述告诉我,这对你来说可能不是商业上可行的。

是什么让你觉得你有比使用VoIP更多的用户?

所以真正的问题是你想追查什么? 如果这是一个正常的电话系统,我会第二次Zypher的build议检查集团电话,如果这不是一个选项,我会build议确认有问题的设备确实使用SIP。 我用Shoretel VOIP电话支持一个环境,发现一些会议电话运行SIP时,绝大多数电话使用MGCP。