Pregunta Herramientas gratuitas para analizar problemas de comunicación cliente-servidor.


Tenemos algunos problemas con una aplicación cliente-servidor y nos gustaría entender mejor la comunicación cliente-servidor sin tener que recurrir a la compañía de software que vendió la aplicación. Al menos nos gustaría realizar el análisis en paralelo.

¿Me puede sugerir una aplicación de prueba falsa que podamos obtener e instalar fácilmente para analizar el tráfico cliente-servidor?

¡Muchas gracias!


5
2018-03-24 20:27


origen




Respuestas:


Presumiblemente, sus "comunicaciones cliente-servidor" se producen a través de una red, por lo que una red snffer, como WiresharkProbablemente sea un buen comienzo. Es de esperar que el protocolo particular que usa su aplicación sea uno que Wireshark pueda descodificar. De lo contrario, deberá guardar el tráfico capturado y analizarlo con una herramienta que pueda decodificar los protocolos en la pila, preferiblemente hasta la capa 7. (Si alguna de las pilas de protocolos en el camino es propietaria, probablemente esté en problemas por cualquier otra cosa que no sea el análisis de tráfico.)

Si su protocolo está basado en HTTP (S), Violinista También podría estar en su callejón, aunque es muy fácil encapsular un protocolo patentado y feo dentro de HTTP (S) de tal manera que es tan incomprensible como un protocolo binario (Sage "ACT!", replicación basada en HTTP, estoy hablando con usted) .

Es difícil responder a su solicitud de "prueba falsa". Para usar una herramienta como Wireshark de manera efectiva (especialmente algunas de las buenas características avanzadas como seguir las transmisiones de TCP o detectar anomalías, es necesario comprender la pila de capas del protocolo y lo que está sucediendo. Hasta que las computadoras puedan llegar al punto de ser "inteligentes", no hay un buen sustituto de software para el conocimiento humano.

Editar:

He analizado a los clientes que estaban experimentando problemas de "lentitud" con los protocolos opacos de la capa 7 (hola, Bentley "AutoPlant", estoy hablando con usted) y puedo decir que hay un buen valor incluso en el tráfico simple. Análisis (quién habla con quién, cuándo y cuánto). La insinuación fue que "la red" estaba siendo un cuello de botella, por lo que un poco de rastreo del tráfico en combinación con la ejecución de un "Monitor de proceso" en una PC cliente produjo algunos gráficos agradables que mostraban comparaciones de la carga de la CPU del cliente, la carga de la CPU del servidor E / S de red y E / S de back-end SAN. Al final, todo esto fue solo un análisis de tráfico de algún tipo, pero ayudó a identificar un error de "bucle" desagradable en el software cliente que no tenía nada que ver con "la red".

Como otro ejemplo, ayer hubo una pregunta aquí sobre Inicio de sesión lento con perfiles de usuario móviles donde se cuestionó el comportamiento de almacenamiento en caché de los perfiles de usuario móviles de Windows XP. Al no tener acceso al código fuente de Windows (como a menudo no lo hago), opté por realizar un análisis de tráfico para determinar cuál era el comportamiento del almacenamiento en caché. El protocolo cliente / servidor, SMB, no es operativo, pero lo traté como tal ya que lo que realmente buscaba era una métrica de transferencia de datos.

La profundidad del agujero de conejo depende de lo que esté buscando.


7
2018-03-24 20:32



Además (quizás Evan esté implicando esto), no es suficiente conocer la pila OSI para analizar una captura de paquetes. Debe conocer los detalles de la comunicación o el protocolo de aplicación \ mecanismo en uso. Si está solucionando problemas con SMTP, por ejemplo, necesita conocer el conjunto de comandos SMTP y cómo se ejecutan y se ejecutan los comandos para saber dónde está yendo mal una sesión cliente / servidor en particular. - joeqwerty
(Comentario completo del OT): Lo curioso del desarrollo de la IA es que cada vez que hacemos un avance, se divide el problema en algo que puede resolverse mediante un proceso lógico. Entonces, cada vez que se hace un avance, no se lo ve realmente como un avance, sino más bien como un descubrimiento de que algo que se cree que es 'inteligencia' terminó siendo solo una serie de reglas y procesos reproducibles. tl; dr - Las metas para lo que es 'inteligencia' se redefinen con cada avance de AI. - Chris Thorpe
@joeqwerty (hombre, eso es extraño de escribir): solté una edición para dilucidar un poco ese punto. El conocimiento de la capa 7 es ciertamente importante si lo que busca es en la capa 7. La ingeniería inversa de un protocolo de capa 7 patentado (peor: binario y patentado) es definitivamente algo fuera de lo real de "prueba falsa" ... (sí, con algunos datos codificados en ASN.1 y algún orden de bytes dependiente de la arquitectura ... sí, dale un poco de eso ...) - Evan Anderson
¿Qué? ¿No tienes acceso al código fuente de Windows? ¿Han visto tus puntos de reputación? ;) - joeqwerty


Tratar http://www.wireshark.org/ -

¡ADVERTENCIA! Esta herramienta puede ser ilegal en algunos países y en algunas circunstancias.


0
2018-03-24 20:31





Puedes probar Charles, http://www.charlesproxy.com. No es completamente gratis, pero su versión de prueba gratuita te llevará bastante lejos. Obtienes media hora de grabación de tráfico a la vez. También es mucho más fácil de usar que algo como WireShark. También tiene un precio razonable si decide utilizar la versión completa. WireShark probablemente le dará la mayor cantidad de comentarios, pero no lo consideraría una prueba falsa. http://www.wireshark.org/.


0
2018-03-24 20:43





Si se trata de Windows, descargue el netmon más nuevo de download.microsoft.com.


0
2018-03-24 22:01





tcpview es una herramienta tan básica como la que encontrará, a la vez que conserva cierta medida de utilidad:

http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx

En cuanto a la pregunta más amplia: no se puede dividir la solución compleja de problemas en nada como "prueba falsa". Esa noción es un poco insultante.


0
2018-03-24 23:23



Supongo que "prueba falsa" significa "Imposible para que los maniquíes hagan". > sonríe < - Evan Anderson