免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 17781 | 回复: 26
打印 上一主题 下一主题

[DNS] 一款超强的统计DNS查询的工具--DNSTOP(原创) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-11-06 15:31 |只看该作者 |倒序浏览
在维护DNS服务器时,偶们希望知道到底是哪些用户在使用偶们的DNS服务器,同时也希望能对DNS查询做一个统计。一般情况下,偶们可以使用tcpdump –i eth0 port 53来查看DNS查询包,不过tcpdump的输出可不是那么友好,尤其是当访问量大的时候,偶就头晕了 ~~当然了可以把输出重定向到文件,如果熟悉shell编程的话还可以做个脚本来分析;至于查询统计嘛,可以使用rndc stats(bind9)来获取,但是这可不是实时的,当然了你也可以使用at,cron来自动运行,不幸的事,这些偶都不太会 ,because 偶是菜鸟 of linux/unix。没关系,今天偶来介绍一款超强统计DNS查询的工具。(不好意思废话有点多,就当热身嘛,呵呵 )BTW:多谢bbgun网友提供信息

刚才装了一下DNSTOP,还是有一点麻烦,好了,要上洗手间赶快去;冲咖啡的搞快点了啰。各就各位,Let’s go!

首先申明一下,偶是在redhat8+bind9下实现的,如果你的系统不是linux的话,请参考源代码包里的相关说明。

1、下载源代码
打开浏览器,进入http://dnstop.measurement-factory.com/,可以看到DNSTOP的相关介绍。如果你的系统没有libpcap库的话(用find / -name “libpcap*”搜一下就知道有没有了),在安装DNSTOP前还需要安装libpcap库。不管三七二十一,先把这两个源码包下载下来再说:
libpcap-0.7.2.tar.gz
http://www.tcpdump.org/release/libpcap-0.7.2.tar.gz
dnstop-20030929.tar.gz
http://dnstop.measurement-factory.com/src/dnstop-20030929.tar.gz

2、编译安装libpcap库
假设libpcap-0.7.2.tar.gz是放置在/home/andy目录下的。步骤如下:
[root@t113 /]# cd /home/andy
[root@t113 andy]#gunzip libpcap-0.7.2.tar.gz
[root@t113 andy]# tar -xvf libpcap-0.7.2.tar
[root@t113 andy]# cd libpcap-0.7.2
[root@t113 libpcap-0.7.2]#
注意了(大声的说~~),在这儿编译时是编译成静态函数库,但是等会儿你编译DNSTOP时却是需要共享函数库(动态函数库)。所以偶们要修改一下libpcap-0.7.2目录下的Makefile.in文件,打开文件找到如下语句:
  1. all: libpcap.a(第96行)

  2. libpcap.a: $(OBJ)
  3.         @rm -f $@
  4.         ar rc $@ $(OBJ)
  5.         $(RANLIB) $@
复制代码

修改为:
  1. all: libpcap.so

  2. libpcap.so: $(OBJ)
  3.         @rm -f $@
  4. #       ar rc $@ $(OBJ)
  5.         gcc $(OBJ) -shared -o libpcap.so
  6. #       $(RANLIB) $@
复制代码

再找到如下语句:
  1. install:(第139行)
  2.         [ -d $(DESTDIR)$(libdir) ] || \
  3.             (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir))
  4.         $(INSTALL_DATA) libpcap.a $(DESTDIR)$(libdir)/libpcap.a
  5.         $(RANLIB) $(DESTDIR)$(libdir)/libpcap.a
复制代码

修改为:
  1. install:
  2. #       [ -d $(DESTDIR)$(libdir) ] || \
  3. #           (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir))
  4. #       $(INSTALL_DATA) libpcap.a $(DESTDIR)$(libdir)/libpcap.a
  5. #       $(RANLIB) $(DESTDIR)$(libdir)/libpcap.a
  6.         cp libpcap.so /usr/lib/
复制代码

搞定!开始编译:
[root@t113 libpcap-0.7.2]# ./configure --prefix=/usr
[root@t113 libpcap-0.7.2]# make
[root@t113 libpcap-0.7.2]# make install
到这儿,偶们可以松口气了。下面安装DNSTOP就很easy了。

