基于libpcap的开发实例

libpcap是Unix/Linux平台中用于网络数据包捕获的函数库(Windows版本为winpcap)。本文通过实例来说明其使用方法。

1 安装libpcap库

TCPDUMP官网下载最新的libpcap源代码,解压到本地后,编译并安装即可,注意安装时需要使用root权限。

./configure
make
make install

2 实例代码

代码完成的功能是抓取指定网卡的数据包,并将数据交给回调函数处理(这里回调函数只是打了个桩,没有做实质性的处理)。

首先定义一个基本类型的头文件(basetype.h),将数据类型封装一下:

#ifndef _BASETYPE_H_
#define _BASETYPE_H_

#define OK (0)
#define ERROR (1)

#define YES (1)
#define NO (0)

typedef void VOID;

typedef char CHAR;
typedef char …