linux 安装libpcap_linux安装libpcap - CSDN
  • Linuxlibpcap安装

    2016-10-25 16:32:33
    1, 环境: Ubuntu16.0 + libpcap-1.4.0.tar.gz2,Libpcap下载: 官方地址-...3,解压libpcap-1.4.0.tar.gz: tar -zxvf libpcap-1.4.0.tar.gz4,配置生成makefile文件:cd到libpcap解压目

    1, 环境: Ubuntu16.0 + libpcap-1.4.0.tar.gz

    2,Libpcap下载: 官方地址-http://www.tcpdump.org/#latest-release 即可下载最新版本的libpcap。

    3,解压libpcap-1.4.0.tar.gz: tar -zxvf libpcap-1.4.0.tar.gz

    4,配置生成makefile文件:cd到libpcap解压目录libpcap-1.4.0, 执行 ./configure。执行到这一步可能会遇到缺少flex包的问题:

    configure: error: Your operating system's lex is insufficient to compile
     libpcap.  flex is a lex replacement that has many advantages, including
     being able to compile libpcap.  For more information, see
     http://www.gnu.org/software/flex/flex.html .

    解决办法:安装flex包---- sudo apt-get install flex

    5,make

    可能会遇到yacc包错误:

    yacc -d grammar.y
    make: yacc: Command not found
    Makefile:460: recipe for target 'grammar.c' failed
    make: *** [grammar.c] Error 127

    解决办法:安装byacc包--- sudo apt-get install -y byacc

    6,安装: sudo make install

    7,完成安装: 可用 man pcap查看帮助

    main.c

        #include <pcap.h>  
        #include <stdio.h>  
          
        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;  
        }  

    可以成功编译,不过运行的时候却提示找不到libpcap.so.1,因为libpcap.so.1默认安装到了/usr/local/lib下,我们做一个符号链接到/usr/lib/下即可:ln -s /usr/local/lib/libpcap.so.1  /usr/lib/


    test.c

        #include<stdio.h>
        #include<string.h>
        #include<pcap.h>
        #include<sys/socket.h>
        #include<netinet/in.h>
        #include<netinet/if_ether.h>
        #include<netinet/ip.h>
        #include<netinet/udp.h>
        #include<netinet/tcp.h>
        #include<netinet/ip_icmp.h>
    
        #define max 1024
    
    
       int main(int argc,char *argv[])
        {
            pcap_if_t *alldev;
            pcap_if_t *p;
            char error[100];
        
        
            int i=0,num; 
            if(pcap_findalldevs(&alldev,error)==-1)
            {
                printf("find all devices is error\n");
                return 0;
            }
            for(p=alldev;p;p=p->next)
            {
                printf("%d:%s\n",++i,p->name);
                if(p->description)
                {
                    printf("%s\n",p->description);
                }
            }
            return 1;
        }
    


    展开全文
  • 依次执行下列三条命令即可安装,但如果希望libpcap能在linux上正常工作,则必须使内核支持”packet”协议,也即在编译内核时打开配置选项 CONFIG_PACKET(选项缺省为打开)。  然后,执行以下命令: (sudo) ./...

      依次执行下列三条命令即可安装,但如果希望libpcap能在linux上正常工作,则必须使内核支持”packet”协议,也即在编译内核时打开配置选项 CONFIG_PACKET(选项缺省为打开)。
      然后,执行以下命令:

      (sudo) ./configure
      (sudo) make
      (sudo) make install

      1、打开网址:www.tcpdump.org/ 下载 libpcap-1.x.x.tar.gz 软件包,通过命令 tar zxvf libpcap-1.x.x.tar.gz 解压文件,并将其放入自定义的安装目录。
      
      2、打开网址:flex.sourceforge.net/ 下载 flex-2.x.x.tar.gz 软件包,通过 tar zxvf flex-2.x.x.tar.gz 解压文件,并将其放入上述自定义的安装目录中。

      3、打开网址:ftp.gnu.org/gnu/bison/ 下载 bison-2.x.x.tar.gz 软件包,通过 tar zxvf bison-2.x.x.tar.gz 解压文件,并将其放入上述自定义的安装目录中。
      注:如果没有编译安装此文件,在编译安装libpcap时,就会出现 “configure: WARNING: don’t have both flex and bison; reverting to lex/yacc checking for capable lex… insufficient” 的错误提示。
      
      4、打开网址:ftp.gnu.org/gnu/m4/ 下载 m4-1.x.x.tar.gz 软件包,通过 tar zxvf m4-1.x.x.tar.gz 解压文件,并将其放入上述自定义的安装目录中。

      而后依次进入目录m4-1.x.x,bison-2.x.x,flex-2.x.x,libpcap-1.x.x 并执行以下命令:

      (sudo) ./configure
      (sudo) make
      (sudo) make install

     
      在实际编程编译源文件的时候,需要注意一些地方,指定编译链接库。
      #gcc test.c -o test -lpcap
      注意:运行此类程序时需要以root的身份运行,因为系统不允许非root用户进行一些网络操作。

    展开全文
  • linux 安装libpcap

    2016-04-13 10:24:28
    1.安装GCC: yum -y install gcc-c++ 2.安装flex: ... 没有flex,直接安装libpcap会提示"Your operating system's lex is insufficient to compile libpcap"错误; 3.安装bison  yum -y in

    1.安装GCC:   yum -y install gcc-c++

    2.安装flex:

      yum -y install flex 

      没有flex,直接安装libpcap会提示"Your operating system's lex is insufficient to compile libpcap"错误;

    3.安装bison

      yum -y install bison

      前面安装的是flex,就需要搭配bison,如不会提示"don't have both flex and bison;reverting to lex/yacc"错误;

    4.安装 libpcap

      下载地址: http://www.tcpdump.org/

      下载版本:wget -c http://www.tcpdump.org/release/libpcap-1.5.3.tar.gz

    解压软件包: tar zxf libpcap-1.0.0.tar.gz

    进入解压后的目录,输入命令行:

       命令如下:

       ./configure

       make

       make install

    5.简单的例子测试一下libpcap:

      //device.c 

      #include <stdio.h>

      #include <pcap.h>

      int main(int argc,char *argv[]){

          char *dev, errbuf[PCAP_ERRBUF_SIZE];

          dev=pcap_lookupdev(errbuf);

          if(dev==NULL){

             fprintf(stderr,"couldn't find default device: %s\n",errbuf);

             return(2);

          }

          printf("Device: %s\n",dev);

          return(0);

      }

    编译指令:gcc -o device device.c -lpcap

      备注:编译时要使用libpcap的参数-lpcap,否则会提示“pcap_lookupdev 未定义的引用”的错误;

      运行指令:./device

    转载:http://www.tcpdump.org/release/libpcap-1.5.3.tar.gz

    http://blog.sina.com.cn/s/blog_6f289b0e01014jst.html

    运行遇到错误解决办法:

    error while loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or

    //-----------------------------------------------------------

    //AUTHOR:lanyang123456

    //DATE:2011-11-10

    //-----------------------------------------------------------

    Linux系统下,运行sniff程序需要libpcap库。

    首先下载安装该库,下载地址: http://www.tcpdump.org/

    点击DOWNLOADS

    下载后

    (1)解压

    (2)进入解压后文件目录, ./configure

    (3)make install

    默认安装目录/usr/local/lib

    编译sniff程序通过,运行sniff程序时,出现如下错误:

    ./sn: error while loadingshared libraries: libpcap.so.1: cannot open shared object file: No such file ordirectory

    由于libpcap已经安装,所以是程序无法找到库所在的位置的原因。

    解决办法:

    将libpcap.so.1所在目录添加到文件/etc/ld.so.conf中,

    打开ld.so.conf文件,然后添加一行/usr/local/lib:

    includeld.so.conf.d/*.conf //原来的内容

    /usr/local/lib

    然后保存,再终端下执行 ldconfig。

    再运行sniff程序,OK。

    有时用tar解压文件.错误如下:

    gzip: stdin: unexpectedend of file tar: Unexpected EOF in archive tar: Unexpected EOF in archive tar:Error is not recoverable: exiting now

    原因:

    文件被破坏,重新下载。

    展开全文
  • linux安装libpcap

    2013-12-27 16:50:15
    1.下载libpcap www.tcpdump.org 2.安装 GNU M4 命令: sudo apt-get install m4 这个是编译flex 必备的环境,否则会提示“GNU M4 1.4 is required” 的错误 3.安装 flex 命令: sudo apt-get install ...

    1.下载libpcap

    www.tcpdump.org


    2.安装 GNU M4

    命令: sudo apt-get install m4
    这个是编译flex 必备的环境,否则会提示“GNU M4 1.4 is required” 的错误

    3.安装 flex
    命令: sudo apt-get install flex
    没有flex ,直接安装libpcap 会提示“Your operating system's lex is insufficient to compile libpcap” 错误。

    4.编译 bison
    命令: sudo apt-get install bison
    在安装flex 后直接安装libpcap 会提示“don't have both flex and bison;reverting to lex/yacc” 错误,前面安装的是flex ,就需要搭配bison

    5.编译 libpcap
    上面四步完成后,就可以使用下面三个指令安装libpcap 环境: 切换到libpcap 目录下( 具体可查看libcap 目 录下官方提供的install 文档) 
    ./configure 
    make 
    sudo make install

    6.测试程序

    #include <string.h>  
    #include <stdlib.h>  
    #include <pcap.h>  
      
    #define MAXBYTE2CAPTURE 2048  
      
    void processPacket(u_char *arg, const struct pcap_pkthdr *pkthdr, const u_char *packet) {  
        int i = 0, *counter = (int *)arg;  
      
        printf("Packet Count: %d\n", ++(*counter));  
        printf("Received Packet Size: %d\n", pkthdr->len);  
        printf("Payload:\n");  
        for (i = 0; i < pkthdr->len; i++) {  
            if (isprint(packet[i]))  
                printf("%c ", packet[i]);  
            else   
                printf(". ");  
      
            if ((i % 16 == 0 && i != 0) || i == pkthdr->len-1)  
                printf("\n");  
      
        }  
        return;  
    }  
      
    int main() {  
      
        int i = 0, count = 0;  
        pcap_t *descr = NULL;  
        char errbuf[PCAP_ERRBUF_SIZE], *device = NULL;  
        memset(errbuf, 0, PCAP_ERRBUF_SIZE);  
      
        /* Get the name of the first device suitable for capture */  
        device = pcap_lookupdev(errbuf);  
      
        printf("Opening device %s\n", device);  
      
        /* Open device in promiscuous mode */  
        descr = pcap_open_live(device, MAXBYTE2CAPTURE, 1, 512, errbuf);  
      
        /* Loop forever & call processPacket() for every received packet */  
        pcap_loop(descr, -1, processPacket, (u_char *)&count);  
      
        return 0;  
    }  

    7.编译

    gcc -o device device.c -lpcap

    出现error while loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or directory

    需要 sudo ln -s /usr/local/lib/libpcap.so.1  /usr/lib/libpcap.so.1


    展开全文
  • 1、安装m4 解压:tar zxvf m4-1.4.13.tar.gz 安装: cd m4-1.4.13 ./configure make make install 2、安装bison 解压:tar zxvf bison-2.4.1.tar.gz 安装: cd bison-2.4.1 ./configure make make install 3、安装...
  • 之前装过一次,后来时间长了,再重新装又折腾一些时间,于是记录一下。文章来源:...安装flex:yum -y install flex没有flex,直接安装libpcap会提示”Your operating system’s lex is insuf...
  • Linux(Ubuntu)安装libpcap

    2019-07-22 13:38:09
    sudo apt-get install libpcap-dev libnids-dev libnet1-dev正在读取软件包列表...... 完成 将会安装下列额外的软件包: libnids1.21 libpcap0.8-dev下列【新】软件包将被安装: libnet1-dev libnids-dev libnids...
  • 做毕业设计需要用到libpcap来抓包,借此次机会完整记录下自己的安装过程,前人种树后人乘凉。 到libpcap官网去下载最新的源码包,下载完成后tar -xzf 文件.tar.gz 解压,于是我们可以看到完整的源码目录。 目录就不贴...
  • 1.Libpcap简介 Libpcap是Packet Capture Libray的英文缩写,即数据包捕获函数库。该库提供的C函数接口用于捕捉经过指定网络接口的数据包,该接口应该是被设为混杂模式。这个在原始套接子中有提到。 著名的软件...
  • linux安装libpcap步骤

    2012-03-12 18:41:36
    1.从 ftp://ftp.gnu.org/gnu/下载最新版本flex、bison、GNU M4、libpcap安装包。链接如下: ftp://ftp.gnu.org/gnu/bison/ ftp://ftp.gnu.org/gnu/m4/ http://sourceforge.net/projects/flex/files/ ...
  • 1, 环境: Ubuntu10.04 + libpcap-1.4.0.tar.gz 2,Libpcap下载: 官方地址-http://www.tcpdump.org/#latest-release 即可下载最新版本的libpcap。 3,解压libpcap-1.4.0.tar.gz: tar -zxvf libpcap-1.4.0.tar....
  • 这是一个快速安装libpcap的shell脚本 运行 sudo add_libpcap.sh 在运行中会在桌面上暂时的新建一个libpcap_dir的文件夹,用来暂时存放所有的文件,在安装完成后会删除这个文件夹。 安装文件的版本: m4-1.4.9 bison-...
  • 我最近开发个项目,要用到 libpcap 函数库,现将安装方法放在主页上供大家参考, 一 下载libpcap 库,文件的格式为x.tar.gz http://www.tcpdump.org/release/ 二 安装 1、用 #tar zxvf x.tat.gz 命令解压...
  • libpcap是一个网络数据包捕获函数库,功能非常强大,Linux下著名的tcpdump就是以它为基础的。今天我们利用它来完成一个我们自己的网络嗅探器(sniffer) 首先先介绍一下本次实验的环境: Ubuntu 11.04,IP:192....
  • Linuxlibpcap安装测试
  • libpcap是unix/linux平台下的网络数据包捕获函数包。 ubuntu 下需要的安装包: m4-**-.tar.gz (版本自己选择 ftp.gnu.org/gnu/m4/ 下载) 如果没有编译安装此文件,在编译安装bison时,就会出现 “configure: ...
1 2 3 4 5 ... 20
收藏数 9,499
精华内容 3,799
关键字:

linux 安装libpcap