Comment trouver l'en-tête HTTP de la longueur d'un paquet?
Je sais comment le faire manuellement (en regardant le vidage hexadécimal). Comment puis-je obtenir le même automatiquement? Dois-je utiliser les Api? J'ai à la fois wireshark et le moniteur réseau Microsoft.
Que voulez-vous dire 'automatique', à partir d'une application? Si vous venez de dire de déterminer quelle partie de la capture est l'en-tête HTTP, etc., Wireshark devrait automatiquement disséquer les paquets. Trouver tous HTTP paquet de données, cliquez-droit et sélectionnez "Follow TCP Stream" afficher le trafic HTTP avec les en-têtes clairement lisible.
Je veux savoir l'en-Tête HTTP de la Longueur en octets. Je peux voir le HTTP conversation, mais comment puis-je mettre l'en-tête HTTP longueur de la colonne de permet de dire?
Je ne sais pas ce que tu veux dire "comme une colonne". Fondamentalement, vous avez besoin de rechercher le flux TCP depuis le début de la requête HTTP à la première double-saut de ligne (
Vous pouvez choisir les colonnes à afficher:Edit->Préférences->UserInterface (Colonnes). Comment puis-je développer un plugin pour l'affichage de ce dans Wireshark? Pouvez-vous indiquer quelques tutoriels ou des liens utiles.
Je veux savoir l'en-Tête HTTP de la Longueur en octets. Je peux voir le HTTP conversation, mais comment puis-je mettre l'en-tête HTTP longueur de la colonne de permet de dire?
Je ne sais pas ce que tu veux dire "comme une colonne". Fondamentalement, vous avez besoin de rechercher le flux TCP depuis le début de la requête HTTP à la première double-saut de ligne (
\n\n
ou \r\n\r\n
). L'index où que l'on retrouve est la longueur de l'en-tête. Si vous voulez le montrer dans Wireshark, vous aurez besoin de développer un plug-in ou quelque chose. Si vous êtes dumping, les données des tableaux excel ou quelque chose, alors vous aurez besoin de calculer la longueur comme je l'ai décrit.Vous pouvez choisir les colonnes à afficher:Edit->Préférences->UserInterface (Colonnes). Comment puis-je développer un plugin pour l'affichage de ce dans Wireshark? Pouvez-vous indiquer quelques tutoriels ou des liens utiles.
OriginalL'auteur Bruce | 2011-04-18
Vous devez vous connecter pour publier un commentaire.
Ceci peut être réalisé simplement avec un Lua dissecteur qui ajoute un en-tête HTTP champ pour le paquet de l'arbre, vous permettant de filtrer pour cela, comme le montre cette capture d'écran:
Copier ce script Lua dans votre répertoire de plugins (par exemple,
${WIRESHARK_HOME}/plugins/1.4.6/http_extra.lua
), et redémarrez Wireshark (si déjà en cours d'exécution).Quelle est la version de Wireshark vous exécutez? 2. Quand vous allez dans le menu "Outils", voyez-vous un sous-menu "Lua"? Si non, alors Lua est désactivé (activé par défaut dans l'installation standard). 3. L'en-tête HTTP de longueur de champ n'est ajouté au paquet description si le paquet contient les en-tête HTTP. Avez-vous vérifier?
btw, j'ai testé ce script sur Wireshark 1.4.6 sur Windows XP SP3.
J'ai Wireshark 1.2.7. Je ne vois pas le Lua sous-menu. Je vais réinstaller avec Lua activé.
Cool ça fonctionne maintenant!
OriginalL'auteur
Malheureusement, bien que vous pouvez créer des colonnes, les données que vous voulez dans cette colonne n'est pas actuellement générés par le protocole HTTP décodeur. Bien sûr, il y a peut-être d'autres outils que je ne suis pas familier avec ce qui peut le faire aujourd'hui, mais aussi loin que Wireshark est concerné, vous devrez ajouter cette fonctionnalité.
Il ya quelques bonnes ressources sur la création de Wireshark les plugins, par exemple:
http://simeonpilgrim.com/blog/2008/04/29/how-to-build-a-wireshark-plug-in/
http://www.wireshark.org/docs/wsdg_html_chunked/ChDissectAdd.html
http://www.codeproject.com/KB/IP/custom_dissector.aspx
Et voici une vidéo décrivant comment ajouter un champ qui est exposée par un protocole décodeur comme une colonne personnalisée:
http://www.youtube.com/watch?v=XpUNXDkfkQg
La chose est, vous n'avez pas à re-mettre en œuvre le protocole HTTP décodeur.
Ce que je voudrais faire est de trouver le code source pour le HTTP intégré dans le décodeur et regardez l'ajout d'un nouveau champ comme
http.header_length
tout comme l'existanthttp.content_length
:Je n'ai pas regardé le code, mais je suppose que c'est une bien jolie chose facile à ajouter. Si vous soumettez un patch pour la Wireshark équipe, ils seront sans doute également inclure votre nouveau champ dans la prochaine version.
OriginalL'auteur Tim Sylvester
Le Code posté par user568493 ne fonctionne pas pour moi du tout, de Sorte iv e l'a changé pour un poste de dissection, et aussi c'était sans compter le nombre d'octets correctement. Il a également été comptage IP et Ethernet octets.
C'est ma version, qui travaille sur les 1.8.2:
OriginalL'auteur eitama
J'ai trouvé que ce moyen d'appel précédent dissecteur dans la chaîne en quelque sorte interferre avec HTTP le réassemblage de paquets fait pour "chunked" transfert d'encodage. Si votre réponse est 'Transfer-Encoding: chunked' en-tête, l'original HTTP dissecteur tente de rassembler les données et si vous crochet avec de tels http_wrapper, puis remontage échoue.
Par exemple, ce qui rend http statistiques aussi échouer. Statistiques/HTTP/Paquet Contre vous donnera, dire 6 demandes et 4 réponses, ce qui n'est pas le cas =)
On devrait mieux installer ce genre de "valeur ajoutée" dissectors avec "register_postdissector' appel d'API ou de test pour le remontage de la logique soigneusement.
OriginalL'auteur shomeax