what websockets socket real que protocolo node conexion networking websocket

networking - real - websockets



Cómo depurar Websockets? (4)

Quiero monitorear el tráfico de websocket (como para ver qué versión del protocolo usa el cliente / servidor) con fines de depuración. ¿Cómo voy a hacer esto? Wireshark parece tener un nivel demasiado bajo para tal tarea. Sugerencias?


Creo que deberías usar Wireshark

Pasos

  • Open wireshark
  • Vaya a capturar y siga la siguiente ruta: capture> interfaces> start capture en su dispositivo apropiado.
  • Escriba reglas en el filtro tcp.dstport == your_websoket_port
  • Presionar aplicar


Si está buscando los datos reales enviados y recibidos, los últimos Chrome Canary y Chromium tienen ahora la función de inspección de marcos de mensajes WebSocket. Encontrará detalles en este hilo .


Wireshark suena como lo que realmente quieres. Hay muy poco encuadre o estructura para WebSockets después del handshake (por lo que desea un nivel bajo) e incluso si lo hubiera, wireshark pronto (o ya) tendría la capacidad de analizarlo y mostrarle la estructura.

Personalmente, a menudo capturo con tcpdump y luego analizo los datos más tarde usando wireshark. Esto es especialmente bueno cuando no puede wireshark en el dispositivo donde desea capturar los datos (es decir, un servidor sin cabeza). Por ejemplo:

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

Alternativamente, si tiene control sobre el servidor (o proxy) WebSockets, siempre puede imprimir los datos de envío y recepción. Tenga en cuenta que dado que los marcos de websocket comienzan con ''/ x00'' querrán evitar la impresión ya que en muchos idiomas ''/ x00'' significa el final de la cadena.