libpcap的安装

最近参加了一个实训项目,是把一个WireShark抓到的pcapng文件用libpcap库还原成原始的TS流,需求分析弄了一天,安装环境用了一天,接下来再开始写代码,让我们一起完成这个项目吧。

首先是安装CentOS环境(其实只要是Linux就可以),这里给出资源网站:https://www.centos.org/download/
可以选择DVD download或者最小化安装。
这里注意,如果下载的是DVD的记得在安装的时候选择图形化界面,不然你就下了4个G然后使用字符操作界面了。(手动滑稽)

安装好CentOS环境后,我们要开始下载libpcap库了,步骤如下:

  1. 安装GCC:
    yum -y install gcc-c++

  2. 安装flex:
    yum -y install flex
    没有flex,直接安装libpcap会提示"Your operating system‘s lex is insufficient to compile libpcap"错误;

  3. 安装bison
    yum -y install bison
    前面安装的是flex,就需要搭配bison,如不会提示"don‘t have both flex and bison;reverting to lex/yacc"错误;

  4. 安装 libpcap
    下载地址:http://www.tcpdump.org/
    下载版本:libpcap-1.9.0.tar.gz

  5. 解压软件包:tar zxf libpcap-1.9.0.tar.gz

  6. 进入解压后的目录,输入命令行:
    命令如下:
    ./configure
    make
    make install

这样就完成了libpcap库的安装,写一个小demo测试一下:

#include 
#include 

int main(){
	char *device;
	char errBuf[PCAP_ERRBUF_SIZE];
	pcap_t *head;
	device = pcap_lookupdev(errBuf);//找到可打开的网络设备
	if(device){
	printf("lookup is success %s\n",device);
	}else{
		printf("lookup is error %s\n",errBuf);
		return 0;
	}
	//打开设备device,最大字节数65535,不处于混杂模式,不抓到数据包不返回,错误提示消息
	head = pcap_open_live(device,65535,0,0,errBuf);
	if(head){
		printf("open is success\n");
	}else{
		printf("open is error %s\n",errBuf);
		return 0;
	}
	pcap_close(head);//关闭设备,归还资源
	return 0;
}

编译指令:gcc -o test test.c -lpcap
(不加-lpcap会报错)
运行指令:./test
(要在root权限下运行,否则访问不了设备)
libpcap的安装_第1张图片
基本的安装配置完成。

PS:本系列完整文章:
libpcap抓包分析项目(六):https://blog.csdn.net/NCU_CirclePlan/article/details/95624720
libpcap抓包分析项目(五):https://blog.csdn.net/NCU_CirclePlan/article/details/95601520
libpcap抓包分析项目(四):https://blog.csdn.net/NCU_CirclePlan/article/details/95500092
libpcap抓包分析项目(三):https://blog.csdn.net/NCU_CirclePlan/article/details/95451728
libpcap抓包分析项目(二):https://blog.csdn.net/NCU_CirclePlan/article/details/95353239
libpcap抓包分析项目(一):https://blog.csdn.net/NCU_CirclePlan/article/details/95351331

本系列相关的源文件已经上传,有需要的朋友可以自行下载:https://download.csdn.net/download/ncu_circleplan/11340737

你可能感兴趣的:(libpcap抓包分析项目)