HTTP-Analyse mit Wireshark

Http Analysis Using Wireshark



Was ist HTTP?

Erstens ist die vollständige Form von HTTP das HyperText Transfer Protocol. HTTP ist ein Protokoll der Anwendungsschicht im ISO- oder TCP/IP-Modell. Sehen Sie sich das folgende Bild an, um herauszufinden, welches HTTP sich unter der Anwendungsschicht befindet.







HTTP wird von der . verwendet Weltweites Netz (w.w.w) und definiert, wie Nachrichten formatiert und vom Browser übertragen werden. HTTP definiert also, welche Aktion ausgeführt werden soll, wenn ein Browser einen HTTP-Befehl empfängt. Außerdem definiert HTTP Regeln für die Übertragung von HTTP-Befehlen, um Daten vom Server zu erhalten.



Wenn Sie beispielsweise eine URL im Browser eingeben (Internet Explorer, Chrome, Firefox, Safari usw.), wird tatsächlich ein HTTP-Befehl an den Server gesendet. Der Server antwortet mit dem entsprechenden Befehl.



HTTP-Methoden:

Es gibt einige Methoden für HTTP/1.1 (Dies ist die HTTP-Version)





GET, HEAD, POST, PUT, DELETE, CONNECT, OPTION und TRACE.

Wir werden nicht auf die einzelnen Methoden eingehen, sondern lernen die Methoden kennen, die häufig vorkommen



WERDEN: GET-Anfrage fragt Daten vom Webserver ab. Dies ist eine der wichtigsten Methoden zum Abrufen von Dokumenten. Wir werden ein praktisches Beispiel für diese Methode sehen.

POST: Die POST-Methode wird verwendet, wenn einige Daten an den Server gesendet werden müssen.

HTTP ist Wiresahark:

Versuchen wir etwas Praktisches, um zu verstehen, wie HTTP funktioniert.

In diesem Beispiel werden wir also herunterladen alice.txt (Datendatei im Server vorhanden) von gaia.cs.umass.edu Server.

Sets:

  1. Öffne die URL http://gaia.cs.umass.edu/wireshark-labs/alice.txt [Wir kennen die vollständige URL zum Herunterladen von alice.txt] im Computerbrowser.
  2. Jetzt sehen wir die heruntergeladene Datei im Browser. Hier ist der Screenshot

  1. Parallel dazu haben wir die Pakete in Wireshark erfasst.

HTTP-Paketaustausch in Wireshark:

Bevor wir uns mit HTTP befassen, sollten wir wissen, dass HTTP Port 80 und TCP als Transportschichtprotokoll verwendet [Wir werden TCP in einer anderen Themendiskussion erläutern].

Sehen wir uns nun an, was im Netzwerk passiert, wenn wir diese URL eingeben und im Browser die Eingabetaste drücken.

Hier ist der Screenshot für

TCP 3-Wege-Handshake ——-> HTTP OK ——-> TCP-Daten [Inhalt von alice.txt] ——->

HTTP-OK

Sehen wir uns nun an, was sich in HTTP GET- und HTTP OK-Paketen befindet.

Hinweis: Wir werden den TCP-Austausch in einer anderen Themendiskussion erläutern.

HTTP-GET:

Nachdem der TCP 3-Wege-Handshake [SYN-, SYN+ACK- und ACK-Pakete] ausgeführt wurde, wird eine HTTP-GET-Anfrage an den Server gesendet und hier sind die wichtigen Felder im Paket.

1.Anfragemethode: ERHALTEN ==> Das Paket ist ein HTTP GET .

2.Anfrage-URI: /wireshark-labs/alice.txt ==> Der Client fragt nach der Datei alice.txt unter /Wireshark-labs

3.Version anfordern: HTTP/1.1 ==> Es ist HTTP-Version 1.1

