我靠,楼上的简直是·*#!%¥*!你的想法很好,但很多地方不正确!
1、用API得到需要监听的进程的句柄; 
2、用api截取这个进程的消息(数据接收和发达这部分);  这个VB根本做不到(或者说很难!而且,你如何得到对方的Socket句柄?特别是对于同步通信的TCP/IP协议,你根本没有机会!因为那样根本不需要消息。)既然如此,以后的就没有必要讨论了。真正的包监听是用的低层的中断调用,用驱动实现的(VXD/WDM)。
高级一点的办法是用自己写的DLL替换wsock32.dll,这样拦截所有的包。

解决方案 »

  1.   

    谢谢各位朋友指点。惨啊惨不忍睹。感谢Chice_wxg,分给你了。
      

  2.   

    对了,我又想到一个思路。既然我内应不成,那我就将它从外面包起来。就是我写一个sock代理转发的程序,这样所有的数据包都经过代理程序转发,这样就可以截到数据包。但这种程序如何下手,我又不知道了,唉,本人基础较差,想得到,做不到。还请各位高手指点一下,如何入手!在此感谢不尽!:)
      

  3.   

    Sock代理简单,不过需要对方程序支持。 
    只要找SOck5代理协议就可以了。