dnstop 설치

by ADMINPLAY posted Jan 19, 2014
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

1. 라이브러리 준비


libcap 라이브러리가 미리 설치되어있는지 확인 (기본적으로 centos 개발tool에 포함)


 rpm -qa |grep libcap



2.설치

http://pkgs.repoforge.org/dnstop/


맞는 버전 확인후 wget으로 떙겨서 rpm설치


wget http://pkgs.repoforge.org/dnstop/dnstop-0.0.20080502-1.el5.rf.i386.rpm


rpm -Uvh dnstop-0.0.20080502-1.el5.rf.i386.rpm


3. 사용방법


 실행하기

# dnstop -4 -l 3 eth0


Queries: 2 new, 17 total                                              

 

Sources            Count      %

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

208.94.20.62           2   11.8

121.138.224.2          1    5.9

220.73.29.3            1    5.9

210.113.99.5           1    5.9

211.195.237.3          1    5.9

210.113.99.6           1    5.9

210.94.0.77            1    5.9

.

.

-4 : Ipv4 packet 만 보이기

-l : 도메인 레벨 3까지 보이기

eth0 : NIC eth0으로부터 오는 패킷만 캡쳐.

위 화면은 기본으로 IP count 만 보인다아래와 같이 레벨을 변경하면 좀 더 자세히 출력된다.

3)     레벨변경 및 기타옵션

1>   레벨변경 type 1

위와 같이 실행한 뒤 숫자 1에서 ~ 3까지 누르면 Query Name 부분이 바뀌면서 출력된다.

위에서 실행한 -l 3 옵션의 숫자 범위까지 적용된다만약 4를 줬으면 레벨 4까지 캡쳐가 되므로 4까지 적용이 된다.

2>   레벨변경 type 2

위와 같이 실행한 뒤 숫자 Shift + 1에서 ~ 3까지 누르면 Source IP가 보이고 Query Name 부분이 바뀌면서 출력된다.

위에서 실행한 -l 3 옵션의 숫자 범위까지 적용된다만약 4를 줬으면 레벨 4까지 캡쳐가 되므로 4까지 적용이 된다.

3>   필터옵션

dnstop 3가지 필터 옵션을 제공한다.

 unknown-tlds

- kr, jp, com, net 등 등록되지 않은 최상위 코드에 대한 질의를 필터링한다.

명령어 : /usr/sbin/dnstop -4 -l 3 -f unknown-tlds eth0

위 와 같이 필터링 했을 때 출력되는 값은 메일 주소를 잘못 입력했거나 네트워크 설정의 오류로 인한것이므로

해당 서버의 네트워크 설정 등을 점검해야된다.

 A-for-A

도메인이 아닌 IP 주소에 대한 A record를 질의하는 것을 필터링

명령어 : /usr/sbin/dnstop -4 -l 3 -f A-for-A eth0

이 역시 잘못된 DNS 질의이므로 원인을 찾는다.

③ rfc1918-ptr

- rfc 1918에 정의된 사설 ip에 대한 PTR 질의를 필터링한다.

명령어 : /usr/sbin/dnstop -4 -l 3 -f rfc1918-ptr eth0

사설 IP에 대한 질의는 내부 네트워크 사이의 트래픽이므로 DNS와 같은 외부 네트워크에서 보이지 않아야 한다.

만약 출력값으로 보인다면 해당 소스 IP tcpdump로 패킷캡쳐를 하여 원인을 찾아본다.

) tcpdump host 215.44.53.22

해결 방법으로는 각각의 서버에서 /etc/hosts 파일에 내부 IP를 등록해 두는 방법이 있다.

4>   기타옵션

ctrl + r : 출력 초기화

ctrl + x : 프로그램 종료

4)     질의 점검 하기

1>   과도한 질의

만약 접속이 많지 않은데도 특정 도메인에 대한 질의가 많다면 DNS에서 TTL 설정값이 너무 낮지는 않은지 확인

2>   비정상적인 특정 도메인 질의

sample.com.sample.com 또는 sample.com.localdomain 등의 경우

zone 파일에서 .을 입력하지 않았다거나 설정파일의 오류로 인해 발생하는 경우가 대부분이므로

tcpdump로 해당 질의의 소스 IP를 확인해햐 된다.

) tcpdump host 215.44.53.22

 

n  맺음말 :

DNS 쿼리에 대한 패킷을 tcpdump를 이용하여 패킷 캡쳐하여 볼 수도 있다하지만 DNS 쿼리만 따로 뽑아서 직관적으로 보기엔 쉽지않다. DNSTOP은 이러한 점을 해소해 줄 수 있는 유틸리티로서 잘 활용한다면 실시간 DNS쿼리 상황비정상적인 트래픽 등을 쉽게 모니텅링을 할 수 있다.