Víctor Javier Madrid

Consultor tecnológico de desarrollo de proyectos informáticos.

Ingeniero en Informática con especialidad en Ingeniería del Conocimiento *.

Ver todos los tutoriales del autor

Fecha de publicación del tutorial: 2010-07-16

Tutorial visitado 8.702 veces Descargar en PDF
Apache TCPMON : El Sniffer de los Servicios Web

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

A continuación puedes evaluarlo:

Regístrate para evaluarlo

Por favor, vota +1 o compártelo si te pareció interesante

Share |
Anímate y coméntanos lo que pienses sobre este TUTORIAL: