Jump to content

dns.log auswerten - Tool gesucht


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

huhu,

 

kennt jemand von euch ein tool um die dns.log unter w2k auszuwerten?

 

ich muss statistiken erstellen, was für anfragen die clients an den dns-server schicken - vorallem wie oft. nun enthält das logfile z.B

 

Rcv xxx.xxx.xxx.xxx 001f Q [0001 D NOERROR] (3)www(5)heise(2)de(0)

Rcv xxx.xxx.xxx.xxx 0022 Q [0001 D NOERROR] (3)www(3)lol(2)de(4)domain(2)de(0)

Rcv xxx.xxx.xxx.xxx 0023 Q [0001 D NOERROR] (3)www(3)lol(2)de(0)

Rcv xxx.xxx.xxx.xxx 001f Q [0001 D NOERROR] (3)www(9)microsoft(3)com(0)

 

hier stehen zwar die anfragen schon relativ nett drin, aber nicht so wie ich sie eben gebrauchen könnte.

 

ich bräuchte:

 

100x google.de

21x microsoft.de

......usw

 

hat jemand zufällig einen tip?

Link zu diesem Kommentar

Mit Linux lässt sich die dns.log entsprechend auswerten:

 

Inhalt von dnsgrep:

#!/bin/bash

if [ -z "$1" ] ; then

echo "Usage `basename $0` <IP>"

exit 1

fi

cat - | grep "^Rcv .*NOERROR" | grep -v "(4)arpa(0)" \

| sed "s/^Rcv[[:space:]]\+\([0-9.]\+\).*NOERROR] ([0-9]\+)\(.*\)\((0)\)\?$/\1 \2/;s/([0-9]\+)/./g" \

| grep "^$1 " | sed "s/^.* \(.*\)$/\1/" \

| sort | uniq -c | sort -nr

[/Quote]

 

Anschliessend auswerten z.B

cat /tmp/dns.log | /root/dnsgrep "192\.168\.10\..*

....wäre der Inhalt von 192.168.10.x

cat /tmp/dns.log | /root/dnsgrep 192.168.10.10

....wäre der Inhalt von 192.168.10.10

 

Die Auswertung sieht dann folgendermaßen aus:

49 toolbarqueries.google.de.

15 ad.doubleclick.net.

14 ad.de.doubleclick.net.

13 http://www.google.de.

8 update.adobe.com.

7 sueddeut.ivwbox.de.

6 pagead2.googlesyndication.com.

6 images.google.de.

5 http://www.friendscout24.de.

[/Quote]

 

 

Um die Protokollierung am DNS-Server entsprechend einzustellen aktiviert:

 

ABFRAGEN

FRAGEN

EMPFANGEN

UDP

PROTOKOLLIERUNG FORTSETZEN

Link zu diesem Kommentar

Diese Unix-Tools gibbed auch unter ****** :)

 

LINK

 

Die Ausgabe sieht dann so aus:

auswertung.gif

 

Demnach ist folgendes Script zu verwenden ohne Zeilenumbrüche

@echo off

 

echo Suchbegriff:

set /p suche=

if "%suche%" == "" goto alles

 

cat \\server\DNS$\dns.log | grep "^Rcv .*NOERROR" | grep -v "(4)arpa(0)" | grep -v "(4)_tcp." | grep -v "_msdcs" | grep -v "domainname" | sed "s/^Rcv[[:space:]]\+\([0-9.]\+\).*NOERROR] ([0-9]\+)\(.*\)\((0)\)\?$/\1 \2/;s/([0-9]\+)/./g" | grep %suche% | sort | uniq -c | sort -nr > "%userprofile%\Desktop\DNS-Auswertung.txt"

cls

echo AUSWERTUNG FUER %SUCHE%

echo.

echo.

echo.

echo.

cat "%userprofile%\Desktop\DNS-Auswertung.txt"

echo.

echo.

echo.

echo.

echo.

echo.

pause

exit

 

 

 

:alles

