阅读:3544回复:6
请问:如何学网络驱动
我是初学,请教各位大侠:
我对网络驱动有兴趣,但是不知从何下手,看到各位口中的名词,如IM等等,很是晕。有这方面的书吗? 学网络驱动应该从何处下手,先学什么,后学什么,那位大侠给大概说说? |
|
沙发#
发布于:2001-06-12 20:26
Ndis学习笔记之开始篇
如果各位有人与我一样要学习Ndis的会,恭喜你可得有一定的心理准备, 当然我不是指对ddk有丰富经验的人,一天下来没有收获是正常的事,本人就有 这方面的感受.(或许我生性脑袋不灵光)。好了,闲话少说,讲正题吧. (我讲的是wdm开发,而不涉及到vxd,有些是针对win2k平台的) 首先你得装好ddk,如果你想结合vc的ide开发的话,请自已去精华版找一下 ddk安装的文章,我就不多说了,见意你最好用命令行,也方便.当然还得有softice, 然后下几本书。 有几本国内有卖的这方面的书,我就例举一下, Waltoney-ch windows driver model 有中文电子版 写的不错,翻译也可以, 学kernel mod的好资料,省得看ddk了 机工的一本wdm程序设计,我认为写的不怎么样. 还有一本就是winnt的驱动程序设计 这些http://www.driverdevelop.com/都有下. 现在也流行用一些开发包,如winpcap(http://netgroup-serv.polito.it/ winpcap/misc/links.htm) windis(本站提供的ftp中有且有不少别的资料)等,可以直接抓mac的包,但不 具有ipfilter的功能,如能你只是要做一个sniffer或类似什么东东,可以用 上面的开发包,我个人觉得用winpcap好一些,类似于lipcap的接口,你可以在此 基此上找到libnet的库等在*Unix用的比较多的库,但有一定限制,代码比较多, 甚至可以到linux找到源码来分析,并可以移植,netgroup就有不少这类的项目。 至于windis我研究不多,不好评论. 下一个就是例子: 首先是ddk中自带的packet,packetthru(中间层驱动) 还有微软的imsamp,更加详细. 还有pacuas的例子,这是ndis方面的重要资源(本站提供ftp上有), 另有一个iphook,挺好的,讨论较多,我就不说了. 再就是书.有几本国内有卖的这方面的书,我就例举一下, Waltoney-ch windows driver model 有中文电子版 写的不错,翻译也可以, 学kernel mod的好资料,省得看ddk了 机工的一本wdm程序设计,我认为写的不怎么样. 还有一本比较老的书就是winnt的驱动程序设计 这些http://www.driverdevelop.com/都有下. 这里我想提一个不算捷径的捷径,你可以用一下driverstudio中的 drivernetwork,可以大大加快ndis的学习和开发速度,效率也不 错,当然最好是有一定的Ndis的经验,但不须太多,精通当然好了, 最后我要强调的是Ndis的资料,当然首先你得熟悉kernel mod 的编程 如果是用ddk,恐怕只有看微软的文档呢 附带提一个工具就是Source Insight (http://www.sourceinsight.com), 用来看源码比较方便,reg:l634,SI3US-361500-17409 可能我以后会着重介绍中间层驱动,因为我想做一个类似天网的东东.下次 我将说一说为什么我要重点介中间层驱动. email:hackluo@yaeh.net 欢迎指教 |
|
板凳#
发布于:2001-06-13 11:40
多谢l634,你上面所说的资料我基本已有,没有的也在积极地查找中。我原本是要做一个模块,希望能够截取从网卡和IP层发来地数据,分别对其进行处理,从而实现数据地加,解密。
但由于对KENEL MODE一点都不懂,只好先学驱动,绕了好大一个弯,折腾了有一个月,到现在都没敢去接触NDIS,实在是觉得自己功力太浅,怕走火入魔。而且也不知道从何下手。 谢谢l634,希望你能接着写下去,给我点亮希望的灯!!! |
|
地板#
发布于:2001-06-13 17:30
我看了imasmp和pcausa的例子,我觉得它们虽然都是为nt4
写的,原理好像与2000下应该差不多 但是我怎样写。inf文件才能安装它们了?它们原来只提供了 nt4下的安装文件 |
|
地下室#
发布于:2001-06-13 17:54
IMSamp是 for NT, passthru是 for win2000
如果是学NDIS的程序流程,建议看passthru,它的流程清晰;如果做细节,建议看imsamp,它的细节处理得很好,passthru做得太粗了 |
|
5楼#
发布于:2001-06-13 22:59
实际上,我认为imsample做的很有点粗,而且
有个问题是imsample实现的几个miniport实际 上改变了真实的miniport的行为。此外,基于这个 sample做的代码拿到2000下去,由于oob data被 ms扩充了,所以还需要做一些修改。 |
|
|
6楼#
发布于:2001-06-18 10:37
我按你留言上的邮箱地址写的,结果被退了回来。不是hackluo@yaeh.net?
|
|