Je souhaite surveiller le trafic websocket (pour savoir quelle version du protocole utilisée par le client/serveur) à des fins de débogage Comment pourrais-je m'y prendre? Wireshark semble trop faible pour une telle tâche. Suggestions?
Wireshark sonne comme ce que vous voulez réellement. Il y a très peu d'encadrement ou de structure pour WebSockets après la poignée de main (donc vous voulez un niveau bas) et même s'il y en avait une ,owshark aurait bientôt (ou déjà) la possibilité de l'analyser et de vous montrer la structure.
Personnellement, je capture souvent avec tcpdump, puis j'analyse les données ultérieurement à l'aide de Wireshark. C’est particulièrement pratique lorsque vous ne pouvez pas effectuer de Wharshark sur le périphérique sur lequel vous souhaitez capturer les données (c’est-à-dire un serveur sans tête). Par exemple:
Sudo tcpdump -w /tmp/capture_data -s 8192 port 8000
Sinon, si vous avez le contrôle sur le serveur WebSockets (ou le proxy), vous pouvez toujours imprimer les données d'envoi et de réception. Notez que, puisque les cadres websocket commencent par '\ x00', vous voudrez éviter toute impression puisque, dans de nombreuses langues, '\ x00' signifie la fin de la chaîne.
Si vous recherchez les données réelles envoyées et reçues, les récents Chrome Canary et Chromium disposent désormais de la fonction d'inspection du bloc de messages WebSocket. Vous trouvez des détails dans ce fil de discussion .
Je pense que vous devriez utiliser Wireshark
Pas
tcp.dstport == your_websoket_port