使用Ubuntu 11.10 libpcap库编程总是遇到pcap.h文件找不到的问题,才发现libpcap库木有安装成功。但是tcpdump安装成功了,『tcpdump曾表示其用户名另解析成BPF指令的过程是由libpcap库实现的,这么说来岂不是tcpdump名存实亡?费解下』后来google之找到了一江春水向东流的博文,解决了这个问题很开心恩。链接如下:
http://www.cnblogs.com/lynch_world/archive/2011/08/31/2160678.html
--------------------------------------以下内容为转载--------------------------------------------------
环境为Ubuntu10.10+libpcap-1.1.1.tar.gz
1、Libpcap下载
Libpcap的官方网站是http://tcpdump.org/release,可以从该网站下载最新版本,当前系统使用的Libpcap安装文件是libpcap-1.1.1.tar.gz
2、解压
tar zxvf libpcap-1.1.1.tar.gz
3、配置
切换近libpcap解压目录libpcap-1.1.1,使用configure配置命令生成Makefile文件。
./configure
在这一步可能会遇到缺少flex包的问题:
configure: error: Your operating
system
's lex is insufficient to compile libpcap. flex is a lex replacement that has many advantages, including being able to compile libpcap. For more information, see http:
//www.gnu.org/software/flex/flex.html .
|
解决方法:
sudo apt-get install flex
|
4、编译
make
可能会遇到yacc错误:
yacc -d ./parse.y<br>make: yacc: Command not found<br>make: *** [parse.c] Error 127
|
解决方法:
sudo apt-get install -y byacc
|
5、安装
sudo make install
注意:要加上sudo,不然会出现权限问题。