Auswertung von Log-Dateien des Webservers

Aus Debacher-Wiki
Wechseln zu: Navigation, Suche

Jeder Webserver protokolliert die Seitenaufrufe in einer Logdatei. Da der Webserver Apache sehr weit verbreitet ist, trifft das auch auf den Aufbau seiner Log-Datei zu. Die folgenden Zeilen beziehen sich immer auf den Apache Webserver.

Hinweis: Logdateien sind personenbezogene Daten, beim Umgang damit sind unterschiedlichste Vorschriften einzuhalten. Bei den folgenden Beispielen ist das berücksichtigt.

Logdatei

Ruft ein Nutzer in seinem Browser die Seite http://netzdurchblick.de/computercheck.html auf, so resultieren daraus 11 Zeilen in der Logdatei:

85.176.139.196 - - [05/Apr/2011:19:51:30 +0200] "GET /computercheck.html HTTP/1.1" 200 4132 "http://netzdurchblick.de/" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.16) Gecko/20110323 Ubuntu/9.10 (karmic) Firefox/3.6.16"
85.176.139.196 - - [05/Apr/2011:19:51:31 +0200] "GET /typo3temp/stylesheet_9cb154448d.css?1254403396 HTTP/1.1" 304 - "http://netzdurchblick.de/computercheck.html" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.16) Gecko/20110323 Ubuntu/9.10 (karmic) Firefox/3.6.16"
85.176.139.196 - - [05/Apr/2011:19:51:31 +0200] "GET /typo3temp/menu/6dd778d809.gif HTTP/1.1" 200 2167 "http://netzdurchblick.de/computercheck.html" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.16) Gecko/20110323 Ubuntu/9.10 (karmic) Firefox/3.6.16"
85.176.139.196 - - [05/Apr/2011:19:51:31 +0200] "GET /typo3temp/javascript_93077bb238.js?1254399959 HTTP/1.1" 304 - "http://netzdurchblick.de/computercheck.html" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.16) Gecko/20110323 Ubuntu/9.10 (karmic) Firefox/3.6.16"
85.176.139.196 - - [05/Apr/2011:19:51:31 +0200] "GET /typo3temp/menu/ffec5c9846.gif HTTP/1.1" 200 4160 "http://netzdurchblick.de/computercheck.html" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.16) Gecko/20110323 Ubuntu/9.10 (karmic) Firefox/3.6.16"
85.176.139.196 - - [05/Apr/2011:19:51:31 +0200] "GET /typo3temp/menu/3ae2927e0c.gif HTTP/1.1" 200 3010 "http://netzdurchblick.de/computercheck.html" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.16) Gecko/20110323 Ubuntu/9.10 (karmic) Firefox/3.6.16"
85.176.139.196 - - [05/Apr/2011:19:51:31 +0200] "GET /typo3temp/menu/18e84448bb.gif HTTP/1.1" 200 2711 "http://netzdurchblick.de/computercheck.html" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.16) Gecko/20110323 Ubuntu/9.10 (karmic) Firefox/3.6.16"
85.176.139.196 - - [05/Apr/2011:19:51:31 +0200] "GET /typo3temp/menu/dda9ecc0bc.gif HTTP/1.1" 200 2261 "http://netzdurchblick.de/computercheck.html" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.16) Gecko/20110323 Ubuntu/9.10 (karmic) Firefox/3.6.16"
85.176.139.196 - - [05/Apr/2011:19:51:31 +0200] "GET /typo3temp/pics/70d7219e2f.jpg HTTP/1.1" 200 21272 "http://netzdurchblick.de/computercheck.html" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.16) Gecko/20110323 Ubuntu/9.10 (karmic) Firefox/3.6.16"
85.176.139.196 - - [05/Apr/2011:19:51:31 +0200] "GET /uploads/media/check_body.gif HTTP/1.1" 200 216 "http://netzdurchblick.de/computercheck.html" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.16) Gecko/20110323 Ubuntu/9.10 (karmic) Firefox/3.6.16"
85.176.139.196 - - [05/Apr/2011:19:51:31 +0200] "GET /uploads/media/check_ohnetext_ohnemenue_02.jpg HTTP/1.1" 200 46197 "http://netzdurchblick.de/computercheck.html" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.16) Gecko/20110323 Ubuntu/9.10 (karmic) Firefox/3.6.16"

