Christian Seiler: Unbekannte Dateien auf Server mittles socket ausfindig machen

Beitrag lesen

Hallo,

wieso verursacht jede HEAD anfrage 2+ KB?? Das kommt mir so viel vor.

Naja, es wandern ja 3 TCP/IP-Pakete für den Verbindungsaufbau über die Leitung. 24 Byte ist ein IP-Header groß, ebenso der TCP-Header. Das sind also 3 * (24 + 24) Bytes, also 144 Bytes alleine für den Verbindungsaufbau. Für Deine HEAD-Anfrage hast Du dann weitere 48 Bytes für die IP + TCP Header (schon 192 Bytes) und dann Deinen Inhalt:

HEAD /bla/blub/images/123456.jpg HTTP/1.0##Host: www.example.com####

Das wären 68 Bytes (bei obigem Beispiel, plusminus ein paar zerquetschte), da sind wir also schon bei 260 Bytes nur für die Anfrage. Der Server antwortet wieder (Header wieder 48 Bytes, also 308). Eine typische Antwort sei hier mal gegeben:

[ 17] HTTP/1.1 200 OK
[ 37] Date: Thu, 13 Jan 2005 16:26:23 GMT
[ 98] Server: Apache/1.3.32 (Unix)  (Gentoo/Linux) mod_auth_pgsql/0.9.12 PHP/4.3.10 mod_gzip/1.3.26.1a
[ 35] Cache-Control: public, max-age=60
[ 40] Expires: Thu, 13 Jan 2005 16:27:23 GMT
[ 46] Last-Modified: Thu, 13 Jan 2005 16:24:22 GMT
[ 19] Connection: close
[ 40] Content-Type: text/html; charset=UTF-8

(Quelle: < http://forum.de.selfhtml.org/cgi-bin/http_trace.pl?url=http%3A%2F%2Fforum.de.selfhtml.org%2F&method=HEAD&version=HTTP%2F1.0>)

Die Zahlen links geben die Größe der jeweiligen Zeile inklusive Zeilenende-Zeichen an. Addiert sind diese 332 Bytes. Wir hätten damit schon 640 Bytes. Die Verbindung muss dann wieder geschlossen werden, wieder 3 Pakete, wieder 144 Bytes, also wären das 784 Bytes. Ok, das sind nicht ganz ein Kibibyte, allerdings rühren die 2 Kibibyte, die ich angegeben hatte, auch von Werten her, die durch Browser generiert werden, die einen ganzen Rattenschwanz an Headern noch mitsenden. Trotzdem, wenn Du mit 784 Bytes rechnest, kommst Du bei 899999 Anfragen pro Tag immer noch auf 672,9 MiB und damit immer noch auf 19,7 GiB pro Monat. Sind zwar keine 50, aber immerhin schon ganz ordentlich.

Dann noch was: Wenn ich viele solcher Anfragen stelle, was wird genau übertragen, insbesondere Informationen von mir. HTTP_USER_AGENT und so auch?

Nein, nur das, was Du sendest, also den Pfad und den Host:-Header.

Und wird das alles irgendwo in den log-Files des Servers des Anbieters gespeichert? Also etwa so:

Request auf ...../bild123123.jpg, Response: failed
Request auf ...../bild123124.jpg, Response: failed

Naja, das Logfile sieht zwar anders aus, aber der Anbieter kann genau diese Informationen erfahren. Zusätzlich steht im Logfile noch die IP-Adresse und wenn er Dich anzeigt, kann ein Gericht unter Umständen von Deinem Provider verlangen, den Kunden hinter dieser IP-Adresse preiszugeben.

Viele Grüße,
Christian