Linux运行jnetpcap程序(含配置步骤)

来源:互联网 发布:mysql unix时间戳类型 编辑:程序博客网 时间:2024/05/24 04:58

最美好的事情莫过于栽跟头,停下来填好坑后,告诉后来人:小心,这里有毒!

在Windwos下安装jnetpcap比较简单,请参考博主的这篇博客:http://blog.csdn.net/weixin_35757704/article/details/77448583

但是在linux下出现的 ”异常 / 报错 / 警告“ 就真的是千奇百怪了:

比如最常见的两个报错:

》java.lang.UnsatisfiedLinkError: no jnetpcap in java.library.path

》jnetpcap com.slytechs.library.NativeLibrary.dlopen(Ljava/lang/String;)J

博主从以下几个方面开始填坑啦~啦啦啦:

  1. Linux下libpcap的安装(jnetpcap第一步)
  2. 安装jnetpcap
  3. 编辑器(intellij idea / ecplise)的配置


一. Linux下libpcap的安装


我写了一个一键安装的脚本,欢迎大家下载:

http://download.csdn.net/download/weixin_35757704/10133351

下载后执行下面的操作后,就完成安装了:

》》sudo add_libpcap.sh

》》输入用户密码

如果想要了解具体细节,请参考这篇博客,写的真心不错:http://blog.csdn.net/yu314092706/article/details/54140292

其中要注意的是安装顺序不要搞错:

  1. m4
  2. bison
  3. flex
  4. libpcap

对每个安装包都要执行

sudo ./configure #对即将安装的软件进行基础的配置与满足依赖关系的验证

sudo make #编译

sudo make install #安装

如果在安装中出现神奇的报错,就是因为系统之前并没有安装一些底层的东西,大家可以参考这篇博客:
http://blog.csdn.net/cfjtaishan/article/details/7096085


二. 安装jnetpcap

官网链接:jnetpcap.com (但是我始终连不上去,所以下面提供一个jnetpcap的下载地址)

https://sourceforge.net/projects/jnetpcap/files/jnetpcap/1.3/

里面有很多不同的安装文件,因为我是64位的ubuntu17.04的系统,因此我就下载

jnetpcap-1.3.0-1.ubuntu.x86_64.tgz

(注意:jnetpcap已经有了更高版本1.4.x了,但是我至今仍未解决安装1.4.x的时候的各种报错,因此如果不是特殊要求,请安装1.3.0)

下载到本地之后打开安装包,看到这些,就能够进行下一步了:


三. 编辑器的配置

配置编辑器只有两步:

  1. 为当前项目导入jar包(流程根据编辑器的不同而不同)
  2. 把共享库(windows下是.dll文件,Linux下是.so文件)导入到jdk中

主流的是ecplise和intellij IDEA,这里我拿我的编辑器intellij IDEA来举例,ecplise的兄弟们可以参考这篇博客:

http://blog.csdn.net/mazhaojuan/article/details/21403717

1.导入jar包:

左上角 File -》Project Structure 点出这个窗口:


左边第二项 - 》中间第一项(就一项)-》右边点一下“+”号 -》选择第一项,点一下

然后找到从刚才的压缩包里提取出来的.jar包(只是刚才图片中显示的压缩包内容中的jnetpcap.jar这个文件):


点击OK后记得在窗口中把小对勾勾选上:


然后第一步就完成了,点击下面的Apply和OK就可以了

2.把共享库(windows下是.dll文件,Linux下是.so文件)导入到jdk中

还是刚才的图片:

这里面有一个libjnetpcap.so文件,把它复制,粘贴到jdk/jre/lib/amd64中去就可以啦:


然后在编辑器中就可以正常的导入jnetpcap的包,并且在运行中不会有各种奇葩报错了

如果任性的下载了jnetpcap1.4.x的朋友们可能会发现,里面有两个.so的文件,即便全部放在lib库中依旧是该怎么报错怎么报。。。。这就很尴尬了。。

原创粉丝点击