====== Verwante Seiten ====== * [[infos:netzwerk]] ====== Server Name Indication ====== Dieser Standard ist in folgenden RFC's spezifiziert: * Handshake: [[http://tools.ietf.org/html/rfc4680|RFC 4680 (2006)]] * User Mapping Extension: [[http://tools.ietf.org/html/rfc4681|RFC 4681 (2006)]] * TLS 1.2: [[http://tools.ietf.org/html/rfc5246|RFC 5246 (2008)]] Die Lösung des Problem der virtuellen SSL-Web-Servern startete im Jahr 2005. ===== Bisher ===== Mit dem alten TLS (bzw. SSL) konnte man nur einen verschlüsselten Host pro Port laufen lassen. Das hiess bisher musste man entweder verschiedene Ports oder verschiedene IP's für seine Applikationen verwenden. ===== Mit SNI ===== SNI erweitert die Headerfelder der TLS-Verbindung und ermöglicht es so das '''Host'''-Argument von HTTP 1.1 zu übertragen. ===== How to's ===== * Apache 2: http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI * Allgemeiner: * http://wiki.schokokeks.org/SNI * https://alice.sni.velox.ch/ ====== Das Protokoll (abstrakt) ====== Technisch gesehen ist HTTP ein Protokoll, welches TCP Verwendet. Das Protokoll kennt mehrere Statuse. Nach der Übertragung ist HTTP aber beendet. Wohlgemerkt, die Übertragung muss nicht korrekt und/oder vollständig gewesen sein. ===== Die Rohform ===== Mit dem auf allen Platformen verfügbaren Programm Telnet, kann man die Netzwerkbefehle vonhand schicken. Zuerst brauchen wir ein Terminal. ==== Vorbereitungen ==== Unter **Linux** baucht man einfach einen [[infos:Terminalemulator]]. Den findest du entweder im Menu deiner Desktopumgebung oder startest mit [ Alt ] + [ F2] den Dialog und gibst '''xterm''' ein. Unter **Windows** klickst du auf [ Start ] -> [ Ausführen ] (unter Vista muss man nicht auf ausfüren klicken) und gibst dann '''cmd''' ein und drückst [Enter]/[Return] ==== Durchfürung ==== In der Konsole gibst du folgendes ein: telnet ${ziel} 80 Nach der Eingabe, muss man noch folgendes eingeben, da der Server sonst nicht weiss, was er damit anfangen soll: GET / HTTP1.1 Host: http://example.net/ Es ist wichtig, dass man zwei Mal eine neue Linie (Enter) eingibt um die Anfrage abzuschicken. === Beispiel Windows === {{:infos:netzwerk:http_protokoll-telnet_win.png|}} Leider kein besserer Screenshot möglich, da Telnet nur noch ein schwarzes Fenster anzeigt. === Beispiel Linux === ... hatte noch keine Zeit für einen Screenshot, kommt noch ... ==== Probleme ==== ... Virtualhosting ... ====== Kekse ====== Auch bekannt als Cookies. ===== Verwendung ===== Login mittels Scripts. Warenkörbe. Usereinstellungen speichern. ===== Keksklau ===== Das ist eine ganz fiese Sache. Sicher der Website-Programmierer seine Seite nicht auch noch mittels IP, kann man ganz einfach die Rechte des Benutzers auf der Seite klauen. ==== Lektüre ==== * {{:infos:netzwerk:http_surf-jacking.pdf|}} * http://www.heise.de/newsticker/Ausspioniert-trotz-Verschluesselung--/meldung/114141