当前位置: 首页 > 软件库 > 程序开发 > 网络工具包 >

libpcap

网络数据包捕获函数包
授权协议 BSD
开发语言 C/C++
所属分类 程序开发、 网络工具包
软件类型 开源软件
地区 不详
投 递 者 公孙琛
操作系统 Linux
开源组织
适用人群 未知
 软件概览

libpcap 是 unix/linux 平台下的网络数据包捕获函数包,大多数网络监控软件都以它为基础。

Libpcap 提供了系统独立的用户级别网络数据包捕获接口,并充分考虑到应用程序的可移植性。

它可以在绝大多数类 unix 平台下工作。

  • 要使用libpcap,我们必须包含pcap.h头文件,可以在/usr/local/include/pcap/pcap.h找到,其中包含了每个类型定义的详细说明。 1.获取网络接口 首先我们需要获取监听的网络接口: 我们可以手动指定或让libpcap自动选择,先介绍如何让libpcap自动选择: char * pcap_lookupdev(char * errbuf) 上面这个函数返回第一个合适的网

  • libpcap安装 先安装flex,bison yum -y install flex yum -y install bison 下载libpcap源码并解压,再输入如下命令 ./configure make make install libpcap常用函数 int pcap_findalldevs(pcap_if_t **alldevsp, char *errbuf); 查找所有可用的网络

  • 转自:http://blog.ender.in/   众所周知,libpcap是一个可移植的网络数据包捕获库,使用C/C++编写的程序都可以用它,当然,它还有很多其他语言的Wrapper。libpcap可以从tcpdump的网站下载到。 这里我主要介绍一下它的C语言API。在文章的最后,我将介绍一下winpcap(libpcap的Windows实现版)。 Prefix 首先,我们需要了解C语言的基

  • 1、设置设备 这是很简单的。有两种方法设置想要嗅探的设备。 第一种,我们可以简单的让用户告诉我们。考察下面的程序: #include #include int main(int argc, char *argv[]) {    char *dev = argv[1];    printf("Device: %s", dev);    return(0); } 用户通过传递给程序的第一个参数来指定设

  • 转载于http://blog.csdn.net/cjqpker/article/details/43203169 今有一需求,需要编译libpcap在ARM框架处理器下执行的版本,百度许久,网上的教程都是以libpcap1.0.0版本为基础,但我这边拿到的是libpcap1.6.2版本的拷贝,按照网上的做法已经不再适用。于是又Google许久(使用代(fan)理(qiang)),找到一些教程,虽不

  • Libpcap使用总结 原地址:http://wwtvanessa.blogbus.com/logs/74573944.html libpcap是一个与实现无关的访问操作系统所提供的分组捕获机制的分组捕获函数库,用于访问数据链路层。这个库为不同的平台提供了一致的编程接口,在安装了 libpcap 的平台上,以 libpcap 为接口写的程序、应用,能够自由的跨平台使用。操作系统所提供的分组捕获机制

  •    Libpcap是一个比较好用的抓包工具,tcpdump也是基于它实现的,下面介绍一下android上是如何利用它抓包的    调用示例:由于它是基于c的代码,因此使用c++时记得extern "C",下面代码是结合libnet实现的: #include <pcap.h> #include <stdio.h> #include <string.h> #include <stdlib.h> #i

  • 最近一直在研究libpcap开源库,想把它移植到嵌入式平台,在移植过程中遇到一些问题,今天把这些问题记录下来。 首先需要配置交叉编译器,我的是友善之臂提供的arm-linux-gcc-4.5.1。配置交叉编译器非常简单,将交叉编译器压缩包进行解压,配置环境变量即可。因为这个交叉编译器是32位的,我开始使用64位的Linux系统,在编译时会有很多的问题,所以换成了32的Linux系统。 一、配置交叉

  • LibPcap通过pcap_open_live()系统调用socket()创建一个socket.而系统调用socket()则是通过sys_socketcall()这个入口找到sys_socket()->sock_create()->__sock_create()->rcu_dereference(net_families[family])根据协议簇执行create。LibPcap选用的协议簇PF_

  •    计算机网络自顶向下 一书中,介绍了ethereal。 该软件开源,用于抓包分析。版本最新的更名为wireshark,是目前最好的网络抓包分析工具。ethereal主要使用了gtk+ 和 libpcap来进行设计。gtk +提供用户界面,而libpcap是unix/linux平台下的网络数据包捕获函数包,大多数网络监控软件都以它为基础。Libpcap可以在绝大多数类unix平台下工作,提供了网

  • 1,下载libpcap。 http://www.tcpdump.org/release/libpcap-1.2.1.tar.gz 2,解压libpcap-1.2.1.tar.gz tar -zxvf libpcap-1.2.1.tar.gz 3,进入解压后的libpcap目录 cd libpcap 4,生成makefile ./configure 5,编译 make 6,安装 make insta

 相关资料
  • 问题内容: 我已经在寻找我的答案几个小时了,但无法解决。请帮忙。 我想要做的是在Android中使用VpnService来抓取网络数据包,例如应用程序tPacketCapture 我首先使用了Google的ToyVpn示例代码并对其进行了修改,所以我不将数据发送到服务器。但是,我不确定这是否正确。 我的configure方法在调用build()之前将wlan ip地址用于binder.addAdd

  • 问题内容: 在闭包的工作方式中遇到了一些奇怪的事情。考虑以下代码: 它构建了一个简单的函数数组,这些函数接受单个输入并返回该输入加数字后的结果。这些函数在循环中构造,其中迭代器从到运行。对于这些数字中的每一个,都会创建一个函数,该函数捕获并添加到函数的输入中。最后一行使用参数作为参数调用第二个函数。令我惊讶的是。 我期望一个。我的推理是:在中,所有东西都是对象,因此每个变量都是指向它的指针。为创建

  • 我正在尝试创建一个可以传递其他函数的函数,它将捕获任何错误,但只返回函数的返回值。以下是我尝试过的: 我希望意图相对明确;我希望能够接收任何类型的函数,并返回其返回值(只要在出错的情况下隐式可转换为该值)。然而,当我试图编译上述代码时,我得到了这些类型的错误; 掠夺。cpp:10:78:错误:应在“…”之前使用主表达式令牌静态自动处理呼叫(const F 很明显,我没有正确地使用可变模板。。。有什

  •        在网络数据菜单下设置了一个连接服务器的功能,通过这个功能,可以直接通过网络地址连接到远程的服务器,从而实现一份数据,多客户端共享。 创建一个服务器连接        只需要输入服务器的ip地址,端口号,账号和密码就可以快速建立一个连接,并保存。 删除已有连接        对于不想出现在服务器连接列表里的连接,可以选中后直接删除。 连接已有服务器        选中一个连接,直接点击

  •        在网络数据菜单下设置了一个连接服务器的功能,通过这个功能,可以直接通过网络地址连接到远程的服务器,从而实现一份数据,多客户端共享。 创建一个服务器连接        只需要输入服务器的ip地址,端口号,账号和密码就可以快速建立一个连接,并保存。 删除已有连接        对于不想出现在服务器连接列表里的连接,可以选中后直接删除。 连接已有服务器        选中一个连接,直接点击

  • 现在,我们已经知道如何获取适配器的信息了,那我们就开始一项更具意义的工作,打开适配器并捕获数据包。在这讲中,我们会编写一个程序,将每一个通过适配器的数据包打印出来。 打开设备的函数是 pcap_open()。下面是参数 snaplen, flags 和 to_ms 的解释说明 snaplen 制定要捕获数据包中的哪些部分。 在一些操作系统中 (比如 xBSD 和 Win32), 驱动可以被配置成只

  • 本讲的范例程序所实现的功能和效果和上一讲的非常相似 (打开适配器并捕获数据包), 但本讲将用 pcap_next_ex() 函数代替上一讲的 pcap_loop()函数。 pcap_loop()函数是基于回调的原理来进行数据捕获,这是一种精妙的方法,并且在某些场合中,它是一种很好的选择。 然而,处理回调有时候并不实用 -- 它会增加程序的复杂度,特别是在拥有多线程的C++程序中。 可以通过直接调用

  • 本文向大家介绍网络数据模型,包括了网络数据模型的使用技巧和注意事项,需要的朋友参考一下 创建网络数据库模型是为了解决分层数据库模型的缺点。在这种类型的模型中,一个孩子可以链接到多个父母,而分层数据模型不支持该功能。父节点称为所有者,子节点称为成员。 网络数据模型可以表示为- 网络模型的优势 如图所示,网络模型可以支持许多关系。D2和C3每个都有多个主机。D2的主控是C1和C2,而C3的主控是B1和