- 论坛徽章:
- 0
|
libpcap是unix/linux平台下的网络数据包捕获函数包,
大多数网络监控软件都以它为基础。
Libpcap可以在绝大多数类unix平台下工作.
Libpcap应用程序框架
Libpcap提供了系统独立的用户级别网络数据包捕获接口,并充分考虑到应用程序的可移植性。Libpcap可以在绝大多数类unix平台下工作,参考资料 A 中是对基于 libpcap 的网络应用程序的一个详细列表。在windows平台下,一个与libpcap 很类似的函数包 winpcap 提供捕获功能,其官方网站是http://winpcap.polito.it/。
Libpcap 软件包可从 http://www.tcpdump.org/ 下载,然后依此执行下列三条命令即可安装,但如果希望libpcap能在linux上正常工作,则必须使内核支持"packet"协议,也即在编译内核时打开配置选项 CONFIG_PACKET(选项缺省为打开)。
./configure
./make
./make install
libpcap源代码由20多个C文件构成,但在 Linux系统下并不是所有文件都用到。可以通过查看命令make的输出了解实际所用的文件。本文所针对的libpcap版本号为0.8.3,网络类型为常规以太网。Libpcap应用程序从形式上看很简单.
1.安装gcc编译器
直接在终端执行sudo apt-get install gcc libc6-dev 安装gcc(需要系统光盘),要不然连helloworld这么简单的都编译不过,或者在编译tar.gz文件时提示“C compiler cannot create executable”的错误。
编写helloworld测试gcc编译器:
#include
int main(){
printf("hello,world!\n");
return 0;
}
第一次接触gcc编译器,发现不支持void main()这种main函数的。
2.编译GNU M4 (version 1.4)
这个是编译flex必备的环境,否则会提示“GNU M4 1.4 is required”的错误
3.编译flex(version 2.5.33)
没有flex,直接安装libpcap会提示“Your operating system's lex is insufficient to compile libpcap”错误。
4.编译bison(version 2.3)
在安装flex后直接安装libpcap会提示“don't have both flex and bison;reverting to lex/yacc”错误,前面安装的是flex,就需要搭配bison
5.编译libpcap
全面四步完成后,就可以使用下面三个指令安装libpcap环境:
./configure
make
make install
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/106152/showart_2169810.html |
|