pcap|libpcap网络数据包捕获函数库 的介绍与安装
- libpcap简介
- 下载编译安装
- 实例
Libpcap是Packet Capture Libray的英文缩写,即网络数据包捕获函数库。该库提供的C函数接口用于捕捉经过指定网络接口的数据包,该接口应该是被设为混杂模式。这个在原始套接子中有提到。
著名的软件TCPDUMP就是在Libpcap的基础上开发而成的。Libpcap提供的接口函数实现和封装了与数据包截获有关的过程。
Libpcap提供了用户级别的网络数据包捕获接口,并充分考虑到应用程序的可移植性。Libpcap可以在绝大多数Linux平台上运行。在Windows平台上,也有一款与其功能类似的开发库:Wincap。
它的工作在上层应用程序与网络接口之间。
主要功能:
- 数据包捕获:捕获流经网卡的原始数据包
- 自定义数据包发送:构造任何格式的原始数据包
- 流量采集与统计:采集网络中的流量信息
- 规则过滤:提供自带规则过滤功能,按需要选择过滤规则
http://www.linuxfromscratch.org/blfs/view/svn/basicnet/libpcap.html
三 安装编译
tar -zxvf libpcap-1.9.1.tar.gz可能出错,请查看你是否安装了所有的依赖包bison, m4, GNU, flex以及libpcap-dev:
./configure 配置
make 编译
make install 安装,默认目录/usr/local/
将/usr/local/lib和/usr/local/include两个目录拷贝到自己程序目录下,gcc -Wl,rpath=./lib -L./lib -I./include
#yum install bison四 实例
#yum install m4
#yum install flex
test.c:
#include #include 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;
}
Makefile:
1 CC = gcc
2 OBJS = test.o
3 CFLAGS = -Wl,-rpath=./lib -L./lib
4 CFLAGS += -I./include
5 LIBS = pcap
6 DEST = test
7 RM = rm -f
8
9 $(DEST):$(OBJS)
10$(CC) -o $(DEST) $(OBJS) $(CFLAGS) $(addprefix -l, $(LIBS))
11 clean:
12$(RM) $(DEST) $(OBJS)
13
14 #test: test.c
15 #gcc -o test test.c -lpcap -Wl,-rpath=./lib -L./lib -I./include
16 #clean:
17 #rm -f test.o test
运行结果:./test
success: device: ens33【pcap|libpcap网络数据包捕获函数库 的介绍与安装】参考
https://blog.csdn.net/htttw/article/details/7521053
https://blog.csdn.net/weixin_34400525/article/details/85551430
推荐阅读
- parallels|parallels desktop 解决网络初始化失败问题
- 猎杀IP
- 自媒体形势分析
- 数学大作战
- 2018.03.18
- 星期天的下午茶(一)
- 08黑龙江迟淑荣弯柳树网络学院第五期学习赵宗瑞老师主讲的(传统文化与身心健康)教育体系心得体会
- 三国谋略22(找准你的定位)
- 何以燃夏
- LSTM网络层详解及其应用实例