Apache TCPMON : El Sniffer de los Servicios Web

0
18226

Apache TCPMON : El Sniffer de los Servicios Web

0. Índice de contenidos.

1. Introducción

A veces de la nada aparecen algunas aplicaciones que nos salvan la vida y esta es una de ellas.

Para todos aquellos que tengan cierta experiencia en el «maravilloso» mundo de servicios web (Web Services o WS)
estará conmigo en decir que cuando se produce algun problema , este genera más de un quebradero de
cabeza que en muchos casos termina por volverte loco o por contratar a CSI 😉

TCPMON es un sniffer que permite visualizar los paquetes
enviados por la red de forma muy sencilla y sin requerir demasiados conocimientos informáticos. No solo funciona
para los servicios web sino que se puede aplicar a cualquier intercambio de mensajes entre un cliente y un servidor
ahora su aplicación más directa es la de colaborar enormemente en la preciosa tarea de debuguear un WS

2. Entorno.

El tutorial está escrito usando el siguiente entorno:

3. Instalación.

PASO 1 : Nos conectamos a la página web http://ws.apache.org/commons/tcpmon/

PASO 2 : Accedemos al apartado de «Releases».

PASO 3 : Seleccionamos la opcion de ZIP de la distribución binaria.

PASO 4 : Descomprimir el ZIP en un directorio (En mi caso C:\tcpmon-1.0-bin ).

Con esto ya tendríamos la herramienta lista para ser usada.

4. Uso

Durante este apartado se pretende enseñar a utilizar la herramienta TCPMON con
servicios web pero sin entrar en detalle de ningún ejemplo en particular de Web Service,
etc. Pero como tengo que utilizar alguno, he decidido hacer uso de un servicio web local propio
desplegado en Tomcat 7.0 y contruido con Axis2. En este servicio, el servidor habilita una
operación en la que dado un array de palabras devuelve esas palabras formando una frase
(Prometo enseñar a implementar paso a paso este servicio en próximos tutoriales 😉 )

Para ejecutar TCPMON nos situaremos en el directorio «C:\tcpmon-1.0-bin\build» y
lanzaremos el ejecutable «tcpmon.bat»

Nota : En ese mismo directorio también se encuentra el JAR que contiene esta aplicación,
por si queremos incorporarla a cualquiera de nuestros proyectos 😉

Al cargar la interfaz podréis comprobar que es muy sencilla, dispone unicamente de dos pestañas
en las que se encuentra toda la funcionalidad

Pestaña Sender

Suponemos que tenemos desplegado el servicio web que antes he comentado y por lo tanto
sería accesible mediante la siguiente URL : http://localhost:8080/axis2/services/Axis2Array

Situamos la anterior URL en el campo «Connection EndPoint» y el mensaje SOAP de entrada
en el campo de texto superior superior.

Marcamos que la respuesta nos la devuelva en texto XML formateado y pulsamos sobre «Sender».
Si todo ha ido bien se mostrará la respuesta a nuestro mensaje, que en este caso será la frase formada
por las palabras pasadas como parámetros

La opción «Switch Layout» permite cambiar la disposición de la interfaz para mostrar los mensajes de entrada
y salida de forma horizontal/vertical

Pestaña Admin

Esta pestaña permite crear un monitor sobre un puerto en concreto pudiendo establecer algunas opciones
de configuración.

Establecemos que escuche el puerto 8085 y que actue de Listener sobre localhost para el puerto 8080

Pulsamos sobre «Add» y se creará una nueva pestaña «Port 8085»

Con este punto tendremos a TCPMON a la escucha de ese puerto.

Cambiamos la ejecución del cliente Java del servicio web anterior en los argumentos de la
VM en cuanto al puerto en el que se lanzará el cliente de nuestro servicio web :
-Dhttp.proxyPort=8085 -Dhttp.proxyHost=localhost

Tras ejecutar el cliente vemos los resultados capturados por nuestro listener. Esta pantalla se
muestran la solicitud que realiza nuestro cliente Java y la respuesta del servidor

Podemos además establecer que el formato de los mensajes sea en formato XML y volver a solicitar la misma ejecución
mediante la opción «Resend»

Con esto ya tenemos la mitad del problema resuelto de un servicio web que no es otro que poder ver que nos
esta devolviendo nuestra solicitud 😉

5. Configuración con SOAP UI

Continuamos «rizando el rizo» y ahora os vamos a enseñar como configurar esta herramienta con SOAP UI.

PASO 1 : Cargamos SOAP UI

PASO 2 : Pulsamos sobre File -> Preferences

PASO 3 : Elegimos la pestaña de «Tools»

PASO 4 : Configuramos la ubicación de Apache Tcpmon

PASO 5 : Para ejecutar Apache Tcpmon podremos seleccionar las herramientas Tools -> TcpMon y cargaría
la primera pantalla explicada en el apartado de uso.

6. Conclusiones.

Espero haberos podido ayudar a todos aquellos que os dedicais a depurar WS a ver la vida con otros ojos,
y a no perder ni un minuto mas de lo necesario en esta tarea. Para cualquier duda ya sabeis que os podeis poner
en contacto conmigo

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad