2010-01-07 35 views
16

Puedo capturar los paquetes usando wireshark, pero no puedo decodificar la secuencia en algo inteligible. Este error sugiere que quizás esto no sea posible en SQL Server 2005 o posterior ... https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3098, pero varias personas en Stack Overflow afirmaron que este era un buen método en las respuestas a esta pregunta: How to SQL Server traffic is encrypted?. Cualquier ayuda apreciada.¿Cómo puedo decodificar el tráfico de SQL Server con wireshark?

Respuesta

2

La pregunta a la que se refiere es cómo demostrar que el tráfico está encriptado.

Así que estaban usando wireshark para demostrar que no se podía leer.

El cifrado era débil en versiones anteriores de SQL Server, pero no creo que sea fácil descifrar el tráfico de SQL Server 2005.

+2

Pero la pregunta es, ¿cómo probaron que estaba encriptada? Necesita decodificar el flujo TDS y no es obvio (al menos para mí) cómo hacer esto en wireshark. – Pete

1

Wireshark decodifica y muestra los datos capturados cuando se conoce el protocolo (y la capa). Eso significa que los datos capturados no están encriptados. Si los datos están encriptados (SSL, es decir), WS solo mostrará los apretones de manos SSL y los datos brutos.

+0

Esto es incorrecto, ya que el protocolo MS-SQL en uso no hace SSL/TLS dentro del protocolo en la capa más externa, lo cual es bastante común. Por lo tanto, esto es incorrecto en este caso y no indicará la respuesta correcta si está buscando slsl handshakes. ¡Nunca hay ninguno en este caso! – dalini

8

Editar (2017-05-02): Microsoft Network Monitor - ha sido reemplazado por Microsoft Message Analyzer - que cumple la misma función. ¡Vea también el comentario debajo de esta respuesta o la respuesta más abajo para saber cómo usarla!


respuesta original:

Hay otra gran herramienta subestimado de la propia Microsoft: 'Microsoft Network Monitor'. Básicamente, esto es muy similar a wireshark, con la excepción de que algunos protocolos específicos de MS tienen un mejor analizador y soporte de visualización que wireshark y obviamente solo funcionaría bajo Windows ;-).

La herramienta es bastante antigua y parece abandonada (hasta ahora no se ha visto una versión más reciente) pero aún hace un buen trabajo y la gramática para definir nuevos protocolos es bastante clara e interesante, así que todavía posee mucha potencia para el futuro. mnm 3.4 about dialog

Análisis Ejemplo - grabación se filtra para TDS - por lo que los otros paquetes se discared principalmente:

Example Session for TDS (MSSQL)

Esto también es cierto para las conexiones de servidor SQL. El MNM incluso puede visualizar los resultados yendo por el cable - bastante limpio. No obstante, wireshark, como se menciona anteriormente, sería suficiente para validar el cifrado y los certificados aplicados en el propio cable. Significa que puede entender el TDS-Protocoll por completo.

Manejo TLS

también con una extensión (llamados expertos) 'NmDecrypt' y los certificados de derecho (incluyendo las claves privadas) - es posible descifrar protocolls - bastante agradable para TDS que utiliza TLS INTERIOR de TDS - no es de extrañar, nadie lo ha implementado realmente como un protocolo totalmente soportado para wireshark;)

Hasta ahora - en relación con MSSQL-Traffic - o para ser más precice TDS-Protocol esta es la mejor herramienta que he venido hasta ahora. Wireshark es genial, pero en este caso MNM es "mejor". Han phun!;)

Enlaces para las herramientas:

+7

MS Network Monitor ha sido reemplazado por [Microsoft Message Analyzer] (https://www.microsoft.com/en-us/download/details.aspx?id=44226) y de hecho descifra muy bien el TLS dentro de TDS (NMDecrypt no es obligatorio). –

5

No Wireshark, pero para mí el Microsoft Message Analyzer funcionaba muy bien para eso.

Para obtener todos los comandos enviado

  1. iniciar una nueva sesión
  2. Añadir Live Trace como como origen de datos
  3. Seleccionar escenario (elegí red local Interfaces)
  4. Enter una expresión de filtro de sesión como * address == 10.1.2.129 para filtrar solo el tráfico a su servidor SQL.
  5. haga clic en Inicio
  6. clic derecho sobre el encabezado de la columna en la mesa de masaje y seleccione Agregar columnas ...
  7. Añadir TDS> sqlbatch> SqlBatchPacketData> Sqltext

Esto debe darle algo como el siguiente enter image description here

Desafortunadamente no hay un autodesplazamiento implementado en este momento, pero puede ordenar por marca de tiempo y tener las nuevas consultas apareciendo en la parte superior.

Cuestiones relacionadas