我是靠谱客的博主 谨慎发夹,最近开发中收集的这篇文章主要介绍ubuntu libpcap安装,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

环境为Ubuntu10.10+libpcap-1.1.1.tar.gz

1、Libpcap下载

  Libpcap的官方网站是http://tcpdump.org/release,可以从该网站下载最新版本,当前系统使用的Libpcap安装文件是libpcap-1.1.1.tar.gz

2、解压

   tar zxvf libpcap-1.1.1.tar.gz

3、配置

  切换近libpcap解压目录libpcap-1.1.1,使用configure配置命令生成Makefile文件。

  ./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 .

  解决方法:

  sudo apt-get install flex

  

4、编译

  make

    可能会遇到yacc错误:

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

  解决方法:

 

sudo apt-get install -y byacc

5、安装

  sudo make install

   注意:要加上sudo,不然会出现权限问题。

6、示例

  testlibpcap.c文件,目的是为了查询网络设备。

 #include<stdio.h>
 #include<stdlib.h>
 #include<pcap.h>
 #include<errno.h>
 #include<sys/socket.h>
 #include<netinet/in.h>
 #include<arpa/inet.h>
 
 int main(int argc,char *argv[])
 {
     char *dev;
     char *net;
     char *mask;
     int ret;
     char errbuf[PCAP_ERRBUF_SIZE];
     bpf_u_int32 netp;
     bpf_u_int32 maskp;
     struct in_addr addr;
     dev = pcap_lookupdev(errbuf);
     if(dev ==NULL)
     {
         printf("%sn",errbuf);
         exit(1);
     }
     printf("设备名:%sn",dev);
     return 0;
 }

  然后编译:

gcc  testlibpcap.c -lpcap -o testlibpcap

    gcc编译后,运行./testlibpcap会出错:

: 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目录下,就可以了。

 还有一点需要注意:

  如果直接这样运行./testlibpcap,结果肯定是“no suitable device found”,原因是权限不够,所以,还需要这样运行才能结果正常。

  sudo  ./testlibpcap

转载于:https://www.cnblogs.com/lynch_world/archive/2011/08/31/2160678.html

最后

以上就是谨慎发夹为你收集整理的ubuntu libpcap安装的全部内容,希望文章能够帮你解决ubuntu libpcap安装所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(81)

评论列表共有 0 条评论

立即
投稿
返回
顶部