首页
社区
课程
招聘
[求助]求大神告诉我如何获得其他进程中的套接字描述符(句柄)
发表于: 2015-7-9 08:20 5838

[求助]求大神告诉我如何获得其他进程中的套接字描述符(句柄)

2015-7-9 08:20
5838
求大神告诉我如何获得其他进程中的套接字描述符(句柄)
我用netstat 命令找到了进程的IP地址和端口号,请问如何找套接字描述符?或者有其他方法能找到其他进程里的套接字描述符吗?(注意不是找本进程的套接字描述符)。

这个netstat命令有没有直接获得套接字描述符的命令?

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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 345
活跃值: (57)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
EPROCESS里有个对象表!你说的句柄就是里面的索引
2015-7-9 10:19
0
雪    币: 52
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
其实就是文件句柄
2015-7-9 10:34
0
雪    币: 209
活跃值: (143)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
1、找到目标进程,用PROCESS_DUP_HANDLE权限打开目标进程

2、从0开始试图复制句柄,句柄值每次递增4

3、复制成功后调用getsockname,如果成功则打印出套接字信息,并关闭

4、复制成功后调用getsockname失败的,用CloseHandle关闭

套接字一般就是个数字,如果不是太多的话,数值就不会太大,可以用这个笨办法枚举。

也可用ZwQuerySystemInformation获取系统句柄的列表,逐个复制像套接字的句柄。
2015-7-9 13:48
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我在A进程打开B进程,复制句柄到A,在A里面调用getsockname函数。获得的是那个进程里的信息?
2015-7-9 15:05
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
如何获得这个对象表哪?
2015-7-9 15:06
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
这里我补充下楼上的,用 DuplicateHandle 复制套节字句柄不能用来查询ip地址
You should not use DuplicateHandle to duplicate handles to the following objects:
Sockets. No error is returned, but the duplicate handle may not be recognized by Winsock at the target process.
To duplicate a socket handle, use the WSADuplicateSocket function.
最后于 2019-10-30 10:09 被wx_nking编辑 ,原因:
2019-10-30 10:01
0
游客
登录 | 注册 方可回帖
返回
//