Je veux surveiller le trafic websocket (comme pour voir quelle version du protocole le client/serveur utilise) à des fins de débogage. Comment ferais-je cela? Wireshark semble trop bas niveau pour une telle tâche. Suggestions?Comment déboguer des Websockets?
Répondre
Wireshark ressemble à ce que vous voulez réellement. Il y a très peu de cadrage ou de structure sur WebSockets après la négociation (donc vous voulez un bas niveau) et même si c'était le cas, wireshark aurait bientôt (ou déjà) la possibilité de l'analyser et de vous montrer la structure.
Personnellement, je capture souvent avec tcpdump et ensuite analyser les données plus tard en utilisant wireshark. Ceci est particulièrement agréable lorsque vous ne pouvez pas être en mesure d'effectuer un "wireshark" sur l'appareil sur lequel vous voulez capturer les données (c'est-à-dire 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 l'envoi et la réception de données. Notez que puisque les frames websocket commencent par '\ x00', vous voudrez éviter d'imprimer cela puisque dans de nombreux langages '\ x00' signifie la fin de la chaîne.
Si vous recherchez les données réelles envoyées et reçues, les récentes Chrome Canary et Chromium disposent désormais d'une fonction d'inspection de télégramme WebSocket. Vous trouverez les détails dans this thread.
Et maintenant cela fonctionne aussi bien en chrome pur ... –
Cela ne fonctionne pas pour Binary Websocket Frames – ShaBANG
Je pense que vous devriez utiliser Wireshark
étapes
- Wireshark Ouvrir
- Aller à capturer et suivre le chemin ci-dessous: capture> interfaces> lancer la capture dans votre appareil approprié.
- règles d'écriture dans le filtre
tcp.dstport == your_websoket_port
- Hit appliquent
Vous avez besoin Wireshark 1.6.5 ou supérieur pour voir les données dans les paquets WebSocket, voir https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6843 – r3m0t
FWIW, les versions actuelles de Fiddler vous montrera Websocket trafic. – EricLaw
Tout ce dont vous avez besoin est Chrome. Plus de détails sur ce sujet: http://stackoverflow.com/questions/8952773/chrome-web-inspector-web-socket-debugging/10525328#10525328. –
J'ai publié des détails sur la journalisation des messages WebSocket en utilisant Chrome et Wireshark à: https://blogs.oracle.com/arungupta/entry/logging_websocket_frames_using_chrome –