Pergunta

O que seria o caminho mais fácil para ser capaz de enviar e receber matérias pacotes de rede.Eu tenho que escrever o meu próprio JNI quebra de alguns API c, e, nesse caso, o que a API eu estou procurando?

EDITAR:Eu quero ser capaz de fazer o que o wireshark não, i.é.registro de todos os incomming pacotes em uma interface, e, além disso, ser capaz de enviar de volta o meu próprio criou pacotes.E eu quero fazê-lo no mac.

Foi útil?

Solução

Se você começar com a ideia de que você precisa de algo como um sniffer de pacotes, você vai querer olhar para http://netresearch.ics.uci.edu/kfujii/jpcap/doc/.

Outras dicas

Raw Socket para Java é um pedido para o JDK para a muuuito tempo.Veja o pedido de aqui.Há uma longa discussão lá onde você pode procurar por soluções alternativas e soluções.Uma vez eu precisava disso para uma simples operação de PING, mas não me lembro como resolvi isso.Desculpe :)

A minha melhor aposta até agora parece ser o BPF api e escrever uma fina JNI wrapper

Você não pode acessar os ' raw sockets do Java puro, então você vai precisar de algum tipo de camada entre o código Java e as interfaces de rede.

Observe também que o acesso a raw sockets é, normalmente, apenas disponíveis para "raiz" de processos, pois caso contrário, qualquer usuário poderia-se: a) detectar todo o tráfego, e b) gerar os pacotes fraudulentos.

Em vez de escrever todo o seu programa de modo que ele necessita de ser corrido como "root", você pode considerar ter a captura de pacotes e de geração de feito em um programa autônomo com algum tipo de IPC (RMI, pipe nomeado, socket de TCP, etc) para troca de dados com o seu aplicativo Java.

TINI é um java controlador ethernet, o que pode ter bibliotecas e classes para acessar diretamente os dados de frames ethernet para fluxos de TCP.Você pode ser capaz de encontrar algo lá que implementa o necessário classes.Se não, deve ser de ponteiros ou grupos de utilizadores que irão dar-lhe uma cabeça começar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top