3、编译DNSTOP
步骤如下:
        [root@t113 libpcap-0.7.2]# cd ..
        [root@t113 andy]# gunzip dnstop-20030929.tar.gz
        [root@t113 andy]# tar -xvf dnstop-20030929.tar
        [root@t113 andy]# make
到这一步,偶就要恭喜各位:DNSTOP已经编译完成了。

接下来look一下DNSTOP到底是什么东东(s后面的参数是需要监听的网卡接口):
        [root@t113 andy]# ./dnstop -s eth0
效果如下:
0 new queries, 6 total queries                    Mon Nov  5 07:54:35 2007

Sources              count      %
---------------- --------- ------
192.168.0.113            4   66.7
192.168.0.144            1   16.7
192.168.0.40             1   16.7

不错吧^_^,在运行DNSTOP的过程中,可以敲入如下命令:
S,D,T,1,2,^R(ctrl+R),^X(ctrl+X),?
来显示不同的统计信息。比如敲入1,显示结果如下:
0 new queries, 7 total queries                    Mon Nov  5 07:57:17 2007

TLD                      count      %
-------------------- --------- ------
com                          4   57.1
cn                           2   28.6
arpa                         1   14.3

偶也是才接触DNSTOP,上面的介绍只能是给大家抛砖引玉了,有错误或者不足的地方,请发站内短信或者跟贴。觉得不错的,顶一下了^_^,多谢!!!

论坛徽章:
0
2 [报告]
发表于 2003-11-06 15:33 |只看该作者

一款超强的统计DNS查询的工具--DNSTOP(原创)

在RH9中也这样修改么?

论坛徽章:
0
3 [报告]
发表于 2003-11-06 15:37 |只看该作者

一款超强的统计DNS查询的工具--DNSTOP(原创)

在RH9中也这样修改么?


是说修改那个Makefile.in文件吧,在redhat9下也是需要改的。

论坛徽章:
0
4 [报告]
发表于 2003-11-06 15:42 |只看该作者

一款超强的统计DNS查询的工具--DNSTOP(原创)

是这样啊,安装试试先.

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
5 [报告]
发表于 2003-11-08 01:27 |只看该作者

一款超强的统计DNS查询的工具--DNSTOP(原创)

很不错的东西,多谢 yfhe 斑竹。

不过我在 RedHat 7.2 上装 libpcap 的时候没有修改那些代码也能通过编译, dnstop 也能用。

论坛徽章:
0
6 [报告]
发表于 2003-11-10 09:41 |只看该作者

一款超强的统计DNS查询的工具--DNSTOP(原创)

不过我在 RedHat 7.2 上装 libpcap 的时候没有修改那些代码也能通过编译, dnstop 也能用。


偶也不是很懂。因为偶最开始想用rpm包来装的,但出错提示需要libpcap.so,所以偶在安装libpcap时就修改了一下makefile

论坛徽章:
0
7 [报告]
发表于 2003-11-10 16:22 |只看该作者

一款超强的统计DNS查询的工具--DNSTOP(原创)

我也试着装了一下。在solaris上装真是麻烦阿。居然装了一天。:(

论坛徽章:
0
8 [报告]
发表于 2003-11-10 16:37 |只看该作者

一款超强的统计DNS查询的工具--DNSTOP(原创)

不知道老大能否在提供一下,这个分析出来的具体的参数意思?我看官方网站上说的也不是很详细阿。

论坛徽章:
0
9 [报告]
发表于 2003-11-10 17:01 |只看该作者

一款超强的统计DNS查询的工具--DNSTOP(原创)

[quote]原帖由 "superjun"]不知道老大能否在提供一下,这个分析出来的具体的参数意思?我看官方网站上说的也不是很详细阿。[/quote 发表:


“参数”--那些参数啊,偶也是刚学这个,很多也不是很清楚 是下面这些吗?

TLD--记录查询的顶级域名
SLD--记录查询的二级域名
Source--记录发送dns查询的客户端ip地址
Destinations--记录dns查询的目的服务器的ip地址
Query Type--记录查询类型

论坛徽章:
0
10 [报告]
发表于 2003-11-10 17:14 |只看该作者

一款超强的统计DNS查询的工具--DNSTOP(原创)

很不错顶一下!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP