jNetPcap против Jpcap
Интересно, кто-нибудь из вас может дать мне немного комментариев + идеи, пожалуйста. С точки зрения производительности, какой я должен использовать, jNetPcap или Jpcap?
Спасибо!
3 ответа
Ссылочный пост содержит общепризнанное предвзятое мнение владельца проекта jNetPcap. Это вряд ли надежный источник для настоящего сравнения.
Одно из очевидных различий между этими двумя проектами заключается в том, что jNetPcap использует JNI для доступа к собственному коду. PCap4j ( http://www.pcap4j.org/) использует JNA для доступа к нативному коду и библиотеке совместимости JNA "com.sun" ( https://github.com/twall/jna).
Кроме того, последняя версия jNetPcap не основана на Mac OSX, а файл исправлений, который был размещен на форумах поддержки, не работает, даже если он применяется вручную. PCap4j запускается на Mac OSX, если следуют инструкциям на http://tomute.hateblo.jp/entry/2013/01/27/003209; для PCap4J 1.3.0 вы должны заменить библиотеку JNA 3.3.0 на более новые версии JNA 4.1.0.
Следующая командная строка является примером для PCap4j 1.3.0 в Mac OSX 10.9.5: sudo java -cp pcap4j-core-1.3.0.jar:pcap4j-packetfactory-static-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
Я искал то же самое.. Только для тех, кто сталкивался с этим вопросом. Вот ссылка.
Я исследовал его и нашел три библиотеки-оболочки Java для pcap: jpcap, jNetPcap и Jpcap. Но и jpcap, и jNetPcap были непригодны для SNeO, потому что они, казалось, были предназначены в основном для захвата пакетов и не слишком полезны для создания и отправки пакетов. С другой стороны, Jpcap выглядел полезным для создания и отправки пакетов. Но у него был дефект при захвате ICMP-пакетов, и его разработка, казалось, давно остановлена. Вот почему Pcap4j.