leeyuejun
驱动牛犊
驱动牛犊
  • 注册日期2003-02-27
  • 最后登录2005-01-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2163回复:11

NDIS IMD驱动中如何知道 通信包 属于哪一个进程(线程)的?

楼主#
更多 发布于:2003-10-09 13:25
请教各位大虾:

NDIS IMD驱动中如何知道 通信包 属于哪一个进程(线程)的?

谢谢

小虾米!

[编辑 -  10/9/03 by  leeyuejun]

最新喜欢:

hunterforpighunter...
流浪的小孩
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-11 17:28
运行在任意进程上下文中:)
放弃瘟草,现吃李草
Flstar
驱动牛犊
驱动牛犊
  • 注册日期2002-11-03
  • 最后登录2005-01-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-13 12:40
请教各位大虾:

NDIS IMD驱动中如何知道 通信包 属于哪一个进程(线程)的?

谢谢

小虾米!

[编辑 -  10/9/03 by  leeyuejun]

关注!
leeyuejun
驱动牛犊
驱动牛犊
  • 注册日期2003-02-27
  • 最后登录2005-01-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-10-13 15:08
运行在任意进程上下文中:)


请大虾说详细一点好么,不是很明白! 谢谢!
流浪的小孩
ljjlovernet
驱动小牛
驱动小牛
  • 注册日期2003-10-10
  • 最后登录2004-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-10-13 21:05
那应该是在驱动的层次上。在数据联接层上,以上的五个层之下。是微软自己定义的一个层次。所以和应用程序进程没关系。只属于自己的驱动程序进程。他处理所有上下层所有数据,不做区分。应用程序进程是由socket在imd上层封装好的,属于session层。不过你可以由tcp或者udp的端口数据段上区分和进程的关系
我是来学习的。不打扫卫生
leeyuejun
驱动牛犊
驱动牛犊
  • 注册日期2003-02-27
  • 最后登录2005-01-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-10-14 15:47
我看到防火墙如 ZoneAlarm 可以列举出
有程序如ping.exe 想访问网络,你是否允许,此时是不是没有
应用的端口,枚举应用层的网络端口不是就看不到是谁想访问网络了?
作为使用了NDIS IMD的防火墙,该如何解决?
流浪的小孩
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-10-14 16:02
我看到防火墙如 ZoneAlarm 可以列举出
有程序如ping.exe 想访问网络,你是否允许,此时是不是没有
应用的端口,枚举应用层的网络端口不是就看不到是谁想访问网络了?
作为使用了NDIS IMD的防火墙,该如何解决?
 


这个不是在imd里面解决的,是在tdi里面。
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
ljjlovernet
驱动小牛
驱动小牛
  • 注册日期2003-10-10
  • 最后登录2004-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-10-14 16:07
im层防火墙我看只是针对网络数据包的。直接处理包就可以了。用来做对于应用程序透明的驱动防火墙倒是很合适,如果你想限制应用程序访问网络就直接用hook。希望大家多给些好的意见。还有如果是ping那就很容易确定了,icmp包吗,呵呵。
我是来学习的。不打扫卫生
monkeyy
驱动中牛
驱动中牛
  • 注册日期2001-12-06
  • 最后登录2010-10-10
  • 粉丝0
  • 关注0
  • 积分315分
  • 威望84点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-10-14 19:35
im层防火墙我看只是针对网络数据包的。直接处理包就可以了。用来做对于应用程序透明的驱动防火墙倒是很合适,如果你想限制应用程序访问网络就直接用hook。希望大家多给些好的意见。还有如果是ping那就很容易确定了,icmp包吗,呵呵。
没有听懂你在说些什么,透明的驱动防火墙是什么意思?想限制使用网络就要HOOK,这又是什么逻辑?在IMD中确实可以使用PsGetCurrentProcess()拿到一个进程,但是这个进程和协议驱动中的进程已经没有任何的上下文关系了,因此你自己都不知道你拿到的是什么,所以也就不能使用了!
听说老虎会吃人,所以从没想过去摸老虎的屁股。:( :(
ljjlovernet
驱动小牛
驱动小牛
  • 注册日期2003-10-10
  • 最后登录2004-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-10-15 09:30
不还是不能区分进程吗。我是我不能区分进程。透明没啥特别的意思,就是用户可以什么也不用管,什么也不需要自己配制了,呵。。说的好像太理想化了
我是来学习的。不打扫卫生
Dino
驱动牛犊
驱动牛犊
  • 注册日期2001-08-07
  • 最后登录2007-01-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-10-15 11:27
应该做个TDI Filter,可能比较合适。
Death is only the beginning
lixiangying
驱动牛犊
驱动牛犊
  • 注册日期2002-05-03
  • 最后登录2007-09-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-10-15 16:00
在应用层可以做,用psapi + iphlpapi,不过仅适用于xp or later.
这样可以看到哪个进程访问了哪个IP与端口。

[编辑 -  10/15/03 by  lixiangying]
游客

返回顶部