linux下libpcap和jnetpcap安装与遇到问题解决


安装libpcap和jnetpcap,并将jnetpcap配置到IDEA中,安装过程中遇到的问题与程序运行时的问题及解决方法。

libpcap安装

  1. 下载m4、bison、flex与libpcap,分别解压缩,并按照这个顺序(一定要按照这个顺序)分别进入解压缩后的目录下进行安装。在m4安装前su root,然后每一个工具的安装都是三个步骤:./configure make make install
    这个过程详细的话可以看这位大佬的博客,非常详细:https://blog.csdn.net/yu314092706/article/details/54140292
  2. 如果在make时报EFO错误,说明文件下载时出错,重新下载并解压缩。
  3. 如果在make时报错“Please port gnulib freadahead.c to your platform”,先后执行这两条指令:sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.cecho "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h
    再继续make编译与make install安装。

jnetpcap安装

  1. 官网下载,解压缩(不需要三步安装)
  2. 将libjnetpcap.so移动到/usr/lib mv libjnetpcap.so /usr/lib/libjnetpcap.so

jnetpcap配置到开发环境IDEA中

  1. file --> Project Structure
    在这里插入图片描述

  2. modules --> dependencies -->+
    在这里插入图片描述

  3. JARs
    在这里插入图片描述

  4. 找到jnetpcap解压缩目录下的jar,导入,点击左边的小方框,然后apply
    在这里插入图片描述

如果在执行抓包程序时报错动态库连接失败!(具体看自己需要的版本)

  1. 如果报错
    libjnetpcap.so: libpcap.so.0.9: 无法打开共享对象文件:没有那个文件或目录

  2. 到libjnetpcap.so的目录下查看它需要连接的库,先cd /usr/lib 然后ldd libjnetpcap.so,这条指令后会显示它需要的动态库,其中只有libpcap.so.0.9的信息是not found。解决方法:

  3. 第一步,找到安装好的libpcap.so.xxx,将名字改成libpcap.so.0.9(0.9是我需要的版本,根据自己的报错信息改成对应的名字),指令为mv libpcap.so.1.10.1 libpcap.so.0.9

  4. 第二步,将这个文件移动到/usr/lib64下,指令:mv libpcap.so.0.9 /usr/lib64/libpcap.so.0.9

  5. 第三步,编辑ld.so.conf文件,添加libpcap.so.0.9的目录:先vim /etc/ld.so.conf(最好直接复制,自己输入的话注意是Ld,L小写看起来可能像大写的I),按i开启编辑,在文件最后面输入/usr/lib64,Esc退出,:wq 保存并退出。(修改文件需要root权限)

  6. 第四步,输入指令ldconfig

  7. 再次回到/usr/lib,ldd libjnetpcap.so查看,发现libpcap.so.0.9显示信息已经是具体的信息,不是not found。

  8. 如果失败,可以额外尝试:在/usr/lib64中查找是不是有其他版本的libpcap.so文件,删除掉多余的。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值