首页
社区
课程
招聘
[求助]win7下找不到名称为\Device\Tcp的句柄
发表于: 2011-12-27 18:12 9177

[求助]win7下找不到名称为\Device\Tcp的句柄

2011-12-27 18:12
9177
我先使用ZwQuerySystemInformation(SystemHandleInformation)获取当前系统的所有句柄,然后再对句柄进行逐一扫描,比如我
在任务管理器里看见chrome.exe的pid是1112、 2142,那么我就在循环的时候只关注pid是1112 和2142的句柄信息,然后依次使用
NtDuplicateObject,  ZwQueryObject 得到了句柄对象的名称,但是为什么尽是\Device\NetBT_Tcpip。。。这样的名称,没有看到
我想要的\Device\Tcp 或者\Device\Udp ?但是如果我直接用zwopenfile打开 \Device\Tcp的话是可以得到相应的句柄的,然后查询后得到
的名称也是"\Device\Tcp"。我想问的是chrome.exe打开的名称为\Device\Tcp的句柄到哪儿去了,没显示出来?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 244
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
VISTA 之后的网络模块都变了,貌似没有 \Device\TCP 和 \Device\UDP 了
2012-2-27 12:20
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
原来的TCP设备对象,没有记错的话是由驱动tcpip.sys创建的,Vista之后微软引入了Windows Next Generation TCP/IP stack的概念,把ipv4与v6整合在一起,双栈合一,由tcpip.sys实现。

但是为了兼容原来的TDI应用,Vista之后多出了一个tdx的为了兼容的驱动,由tdx创建\device\tcp等设备。
本来tdi这个过滤层就是微软很头疼,想废弃掉的一层,tdx又是为了兼容tdi client产生的,如果一个client不去使用这些旧接口,也是可以说得过去。
楼主的具体问题不是很清楚,希望这些能帮上忙。

PS:
kd> !drvobj tdx  
Driver object (861d9478) is for:  
\Driver\tdx  
Driver Extension List: (id , addr)  
Device Object list:  
861db310 861db440 861d8440 861d03e8
861cd440 861d2318 861d9350
lkd> !devobj 861cd440
Device object (861cd440) is for:  
Tcp6 \Driver\tdx DriverObject 861d9478
Current Irp 00000000 RefCount 7 Type 00000012 Flags 00000050
Dacl 8b1bc54c DevExt 861cd4f8 DevObjExt 861cd500
ExtensionFlags (0x00000800)  
Unknown flags 0x00000800
Device queue is not busy.  
lkd> !devobj 861db440
Device object (861db440) is for:  
RawIp \Driver\tdx DriverObject 861d9478
Current Irp 00000000 RefCount 0 Type 00000012 Flags 00000050
Dacl 8b1bc54c DevExt 861db4f8 DevObjExt 861db500
ExtensionFlags (0x00000800)  
Unknown flags 0x00000800
Device queue is not busy.  
lkd> !devobj 861d8440
Device object (861d8440) is for:  
Udp6 \Driver\tdx DriverObject 861d9478
Current Irp 00000000 RefCount 0 Type 00000012 Flags 00000050
Dacl 8b1bc54c DevExt 861d84f8 DevObjExt 861d8500
ExtensionFlags (0x00000800)  
Unknown flags 0x00000800
Device queue is not busy.  
lkd> !devobj 861d03e8
Device object (861d03e8) is for:  
Udp \Driver\tdx DriverObject 861d9478
Current Irp 00000000 RefCount 6 Type 00000012 Flags 00000050
Dacl 8b1bc54c DevExt 861d04a0 DevObjExt 861d04a8
ExtensionFlags (0x00000800)  
Unknown flags 0x00000800
Device queue is not busy.  
lkd> !devobj 861cd440
Device object (861cd440) is for:  
Tcp6 \Driver\tdx DriverObject 861d9478
Current Irp 00000000 RefCount 7 Type 00000012 Flags 00000050
Dacl 8b1bc54c DevExt 861cd4f8 DevObjExt 861cd500
ExtensionFlags (0x00000800)  
Unknown flags 0x00000800
Device queue is not busy.  
lkd> !devobj 861d2318
Device object (861d2318) is for:  
Tcp \Driver\tdx DriverObject 861d9478
Current Irp 00000000 RefCount 167 Type 00000012 Flags 00000050
Dacl 8b1bc54c DevExt 861d23d0 DevObjExt 861d23d8
ExtensionFlags (0x00000800)  
Unknown flags 0x00000800
Device queue is not busy.  
lkd> !devobj 861d9350
Device object (861d9350) is for:  
Tdx \Driver\tdx DriverObject 861d9478
Current Irp 00000000 RefCount 0 Type 00000021 Flags 00000050
Dacl 8b0649a8 DevExt 00000000 DevObjExt 861d9408
ExtensionFlags (0x00000800)  
Unknown flags 0x00000800
Device queue is not busy.
2012-2-28 01:30
0
雪    币: 274
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
分析的很详细呀!
2012-2-28 09:43
0
雪    币: 14
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
afd (Ancillary Function Driver)
2012-2-29 13:18
0
雪    币: 107
活跃值: (404)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这个要给一个"回复精华"...呵呵
2012-2-29 13:36
0
游客
登录 | 注册 方可回帖
返回
//