Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4252827
  • 博文数量: 1148
  • 博客积分: 25453
  • 博客等级: 上将
  • 技术积分: 11949
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 21:14
文章分类

全部博文(1148)

文章存档

2012年(15)

2011年(1078)

2010年(58)

分类: Mysql/postgreSQL

2011-08-13 11:27:55

   libpcap 是packet capturelibrary的简写,即数据包捕获函数库,该库提供的C函数接口用于捕获经过指定网络接口(通过将网卡设置为混杂模式,可以捕获所有经过该网络接口的数据报)的数据包。

   著名的TCPDUMP就是在libpcap的基础上开发而成的,libpcap提供的接口函数主要实现和封装了与数据包采集、构造、发送等有关的工功能。

   libpcap面向上层应用,提供了用户级别的网络数据包捕获接口,在系统部署时充分考虑到应用程序的可移植性。

   它可以在绝大数linux平台上工作,与此同时,在windows平台上,也有一款与其功能类似的开发库--winpcap,他们的实现方式几乎完全一致。

1.libpcap 的功能
    1. 数据包捕获
    捕获六经本网卡的所有原始数据包,甚至对交换设备中的数据包也能够进行捕获,本功能是嗅探器的基础。
   
    2. 自定义数据包发送
    构造任意格式的原始数据包,并发送到目标网络,本功能是新协议验证、甚至攻击验证的基础。

    3. 流量采集与统计
    对所采集到的网络中的流量信息进行按规则分类、按指标进行统计,并输出到指定终端。利用这项功能可以分析目标网络的流量特性。

    4. 规则过滤
    libpcap 自带规则过滤功能,并提供脚本编程接口,能够按用户编程的方式对已采集到的数据包进行过滤,以便提供分析的性能。

2. libpcap 的应用范围

   由于拥有强大的功能,当前基于libpcap的应用比较广泛,有很多unix上的流量相关的网络系统都是基于libpcap的,它的一些典型应用如下:

   1. 网络协议分析器
   libpcap应用最多的就是网络协议分析器,也可以称为网络嗅探器,目前基于libpcap最著名的网络数据包捕获工具是 ethereal。

   2. 网络流量发生器
   网络流浪发生器也是libpcap的一个应用,它是基于libpcap的数据构造与发送功能,可以针对性德构造各种形式的数据包,并执行发送工作,这样的组合变构成了网络流量的产生工具。
  
   3. 网络入侵检测系统
   网络入侵检测系统IDS 是发现网络入侵行为的关键,利用libpcap所提供的数据包捕获功能,可以进一步开发出IDS,这也是本章论述的重点。
 
   4. 网络扫描器
   这是基于libpcap的数据包构造与发送功能。当前最著名的网络扫描器就是基于libpcap开发而成的。

   5. 其他安全工具
   利用libpcap可以设计出其他的网络安全工具。
   libpcap只是提供网络数据包的检测以及发送功能,并不提供控制层面的服务,类似防火墙那种数据包过滤的功能,libpcap是无法实现的。

 
libpcap工作流程    

 
阅读(1487) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~