找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 7417|回复: 6

请问如何通过HOOK得到IIS的远程IP[在看雪无人能回答,希望....

[复制链接]

2

主题

72

回帖

0

精华

银牌会员

积分
597
发表于 2012-12-24 08:28:34 | 显示全部楼层 |阅读模式
IIS是通过inetinfo.exe进程运行的,开放了80端口。现在我需要通过HOOK的手段获取到连接到IIS的远程客户的IP地址,我尝试HOOK了WSAAccept和AcceptEx(注:使用的是EASYHOOK库),通过XUETR看到都HOOK成功了的,但是在访问80端口时,却没有得到IP地址,通过调试发现根本就没有进入我自定义的这两个API函数,也就是说IIS下似乎没有使用这两个API来接受远程用户连接。请问究竟应该HOOK哪个API才能得到IP呢?
注:
1.我通过HOOK WSARecv倒是能HOOK到数据,可是得到的IP却是0.0.0.0,貌似是这东西异步的,调用完就关闭SOCKET了,所以根本拿不到。但是我认为我是在调用真实的WSARecv之前拦截的API,按理等我处理完了再继续执行WSARecv才对的啊,所以说应该还没有关闭SOCKET的啊。看来还是只能通过建立连接的API拿IP
2.我想要的是通过RING3来HOOK,不是RING0
3.有网友提示说HOOK WSAIoctl这个函数,可是我试过还是不行
听说IOCP貌似都是通过内核实现的,不需要用应用层的函数么?有大牛能指教下么?

2

主题

51

回帖

0

精华

银牌会员

积分
540
发表于 2012-12-24 09:13:07 | 显示全部楼层
枚举当前的TCP链接就可以吧

2

主题

72

回帖

0

精华

银牌会员

积分
597
 楼主| 发表于 2012-12-24 12:06:28 | 显示全部楼层
枚举TCP连接是一种办法,但是我的业务需要用HOOK的方式获取到

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2012-12-24 14:00:02 | 显示全部楼层
dico 发表于 2012-12-24 12:06
枚举TCP连接是一种办法,但是我的业务需要用HOOK的方式获取到


同楼上,枚举TDP连接,然后根据PID找出相应的进程即可:http://www.m5home.com/bbs/thread-6655-1-1.html
如果你非要用什么HOOK方法,我只能说你是闲着蛋疼。但也不是不行,你只要Hook NtDeviceIoControlFile,就能找到你想要的信息。

2

主题

72

回帖

0

精华

银牌会员

积分
597
 楼主| 发表于 2012-12-24 16:02:07 | 显示全部楼层
请问Hook NtDeviceIoControlFile是需R0么?R3能HOOK么?
我不是闲,是因为我要在我指定的IP连接上后立刻能响应并对该套接字做处理,通过TCP列举达不到我的要求

2

主题

51

回帖

0

精华

银牌会员

积分
540
发表于 2012-12-25 08:41:38 | 显示全部楼层
R3也可以hook NtDeviceIoControlFile ,google 一下能看到很多相关帖子

2

主题

72

回帖

0

精华

银牌会员

积分
597
 楼主| 发表于 2012-12-26 08:04:29 | 显示全部楼层
sanyoo 发表于 2012-12-25 08:41
R3也可以hook NtDeviceIoControlFile ,google 一下能看到很多相关帖子

好的,我去网上找找,谢谢你了
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表