|
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貌似都是通过内核实现的,不需要用应用层的函数么?有大牛能指教下么? |
|