2012-03-05 86 views
0

我正在考虑编写一个应用程序来监视大约200,000个开发人员和测试机器的DNS请求。 Libpcap听起来是一个很好的起点,但在我潜入之前,我希望得到反馈。使用libpcap收集高容量DNS统计信息

这是应用程序需要做什么:

  • 检查所有的DNS数据包。
  • 保留汇总统计信息。包括:
    1. DNS名称。
    2. DNS记录类型。
    3. 相关IP。
    4. 请求IP。
    5. 计数。
  • 如果一个DNS名称的请求IP数量> 10,则停止保留客户端IP。

的统计将有希望保持在内存中,当一个新的,“可疑” DNS发生交换,或每隔几个小时写新的统计信息盘以供其他进程消费只会出现磁盘写入。

我的问题是: 1.是否有任何应用程序可以做到这一点?链接将为100 MB或1 GB。 2.性能是第一大考虑因素。我有为其他一次性安全应用写c的经验,但我不是专家。想到任何提示吗? 3.对于一个优秀的c开发人员来说,这将是多少努力?

谢谢! Jason

回答

0

我建议你试试类似DNSCAP甚至Snort的捕获DNS流量。

顺便说一句我认为这是一个superuser.com问题比StackOverflow之一。