본문 바로가기

해봐야 안다.OTL/Linux

[리눅스] dnstop : DNS 질의 모니터링

<dnstop: DNS질의 모니터링>

다운로드 받을 디렉토리를 만든다.

[root@jo:~]#mkdir /usr/local/src/dnstop

[root@jo:~]#cd /usr/local/src/dnstop/

[root@jo:/usr/local/src/dnstop]#

[root@jo:/usr/local/src/dnstop]#rpm -qa |grep libpcap

libpcap-0.9.4-14.el5

--> 라이브러리 pcap이 설치되어 있는지 확인하자 안 깔려 있음 깔아야 한다.

혹시 모르니깐 업데이트하자.

[root@jo:/usr/local/src/dnstop]#yum update libpcap

Loaded plugins: fastestmirror

Loading mirror speeds from cached hostfile

* base: ftp.daum.net

* updates: ftp.daum.net

* addons: ftp.nara.wide.ad.jp

* extras: ftp.nara.wide.ad.jp

Setting up Update Process

No Packages marked for Update

보니깐 최신이다. 업데이트할 필요 없겠다가 아니라

밑에서 dnstop 컴파일 에러났다.

Yum install libpcap-devel 미리 설치해주자. 아다리 맞게

--

그럼 이제 다운로드 받고 설치하자.

http://dns.measurement-factory.com/tools/dnstop/

category 에서 source browse 거기서 dnstop-20090128.tar.gz 다운로드 받는다.

귀찮으면 링크주소를 복사

 

[root@jo:/usr/local/src/dnstop]#wget http://dns.measurement-

factory.com/tools/dnstop/src/dnstop-20090128.tar.gz

 

[root@jo:/usr/local/src/dnstop]#tar xvfz dnstop-20090128.tar.gz

[root@jo:/usr/local/src/dnstop]#cd dnstop-20090128

[root@jo:/usr/local/src/dnstop/dnstop-20090128]#./configure

[root@jo:/usr/local/src/dnstop/dnstop-20090128]#make

[root@jo:/usr/local/src/dnstop/dnstop-20090128]#make install

--

[root@jo:/usr/local/src/dnstop/dnstop-20090128]#dnstop

 

usage: dnstop [opts] netdevice|savefile

    -4    Count IPv4 packets

    -6    Count IPv6 packets

    -Q    Count queries

    -R    Count responses

    -a    Anonymize IP Addrs

    -b expr    BPF program code

    -i addr    Ignore this source IP address

    -p    Don't put interface in promiscuous mode

    -r    Redraw interval, in seconds

    -l N    Enable domain stats up to N components

    -f    filter-name

 

Available filters:

    unknown-tlds

    A-for-A

    rfc1918-ptr

    refused

dnstop을 실행하면 현재 사용 가능한 옵션이 나온다.

--

간단히 "./dnstop eth0" 라고 실행하면 된다. 실행 후 터미널 하나 다 키고

Dns 질의를 날려본다.

[root@jo:~]#dig @ns.cho.iss www.cho.iss any +vc

 

Dnstop을 실행한 창을 보게 되면…이렇게 나온다.

 

Queries: 1 new, 7 total Wed Oct 28 11:19:10 2009

Sources Count %

--------------- --------- ------

192.168.100.100 3 42.9

192.168.10.14 1 14.3

192.168.10.27 1 14.3

192.168.10.181 1 14.3

192.168.10.26 1 14.3

--

[root@jo:~]#dnstop --help

dnstop: invalid option -- -

usage: dnstop [opts] netdevice|savefile

    -4    Count IPv4 packets

    -6    Count IPv6 packets

    -Q    Count queries

    -R    Count responses

    -a    Anonymize IP Addrs

    -b expr    BPF program code

    -i addr    Ignore this source IP address

    -p    Don't put interface in promiscuous mode

    -r    Redraw interval, in seconds

    -l N    Enable domain stats up to N components

    -f    filter-name

Available filters:

    unknown-tlds

    A-for-A

    rfc1918-ptr

    refused

--

[root@jo:~]#dnstop -4 -l 3 eth0

--> 어떤 IP에서 가장 많은 질의가 들어오는지 순서대로 정렬하여 보여준다.

--> 도대체 어떤 IP에서 어떤 도메인으로 쿼리를 얼마나 던지는지..

 

Queries: 0 new, 20 total Wed Oct 28 12:22:25 2009

Sources Count %

--------------- --------- ------

192.168.100.100 9 45.0

192.168.10.181 6 30.0

192.168.10.27 1 5.0

192.168.10.18 1 5.0

192.168.10.16 1 5.0

192.168.10.11 1 5.0

192.168.10.26 1 5.0

 

--> 처음 실행하면 이 모습이지만 Shift + 1(source) , 2(Query Name) , 3(Count)

키를 눌러 변경할 수 있다.

 

Queries: 1 new, 28 total Wed Oct 28 11:14:43 2009

Source Query Name Count     %

--------------- ----------- --------- ------

192.168.100.100 ac.jp      16 57.1

192.168.100.100 daum.net 4 14.3

192.168.10.25 nate.com 2 7.1

192.168.10.80 nate.com 1 3.6

192.168.10.28 mozilla.org 1 3.6

192.168.10.12 naver.com 1 3.6

192.168.10.16 nate.com 1 3.6

192.168.10.27 nate.com 1 3.6

192.168.10.181 daum.net 1 3.6

 

[root@jo:~]#dnstop -4 -l 3 –f unknown –tlds eth0

"f" 옵션을 쓰면 비정상적인 tld 도메인에 대한 질의를 모니터링 한다.

--