Jpcap ! [RESOLVIDO]

Pessoal, fiz um programa aqui para verificar o tráfego na rede e tal…
Só que todos os exemplos que achava de Jpcap na internet, era setado para capturar somente “x” pacotes…
Mas eu não quero “x” pacotes, eu quero estar capturando SEMPRE…
Mas tem 1 condição… O pacote tem que ter “data”.

Ae fiz assim:

[code] NetworkInterface[] interfaces = JpcapCaptor.getDeviceList();

        JpcapCaptor captor = JpcapCaptor.openDevice(interfaces[1], 65535, false, 20000);
        captor.setFilter("tcp", true);


        while(true){ // PEGANDO SEMPRE PACOTES
            TCPPacket p = (TCPPacket) captor.getPacket();
  
            if(p.data.length > 0){[/code]

Bom, meu programa roda joinha…
Mas tem vez que dá um erro na linha
if(p.data.length > 0)
Dá esse error: [color=red]Exception in thread “main” java.lang.NullPointerException[/color]

Esse error pode aparecer com alguns segundos do programa rodando, ou uns 3-4 minutos…
O estranho é que é uma operação simples (verifica se é maior que 0), por que então dá erro?

APARENTEMENTE o erro dá quando esgota os (interfaces[1], 65535, false, 20000); 20000 milisegundos sem receber NENHUM pacote…
Para que serve esse “20000” ?
Tem como setar para continuar capturarando, mesmo que passe mt tempo sem capturar?

Alguém sabe o que pode ser?

Será que quando não há dados, p.nada não é igual a null?

AHUUhHUAhua
não acredito que não pensei nisso…

NAss…
É isso mesmo! xD

  if(p!=null && p.data.length > 0){