Comment réponse HTTP se rapportent à la demande?
-
10-10-2019 - |
Question
Je packet sniffing en utilisant jpcap, et je me demande comment je peux savoir quelle demander la réponse est pour. Les champs en-tête HTTP ne précisent même pas l'adresse du serveur, et
il n'y a pas de ID.Dois-je besoin de vérifier les ports ou quelque chose?
La solution
On dirait que vous regardez des paquets capturés IP sans comprendre comment fonctionnent les connexions TCP. La réponse est que les en-têtes HTTP ne comprennent pas l'adresse du serveur, car ils ne ont pas besoin. Les données HTTP est défini sur une connexion TCP, qui gère les adresses source et destination pour chaque paquet.
Une connexion TCP est comme une « pipe » virtuel entre le client et le serveur. Toutes les données envoyées sur une connexion TCP soit:
- arrive à l'autre extrémité dans le même ordre, il a été envoyé, ou
- ne sont pas arrivés du tout
Même si les paquets IP individuels pourraient être fragmentés et arrivent à destination dans un ordre différent de ce qui a été envoyé, TCP triera tout cela et présenter le récepteur avec une vue cohérente, garantie des mêmes données, la vente de l'expéditeur en le tuyau.
Autres conseils
La réponse suivra immédiatement la demande sur la même connexion. Un client ne peut pas avoir plusieurs demandes en attente sur la même connexion, il doit attendre une réponse avant d'envoyer une nouvelle commande, ou bien il doit envoyer la demande d'une nouvelle connexion.
HTTP est un protocole de couche application / présentation. Ne pensez pas si vous vérifiez les en-têtes HTTP, vous trouverez l'adresse du serveur. Besoin de regarder les paquets IP en dépouillant des en-têtes HTTP.
Si vous utilisez Wireshark, juste 'suivre' la connexion.