cat \\server\DNS$\dns.log | grep "^Rcv .*NOERROR" | grep -v "(4)arpa(0)" | grep -v "(4)_tcp." | grep -v "_msdcs" | grep -v "domainname" | sed "s/^Rcv[[:space:]]\+\([0-9.]\+\).*NOERROR] ([0-9]\+)\(.*\)\((0)\)\?$/\1 \2/;s/([0-9]\+)/./g" | sort | uniq -c | sort -nr > "%userprofile%\Desktop\DNS-Auswertung.txt"

cls

echo AUSWERTUNG FUER %SUCHE%

echo.

echo.

echo.

echo.

cat "%userprofile%\Desktop\DNS-Auswertung.txt"

echo.

echo.

echo.

echo.

echo.

echo.

pause

exit

[/Quote]

Link zu diesem Kommentar
  • 6 Monate später...

Also,

ich habe am DNS Server folgende Haken unter der Protokollierung aktiviert:

dns.gif

 

Der Inhalt der dns.log sieht dann so aus:

Der DNS-Server wurde gestartet.

Rcv 192.168.10.1 aba0 Q [0001 D NOERROR] (5)_ldap(4)_tcp(4)domain(2)de(0)

Rcv 192.168.10.1 eca2 Q [0001 D NOERROR] (5)_ldap(4)_tcp(3)pdc(6)_msdcs(4)domain(2)de(0)

Rcv 192.168.10.1 21bd Q [0001 D NOERROR] (5)_ldap(4)_tcp(2)gc(6)_msdcs(4)domain(2)de(0)

Rcv 192.168.10.1 1abf Q [0001 D NOERROR] (5)_ldap(4)_tcp(36)03b503fc-e961-4a51-93ca-26890b63ac3b(7)domains(6)_msdcs(4)domain(2)de(0)

Rcv 192.168.10.1 57b9 Q [0001 D NOERROR] (36)dbd40ca3-63b6-4e52-aa9d-a2fd907ecbf1(6)_msdcs(4)domain(2)de(0)

Rcv 192.168.10.1 d4b8 Q [0001 D NOERROR] (6)_msdcs(4)domain(2)de(0)

Rcv 192.168.10.1 35f7 Q [0001 D NOERROR] (36)dbd40ca3-63b6-4e52-aa9d-a2fd907ecbf1(6)_msdcs(4)domain(2)de(0)

Rcv 192.168.10.1 07bb Q [0001 D NOERROR] (9)_kerberos(4)_tcp(2)dc(6)_msdcs(4)domain(2)de(0)

Rcv 192.168.10.1 6eb5 Q [0001 D NOERROR] (5)_ldap(4)_tcp(2)dc(6)_msdcs(4)domain(2)de(0)

Rcv 192.168.10.1 69b7 Q [0001 D NOERROR] (9)_kerberos(4)_tcp(4)domain(2)de(0)

Rcv 192.168.10.1 68b1 Q [0001 D NOERROR] (3)_gc(4)_tcp(4)domain(2)de(0)

Rcv 192.168.10.1 6bb3 Q [0001 D NOERROR] (9)_kerberos(4)_udp(4)domain(2)de(0)

Rcv 192.168.10.1 628d Q [0001 D NOERROR] (8)_kpasswd(4)_tcp(4)domain(2)de(0)

Rcv 192.168.10.1 948d Q [0001 D NOERROR] (11)slnk-01e080(4)domain(2)de(0)

Rcv 192.168.10.1 378e Q [0001 D NOERROR] (2)10(3)168(3)192(7)in-addr(4)arpa(0)

Rcv 192.168.10.108 79ee Q [0001 D NOERROR] (9)callpilot(4)domain(2)de(0)

Rcv 192.168.10.10 3939 Q [0001 D NOERROR] (3)www(15)taxipepedrivers(2)de(0)

Rcv 192.168.10.10 3911 Q [0001 D NOERROR] (3)www(15)taxipepedrivers(2)de(0)

Rcv 192.168.10.163 4cdc Q [0001 D NOERROR] (2)ad(7)adition(3)net(0)