Jede der Zeilen beschreibt den Aufruf einer Datei:

  • Die erste Zeile gehört zur eigentlichen HTML-Seite.
  • Die zweite Zeile gehört zur CSS-Datei, die für das Layout zuständig ist.
  • Die vierte Zeile beschreibt das Laden einer Javascript-Datei.
  • Die weiteren Zeilen beinhalten grafische Elemente, wie z.B. die Menübuttons.

Aufbau einer Log-Zeile

Betrachtet man die einzelnen Zeilen dieser Log-Datei, so ergibt sich ein fester Aufbau aus einer Reihe von Spalten. Die folgenden Beschreibungen beziehen sich auf die erste Zeile der beschriebenen Logdatei.

  • 85.176.139.196 Dies ist die IP-Adresse des Rechners, der die Seite aufgerufen hat.
  • - Der Gedankenstrich beschreibt eine fehlende Information, dieses Feld wird in der Regel nicht benutzt.
  • - Auch hier fehlen Informationen, wäre der Benutzer am Webserver angemeldet, so würde hier der zugehörige Benutzername stehen.
  • [05/Apr/2011:19:51:30 +0200] Datum, Uhrzeit und Zeitzone des Aufrufs. Im Sommer befinden wir uns in der Zeitzone +2 (Sommerzeit), im Winter in +1 (Normalzeit).
  • "GET /computercheck.html HTTP/1.1" Der Aufrufbefehl. Hier wurde mittels GET die Seite computercheck.html mit der Protokollversion HTTP/1.1 aufgerufen.
  • 200 Der Statuscode für diese Anfrage, 200 steht dabei für OK. Generell steht ein Code 2xx für eine erfolgreiche Anfrage, 3xx für eine Weiterleitung und 4xx für einen Fehler (am bekanntesten dabei ist 404 Not found).
  • 4132 Die Anzahl der Übertragenen Zeichen, in diesem Fall also 4.132.
  • "http://netzdurchblick.de/" Der Referer, also von welcher Seite der Benutzer gekommen ist. Steht hier nur ein "-"-Zeichen, dann hat der Benutzer die URL eingegeben und ist keinem Links gefolgt.
  • "Mozilla/5.0 (X11; U; Linux ... Der User-Agent, also der Browser, mit dem der Benutzer die Seite aufgerufen hat. In der Regel kann man hier auch das Betriebssystem und weitere Informationen über die Aktualität des Systems ableiten.

Wie kommt der Benutzer zu mir?

An vielen Stellen kann man eine Reihe von Zusatzinformationen aus den einzelnen Feldern entnehmen. Interessant ist dabei z.B. die Referer-Zeile. Die folgende Zeile beschreibt einen Aufruf der Seite computercheck.html über ein Suchergbnis von Google:

85.176.139.196 - - [05/Apr/2011:19:51:30 +0200] "GET /computercheck.html HTTP/1.1" 200 4132 "http://www.google.de/search?hl=de&client=firefox-a&hs=r4B&rls=com.ubuntu%3Aen-US%3Aunofficial&q=netzdurchblick+gesch%C3%BCtzt+durchs+netz&aq=f&aqi=&aql=&oq=" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.16) Gecko/20110323 Ubuntu/9.10 (karmic) Firefox/3.6.16"

Interessant ist hier vor allem das Feld:

"http://www.google.de/search?hl=de&client=firefox-a&hs=r4B&rls=com.ubuntu%3Aen-US%3Aunofficial&q=netzdurchblick+gesch%C3%BCtzt+durchs+netz&aq=f&aqi=&aql=&oq="

