您现在所在的是:

工业以太网

回帖:1个,阅读:1145 [上一页] [1] [下一页]
* 帖子主题:

WinPcap学习资源

1187
xingsharp
文章数:119
年度积分:50
历史总积分:1187
注册时间:2005/3/2
发站内信
08年优秀博客奖
发表于:2010/11/25 16:36:12
#0楼
、winpcap的主要功能在于独立于主机协议(如tcp-ip)而发送和接收原始数据报,这在
[COLOR="#ff0000"]实现pc机与联接在enternet网络中的嵌入式系统进行通信[/COLOR]
提供了极其灵活(直接的低层数据报方式进行收发)、高效的实现方案(基于c语言编译的函数库)。
http://www.winpcap.org/ (官方网站,开源项目)     winpcap提供的安装包(winpcap_4_1_2.exe)用于把支持组件布署在win系统上(现已支持win7和64位系统,但不再支持win9x)。     winpcap提供的示例包形如:winpcap_4_1_2.zip     winpcap提供的开源项目型号如:wpcapsrc_4_1_2.zip。     一般对于使用者来说,第一步是运行winpcap_4_1_2.exe安装好winpcap的运行时支撑环境。然后再研究示例包,就能很好地使用winpcap了。
三、winpcap关键学习点:
3.1) winpcap组件在于为win32应用程序提供访问网络底层的能力。它提供了以下的各项功能:
1> 捕获原始数据报,包括在共享网络上各主机发送/接收的以及相互之间交换的数据报;
2> 在数据报发往应用程序之前,
[COLOR="#ff0000"]按照自定义的规则将某些特殊的数据报过滤掉[/COLOR]

3> 在网络上
[COLOR="#ff0000"]发送原始的数据报[/COLOR]

4> 收集网络通信过程中的统计信息。
3.2)packet.dll所提供所有底层函数,但如果你有其他特别的或更高级的要求,winpcap也提供了另一个动态连接库wpcap.dll。虽然wpcap.dll依靠于packet.dll,但是它却提供了一种更简单,直接,有力的方法来更好的利用编程环境。比如捕获一个数据报,创建一个数据报过滤装置或将监听到的数据报转存到某个文件等,wpcap.dll都会为你提供更加安全的实现方法。
3.3)winpcap是用于网络封包抓取的一套工具,可适用于32位、64位的win操作系统上的解析网络封包,包含了核心的封包过滤,一个底层动态链接库(packet.dll,和一个高层系统函数库(wpcap.dll),及可用来直接存取封包的应用程序界面。
3.4)winpcap是一个免费公开的软件系统。它用于windows系统下的直接的网络编程
3.5)大多数网络应用程序访问网络是通过广泛使用的套接字。这种方法很容易实现网络数据传输,因为操作系统负责底层的细节(比如协议栈,数据流组装等)以及提供了类似于文件读写的函数接口。
但是有时,简单的方法是不够的。因为一些应用程序需要一个底层环境去直接操纵网络通信(
[COLOR="#ff0000"]使用自定义协议和嵌入式系统进行网络通信[/COLOR]
,以实现更为灵话高效的通信,因为对于很多嵌入式系统来说,tcp或udp还是太大了)。因此需要一个不需要协议栈支持的原始的访问网络的方法。3.6)winpcap适用于下面的开发者:
1、捕获原始数据包。不管这个包是发往本地机,还是其他机器之间的交换包。
2、在数据包被发送到应用程序之前,通过用户定义的规则过滤。
3、向网络发送原始数据包。
4、对网络通信量做出统计。
这些功能依赖于win32系统内核中的设备驱动以及一些动态链接库。
winpcap提供了一个强大的编程接口,它很容易地在各个操作系统之间进行移植,也很方便程序员进行开发。3.7)什么样的程序需要使用winpcap
很多不同的工具软件使用winpcap于网络分析,故障排除,网络安全监控等方面。winpcap特别适用于下面这几个经典领域:
1、网络及协议分析
2、网络监控
3、通信日志记录
4、traffic generators
5、用户级别的桥路和路由
6、网络入侵检测系统(nids)
7、网络扫描
8、安全工具3.8)winpcap有些方面不能做。它不依靠主机的诸如tcp/ip协议去收发数据包。这意味着它不能阻塞,不能处理同一台主机中各程序之间的通信数据。它只能“嗅探”到物理线路上的数据报。因此它不适用于traffic
shapers,qos调度,以及个人防火墙。3.9)winpcap内部结构
winpcap是一个win32平台下用于抓包和分析的系统。包括一个内核级别的packet
filter,一个底层的dll(packet.dll)和一个高级的独立于系统的dll(wpcap.dll)

1、捕获系统要能得到网络上原始传输数据必须绕过协议栈。这就需要一个模快运行于操作系统内核,与网络设备驱动接口直接打交道。这一部分极端依赖系统,也被认为是一种设备驱动。现有版本有windows
85,98,me,nt
4,2000,xp。这些驱动提供一些如数据包的捕获与发送这些基本功能,还提供一些高级的可编程的过滤系统和监控引擎。过滤系统可以约束只捕获特定的数据包(比如,只捕获特定主机发送的ftp报文)。监控引擎提供了一种强大但简单的使用机制去获得网络通信的统计荷载数据。

2、捕获系统要让用户程序使用内核提供的功能必须要有一个编程接口。winpcap提供了两个不同的库:packet.dll 和wpcap.dll。
packet.dll提供一个底层的api,通过这个api可直接访问网络设备驱动,而独立于microsoft os.
wpcap.dll是一个高层的强大捕获程序库,与unix下的libpcap兼容。它独立于下层的网络硬件和操作系统。
四、其他学习winpcap资源:
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=129644&Name=zjcsharp
匿名用户
文章数:N/A
年度积分:0
历史总积分:0
注册时间:2010/12/13
发站内信
发表于:2010/12/19 16:02:28
#1楼
该用户被锁定,回复内容不予显示!

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

46.8003