Maison >développement back-end >Tutoriel Python >Que se passe-t-il lorsque les données des paquets capturés sont tronquées ?

Que se passe-t-il lorsque les données des paquets capturés sont tronquées ?

零下一度
零下一度original
2017-07-27 16:16:4813252parcourir

Pourquoi cela arrive-t-il ? Les enfants prudents peuvent constater que les données de connexion de la demande que nous envoyons au serveur sont différentes :

Les informations dans la première image sont {"roomid":98284,"uid":271298361556770}

Les informations dans la deuxième image sont {"uid":276194535568357,"protover":2,"roomid":98284>

roomid est le numéro réel de la chambre et l'uid est une chaîne de chiffres générée aléatoirement. . Vous pouvez copier et vous connecter directement.

En comparaison, le second a un paramètre "protover":2 supplémentaire. En fait, la première image consiste à capturer le paquet de données du client mobile, et la deuxième image consiste à capturer le paquet de données de la page Web de l'ordinateur. Donc s'il y a ce paramètre "protover":2, vous pouvez vous connecter au serveur de barrage.

Nous pouvons donc en déduire que les données les plus faciles à capturer lors de la capture de paquets sont celles du téléphone mobile, suivies du côté wap, et enfin du côté ordinateur.

Mais souvent, les données de paquets que nous capturons sont une chaîne de caractères tronqués, comme le montre la figure 2, que vous utilisiez utf8 ou Even l’utilisation du codage gbk ne peut pas obtenir l’effet illustré à la figure 1.

Ce type de données est en fait une sorte de gzip de données compressées. Actuellement, Wireshark ne prend pas en charge ce mode de décompression des données compressées.

De nos jours, les sites Web sont essentiellement transmis en mode compression pendant la transmission, donc les données que vous capturez sont des données compressées, à votre avis, elles sont complètement tronquées et il n'y a aucun moyen de démarrer.

Comme le montre l'image, lorsque vous visitez la page d'accueil de mon blog, les données de la page Web renvoyées par le serveur d'exploration sont en mode gzip, et les pages Web que nous visitons habituellement sont décompressées et restituées par le navigateur, puis présentées pour nous.

Étant donné que le serveur Bilibili transmet des données gzip, la solution est très simple. L'installation d'un package zlib ou d'un package gzip tiers peut résoudre ce problème.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn