监听SOCKET问题
在一个程序里有个SOCKET并且已经连接到服务端。(已知SOCKET的句柄和服务端的IP,PORT)
这时能够监听这个SOCKET发送/接收的内容么?如果能怎么做?
请不吝赐教!
[解决办法]
好像用SOCK_RAW、IPPROTO_RAW 两个参数吧
如果是你自己写的话,应该可以知道发送接收的内容
[解决办法]
首先,你得到的句柄是没有意义的,这个句柄(比如是数值100)仅在那个进程是有效的。其实,你可以用netstat命令找到那个进程正在绑定的端口号,然后写原始套接字,就可以得到那个进程的那个端口收到的包。但发送的无法得到。
这是简单的方法。
如果要得到收发的全部内容,你就要将线程注入到那个线程里,并且对收包和发报的socket API加钩子,比如,对 WSASend 函数加钩子,这样你就可以得到调用此函数时所压栈的参数。