Как отлаживать Websockets? - PullRequest
       9

Как отлаживать Websockets?

33 голосов
/ 13 октября 2010

Я хочу отслеживать трафик веб-сокета (например, видеть, какую версию протокола использует клиент / сервер) для целей отладки. Как бы я поступил так? Wireshark кажется слишком низким уровнем для такой задачи. Предложения?

Ответы [ 4 ]

27 голосов
/ 14 октября 2010

Wireshark звучит так, как вы хотите на самом деле.После рукопожатия очень мало рамок или структуры для WebSockets (так что вам нужен низкоуровневый уровень), и даже если бы это было так, Wireshark вскоре (или уже) сможет проанализировать его и показать вам структуру.* Лично я часто снимаю с помощью tcpdump, а затем анализирую данные позже, используя wireshark.Это особенно приятно, когда вы не можете использовать проводную акцию на устройстве, на котором вы хотите захватить данные (например, на автономном сервере).Например:

sudo tcpdump -w /tmp/capture_data -s 8192 port 8000

В качестве альтернативы, если у вас есть контроль над сервером WebSockets (или прокси-сервером), вы всегда можете распечатать данные отправки и получения.Обратите внимание, что, поскольку фреймы websocket начинаются с '\ x00', нужно избегать печати, поскольку во многих языках \ x00 означает конец строки.

7 голосов
/ 10 мая 2012

Если вы ищете фактические отправленные и полученные данные, последние Chrome Canary и Chromium теперь имеют функцию проверки фрейма сообщений WebSocket.Вы найдете детали в этой теме .

6 голосов
/ 29 сентября 2012

Я думаю, вы должны использовать Wireshark

Шаги

  • Открытая проволочная акула
  • Перейдите к захвату и следуйте нижеприведенному пути: захват> интерфейсы> начать захват в соответствующем устройстве.
  • Написать правила в фильтре tcp.dstport == your_websoket_port
  • Хит применяется
0 голосов
/ 07 июня 2018

Для простоты, Wireshark слишком сложен, я хотел проверить только, может ли соединение быть установлено или нет. Следующий плагин Chrome «Простая веб-розетка» (ссылка: https://chrome.google.com/webstore/detail/simple-websocket-client/pfdhoblngboilpfeibdedpjgfnlcodoo?hl=en)" работает как шарм. См. Изображение.

https://lh3.googleusercontent.com/bEHoKg3ijfjaE8-RWTONDBZolc3tP2mLbyWanolCfLmpTHUyYPMSD5I4hKBfi81D2hVpVH_BfQ=w640-h400-e365

...