Как отлаживать веб-узлы?

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

Ответ 1

Wireshark звучит так, как вы хотите. После рукопожатия (так что вы хотите низкого уровня) очень мало кадрирования или структуры для WebSockets (так что вы хотите получить низкий уровень), и даже если бы это было, wirehark скоро (или уже) имел возможность проанализировать его и показать вам структуру.

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

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

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

Ответ 2

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

Шаги

  • Открыть проводки
  • Перейдите к захвату и следуйте ниже следующему пути: capture > interfaces > start capture в соответствующем устройстве.
  • Запись правил в фильтре tcp.dstport == your_websoket_port
  • Применять удар

Ответ 3

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