Auswertung von Log-Dateien des Webservers
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 unter der URL https://tools.iplocation.net/who-is-hosting-website kann man ermitteln, dass zu der IP-Adresse 85.176.139.196 der Rechnername e176139196.adsl.alicedsl.de gehört.
Über einen whois Konsolenbefehl, oder den Aufruf der URL https://www.heise.de/netze/tools/whois/ 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 created: 2005-02-01T10:21:55Z last-modified: 2013-02-18T14:06:59Z source: RIPE ...
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.
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
- http://www.netip.de/ (http://www.netip.de/search?query=85.176.131.152 )
- http://www.ipligence.com/geolocation
- http://www.utrace.de/?query=85.176.131.152
- https://www.goldiges.de/ip-countryside/
- https://www.maxmind.com/en/geoip-api-web-services
- http://ipinfodb.com/ip_database.php (Datenbank verfügbar)
- http://www.whatsmyip.org/ip-geo-location/ (viele weitere Online-Tools)
Webalizer
Für die grafische Auswertung der Logdateien gibt es eine Reihe von Tools. Ein durchaus übliches Tools ist der Webalizer:
Der Webalizer baut einen Übersichtsseite auf, von der aus man auf die monatlichen Auswertungen kommt.