Hier stecken eine Reihe von Informationen, die im Google-Aufruf stecken, vor allem der Suchbegriff:

q=netzdurchblick+gesch%C3%BCtzt+durchs+netz

Macht man hier die Manipulationen rückgängig, die jeder Browser an den Eingabedaten vornimmt, so ergibt sich, dass der Benutzer die folgende Anfrage in das Google-Suchfeld eingegeben hat:

netzdurchblick geschützt durchs netz

Google berücksichtigt übrigens nicht die Unterschiede zwischen großen und kleinen Buchstaben, wandelt also alle Suchbegriffe in Kleinbuchstaben um.

Was hat der Benutzer bei mir gemacht?

In der Regel kann man aus der Logdatei nicht direkt auf einen konkreten Benutzer schließen. Über die IP-Adresse kann man aber eine Reihe von weiteren Informationen bekommen. Man kann einerseits annehmen, dass ein Benutzer in der Regel über einen längeren Zeitraum mit der gleichen IP-Adresse unterwegs ist. Damit kann man also anhand der Logdatei seinen Weg durch das Webangebot untersuchen:

  • Über welche Seite ist er eingestiegen?
  • Welches war die letzte Seite, die er aufgerufen hat?
  • Wie lange ist er auf einzelnen Seiten geblieben?
  • ...

Informationen zur IP-Adresse

Über die IP-Adresse kann man aber noch mehr erfahren.

Über einen host Konsolenbefehl, oder den Aufruf der URL http://www.topwebhosts.org/tools/lookup.php?query=85.176.139.196 kann man ermitteln, dass zu der IP-Adresse der Rechnername e176139196.adsl.alicedsl.de gehört.

Über einen whois Konsolenbefehl, oder den Aufruf der URL http://www.mein-whois.de/?85.176.139.196 kann ich ermitteln, wem die betreffende IP-Adresse gehört.

% Information related to '85.176.0.0 - 85.182.127.255'

inetnum:        85.176.0.0 - 85.182.127.255
netname:        HANSENET-ADSL
descr:          ALICE DSL
descr:          HanseNet Telekommunikation GmbH
descr:          ADSL Pool Customers
country:        DE
admin-c:        HNT-RIPE
tech-c:         HANO-RIPE
status:         ASSIGNED PA
mnt-by:         HANSENET-MNT
mnt-lower:      HANSENET-NOC
mnt-routes:     HANSENET-MNT
...

In diesem Fall gehört die IP-Adresse zum DSL-Angebot der Firma Hansenet. Die Adresse ist Teil eines größeren Blocks von insgesamt 127x255 also etwa 32.000 Adressen.

Weitere Informationen zur IP-Adresse

Über einen Dienst wie http://www.infosniper.net/ kann man nicht nur erfahren, dass die IP-Adresse 85.176.139.196 zu Alice-DSL gehört, sondern sogar, wo etwa auf der Welt sich der zugehörige Benutzer aufhält.

Geoip.png

Man kann hier erkennen, dass der Benutzer in Reinbek, im Osten Hamburgs gesessen hat.

Diese Informationen sind keine offiziellen Informationen, sonder es gibt eine Reihe von Dienstanbietern, die Informationen über alle IP-Adressen in großen Datenbanken sammeln. Da die meisten Provider eine bestimmte IP-Adresse immer nur im gleichen Ortsbereich nutzen kann man mit einer hinreichend großen Datenbank einen Benutzer recht genau lokalisieren. Diese Informationen werden dann von vielen Anbietern genutzt, um regionale Werbung in Webseiten einzublenden.

Weitere Anbieter mit Informationen zu IP

Webalizer

Für die grafische Auswertung der Logdateien gibt es eine Reihe von Tools. Ein durchaus übliches Tools ist der Webalizer:

Webalizer1.png

Der Webalizer baut einen Übersichtsseite auf, von der aus man auf die monatlichen Auswertungen kommt.