michael4338
驱动小牛
驱动小牛
  • 注册日期2004-12-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分238分
  • 威望66点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
阅读:2874回复:15

50分重谢!应用程序可以直接和NIC Miniport Driver交互吗?

楼主#
更多 发布于:2005-06-13 18:51
请问各位大侠,我想绕开中间层,直接和miniport driver交互,可以吗?如果可以,我需要在miniport驱动中做点什么呢?
谢谢
我思故我在
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2005-06-13 19:04
不可以
michael4338
驱动小牛
驱动小牛
  • 注册日期2004-12-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分238分
  • 威望66点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-06-13 19:09
为什么呢?
我看过您以前的文章,说是如果这样的话,就得自己实现TCP/IP栈。是这样吗?我可以自己把包组装成Miniport认识的样子,然后发送。接收的时候可能麻烦点,但是与TCP/IP关系不大。

望进一步指教,THANK
我思故我在
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2005-06-13 19:21
如果你在局域网内,不用路由,是可以不用实现tcp/ip,如果想在广域网传播,那就只能自己实现tcp/ip协议了
在局域网内,你可以通过hook miniport driver的发送函数,和ndis NdisMIndicatexxx函数来做,但也比较麻烦。
不知道你们想这么做的出发点是什么?
michael4338
驱动小牛
驱动小牛
  • 注册日期2004-12-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分238分
  • 威望66点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-06-13 19:33
目的就是不想让中间层及以上层阻碍我们特别的通信,呵呵。

1.路由功能我们自己很难做,是吗?
2.Miniport驱动中可不可以分析包,并阻截它?

思路有点乱,还希望大侠详细告知
我思故我在
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2005-06-13 19:49
目的就是不想让中间层及以上层阻碍我们特别的通信,呵呵。

1.路由功能我们自己很难做,是吗?
2.Miniport驱动中可不可以分析包,并阻截它?

思路有点乱,还希望大侠详细告知

1主机路由倒是比较简单,你只要知道网关的以太网地址就可以了
基本上要自己实现ip协议了,倒是有开放源代码可以参考
2.可以,通过上面写的hook的方法,需要你对ndis非常熟悉
michael4338
驱动小牛
驱动小牛
  • 注册日期2004-12-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分238分
  • 威望66点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-06-13 20:25
既然如此,我们发送和接收都可以实现。


实现思路:
发送时我大体上按照IP的功能把包的内容填好,然后直接发给Miniport。
接收时我在Miniport中判断一下包的内容是不是我想要的,如果是,我就阻断它,然后把它发给另外的一个程序。


技术难点:
1。IP协议的粗略实现
2。Miniport驱动中对与自己相关包的处理


问题:
在Miniport中我要做点什么呢?是重新写一个Miniport驱动,还是做一个Hook之类的东西?

确实比较烦,还望大侠海涵,一定给分
我思故我在
cn_zhaolin
驱动牛犊
驱动牛犊
  • 注册日期2002-04-17
  • 最后登录2008-03-24
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-06-14 03:46
我觉得是可以的,你可以通过oid来实现吗。访问oid的方法可以是DeviceIoControl和WMI。你可以把你组好的IP作为内容通过你自己定义的oid发给驱动,驱动收到你自己想怎么处理就怎么处理,当然前提是你自己需要修改网卡驱动。
xiaolin
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
8楼#
发布于:2005-06-14 09:30
如果你有网卡驱动Miniport的源程序,那想怎么改怎么改了。但是如果你想装在任何机器上,只能采用hook的方法。
michael4338
驱动小牛
驱动小牛
  • 注册日期2004-12-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分238分
  • 威望66点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-06-14 13:04
多谢,已放分。有一点点明了了,具体实现有待进一步学习,希望版主日后多多指教。

最后一个问题:
平常开发Miniport驱动是不是主要用在特殊的网卡上?在同一个网卡上可不可以有多个miniport驱动程序?如果有,他们的关系是串行还是并行?可能外行了,请莫见笑

[编辑 -  6/14/05 by  michael4338]
我思故我在
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
10楼#
发布于:2005-06-14 13:51
多谢,已放分。有一点点明了了,具体实现有待进一步学习,希望版主日后多多指教。

最后一个问题:
平常开发Miniport驱动是不是主要用在特殊的网卡上?在同一个网卡上可不可以有多个miniport驱动程序?如果有,他们的关系是串行还是并行?可能外行了,请莫见笑

[编辑 -  6/14/05 by  michael4338]

开发miniport驱动的工作往往是由硬件网卡厂商来做。
一个网卡只对应一个驱动,一个驱动可以驱动多块网卡。
guocaijian
驱动牛犊
驱动牛犊
  • 注册日期2005-04-06
  • 最后登录2006-02-15
  • 粉丝0
  • 关注0
  • 积分137分
  • 威望21点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2005-06-17 00:56
楼主所说的功能可以在中间层实现,但要在微端口实现,一般厂商的网卡驱动都不公开,怎么修改啊???可以自己编吗?又不知道网卡的寄存器地址,怎么编???请问各位?
michael4338
驱动小牛
驱动小牛
  • 注册日期2004-12-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分238分
  • 威望66点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2005-06-17 10:29
网卡驱动和微端口驱动是不同的,我认为
我思故我在
cross_sky
驱动小牛
驱动小牛
  • 注册日期2004-06-17
  • 最后登录2012-09-07
  • 粉丝0
  • 关注0
  • 积分858分
  • 威望727点
  • 贡献值0点
  • 好评度77点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2008-04-29 23:08
网卡驱动和微端口驱动有什么不同啊?
sky
zhanSL
驱动小牛
驱动小牛
  • 注册日期2002-09-29
  • 最后登录2010-07-13
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望273点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2008-04-30 15:07
网卡驱动和微端口驱动一个意思
zhouq0725
驱动牛犊
驱动牛犊
  • 注册日期2003-10-16
  • 最后登录2008-10-18
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2008-10-15 20:33
引用第8楼zhaock于2005-06-14 09:30发表的  :
如果你有网卡驱动Miniport的源程序,那想怎么改怎么改了。但是如果你想装在任何机器上,只能采用hook的方法。


版大,请问hook具体是什么方法?我是菜鸟。
游客

返回顶部