由于课设的需要,以前的教程都比较久远了,弄了一个,顺手写下教程……
1.安装过程
scue@Link:~$ wget http://www.tcpdump.org/release/libpcap-1.3.0.tar.gz
scue@Link:~$ tar zxvf libpcap-1.3.0.tar.gz
scue@Link:~$ cd libpcap-1.3.0/
scue@Link:~/libpcap-1.3.0$ ./configure
scue@Link:~/libpcap-1.3.0$ sudo make install
2.现在已经安装好了,但运行需要调用它的程序时候还是不能调用到它的,需要ln下
# 先找到它的位置
scue@Link:~/libpcap-1.3.0$ whereis libpcap.so*
libpcap: /usr/local/lib/libpcap.a /usr/local/lib/libpcap.so
# 找到它之后,使用ln -s创建链接到/us/lib/目录下
scue@Link:~/libpcap-1.3.0$ sudo ln -s /usr/local/lib/libpcap.so /usr/lib/libpcap.so.1
3.现在我们来编写一下小程序看看网络设备捕获的效果
-- 开始编辑.c文件
scue@Link:~$ cd ~
scue@Link:~$ gedit testlibpcap.c
-- 然后把以下代码复制进testlibpcap.c里边
#include<stdio.h>
#include<stdlib.h>
#include<pcap.h>
#include<errno.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
int main(int argc,char *argv[])
{
char *dev;
char *net;
char *mask;
int ret;
char errbuf[PCAP_ERRBUF_SIZE];
bpf_u_int32 netp;
bpf_u_int32 maskp;
struct in_addr addr;
dev = pcap_lookupdev(errbuf);
if(dev ==NULL)
{
printf("%s,这……啥也没有,退出!\n",errbuf);
exit(1);
}
printf("设备名:%s\n",dev);
return 0;
}
-- 开始编译并执行程序
scue@Link:~$ gcc testlibpcap.c -lpcap -o testlibpcap.o
scue@Link:~$ ./testlibpcap.o
no suitable device found,这……啥也没有,退出!
scue@Link:~$
在Ubuntu 14.04 64位上使用libpcap进行抓包和解包:http://www.linuxdiyf.com/linux/16787.html
ubuntu14.04.4安装libpcap 1.6.2:http://www.linuxdiyf.com/linux/13606.html
Kubuntu 14.10 MentoHUST配置libpcap锐捷校园网登录总结:http://www.linuxdiyf.com/linux/11249.html
LAMP Linux路由和Libpcap配置:http://www.linuxdiyf.com/linux/10812.html