一、前言

dnstop 是一个用于监听和解析 DNS 流量的实用工具。它可以帮助您监视网络中的 DNS 查询,并提供有关域名、IP 地址、查询类型等信息的实时统计。

当我们在分析DNS 服务器日志时,想去了解哪些用户在使用DNS 服务器,同时也希望对DNS 查询做一个统计。一般情况下,可以使用命令“tcpdump –i eth0 port 53”来查看DNS查询包,当然也可以把输出重定向到文件,然后使用rndc stats(bind9)来获取。但这种方法对于初学者而言操作复杂,也不直观。了解下工具dnstop,使用起来就非常方便。

二、安装dnstop

dnstop是一种非常优秀的开源软件,用户可以到网站http://dns.measurement-factory.com/tools/dnstop/src/上进行下载源码安装。

安装前,先安装依赖环境

源码安装dnstop:

# ./configure

# make && make instal

三、dnstop基本使用

一旦安装了 dnstop,您可以使用以下命令来启动它:

dnstop <网络接口>
例如,要监听名为 eth0 的网络接口上的 DNS 流量,您可以运行以下命令:

dnstop eth0
这将启动 dnstop 并开始监视指定网络接口上的 DNS 流量。

使用DNSTOP进行DNS流量分析-LMLPHP

选项和参数
dnstop 支持多种选项和参数,可以根据您的需求对其进行配置。以下是一些常用的选项:

-l:设置要监听的 DNS 流量的源地址。默认为所有源地址。
-r:设置要监听的 DNS 流量的目标地址。默认为所有目标地址。
-T:指定输出时间间隔(以秒为单位)。默认为 5 秒。
-s:按查询统计排序输出。
-p:以 DNS 查询包的数量排序输出。
-S:按 DNS 响应大小排序输出。
-Q:显示详细的 DNS 查询类型统计信息。
-R:显示逆向 DNS 查询的统计信息。
您可以通过以下命令来查看所有可用选项和参数:


dnstop --help
示例用法
监视所有网络接口上的 DNS 流量:
dnstop

监视名为 eth0 的网络接口上的 DNS 流量,并按查询统计排序输出:
dnstop -s eth0

监视名为 eth0 的网络接口上的 DNS 流量,并按 DNS 查询包的数量排序输出:
dnstop -p eth0

 四、dnstop扩展使用

在运行dnstop的过程中,可以键入<S>、<D>、<T>、<1>、<2>、<Ctr+R>、<Ctr+X>等方式以交互方式来显示不同的信息:
S:记录发送DNS查询的客户端IP地址列表:

使用DNSTOP进行DNS流量分析-LMLPHP

D:记录DNS查询的目的服务器的IP地址表:

使用DNSTOP进行DNS流量分析-LMLPHP

T:记录查询详细类型:

使用DNSTOP进行DNS流量分析-LMLPHP

1:记录查询的***域名:

使用DNSTOP进行DNS流量分析-LMLPHP

2:记录查询的二级域名:

使用DNSTOP进行DNS流量分析-LMLPHP

Ctr+R:重新纪录
Ctr+X:退出

04-19 05:02