1、首先按下面的方法下载和安装四个软件包:
从 ftp://ftp.gnu.org/gnu/下载最新版本flex、bison、GNU M4、libpcap安装包。链接如下:
ftp://ftp.gnu.org/gnu/bison/
ftp://ftp.gnu.org/gnu/m4/
http://sourceforge.net/projects/flex/files/
http://www.tcpdump.org/release/
解压各个安装包(注意:如果使用的是虚拟机,需解压到非windows共享文件夹下)
进入目标文件所在目录,解压下载的4个安装包:tar –zxvf libpcap-1.2.1.tar.gz (tar -zxvf 需解压文件名)
依次到m4**,bison-**,flex-**,libpcap-**各个目录下运行:
sudo ./configure
sudo make
sudo make install
注意:拷贝 libpcap-**/pcap文件夹到 /usr/include 下。并且到 /usr/lib/ 把libpcap.so.1.0.0(这个文件名称不同版本会有不同,见下一种方法) 重命名为:libpcap.so.1
sudo cp -r /home/joyce/libpcap-1.2.1/pcap /usr/include/pcap
mv libpcap.so.1.0.0 libpcap.so.1
2、这四个软件都安装好之后按下面教程新建Makefile文件和test.c文件:
Makefie:
all: test.c
gcc -g -Wall -o test test.c -lpcap
clean:
rm -rf *.o test
test.c:
#include <pcap.h>
#include <stdio.h>
int main()
{
char errBuf[PCAP_ERRBUF_SIZE], * device;
device = pcap_lookupdev(errBuf);
if(device)
{
printf("success: device: %s\n", device);
}
else
{
printf("error: %s\n", errBuf);
}
return 0;
}
然后编译运行文件:
直接在命令行(cd 到这两个文件下目录,我这里是Desktop)输入make命令,系统就会自动去执行makefile文件里面的命令,其实主要就是一条编译test.c的命令,最简单的写法是 gcc -o test test.c,这句命令是通用编译.c文件的。后面加上 -lpcap指定pcap文件夹:gcc -o test test.c -lpcap。
编译完成之后会在Desktop文件夹里生成一个test文件,就是可执行文件,然后执行它:直接命令行输入: ./test 或者 sudo ./test(root权限运行)。
然后 会发现报错:libpcap.so.1: cannot open shared object file: No such file or directory
解决办法按下面的来:
用终端管理员方式打开文件命令:
sudo gedit /etc/ld.so.conf(第二个参数指定用gedit编辑器打开,第三个参数为文件绝对路径)
然后按上面博客的在文件最后添加两行代码:
/usr/local/lib
/usr/lib
保存(管理员文件如果不用上面命令行的方式打开是只有只读权限而不能修改的)。
然后再次运行test可执行文件,成功得到输出:
至此,说明libpcap已安装成功并可以使用,后面就是在test.c中修改添加代码或者是另外的文件的话就修改Makefile命令即可。