Linux下网络安全开发包之libpcap安装全过程

来源:互联网 发布:域名不备案会怎么样 编辑:程序博客网 时间:2024/06/13 14:30

采用源码安装

引文及相关依赖文件下载地址:

http://liuzhigong.blog.163.com/blog/static/178272375201123083815103/

将相关文件下载解压后:

1.安装gcc编译器:

(略)因为安装系统时gcc已经安装好了!

2.源码安装GNU M4 (version 1.4)

这个是编译flex必备的环境,否则会提示“GNU M4 1.4 is required”的错误!

在终端下使用命令行进行源码安装:

切换到GNU M4那个文件夹目录下,执行“./configure”命令,然后执行“sudo make” 命令(普通用户下),最后执行“sudo make install”命令!GNU M4安装成功!

3.安装flex(version 2.5.33)
没有flex,直接安装libpcap会提示“Your operating system's lex is insufficient to compile libpcap”错误!步骤同上!
4.安装bison(version 2.3)
在安装flex后直接安装libpcap会提示“don't have both flex and bison;reverting to lex/yacc”错误,前面安装的是flex,就需要搭配bison!步骤同上!
5.安装libpcap
前面四步安装好以后,就可以安装libpcap了,步骤同上!


测试机器:Ubuntu10.04 OS!

测试程序:引文中的源程序!

出现的问题:

error while loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or directory

这说明共享库libpcap.so.1没在默认的/usr/lib目录下面,因为你写的C语言所用的头文件默认在/usr/include下,而所调用的库函数(包括共享库和静态库)默认在/usr/lib下!你在/usr/lib目录下找不到libpcap.so.1这个共享库,可以找到libpcap.so.0.8和 libpcap.so.1.0.0共享库,这是因为安装的版本不一样!其中libpcap.so.0.8是安装系统的时候默认安装好的!libpcap.so.1.0.0是你通过上面的方法安装的,但是名字不是libpcap.so.1而已,所以会出现上面的问题!

解决方法一:

搜索了一下文件系统libpcap,有两个结果 libpcap.so.0.8和 libpcap.so.1.0.0,

然后在终端下执行命令(创建libpcap.so.1.0.0的链接文件libpcap.so.1):

sudo ln -s /usr/lib/libpcap.so.1.0.0   /usr/lib/libpcap.so.1

即可成功!

解决方法二:

在安装libpcap时,在./configure之后,在make之前,打开libpcap安装文件夹中的Makefile文件,找到prefix那一项“prefix = /usr/local”,这说明,通过上面的安装步骤,默认的是将libpcap安装到/usr/local目录下的,你可以在local目录下看到Libpcap的头文件和函数库等都被安装到此目录下了,而你写的C源程序所引用的头文件和库函数的默认路径不是这个,所以才会出现上面的问题!将路径改为:“/usr”就可以了!

声明:由于此文章是自己安装以后几天才整理的,所以没有贴图片,另外,不同的Linux系统差别不大,自己琢磨应该可以安装测试成功!

还有就是,自己不太会管理Linux下的软件,因为通过软件中心或者新力得软件源删除软件的时候,由于要删除的软件有许多依赖软件,所以有的时候不小心删了某个软件而导致其他的软件突然不能用了!头疼,求解:如何高效的管理Linux下的软件?