zoukankan      html  css  js  c++  java
  • Ubuntu下安装Libpcap

    Libpcap是 Unix/Linux 平台下的网络数据捕获函数包,百度百科是这么说的,唉,不管什么来头,只要帮我完成作业就行,安装过程记录如下:
    还是那个套路,先在网上搜了一把,大概也就那样,被疯狂转载的方法。首先安装gcc编译器,这个早就装好了,然后由于Libpcap有一些依赖包,所以在安装Libpacap之前还得依次安装GNU M4,bison和flex。M4和bison的下载地址:http://ftp.gnu.org/gnu/。flex的下载地址:http://flex.sourceforge.net/。下载目前最新的版本:m4-1.4.15 ,bison-2.4.3 ,flex-2.5.35 和 libpcap-1.1.1。
    把下载的这几个安装包解压缩到同一个目录,终端下用root身份依次进入上述4个文件夹。分别执行如下命令编译安装:
    ./configure
    make
    make install
    好了,顺利安完之后,编写测试代码 test.c 如下(也是Copy的):
    #include<stdio.h>
    int main()
    {
    char *dev, errbuf[1024];
    dev=pcap_lookupdev(errbuf);
    if(dev==NULL){
    fprintf(stderr,"couldn't find default device: %s ",errbuf);
    return(2);
    }
    printf("Device: %s ",dev);
    return(0);
    }
    好了,编译这段代码: gcc -o test test.c -lpcap
    执行: 执行的时候也因该以root身份  sudo su 输入密码
    ./test 执行生成的可执行文件test。好了,问题来了,提示:
    error while loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or directory
    在这里卡了很久,在http://opensource.ask4itsolutions.com/forums/vglug-vibrant-gnulinux-user-group/libpcapso1-not-found 这里才找到了解决方法。

    在/usr/local/lib目录下, libpcap.so.1文件就躺在这里,为什么找不到呢。

    解决方法:打开 /etc目录下的文件ld.so.conf ,添加两行
    /usr/local/lib
    /usr/lib
    然后在终端下执行从新加载配置的命令:
    ldconfig

    好了,再编译运行test.c成功输出结果:
    Device: eth0
    如果不以root身份执行,将会输出:
    couldn't find default device: no suitable device found

  • 相关阅读:
    Excel Sheet Column Number
    HappyNum
    isIsomorphic
    Contains DuplicateII
    iis7 设置http 自动跳转到https
    php 安装redis
    java 打包 war包
    NPOI 操作excel之 将图片插入到指定位置;
    nopi 简洁笔记
    vs11 微软下载地址
  • 原文地址:https://www.cnblogs.com/Stomach-ache/p/3703218.html
Copyright © 2011-2022 走看看