Wie wird eine Website übertragen?
-
Hallo,
ich habe gerade rein interessehalber mit Wireshark mal meine HTTP Übertragungen aufgezeichnet. Dabei ist mir aufgefallen, dass lediglich der Header in Reinform übertragen wird, denn alle anderen Packets ergeben nur wirres Zeug. Dabei war die geladene Seite nicht verschlüsselt. Wir werden die Seiten jetzt also übertragen, wird immer eine Verschöüsselung angewandt oder wie?
-
Wahrscheinlich komprimiert, wenn du einen entsprechenden Header mal hier postest könnte man genaueres sagen.
-
Wenn du im header
Accept-Encoding: text/plain
angibst bekommst du auch Klartest.
Ansonsten u.U. komprimiert, wie TheToast schon geschrieben hat.
-
Habe ich mal ausgegraben, vielleicht hilft dir das ja.
Beispiel mit:Server: de.wikipedia.org Message: GET /wiki/Hypertext_Transfer_Protocol Host: de.wikipedia.org <-- Leerzeile
Edit: (stdin/stdout kannste ja umlenken
Edit2: zB. mit: " tcpsend.exe < in.txt > out.txt ")
#include <stdio.h> #include <WinSock2.h> #pragma comment (lib, "Ws2_32.lib") void errorexit(int code, const char *msg, ...) { va_list argv; va_start(msg, argv); vprintf(msg, argv); va_end(argv); getchar(); //blah, Windows ;) exit(code); } int main() { char buf[0x1000]; int sock, rval; struct sockaddr_in addr = {0}; struct hostent *host = 0; struct WSAData wsa; if (WSAStartup(WINSOCK_VERSION, &wsa) != 0) errorexit(-1, "WSAStartup() failed with: %i.", WSAStartup(WINSOCK_VERSION, &wsa)); while (!host) { printf("Server: "); fgets(buf, sizeof(buf), stdin); buf[strlen(buf) - 1] = '\0'; host = gethostbyname(buf); } addr.sin_addr = *(struct in_addr*)host->h_addr; addr.sin_family = AF_INET; addr.sin_port = htons(80); buf[0] = '\0'; puts("Message: (double return to send)"); while (!strstr(buf, "\n\n")) { char tmp[0x100]; fgets(tmp, sizeof(tmp), stdin); strcat(buf, tmp); if (strlen(buf) > sizeof(buf) - sizeof(tmp)) break; } sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (!sock) errorexit(-2, "socket() failed with: %i.", WSAGetLastError()); if (connect(sock, (struct sockaddr*)&addr, sizeof(addr)) != 0) errorexit(-3, "Could not connect to host: %s. Error: %i.", inet_ntoa(addr.sin_addr), WSAGetLastError()); if (send(sock, buf, strlen(buf), 0) < strlen(buf)) errorexit(-4, "send() failed with: %i.", WSAGetLastError()); while ((rval = recv(sock, buf, sizeof(buf) - 1, 0)) > 0) buf[rval] = '\0', printf("%s", buf); closesocket(sock); WSACleanup(); getchar(); return 0; }
-
Danke für eure Antworten, mal schauen, ob die Website dekomprimiert bekomme.
Ansonsten hier der Header, den ich vom Forum bekomme:..~+..GET /forum / HTTP/1.1..Host : www.c-plusplus .de..User-Agent: Mozilla/5.0 (Wi ndows NT 6.1; WO W64; rv:2.0.1) G ecko/20100101 Fi refox/4.0.1..Acc ept: text/html,a pplication/xhtml +xml,application /xml;q=0.9,*/*;q =0.8..Accept-Lan guage: de-de,de; q=0.8,en-us;q=0. 5,en;q=0.3..Acce pt-Encoding: gzi p, deflate..Acce pt-Charset: ISO- 8859-1,utf-8;q=0 .7,*;q=0.7..Keep -Alive: 115..Con nection: keep-al ive..Cookie: vie worhide=lastforu m_idX8XXresize_m essage_area_link sXinlineXX; phpb b2mysql_data=a%3 A0%3A%7B%7D; php bb2mysql_sid=1fe c5e80139b034978c eb99e2783acbc; _ _utma=184861883. 28608477.1306081 776.1306081776.1 306086622.2; __u tmc=184861883; _ _utmz=184861883. 1306082901.1.2.u tmcsr=google|utm ccn=(organic)|ut mcmd=organic|utm ctr=std%3A%3Avec tor.push_back%20 %C3%BCberladen; phpbb2mysql_t=a% 3A1%3A%7Bi%3A287 096%3Bi%3A130608 2717%3B%7D; __ut mb=184861883.4.1 0.1306086622....
-
Das ist nicht die Antwort vom Forum, sondern der HTTP-Request, den dein Browser gesendet hat.
-
Athar schrieb:
Das ist nicht die Antwort vom Forum, sondern der HTTP-Request, den dein Browser gesendet hat.
Erstmal das und dein extrem übersichtliches Zitat zeigt auch, daß FF ausdrücklich
Accept-Encoding: gzip, deflate
akzeptiert. Dann musst du auch damit rechnen.