2010-09-02 23 views
11

demander à l'un de vous peut me donner un peu de commentaires + idées s'il vous plaît. En termes de performances, lequel dois-je utiliser, jNetPcap ou Jpcap?jNetPcap vs Jpcap

Merci!

Répondre

8

Je cherchais la même chose .. Juste pour ceux qui rencontrent cette question. Voici le link.

+0

Merci. J'ai décidé il y a longtemps d'utiliser JNetPcap afin que votre lien confirme que j'ai pris une bonne décision. – Gilbeg

9

La publication référencée contient une opinion biaisée du propriétaire du projet jNetPcap. Ce n'est guère une source fiable pour une vraie comparaison. Une différence qui est évidente entre les deux projets est que jNetPcap utilise JNI pour l'accès au code natif. PCap4j (http://www.pcap4j.org/) utilise JNA pour l'accès au code natif et une bibliothèque de compatibilité JNA "com.sun" (https://github.com/twall/jna).

De plus, la dernière version de jNetPcap ne repose pas sur Mac OSX et le fichier correctif publié sur les forums de support ne fonctionne pas, même s'il est appliqué manuellement. PCap4j fonctionne sous Mac OSX si les instructions du http://tomute.hateblo.jp/entry/2013/01/27/003209 sont respectées; Pour PCap4J 1.3.0, vous devez remplacer la bibliothèque JNA 3.3.0 par les versions plus récentes JNA 4.1.0.

La ligne de commande suivante est un exemple pour PCap4j 1.3.0 sur Mac OSX 10.9.5: sudo java -cp pcap4j-core-1.3.0.jar: pcap4j-packetfactory-statique 1.3.0.jar: ./libs/jna-4.1.0.jar:./libs/slf4j-api-1.7.10.jar:./libs/slf4j-nop-1.7.10.jar:pcap4j-sample-1.3.0.jar - Dorg.pcap4j.core.pcapLibName = libpcap.dylib -Dorg.pcap4j.sample.Loop.count = 2 org.pcap4j.sample.Loop icmp

0

J'ai recherché et trouvé trois bibliothèques de wrappers Java pour pcap: jpcap, jNetPcap , et Jpcap. Mais jpcap et jNetPcap ne convenaient pas à SNeO car ils semblaient conçus pour capturer principalement les paquets et ne pas être utiles pour créer et envoyer des paquets. D'un autre côté, Jpcap semblait utile pour créer et envoyer des paquets. Mais il avait un défaut dans la capture des paquets ICMP et son développement semblait s'être arrêté il y a longtemps. C'est pourquoi Pcap4j.

https://github.com/kaitoy/pcap4j#system-requirements