Rcv 192.168.10.10 2789 Q [0001 D NOERROR] (2)ad(7)adition(3)net(0)

Rcv 192.168.10.115 02d9 Q [0001 D NOERROR] (9)bayerncup(6)kuslkf(2)de(0)

Rcv 192.168.10.10 38c2 Q [0001 D NOERROR] (9)bayerncup(6)kuslkf(2)de(0)

Rcv 192.168.10.10 38c3 Q [0001 D NOERROR] (9)bayerncup(6)kuslkf(2)de(0)

Rcv 192.168.10.10 38c4 Q [0001 D NOERROR] (9)bayerncup(6)kuslkf(2)de(0)

[/Quote]

 

 

Meine Batch-Datei für die Auswertung, steuert folgende Datei an: \\dns-server\dns$\dns.log

 

Musst die Datei halt entsprechend freigeben oder die Batch-Datei ändern. Hier meine Version:

 

@echo off

 

echo Suchbegriff:

set /p suche=

if "%suche%" == "" goto alles

 

cat \\dns-server\DNS$\dns.log | grep "^Rcv .*NOERROR" | grep -v "(4)arpa(0)" | grep -v "(4)_tcp." | grep -v "_msdcs" | grep -v "domain" | sed "s/^Rcv[[:space:]]\+\([0-9.]\+\).*NOERROR] ([0-9]\+)\(.*\)\((0)\)\?$/\1 \2/;s/([0-9]\+)/./g" | grep %suche% | sed "s/^.* \(.*\)$/\1/" | sort | uniq -c | sort -nr > "%userprofile%\Desktop\DNS-Auswertung.txt"

cls

echo Auswertung fuer %SUCHE%

echo.

echo.

echo.

echo.

cat "%userprofile%\Desktop\DNS-Auswertung.txt"

echo.

echo.

echo.

echo.

echo.

echo.

pause

exit

 

 

 

:alles

cat \\dns-server\DNS$\dns.log | grep "^Rcv .*NOERROR" | grep -v "(4)arpa(0)" | grep -v "(4)_tcp." | grep -v "_msdcs" | grep -v "domain" | sed "s/^Rcv[[:space:]]\+\([0-9.]\+\).*NOERROR] ([0-9]\+)\(.*\)\((0)\)\?$/\1 \2/;s/([0-9]\+)/./g" | grep "www\." | sed "s/^.* \(.*\)$/\1/" | sort | uniq -c | sort -nr > "%userprofile%\Desktop\DNS-Auswertung.txt"

cls

echo Auswertung fuer alles

echo.

echo.

echo.

echo.

cat "%userprofile%\Desktop\DNS-Auswertung.txt"

echo.

echo.

echo.

echo.

echo.

echo.

pause

exit

[/Quote]

 

Die UnixTools findest Du hier, diese einfach ins Windows Dir entpacken und feddich.

Link zu diesem Kommentar

Salut,

 

nunja Selbstgespräche führen wir hier ja nicht. ;)

 

Wenn Du solche Auswertungen User-Spezifisch machst, dann berührst Du damit den Datenschutz.

 

Das ist mir bekannt. Im Moment werden keine derartigen Auswertungen durchgeführt und ich versuche dies erstmal nachzuvollziehen und zu realisieren.

 

@wean

 

Ich habe jetzt versucht mit Deinem geposteten Logfile (da meine anders aussehen) das Ergebnis nachzuvollziehen (also Deinen Screenshot der Auswertung). Das klappte leider nicht, da auch das Logfile wohl nicht identisch mit dem Inhalt des Screenshots ist.

 

Grüße, e2e4

Link zu diesem Kommentar

@wean:

 

vielen Dank für das tolle Script!

 

Eins sollte man aber noch beachten (neben dem Datenschutz :D ): WinXP bringt bereits ein sort.exe mit, das befindet sich im System32. Also genau überlegen wohin man die Unix-Tools kopiert, sonst wird die WinXP-Version aufgerufen (system32 steht am Anfang des Pfades!) und dort werden die Parameter mit "/" angeben. Oder eben das Script anpassen.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...