libpcap 安装和测试

libpcap 安装和测试

 

I 首先安装 libpcap

     1.  下载并安装 GNU M4   , 为生成makefile使用

     2.  下载并安装 flex   $sudo apt-get install flex

     3.  下载并安装 bison 

     4.  下载并安装libpcap。

 

     1. Libpcap的官方网站是http://tcpdump.org/release,下载最新的libpcap

     2.  tar -xvf libpcap-1.3.0.tar.gz

     3. cd libpcap-1.3.0

         ./configure

     4. 如果遇到缺少flex问题: $sudo apt-get install flex

     5. 通过后,进行make  $make

     6,   如果遇到:

         yacc -d ./parse.y<br>make: yacc: Command not found<br>make: *** [parse.c] Error 127

          安装 $sudo apt-get install -y byacc

         之后继续 make

     7.  make 后安装:  需要root权限

           $sudo make install

 

II 测试libpcap是否好用:

 

#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);
}

 

编译命令:

gcc test.c -lpcap

 一定要加上 -lpcap, 链接库,否则无法正确链接。还有,如果是ubuntu,运行./a.out时还需要管理员权限,你懂的。

    如果报错:error while loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or directory

    则创建一个软连接:到/usr/lib下找到libpcap.so.1.x.x文件,复制一个备份,重命名为libpcap.so.1,将libpcap.so.1后拷贝文件到/usr/lib目录下,就可以了。

   ln -s /usr/lib/libpcapso.1.x.x /usr/lib/libpcap.so.1

    sudo ./aout

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(lib)