歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

一款超強的統計DNS查詢的工具--DNSTOP

  在維護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,上面的介紹只能是給大家拋磚引玉了,有錯誤或者不足的地方,請發站內短信或者跟貼。覺得不錯的,頂一下了^_^,多謝!!!



com 4 57.1 cn 2 28.6 arpa 1 14.3 偶也是才接觸DNSTOP,上面的介紹只能是給大家拋磚引玉了,有錯誤或者不足的地方,請發站內短信或者跟貼。覺得不錯的,頂一下了^_^,多謝!!!



Copyright © Linux教程網 All Rights Reserved