首页
社区
课程
招聘
[求助]NDIS中间层驱动能拦截所有数据包么?
发表于: 2013-11-19 00:34 9979

[求助]NDIS中间层驱动能拦截所有数据包么?

2013-11-19 00:34
9979
小弟最近正在学习<寒江>中。。,看到NDIS驱动这一块,对中间层驱动监控数据包这一块很是不解。

对于发送数据包来说,按理说一个协议驱动应该会绑定所有的小端口驱动,如果有中间层驱动的话,协议驱动应该会绑定所有中间层驱动+小端口驱动,那应用层传过来的数据为什么一定会经过中间层驱动呢,不会由协议驱动直接传给小端口驱动么。

对于接收数据包来说,小端口驱动应该把数据传给所有的上层协议驱动,对于小端口驱动来说,中间层驱动只是被他当做协议驱动之一,小端口驱动应该也会发消息给其他的协议驱动呀。

那这样说 就算有中间层驱动,数据也不是一定要经过中间层驱动的,这样如何监控呢。。。。。

小弟刚刚接触这里,对这个问题十分困惑,还请各位前辈指点

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 47
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
看一下书,驱动模型 层次。不加中间层,所有协议驱动到小端口驱动直连。中间层驱动插入,协议层把中间层当小端口,小端口把中间层当协议。你可以理解为中间层和小端口是两个串联,协议层都是并联,汇总到中间层然后到小端口。
2013-11-19 08:39
0
雪    币: 47
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
http://bbs.pediy.com/showthread.php?t=179302
2013-11-19 08:48
0
雪    币: 4759
活跃值: (3334)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
4
多谢 jpys大哥, 我看寒江上面说(p335)如果一个协议驱动绑定了一个网卡,那么意味着
1.网卡收到的数据包会提交给这个协议。
2.协议可以使用这个网卡发送数据包。

比如TCP/IP这个协议驱动,默认会绑定所有的网卡,此时所有网卡接收到数据都会发给TCP/IP协议驱动。
那么就算加上一个中间层驱动A,对于网卡来说无非是多一个上层绑定的协议驱动而已。
对于TCP/IP这个协议驱动,是多了一个小端口驱动,多调用一次BINDAdapterHandler。
网卡收到数据应该会发给TCP/IP协议驱动和中间层驱动A啊
TCP/IP协议驱动收到上层的包,可以交给网卡驱动,也可以交给中间层驱动的啊。

jpys大哥前面提到的中间层和小端口是串联,系统是如何处理的呢,感觉原理上讲不通啊,
2013-11-19 20:21
0
雪    币: 43
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
好问题,可惜看不到高手解答啊,顶楼主一下
2013-12-17 00:37
0
雪    币: 209
活跃值: (143)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
看起来ndis中间层无法截获到3G上网卡的包
2013-12-17 09:31
0
雪    币: 636
活跃值: (174)
能力值: ( LV9,RANK:260 )
在线值:
发帖
回帖
粉丝
7
自从看到ndis hook之后,很难再静下来慢慢折腾NDIS中间层驱动的繁琐设置了……
2013-12-17 11:31
0
雪    币: 4759
活跃值: (3334)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
8
多谢 第一次听说ndis hook 先去研究一下
2013-12-21 20:31
0
雪    币: 43
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
有ndis filter了,不用再冒险hook了
2013-12-22 17:09
0
雪    币: 636
活跃值: (174)
能力值: ( LV9,RANK:260 )
在线值:
发帖
回帖
粉丝
10
+1,这个比hook舒服多了
2013-12-22 19:48
0
雪    币: 4759
活跃值: (3334)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
11
多谢 又长见识了
2013-12-23 18:59
0
雪    币: 284
活跃值: (3619)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
12
协议驱动----------------->小端口驱动
协议驱动---------X-------->小端口驱动
协议驱动---------中间层驱动-------->小端口驱动

类似于“中间人”,欺上瞒下,由NDIS负责插入。
2013-12-23 20:29
0
雪    币: 7
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
为什么不能呢?我这里确实无法抓3G上网卡的包,都安装不上。
2014-10-22 14:10
0
雪    币: 67
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
hook容易搞坏系统么?
2014-10-27 18:25
0
游客
登录 | 注册 方可回帖
返回
//