Como interceptar paquetes?

fernan
03 de Agosto del 2004
Me gustaría poder interceptar los paquetes que provienen de un servidor externo a mi ordenador:
EJEMPLO:
Tengo abierta una pantalla del msnmessenger. Cuando empiezo a enviarme mensajes con la otra persona me gustaría poder copiar esos mensajes, pero justamente cuando los recibo por el puerto.

En definitiva lo que me gustaría es poder realizar una copia de los paquetes que entran a mi ordenador para poder tratarlos, utilizando JAVA.

He intentado:

ServerSocket socket = new ServerSocket(port);
//pero si el puerto esta ocupado o "bind" se produce
//una expcepcon y no puedo hacer nada

DatagramSocket

//pasa lo mismo que con ServerSocket

MulticastSocket socket = new MulticastSocket(port);

//Con esta instruccion al menos no se produce una expcepcion, pero no consigo que pase de la instruccion:

socket.receive(packet);

Se queda esperando o "block" a recibir algo, cuando supuestamente ese puerto esta recibiendo informacion, pero no pasa de ahi.

La verdad es que no se que hacer, he probado bastantes mas cosas y nada.

Muchas Gracias

xeos
03 de Agosto del 2004
No se si a nivel de socket vas a poder capturar los paquetes, y igual necesitas un programa externo que los capture, los pase a un txt y que desde java leas ese fichero de texto. Pero me parece que de poco te va a servir por que la informacion del msn va codificada con md5 y consigues capturar un paquete igual lo ves cifrado.
Si lo consigues pon la solucion por aqui....;)