Я хочу отслеживать трафик 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. Вы найдете информацию в этой теме.