0

运行使用 jNetPcap jar 的 javacode 时收到以下错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: com.slytechs.library.NativeLibrary.dlopen(Ljava/lang/String;)J
        at com.slytechs.library.NativeLibrary.dlopen(Native Method)
        at com.slytechs.library.NativeLibrary.<init>(Unknown Source)
        at com.slytechs.library.JNILibrary.<init>(Unknown Source)
        at com.slytechs.library.JNILibrary.loadLibrary(Unknown Source)
        at com.slytechs.library.JNILibrary.register(Unknown Source)
        at com.slytechs.library.JNILibrary.register(Unknown Source)
        at com.slytechs.library.JNILibrary.register(Unknown Source)
        at org.jnetpcap.Pcap.<clinit>(Unknown Source)
        at PacketExtractor.main(PacketExtractor.java:51)

我想做的是打开一个 .pcap 文件,我将读取或提取它的一些 DNS 类型 A 数据包,为此我准备了我的 eclipse 环境并添加了与 jNetPcap 相关的 jar,正如它在这个网页中所写的那样:http ://researchingtech.wordpress.com/2012/10/21/installing-jnetpcap-on-windowseclipse-users/

然后我添加了这部分代码:

        final String FILENAME = "C:\\Users\\Administrator\\Downloads\\dns.cap";  
        final StringBuilder errbuf = new StringBuilder();  

        final Pcap pcap = Pcap.openOffline(FILENAME, errbuf);  
        if (pcap == null) {  
            System.err.println(errbuf); // Error is stored in errbuf if any  
            return;  
        }  

然后,当我编译项目时,我收到了上述错误!

任何人都知道我在导致该错误的步骤中错过了什么?

请指教..

4

1 回答 1

1

当找不到代码正在寻找的 so/dll 文件时会发生此错误。请确保您已将 jnetpcap 的 .dll 文件保存在 windows system32 文件夹中。

于 2014-12-05T23:18:18.263 回答