关于网上的一段用APIHOOK做的数据包拦截,原理是找到winsock 中send和Recv 地址来回替换,send和recv是封包发送,接受的函数,其中参数,buf为其中的数据封包,就是本段程序要的,自己定义myseng和myrecv来替换。
不知道你种方法是对本机所有通讯数据包的拦截,还是只对某个进程的数据包的拦截?
还有当进入自己写的接收或发送函数后,怎么分析数据包的类型\目标地址\等一些信息?并请说明 Send(s: TSocket; var Buf; len, flags: Integer)函数的参数的含义.
先谢谢大家的帮忙!

解决方案 »

  1.   

    有源代码就好了。。
    主要是我看不懂别人用delphi写的,不知道用钩子是拦截一个应用程序通讯的数据包还是所有经过本机的数据包。。请高手指点。。
    要是只截获一个应用程序的数据包,那我如何截获IE的呢?
      

  2.   

    那个dll只是针对某个进程来截获的,而且只可以截获到该进程send发出的数据包,对recv接收的数据包截获不成功。
    Send(s: TSocket; var Buf; len, flags: Integer)函数的参数的含义.
    s:套接字,也就是截获的端口
    Buf:发送缓冲区数据
    Flags:数据长度