歡迎您光臨本站 註冊首頁

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

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

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

  在維護DNS伺服器時,偶們希望知道到底是哪些用戶在使用偶們的DNS伺服器,同時也希望能對DNS查詢做一個統計。一般情況下,偶們可以使用tcpdump –i eth0 port 53來查看DNS查詢包,不過tcpdump的輸出可不是那麼友好,尤其是當訪問量大的時候,偶就頭暈了 :( ~~當然了可以把輸出重定向到文件,如果熟悉shell編程的話還可以做個腳本來分析;至於查詢統計嘛,可以使用rndc stats(bind9)來獲取,但是這可不是實時的,當然了你也可以使用at,cron來自動運行,不幸的事,這些偶都不太會 :oops: ,because 偶是菜鳥 of linux/unix。沒關係,今天偶來介紹一款超強統計DNS查詢的工具。(不好意思廢話有點多,就當熱身嘛,呵呵 :) )BTW:多謝bbgun網友提供信息 :!: 。
 
 剛才裝了一下DNSTOP,還是有一點麻煩,好了,要上洗手間趕快去;沖咖啡的搞快點了啰。各就各位,Let』s go! :arrow:
 
 首先申明一下,偶是在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目錄下的。步驟如下:
 # cd /home/andy
 #gunzip libpcap-0.7.2.tar.gz
 # tar -xvf libpcap-0.7.2.tar
 # cd 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/
 搞定!開始編譯:
 # ./configure --prefix=/usr
 # make
 # make install
 到這兒,偶們可以鬆口氣了。下面安裝DNSTOP就很easy了。
 
 3、編譯DNSTOP
 步驟如下:
         # cd ..
         # gunzip dnstop-20030929.tar.gz
         # tar -xvf dnstop-20030929.tar
         # make
 到這一步,偶就要恭喜各位:DNSTOP已經編譯完成了。
 
 接下來look一下DNSTOP到底是什麼東東(s後面的參數是需要監聽的網卡介面):
         # ./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,上面的介紹只能是給大家拋磚引玉了,有錯誤或者不足的地方,請發站內簡訊或者跟貼。覺得不錯的,頂一下了^_^,多謝!!!



[火星人 ] 一款超強的統計DNS查詢的工具--DNSTOP已經有380次圍觀

http://coctec.com/docs/service/show-post-27829.html