深度剖析WinPcap之(序言)——分析WinPcap源代码的缘由
2009-09-11 00:00:00 来源:WEB开发网项目组相关人员对Linux 驱动程序的机制了解不够深入,应用层软件开发人员对软件进行各种调优,收效甚微,曾一度怀疑是文件系统存储速度慢或硬件问题导致,项目陷入困境。后对AD 驱动程序进行仔细分析,发现导致问题的原因:内核缓冲机制不对,采用双缓冲机制;内核向用户层提交数据耗时,直接从内核存储所采集的数据。
该案例提醒我们,开发人员开发软件时,需要对底层系统软件有深入的了解,才能有效地实现高性能的软件。Linux驱动程序所采用的实现机制对用户层软件的性能影响非常大,针对不同的应用类型提供了多种不同的解决方案。
从上述案例,我们知道问题的答案是肯定的,尤其对于从事软件系统架构设计与分析、软件故障问题定位与软件性能评测的高级开发人员与高级测试人员,这是一定要掌握的基础知识。在软件系统日益复杂的今天,浅尝辄止的学习是不可能在技术上有所成就的。
但是,如何进行这种有效的、深入的学习?尤其是对于软件行业中的“菜鸟”而言。在Linux平台下,我们几乎可以查看任何源代码,所以从资源的角度来说这样的学习并不存在难度。但是在Windows平台下,资源首先就阻止了你的前进。笔者经过长时间的探索,发现通过对WinPcap开源库与Wireshark开源软件的源代码进行深入分析,可显著的加快学习的步伐。
WinPcap 本身带有内核的协议驱动程序NPF、用户层的库packet.dll与wpcap.dll,常用的嗅探软件Wireshark在Windows平台下是基于WinPcap库实现的。通过对WinPcap与Wireshark源代码的分析,至少可带来下列收获:
1) 知其然,还要知其所以然
2) 通过对内核层与用户层的了解,可获得全面的系统概念
3) 获得一个很好的学习途径。可以在任何条件下借鉴、学习与分享别人的经验,在今后的职业生涯中更游刃有余
- ››深度解释攻击linux服务器的四种级别
- ››剖析java.util.concurrent锁
- ››剖析Android智能手机系统的更多功能
- ››深度分析地方社区网站的内容定位
- ››剖析Windows Azure Platform框架与组成
- ››剖析使用 ObjectOutputStream 可能引起的内存泄漏...
- ››剖析EWebEditor编辑器漏洞攻击案例
- ››剖析开源云:构建 Infrastructure as a Service 块...
- ››深度剖析 Android 和 iPhone OS
- ››深度分析:HTML5能否成为Flash终结者
- ››深度挖掘 更多Windows 7快捷模式
- ››深度挖掘 Windows 7快捷模式
更多精彩
赞助商链接