Salutation,
comment est-il possible de déterminer à partir des paquets capturés en utilisant sharppcap si le paquet est un paquet http ou non ?
et peut-on déterminer à partir des paquets TCP si le paquet est HTTP ou non ?
Salutation,
comment est-il possible de déterminer à partir des paquets capturés en utilisant sharppcap si le paquet est un paquet http ou non ?
et peut-on déterminer à partir des paquets TCP si le paquet est HTTP ou non ?
Selon rfc2616 - Hypertext Transfer Protocol -- HTTP/1.1 :
La version d'un message HTTP est indiquée par un champ HTTP-Version dans la première ligne du message.
Ainsi, vous pourriez inspecter les paquets et rechercher le texte de la version HTTP dans les en-têtes de message, et/ou d'autres champs connus du protocole HTTP. Bien que cette méthode puisse ne pas être précise à 100 % si un message est divisé en plusieurs paquets, elle serait probablement suffisante, au moins comme première étape.
Je suis l'auteur/mainteneur de sharppcap/packet.net
.
J'ai quelques classes qui font tcp
http
qui sont utilisés dans une application complexe de surveillance du réseau pour identifier et suivre les activités de l'entreprise. http sessions
. Ceux-ci sont entièrement testés en unité et bien commentés.
Ils sont disponibles pour l'octroi de licences au niveau binaire ou source.
Edit : Pourquoi voter contre ? Il a fallu des centaines d'heures pour développer le code et les tests et c'est une solution qui a été réutilisée. Cela vaut certainement la peine d'y réfléchir avant de réimplémenter la même fonctionnalité.
On dirait que vous regardez un seul fragment TCP. S'il provient du début d'un message, la première ligne contiendra une version HTTP, mais si vous prenez des paquets au hasard sur le réseau en espérant pouvoir dire qu'il s'agit de HTTP, vous n'avez pas de chance - rien dans les fragments TCP n'indique ce qu'ils contiennent. La seule façon de le savoir serait de regarder l'ensemble de la conversation.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.