使用dnstop监控BIND DNS服务器

时间:2019-11-20 08:53:22  来源:igfitidea点击:

如何查看谁在使用我的DNS服务器?
如实时查看当前DNS查询?
如何监控DNS流量?

dnstop可以从实时捕获设备或tcpdump保存文件中读取数据包。
dnstop就像top命令一样。

安装dnstop

在在dbian/ubuntu Linux中执行以下命令安装dnstop:

$ sudo apt-get update
$ sudo apt-get install dnstop

在Red Hat/CentOS/RHEL/Fedora Linux中安装dnstop:

首先安装所需的开发库:

# yum install libpcap-devel ncurses-devel

使用wget命令获取最新的源代码:

# cd /tmp
# wget http://dns.measurement-factory.com/tools/dnstop/src/dnstop-20080502.tar.gz
# tar -zxvf dnstop-20080502.tar.gz
# cd dnstop-20080502

编译并安装dnstop:

# ./configure
# make
# make install

dnstop rpm文件

RHEL/CentOS/Fedora Linux还可以直接使用rpm安装包

下载地址
http://dag.wieers.com/rpm/packages/dnstop/

监控Dns服务器

如何使用dnstop查看dns流量?

监视eth0接口的流量:

# dnstop {interface-name}
# dnstop eth0
# dnstop em0

输出示例:

3 new queries, 120 total queries                  Mon May  4 05:56:50 2017

Sources              count      %
---------------- --------- ------
160.246.xxx.26          82   32.8
88.62.xx.106             8    3.2
166.xxx.13.106           5    2.3
20.xxx.24.32             4    1.6
186.xx.88.63             4    1.6
168.xxx.142.23           4    1.6
xxx.13.242.80            4    1.6
1.xxx.162.102            4    1.6
162.xx.121.126           4    1.6
xxx.232.124.28           3    1.4

您 {level}选项来强制dnstop将名称的数量保持在域名级别以下。例如,使用-l 2(默认值),dnstop将保留两个表:一个具有顶级域名(例如.com,.org,.biz等),而另一个具有第二级域名(例如co .in,col.uk)。

可以使用-l 指定域名级别。默认是2级域名。
dnstop将保留两个表:一个具有顶级域名(例如.com)
另一个是第二级域名(例如.com.cn)

# dnstop -l 3 eth0

在Debian/Ubuntu Linux下:

# dnstop -t -s eth0

其中

  • -s跟踪二级域名
  • -t跟踪第三级域

如何退出dnstop或者重置dnstop计数器?

退出dnstop,请按Ctrl+X
Ctrl+R重置计数器。

如何找出TLD产生的最大流量?

运行dnstop时,按" 1"键查看一级查询名称(TLD):

5 new queries, 1525 total queries                 Mon Aug  4 06:11:09 2008

TLD                                count      %
------------------------------ --------- ------
net                                  520   34.1
ltd                                  502   32.9
in-addr.arpa                         454   29.8
in                                    23    1.5
org                                   15    1.0
com                                   11    0.7

然后按2键可以查看有关实际域名的更多信息:

3 new queries, 1640 total queries                 Mon Aug  4 06:13:20 2008

SLD                                count      %
------------------------------ --------- ------
theitroad.tech                        557   34.0
theitroad.ltd                         556   33.9
74.in-addr.arpa                       34    2.1
208.in-addr.arpa                      29    1.8
195.in-addr.arpa                      28    1.7
192.in-addr.arpa                      27    1.6
64.in-addr.arpa                       27    1.6
203.in-addr.arpa                      20    1.2
202.in-addr.arpa                      18    1.1
212.in-addr.arpa                      15    0.9
theitroad.com                          13    0.8
217.in-addr.arpa                      13    0.8
213.in-addr.arpa                      12    0.7
128.in-addr.arpa                      12    0.7
193.in-addr.arpa                      12    0.7
simplyguide.org                       12    0.7
cricketnow.in                          3    0.2

要查找3级域,请按" 3"键:

www.theitroad.tech         60   39.0
www.theitroad.ltd         33   21.4
ns1.theitroad.net          18   11.7
ns3.theitroad.net          13    8.4
ns2.theitroad.net          13    8.4
www.baidu.com              5    3.2
theitroad.com               5    3.2

如何显示查询类型的细分?

您可以通过 t键轻松找到最需要的查询类型(A,AAAA,PTR等)

Query Type     Count      %
---------- --------- ------
A?               224   56.7
AAAA?            142   35.9
A6?               29    7.3

如何确定谁正在连接我的DNS服务器?

按d查看dns客户端IP地址:

Source         Query Name        Count       %
-------------- ------------- ---------  ------
xx.35.164.90   theitroad.tech          20    9.1
xx.35.164.90   theitroad.local         18    9.1
x.76.25.4      theitroad.ltd           9    9.1
xxx.36.0.10   theitroad.local          5    4.5
xx.12.200.202 theitroad.local          4    4.5
202.xxx.0.2    theitroad.local          1    4.5

dnstop选项

s - Sources list
d - Destinations list
t - Query types
o - Opcodes
r - Rcodes
1 - 1st level Query Names      ! - with Sources
2 - 2nd level Query Names      @ - with Sources
3 - 3rd level Query Names      # - with Sources
4 - 4th level Query Names      $ - with Sources
5 - 5th level Query Names      % - with Sources
6 - 6th level Query Names      ^ - with Sources
7 - 7th level Query Names      & - with Sources
8 - 8th level Query Names      * - with Sources
9 - 9th level Query Names      ( - with Sources
^R - Reset counters
^X - Exit

? - this