博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一款超强的统计DNS查询的工具--DNSTOP(转)
阅读量:2450 次
发布时间:2019-05-10

本文共 2979 字,大约阅读时间需要 9 分钟。

一款超强的统计DNS查询的工具--DNSTOP(转)[@more@]

在维护DNS服务器时,偶们希望知道到底是哪些用户在使用偶们的DNS服务器,同时也希望能对DNS查询做一个统计。一般情况下,偶们可以使用tcpdump –i eth0 port 53来查看DNS查询包,不过tcpdump的输出可不是那么友好,尤其是当访问量大的时候,偶就头晕了 icon_sad.gif ~~当然了可以把输出重定向到文件,如果熟悉shell编程的话还可以做个脚本来分析;至于查询统计嘛,可以使用rndc stats(bind9)来获取,但是这可不是实时的,当然了你也可以使用at,cron来自动运行,不幸的事,这些偶都不太会 icon_redface.gif ,because 偶是菜鸟 of linux/unix。没关系,今天偶来介绍一款超强统计DNS查询的工具。(不好意思废话有点多,就当热身嘛,呵呵 icon_smile.gif )BTW:多谢bbgun网友提供信息 icon_exclaim.gif 。

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

首先申明一下,偶是在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文件,打开文件找到如下语句:

代码:

all: libpcap.a(第96行)

libpcap.a: $(OBJ)

@rm -f $@

ar rc $@ $(OBJ)

$(RANLIB) $@

修改为:

代码:

all: libpcap.so

libpcap.so: $(OBJ)

@rm -f $@

# ar rc $@ $(OBJ)

gcc $(OBJ) -shared -o libpcap.so

# $(RANLIB) $@

再找到如下语句:

代码:

install:(第139行)

[ -d $(DESTDIR)$(libdir) ] ||

(mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir))

$(INSTALL_DATA) libpcap.a $(DESTDIR)$(libdir)/libpcap.a

$(RANLIB) $(DESTDIR)$(libdir)/libpcap.a

修改为:

代码:

install:

# [ -d $(DESTDIR)$(libdir) ] ||

# (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir))

# $(INSTALL_DATA) libpcap.a $(DESTDIR)$(libdir)/libpcap.a

# $(RANLIB) $(DESTDIR)$(libdir)/libpcap.a

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,上面的介绍只能是给大家抛砖引玉了,有错误或者不足的地方,请发站内短信或者跟贴。觉得不错的,顶一下了^_^,多谢!!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8225414/viewspace-945033/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8225414/viewspace-945033/

你可能感兴趣的文章
SQL Server执行计划面试问题
查看>>
json 转对象函数_JSON_QUERY()函数从JSON数据提取对象
查看>>
将PowerShell连接到SQL Server –使用其他帐户
查看>>
使用云SQL Server数据库备份和还原操作
查看>>
SQL Server Management Studio(SSMS)中的自定义键盘快捷方式
查看>>
将SQL Server数据库备份到多个文件或从多个文件还原
查看>>
比较和同步两个SQL Server数据库之间的图像
查看>>
azure未连接_处理影响Azure成本的未使用和不必要的资源
查看>>
青蛙换位置excel_吃青蛙:如何在Excel中创建每日交付的sprint消耗图
查看>>
如何在SQL Server Reporting Services中使用表达式来创建有效的报告
查看>>
SQL Server中的报表–使用SQL Server数据工具将三个报表合并为一个报表
查看>>
增强的PolyBase SQL 2019-外部表SQL Server,目录视图和下推式
查看>>
SQL Server Always On可用性组中的移动数据库文件的演练
查看>>
tde数据库加密_在其他服务器上还原启用了透明数据加密(TDE)的数据库
查看>>
SQL Server整合–在单个SQL Server实例上托管多个数据库
查看>>
sql自定义报表软件_SQL Server中的报表–自定义报表的外观
查看>>
power bi数据分析_设置Power BI数据网关
查看>>
在SQL Server中截断表操作
查看>>
构建azure对话机器人_如何在5分钟内使用Azure创建聊天机器人
查看>>
sql server表分区_SQL Server中的FORCESCAN和分区表
查看>>