4.Akzeptieren: Text/html, Anwendung/xhtml+xml, Bild/jxr, */* ==> Teilt dem Server den Dateityp mit, den er [clientseitiger Browser] akzeptieren kann. Hier erwartet der Client alice.txt, die Texttyp ist.

5.Akzeptieren-Sprache: de-DE ==> Akzeptierter Sprachstandard.

6.Benutzer-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) wie Gecko ==> Clientseitiger Browsertyp. Auch wenn wir den Internet Explorer verwendet haben, aber wir sehen ihn immer / maximale Zeit sagt Mozilla

7.Akzeptieren-Kodierung: gzip, entleeren ==> Akzeptierte Kodierung auf der Clientseite.

8. Gastgeber: gaia.cs.umass.edu ==> Dies ist der Name des Webservers, an den der Client eine HTTP GET-Anforderung sendet.

9.Verbindung: Keep-Alive ==> Verbindung steuert, ob die Netzwerkverbindung nach Abschluss der aktuellen Transaktion geöffnet bleibt. Der Verbindungstyp ist am Leben erhalten.

Hier ist der Screenshot für HTTP-GET-Paketfelder

HTTP-OK:

Nachdem die TCP-Daten [Inhalt von alice.txt] erfolgreich gesendet wurden, wird HTTP OK an den Client gesendet und hier sind die wichtigen Felder im Paket.
1. Antwortversion: HTTP / 1.1 ==> Hier Server auch in HTTP Version 1.1
2.Statuscode: 200 ==> Statuscode vom Server gesendet.
3.Antwortsatz: OK ==> Vom Server gesendete Antwortphrase.

Von 2 und 3 erhalten wir also 200 OK, was bedeutet, dass die Anfrage [HTTP GET] erfolgreich war.

4.Datum: So, 10 Feb 2019 06:24:19 GMT ==> Aktuelles Datum , Uhrzeit in GMT als HTTP GET vom Server empfangen wurde.
5.Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16 mod_perl/2.0.10 Perl/v5.16.3 ==> Serverdetails und Konfigurationsversionen.
6.Zuletzt geändert : Sa, 21. August 2004 14:21:11 GMT ==> Datum und Uhrzeit der letzten Änderung für die Datei alice.txt.
7.ETag: 2524a-3e22aba3a03c0 ==> Das ETag gibt an, dass der Inhalt nicht geändert wird, um das Caching zu unterstützen und die Leistung zu verbessern. Oder wenn sich der Inhalt geändert hat, sind E-Tags nützlich, um zu verhindern, dass sich gleichzeitige Aktualisierungen einer Ressource gegenseitig überschreiben.
8. Akzeptieren-Bereiche: bytes ==> Byte ist die Einheit, die im Server für Inhalte verwendet wird.
9.Inhaltslänge: 152138 ==> Dies ist die Gesamtlänge der alice.txt in Byte.
10. Keep-Alive: timeout=5, max=100 ==> Keep-Alive-Parameter.
11.Verbindung: Bleib am Leben ==> Verbindung steuert, ob die Netzwerkverbindung nach Abschluss der aktuellen Transaktion geöffnet bleibt. Der Verbindungstyp ist am Leben erhalten.
12.Inhaltstyp: Text/einfach; Zeichensatz=UTF-8 ==> Der Inhaltstyp [alice.txt] ist Text und der Zeichensatzstandard ist UTF-8.

Hier ist der Screenshot für verschiedene Felder des HTTP OK-Pakets.

Jetzt wissen wir also, was passiert, wenn wir eine Datei anfordern, die auf dem Webserver vorhanden ist.

Abschluss:

HTTP ist ein einfaches Anwendungsprotokoll, das wir jeden Tag in unserem Leben verwenden. Aber es ist nicht sicher, daher wurde HTTPS implementiert. Das S steht für sicher. Deshalb beginnst du so maximaler Webservername mit http s://[Websitename] . Dies bedeutet, dass die gesamte Kommunikation zwischen Ihnen und dem Server verschlüsselt ist. Wir werden dieses HTTPS in Zukunft gesondert diskutieren.