Question

Cartes,

comment est possible de déterminer à partir de paquets capturés à l'aide sharppcap si le paquet est http paquet ou non?

et peut-on déterminer les paquets TCP de frpm si le paquet est HTTP ou non?

Était-ce utile?

La solution

Selon RFC2616 - Hypertext Transfer Protocol - HTTP / 1.1 :

  

La version d'un message HTTP est indiqué par un champ HTTP-Version dans la première ligne du message

Alors, vous pouvez inspecter les paquets et d'analyse pour le texte de la version HTTP des en-têtes de message et / ou d'autres domaines connus du protocole HTTP. Bien que cette méthode ne peut pas être précis à 100% si un message est divisé en plusieurs paquets, il serait probablement assez bon, au moins une première coupe.

Autres conseils

Je suis l'auteur / mainteneur de sharppcap/packet.net.

J'ai quelques classes qui effectuent réassemblage tcp et l'analyse syntaxique de http qui sont utilisés dans une application de surveillance réseau complexe d'identifier et de suivre http sessions. Ceux-ci sont entièrement testé unitairement et bien commenté.

Ils sont disponibles pour des licences soit au niveau de source ou binaire.

Edit: Pourquoi voter cette baisse? Il a fallu des centaines d'heures pour développer le code et les tests et il est une baisse de la solution qui a été réutilisée. Il est certainement utile d'examiner avant de ré-implémenter la même fonctionnalité.

On dirait que vous êtes à la recherche d'un seul fragment de TCP. Si cela est venu le début d'un message, il aura une version HTTP dans la première ligne, mais si vous êtes juste en tirant au hasard des paquets hors du réseau et en espérant pouvoir dire qu'ils sont HTTP vous êtes hors de la chance - il n'y a rien dans les fragments TCP qui indique ce qui est en eux. La seule façon de savoir serait de regarder la conversation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top