tcp session - http-Anforderung [x aus y] in der Wireshark-Erfassung

475
Noob

Wie unten, sehe ich diese [HTTP-Anfrage 1/2] und [HTTP-Anfrage 2/2] in zwei separaten Nutzdaten. Sind sie separate GET-Anforderungen in einer einzelnen TCP-Sitzung oder sind sie die gleiche GET-Anforderung?

tcp session - http-Anforderung [x aus y] in der Wireshark-Erfassung tcp session - http-Anforderung [x aus y] in der Wireshark-Erfassung

====

Vollständig erfasstes Pic1 hinzugefügt tcp session - http-Anforderung [x aus y] in der Wireshark-Erfassung

Pic2 tcp session - http-Anforderung [x aus y] in der Wireshark-Erfassung Pic3 tcp session - http-Anforderung [x aus y] in der Wireshark-Erfassung

0
Eines der TCP-Pakete zeigt die Sequenz "1", während das andere die Sequenz "10" zeigt, und es gibt Unterschiede in den TCP-Optionen für "TSval" und "TSecr" für das, was sich aus dem naheliegenden Blick heraus lohnt. Pimp Juice IT vor 6 Jahren 0

1 Antwort auf die Frage

1
Steffen Ullrich

Es ist wahrscheinlich, dass dies zwei Anforderungen in derselben Verbindung sind, weil:

  • Die Endpunkte der Verbindung, dh Quellport, Quell-IP, Zielport und Ziel-IP für beide Anforderungen sind identisch. Normalerweise ist der Quellport flüchtig und wird nicht schnell für eine andere Verbindung wiederverwendet.
  • Die erste Anforderung hat eine (relative) Startsequenz von 1 mit einer Länge von 9, und die zweite scheint mit einer Startsequenz von 10 unmittelbar darauf zu folgen.
  • Die angegebenen Timing-Informationen legen nahe, dass diese Anforderungen nahe beieinander liegen.

Es ist jedoch unmöglich, diesbezüglich eindeutig zu sein, ohne mehr Teile der Verbindung zu sehen, dh herauszufinden, ob ein Verbindungsabbau (FIN) und ein Setup (SYN) für dieselben Endpunkte zwischen den Anforderungen vorhanden waren.

Wenn es sich tatsächlich um zwei Anforderungen innerhalb derselben Verbindung handelt, handelt es sich um sehr merkwürdige HTTP-Clients und -Server oder um überhaupt kein (richtiges) HTTP. Wenn HTTP als von Wireshark analysiert betrachtet wird, führt der Client eine HTTP-0,9-Anforderung aus (einzelne Zeile in der Anforderung, dh kein vollständiger HTTP / 1.x-Header), was anfangs ungewöhnlich ist (veraltet seit Ewigkeiten). Zusätzlich würde der Server trotz der HTTP-0,9-Anforderung HTTP-Keep-Alive (dh mehrere HTTP-Anforderungen innerhalb einer einzelnen TCP-Verbindung) ausführen, obwohl HTTP-Keep-Alive nur seit HTTP 1.0 mit einem expliziten Connection: keep-aliveHeader in der Anforderung oder seit HTTP 1.1 implizit definiert ist.

hallo steffen, ich habe meinen ursprünglichen post mit dem vollständigen capture aktualisiert. Können Sie feststellen, ob 2 GET normal ist. Wenn sie zu derselben Sitzung gehören, sind sie dann zwei separate GET-Anforderungen? Noob vor 6 Jahren 0
@Noob: Hier finden Sie auch nicht alle erforderlichen Informationen, da Sie nur die Details einer einzelnen Anfrage anzeigen. Da wir jedoch behaupten, dass dies die HTTP-Anforderung 2/2 ist, ist es sogar wahrscheinlicher, dass es sich um dieselbe TCP-Verbindung handelt. Um wirklich sicher zu sein, verwenden Sie [follow the TCP stream] (https://www.wireshark.org/docs/wsug_html_chunked/ChAdvFollowTCPSection.html) in einer Anfrage und sehen Sie, ob sich die andere Anfrage in derselben TCP-Verbindung befindet. Wenn dies zwei HTTP 0.9-Anforderungen in derselben Verbindung sind, ist dies nicht normal, da mit HTTP 0.9 nur eine einzige Anfrage pro TCP-Verbindung zulässig ist. Steffen Ullrich vor 6 Jahren 0