Comment déboguer Websockets?
je veux surveiller le trafic websocket (comme pour voir quelle version du protocole le client/serveur utilise) à des fins de débogage. Comment pourrais-je aller sur le faire? Wireshark semble trop bas pour une telle tâche. Des Suggestions?
4 réponses
Wireshark ressemble à ce que vous voulez réellement. Il y a très peu de cadrage ou de structure à WebSockets après la poignée de main (donc vous voulez bas niveau) et même s'il y en avait, wireshark aurait bientôt (ou déjà) la capacité de le parser et de vous montrer la structure.
personnellement, je capture souvent avec tcpdump et puis analyse les données plus tard en utilisant wireshark. C'est particulièrement agréable quand vous ne pouvez pas être en mesure wireshark sur l'appareil où vous vouloir capturer les données (c.-à-d. un serveur sans tête). Par exemple:
sudo tcpdump -w /tmp/capture_data -s 8192 port 8000
alternativement, si vous avez le contrôle sur le serveur WebSockets (ou proxy) vous pouvez toujours imprimer les données Envoyer et recevoir. A noter que depuis websocket images commencent par '\x00' voudront éviter l'impression que depuis dans de nombreuses langues '\x00' signifie la fin de la chaîne.
si vous cherchez les données réelles envoyées et reçues, le récent Chrome Canary et Chrome ont maintenant WebSocket message frame inspection fonctionnalité. Vous trouvez des détails dans ce fil .
je pense que vous devriez utiliser Wireshark
Étapes
- Ouvrir wireshark
- aller à la capture et suivre le chemin de bellow: capture > interfaces > démarrer la capture dans votre appareil approprié.
- Ecrire les règles dans le filtre
tcp.dstport == your_websoket_port
- cliquez sur appliquer
pour une chose simple, wireshark est trop complexe, je voulais vérifier seulement si la connexion peut être établie ou non. Suivant Chrome plugin "simple web-socket (lien: https://chrome.google.com/webstore/detail/simple-websocket-client/pfdhoblngboilpfeibdedpjgfnlcodoo?hl=en ) " work like charm. Voir l'image.