`

Libcap & WinPcap

阅读更多
  libpcap是unix/linux平台下的网络数据包捕获函数包,
  大多数网络监控软件都以它为基础。
  Libpcap可以在绝大多数类unix平台下工作.
  Libpcap应用程序框架
  Libpcap提供了系统独立的用户级别网络数据包捕获接口,并充分考虑到应用程序的可移植性。Libpcap可以在绝大多数类unix平台下工作,参考资料 A 中是对基于 libpcap 的网络应用程序的一个详细列表。在windows平台下,一个与libpcap 很类似的函数包 winpcap 提供捕获功能,其官方网站是http://winpcap.polito.it/。


http://baike.baidu.com/view/1319961.htm
http://zhidao.baidu.com/question/30319658.html
http://baike.baidu.com/view/696423.htm?fr=ala0_1


Wincap是Libcap的Windows版本

WinPcap是用于网络封包抓取的一套工具,可适用于32位的操作平台上解析网络封包,包含了核心的封包过滤,一个底层动态链接库,和一个高层系统函数库,及可用来直接存取封包的应用程序界面。

Winpcap是一个免费公开的软件系统。它用于windows系统下的直接的网络编程。

大多数网络应用程序访问网络是通过广泛使用的套接字。这种方法很容易实现网络数据传输,因为操作系统负责底层的细节(比如协议栈,数据流组装等)以及提供了类似于文件读写的函数接口。

但是有时,简单的方法是不够的。因为一些应用程序需要一个底层环境去直接操纵网络通信。因此需要一个不需要协议栈支持的原始的访问网络的方法。

winpcap适用于下面的开发者:

1、捕获原始数据包。不管这个包是发往本地机,还是其他机器之间的交换包。

2、在数据包被发送到应用程序之前,通过用户定义的规则过滤。

3、向网络发送原始数据包。

4、对网络通信量做出统计。

这些功能依赖于Win32系统内核中的设备驱动以及一些动态链接库。

Winpcap提供了一个强大的编程接口,它很容易地在各个操作系统之间进行移植,也很方便程序员进行开发。

什么样的程序需要使用Winpcap

很多不同的工具软件使用Winpcap于网络分析,故障排除,网络安全监控等方面。Winpcap特别适用于下面这几个经典领域:

1、网络及协议分析

2、网络监控

3、通信日志记录

4、traffic generators

5、用户级别的桥路和路由

6、网络入侵检测系统(NIDS)

7、网络扫描

8、安全工具

Winpcap有些方面不能做。它不依靠主机的诸如TCP/IP协议去收发数据包。这意味着它不能阻塞,不能处理同一台主机中各程序之间的通信数据。它只能“嗅探”到物理线路上的数据报。因此它不适用于traffic shapers,QoS调度,以及个人防火墙。

Winpcap内部结构

Winpcap是一个Win32平台下用于抓包和分析的系统。包括一个内核级别的packet filter,一个底层的DLL(packet.dll)和一个高级的独立于系统的DLL(Wpcap.dll)


1、捕获系统要能得到网络上原始传输数据必须绕过协议栈。这就需要一个模快运行于操作系统内核,与网络设备驱动接口直接打交道。这一部分极端依赖系统,也被认为是一种设备驱动。现有版本有Windows 85,98,ME,NT 4,2000,Xp。这些驱动提供一些如数据包的捕获与发送这些基本功能,还提供一些高级的可编程的过滤系统和监控引擎。过滤系统可以约束只捕获特定的数据包
分享到:
评论

相关推荐

    网络抓包工具Jpcap_Java.zip

    Jpcap 是基于 libcap 和 winpcap 的,所以 Jpcap 可以运行在任意支持 libcap 或者 winpcap 的平台上(Linux ,Windows,FreeBSD 和 Mac OS X)。Jpcap 支持以下的集中数据包类型:以太网, IPv4, IPv6, ARP/RARP, ...

    libcap编程参考1

    Libcap 是一个用于在网络层捕获数据包的库,主要应用于 Unix/Linux 操作系统,但也有类似功能的 Winpcap 适用于 Windows 平台。Libcap 提供了一套系统独立的用户级接口,使得开发者能够方便地编写网络监控和分析应用...

    Winpcap中的数据过滤方法

    `Winpcap`中的过滤表达式基于`libcap`过滤器语言,原语(primitive)是其最基本的组成单位。一个过滤表达式可以包含一个或多个原语,原语之间可以通过逻辑运算符`and`、`or`和`not`进行连接。基本结构如下: ``` ...

    tcpdump和libpcap

    **TCPDump与Libpcap详解** 在Linux操作系统中,网络数据包分析是系统管理员和网络工程师进行故障排查、性能优化及安全监控的重要手段。TCPDump和Libpcap是一对密切相关的开源工具,它们为用户提供了强大的网络...

    网络嗅探原理与分析.ppt

    常见的网络嗅探工具包括TcpDump、Libcap(winpcap)、Wireshark(ethereal)、Sniffer Pro等。TcpDump是一个强大的网络数据采集分析工具,提供了源代码,公开了接口,对于网络维护和入侵者都是非常有用的工具。...

    抓包工具ethereal的使用方法

    Ethereal的过滤器使用libcap语言,基本结构为[not] primitive [and|or [not] primitive ...]。过滤器可以用来抓取感兴趣的数据包。在抓包过程中,可以使用过滤器来限定捕获的数据包的类型。例如,可以使用过滤器来...

    《计算机网络基础》第10章 网络编程.ppt

    网络通信编程则有libnet、libcap、Socket编程等技术,Windows环境下有Winpcap和Winsock编程。网络数据库编程不仅涵盖大型数据库系统(如Oracle、Sybase、Informix、SQL Server),还包括小型数据库系统(Access、...

    如何快速掌握ethreal的使用方法

    - 抓包过滤器使用libcap过滤器语言,可以在抓包时设置,只捕获特定类型的包。例如,仅捕获TCP协议的包,可以使用`tcp`作为过滤器。 5. **显示过滤器**(重点): - 显示过滤器在捕包完成后使用,用于筛选出感兴趣...

    ethreal 使用-入门.pdf

    首先需要安装 WinPcap,然后安装 Ethereal。安装完成后,可以启动 Ethereal,并选择菜单 Capture->Start 开始抓包。 2. Ethereal 抓包选项 Ethereal 提供了多种抓包选项,包括: * Interface:指定抓包的接口...

    wireshark傻瓜版教程PDF

    yum -y install gcc byacc flex gtk2-devel libpcap-devel openssl-devel pcre-devel libcap-devel ``` 之后下载Wireshark的源码包并解压缩: ``` cd /usr/local/src wget ...

    Libpcap使用指南

    通过阅读提供的"libcap文档",你可以深入了解Libpcap的使用方法、API详解、示例代码和各种应用场景,进一步提升你的网络编程技能。无论你是网络安全研究人员还是软件开发者,掌握Libpcap都将极大提升你的工作效率。

Global site tag (gtag.js) - Google Analytics