Erro com JPCAP

Pessoal, estou desenvolvendo uma aplicação para captura de pacotes, estou utilizando a API JPCAP versao 0.5.1, e J2SDK 1.5.0.
O que ocorre é o seguinte, eu capturo os dispositivos, escolho um para capturar, mando capturar os pacotes, extraio alguns dados do packet, crio um objeto do tipo EthernetPacket e atribuo a ele fazendo um CAST o atributo datalink do Packet, e obtenho mais alguns dados do pacote capturado, até ai td blz.
Só que quando eu tento criar um objeto do tipo ARPPacket ou IPPacket e atribuir a eles um Packet fazendo um CAST, para extrair outros dados do pacote o meu programa é encerrado e o NetBeans acusa o seguinte erro:

An unexpected error has been detected by HotSpot Virtual Machine:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d7480af, pid=2116, tid=836

Java VM: Java HotSpot™ Client VM (1.5.0_04-b05 mixed mode, sharing)

Problematic frame:

V [jvm.dll+0x980af]

An error report file with more information is saved as hs_err_pid2116.log

If you would like to submit a bug report, please visit:

http://java.sun.com/webapps/bugreport/crash.jsp

Java Result: 1
BUILD SUCCESSFUL (total time: 24 seconds)

Já estou preso ai há mais de um mês. Se alguem puder ajudar, fico grato.

Ae man, se você for observer aquele metodo lookupDevices retorna um array de strings, onde cada posição é um dispositivo. Porém , a string retornada também contém a descrição do dispositivo, ex;

array[0] = - Descricao do dispositivo 1 \n Identificacao do dispositivo 1

logo quando você passa para captura acontece esse problema.

escolha qual o dispositivo que voce quer, e trate com substring para pegar somente a segunda linha. *

Eu não lembro exatamente se a descrição faz parte da primeira ou segunda linha.

Antes de fazer tudo isso verifique se realmente se:
-colocou o .dll, que encontra-se na pasta lib, para a pasta system32 do seu winxp, caso voce use winxp.
-instalou o winpcap.

Ae, se eu nao me engano já tem uma versão mais nova do jpcap, do que essa que você está usando ai.

acho que nao é ai o problema, porque o erro acontece quando eu vou extrair informações de um objeto ARPPacket ou IPPacket ou qualquer outro objeto mais especializado do que Packet. as interfaces de rede eu consigo obter, consigo abrir, e colocar pra capturar os pacotes, consigo também extrair as informações do objeto Packet através do método receivePacket, até ai blz, o problema é quando eu vou especializar o objeto Packet para um ARPPacket ou IPPacket por exemplo, ai a minha aplicação é encerrada e o netbeans acusa aquele erro da primeira mensagem. E nao tem erro de compilação neim nada, inclusive, pra fazer o meu código eu usei como base uma aplicação pronta, o JpcapDumper que é encontrado para download no proprio site do jpcap no endereco http://netresearch.ics.uci.edu/kfujii/jpcap/doc/tools.html

PROBLEMA SOLUCIONADO !!!

O que acontecia era o seguinte, eu realizava a captura e quando tentava fazer um CAST de um objeto do tipo PACKET para um objeto do tipo ARPPACKET ou IPPACKET ou qualquer outro, acontecia o erro mencionado na primeira mensagem, só que eu nao tinha me ligado que quando um pacote é capturado eu nao sei a que tipo de protocolo ele usou, sendo assim eu estava tendando atribui um objeto PACKET através de um CAST para um objeto ARPPACKET enquanto o PACKET era do protocolo UDP ou TCP, e o que aconteceu foi isso, bastou implementar 3 linhas de codigo para descobrir que protocolo o pacote usou, para entao poder fazer o CAST para o objeto correto (ARPPACKET, IPPACKET, TCPPACKET, etc).

Tem como vc me mandar um exemplo da utilização do JPCAP, tenho muita experiência com java, mas nao nessa área.

obrigado
andrehorta1g@gmail.com