pcap,即 packet capture library 抓包库,这个抓包库给抓包系统提供了一个高层次的接口。所有网络上的数据包,甚至是那些发送给其他主机的,通过这种机制,都是可以捕获的。它也支持把捕获的数据包保存为本地文件和从本地文件读取信息。

  还有一些详细介绍可以参考: http://baike.baidu.com/view/6584893.htm

  libpcap 的一些介绍,http://baike.baidu.com/view/1319961.htm

   and 这是libpcap的下载资料 http://www.tcpdump.org/release/

有一些步骤或者安装错误的解决方法可以参考这里:http://blog.csdn.net/cfjtaishan/article/details/7096085

总结一下:

  1, 安装gcc编译器(如果安装过了,就可以免了)

  2, Libpcap有一些依赖包,所以在安装Libpacap之前还得依次安装GNU M4,bison和flex (直接敲命令就行:sudo apt-get install flex 和 sudo apt-get install bison )

  3, 把下载的这几个安装包解压缩到同一个目录,终端下用root身份依次进入上述4个文件夹。分别执行如下命令编译安装:
      ./configure
      make
      make install

  4, 测试代码(转自:http://hi.baidu.com/amauri3389/item/0982a400359cb9d51ef04668

      

#include<stdio.h>

int main(){
char *dev,errbuf[1024];
dev=pcap_lookupdev(errbuf);
if(dev==NULL){
fprintf(stderr,"coundn't find default device: %s \n",errbuf);
return 2;
}
printf("Device: %s \n",dev);
return 0;
}

编译:  gcc -o test test.c -lpcap (可能会出现

                  here.c: 在函数‘main’中:
                  here.c:12:5: 警告: 赋值时将整数赋给指针,未作类型转换 [默认启用]

               的提示信息,别管它,继续下一步)

执行: 执行的时候也因该以root身份  sudo su 输入密码
    ./test 执行生成的可执行文件test。

接下来出现的问题,我所遇到的:

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

  解决方法:打开 /etc目录下的文件   ld.so.conf ,添加两行
          /usr/local/lib
          /usr/lib

  然后在终端下执行从新加载配置的命令:  ldconfig

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

附:一些bison的参考与学习资料:   http://zh.wikipedia.org/wiki/GNU_bison

                http://wenku.baidu.com/view/6501c928bd64783e09122ba1.html

pcap的安装的更多相关文章

  1. pcap的安装与配置

    1.打开网址:www.tcpdump.org/ 下载 libpcap-1.0.0.tar.gz (512.0KB) 软件包,通过命令 tar zxvf libpcap-1.0.0.tar.gz 解压文 ...

  2. PCAP研究

    一.  pcap简介 封装了OS提供的底层抓包技术,对外提供一些统一的抓包(及发送)接口.实现这些功能的其他技术包括:BPF(Berkeley Packet Filter),DLPI(Data Lin ...

  3. android 抓包 使用 tcpdmp + Wireshark

         下载地址tcpdump: http://www.androidtcpdump.com/      使用su用户, 给/system/可写的权限 mount -o remount,rw -t ...

  4. Winpcap安装,Cannot open include file 'pcap.h'

    VC报错 fatal error C1083: Cannot open include file: 'pcap.h': No such file or directory Winpcap是window ...

  5. pcap 安装(debian7 linux) qt 使用pcap.h

    安装方法一.sudo apt-get install libpcap-dev 安装方法二. 去http://www.tcpdump.org/下载最新的libpcap.tar.gz包 解压以后 ./co ...

  6. python3安装pcap遇到的问题

    最近想在win7上安装pypcap,遇到了一下问题,现在大概总结一下: 直接使用pip install pypcap,提示pcap.h not found: 网上下载pypcap安装包,运行pytho ...

  7. Ubuntu 16.04 安装 Wireshark分析tcpdump的pcap包——sudo apt install wireshark-qt

    tcpdump 的抓包保存到文件的命令参数是-w xxx.cap   抓eth1的包  tcpdump -i eth1 -w /tmp/xxx.cap    抓 192.168.1.123的包  tc ...

  8. python2.7 安装pypcap出错 pcap.h not found

    python安装pypcap的时候出错 通过不断百度+google找到解决方案 https://segmentfault.com/q/1010000007273835/a-10200000072756 ...

  9. ubuntu 安装 pcap

    最近在做负载均衡配置,希望将多个dhcp服务配置成一个虚拟dhcp地址,实现dhcp服务高可用.然而配置完成后却发现一个问题,该如何测试呢. 因此就要用上python了,然后ubuntu下面用pip ...

随机推荐

  1. parse_str — 将字符串解析成多个变量

    $arr2="first=value1&second=value2&third[]=value3&third[]=value4"; parse_str($a ...

  2. Cacti自定义脚本,监测Docker信息(Script/Command方式)

    一 环境背景 监控主机A:192.168.24.231:被监控主机B:192.168.24.233 A/B主机,通过公私钥建立ssh连接 [操作B主机时不需要输入密码,详见笔记:http://app. ...

  3. MyBatis原理系列

    原理分析之一:从JDBC到Mybatis 原理分析之二:框架整体设计 原理分析之三:初始化(配置文件读取和解析) 原理分析之四:一次SQL查询的源码分析

  4. Openstack keystone组件详解

    OpenStack Keystone Keystone(OpenStack Identity Service)是 OpenStack 框架中负责管理身份验证.服务规则和服务令牌功能的模块.用户访问资源 ...

  5. asp.net AES加密跟PHP的一致,将加密的2进制byte[]转换为16进制byte[] 的字符串获得

    <?php class AESUtil { public static function encrypt($input, $key) { $size = mcrypt_get_block_siz ...

  6. Tensorflow框架初尝试————搭建卷积神经网络做MNIST问题

    Tensorflow是一个非常好用的deep learning框架 学完了cs231n,大概就可以写一个CNN做一下MNIST了 tensorflow具体原理可以参见它的官方文档 然后CNN的原理可以 ...

  7. img 和 background-image 优劣比较

    一. 简单来说,img是内容部分的东西,css的background-image是修饰性的东西. img------从页面元素来说,如果是页面中的图片是作为内容出现的,比如广告图片,比如产品图片,那么 ...

  8. python 深浅copy的例子

    1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象.2. copy.deepcopy 深拷贝 拷贝对象及其子对象一个很好的例子:import copya = [1, 2, 3, ...

  9. Andorid API Package --->android.animation

    包名: android.animation                                Added in API level 11 URL:http://developer.andr ...

  10. 在git 服务器挂载、创建新的项目、克隆新的项目

     流程,服务器创建项目名-->客户端克隆-->客户端提交并且推送-->完成   详细步骤   1.在git服务器路径文件夹下创建空文件夹,名字为新的项目名,如在  F:\git   ...