要做Sniffer了,先在Linux下编译一下libpcap
1、编译安装flex
#libpcap 1.1要求flex必须在2.4.6及以上 wget http://prdownloads.sourceforge.net/flex/flex-2.5.35.tar.gz?download tar -xzvf flex-2.5.35.tar.gz cd flex-2.5.35 ./configure --prefix=/usr make -j sudo make install
2、编译安装bison
#libpcap要求同时安装flex赫bison wget http://ftp.gnu.org/gnu/bison/bison-2.4.tar.gz tar -xzvf bison-2.4.tar.gz ./configure --prefix=/usr make -j && make install
3、编译安装libpcap
#下面进入正题,安装libpcap wget http://www.tcpdump.org/release/libpcap-1.1.1.tar.gz tar -xzvf libpcap-1.1.1.tar.gz ./configure --prefix=/usr make -j make install
4、测试程序
编译参数加入-lpcap
#include <stdio.h> #include <pcap.h> int main(int argc, char *argv[]) { char errbuf[PCAP_ERRBUF_SIZE]; pcap_if_t* devs; pcap_if_t* d; unsigned int i = 0; //获取全部的dev if (-1 == pcap_findalldevs(&devs, errbuf)) { fprintf(stderr, "Could not list device: %s\n", errbuf); } else { d = devs; while (d->next != NULL) { printf("%d:%s\n", i++, d->name); d = d->next; } } //释放所有获取的dev pcap_freealldevs(devs); return (0); }
GNU M4这个也是必须的 他是编译flex必备的环境
太感谢了…… 按照LZ的步骤,我终于把 libpcap 库装好了……也可能我之前是安装libpcap-1.2.1的缘故...网络安全编程作业终于可以自己做了= =
PS:centos下面可能还要装yacc的……