WEB开发网
开发学院操作系统windows 2008 深度剖析WinPcap之(序言)——分析WinPcap源代码的... 阅读

深度剖析WinPcap之(序言)——分析WinPcap源代码的缘由

 2009-09-11 00:00:00 来源:WEB开发网   
核心提示: 项目组相关人员对Linux 驱动程序的机制了解不够深入,应用层软件开发人员对软件进行各种调优,深度剖析WinPcap之(序言)——分析WinPcap源代码的缘由(2),收效甚微,曾一度怀疑是文件系统存储速度慢或硬件问题导致,还要知其所以然2) 通过对内核层与用户层的了解,可获得全面的系统概念3)

项目组相关人员对Linux 驱动程序的机制了解不够深入,应用层软件开发人员对软件进行各种调优,收效甚微,曾一度怀疑是文件系统存储速度慢或硬件问题导致,项目陷入困境。后对AD 驱动程序进行仔细分析,发现导致问题的原因:内核缓冲机制不对,采用双缓冲机制;内核向用户层提交数据耗时,直接从内核存储所采集的数据。

该案例提醒我们,开发人员开发软件时,需要对底层系统软件有深入的了解,才能有效地实现高性能的软件。Linux驱动程序所采用的实现机制对用户层软件的性能影响非常大,针对不同的应用类型提供了多种不同的解决方案。

从上述案例,我们知道问题的答案是肯定的,尤其对于从事软件系统架构设计与分析、软件故障问题定位与软件性能评测的高级开发人员与高级测试人员,这是一定要掌握的基础知识。在软件系统日益复杂的今天,浅尝辄止的学习是不可能在技术上有所成就的。

但是,如何进行这种有效的、深入的学习?尤其是对于软件行业中的“菜鸟”而言。在Linux平台下,我们几乎可以查看任何源代码,所以从资源的角度来说这样的学习并不存在难度。但是在Windows平台下,资源首先就阻止了你的前进。笔者经过长时间的探索,发现通过对WinPcap开源库与Wireshark开源软件的源代码进行深入分析,可显著的加快学习的步伐。

WinPcap 本身带有内核的协议驱动程序NPF、用户层的库packet.dll与wpcap.dll,常用的嗅探软件Wireshark在Windows平台下是基于WinPcap库实现的。通过对WinPcap与Wireshark源代码的分析,至少可带来下列收获:

1)       知其然,还要知其所以然

2)       通过对内核层与用户层的了解,可获得全面的系统概念

3)       获得一个很好的学习途径。可以在任何条件下借鉴、学习与分享别人的经验,在今后的职业生涯中更游刃有余

Tags:深度 剖析 WinPcap

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接