现在我的机器上网,希望别人的机器也能看到我正在看的网页,由于是在同一局域网,我的数据包他应该用SNIFFER之类的能截获到,可是在他的机器上如何把截获的我的数据包显示在他的机器的浏览器呢?请高手指教!!简单的说就是在一个机器上把另一个机器的网页的数据听到然后在显示在自己的窗口中?

解决方案 »

  1.   

    其实在网络呼叫中心中使用着一种叫网页推拉的技术。
    建议自己做浏览器,通过udp包将收到的http文本广播出去,别的浏览器收到这些数据后显示出来,链接(图片、音频、视频等)资源直接从服务器下载(这样就要求所有机器都可以上网)。
    上面是我的一点想法,希望能够交流,我觉得你的这个需求很不错,呵呵
      

  2.   

    alfwolf(戈壁孤狼) ,别的浏览器收到这些数据后显示出来,这其实是核心啊,我的意思就是这样,直接截获别的地址的数据包,然后在自己的机器上显示出来,这样不增加任何的网络负担,关键是怎么显示出来啊?自己的浏览器截面,用别人现成过来的数据怎么实现啊?
    网卡在开放状态,数据包应该能收到啊
      

  3.   

    晕,你用sniff 收到的只是数据而已,但要显示这些数据得有能显示的终端啊(如IE,outlook).
      

  4.   

    现在数据包可以截获,关键是浏览器内部接受数据的机制如何把别人的数据接受后显示在自己的浏览器里,关键是浏览器查看文件的运做机理,不太懂,因为从外部看,只是一个GET 文件的过程,可这个GET根本就没有,难道要把外边过来的数据包解好放到一个临时目录然后浏览器去看临时目录的文件?那过来的数据包如何拼装?不同目录的文件如何组织?有了解的吗?
      

  5.   

    不算难。局域网有个很大的好处就是支持UDP广播。思路:
    源机器上,写个程序取得当前IE窗口的句柄,定时取得其URL,将其广播出去。所有目标机器浏览一个特定的带两个frame的网页,其中一个frame宽度为1,内有一个ActiveX组件,监视网域网内的UDP广播,收到URL后就设下面的frame的URL为源机器的URL,于是所有目标机器都能看到你正在浏览的网页了。
    如果要进一步,你可以截取源机器上的键盘操作,再发给目标机器,由目标机器的ActiveX控制下面的页面还原出来。
    --完。
      

  6.   

    补充:
    老实说,我并不喜欢轮询这种低效率的操作。如果是我,我会干脆写个BHO组件,采用事件驱动,当IE窗口的URL改变时才广播URL。
    如果要连源机器发贴时敲的字符也要给目标机器们看到,你就可以写个钩子函数嘛。用不着截屏那么麻烦而特占带宽。
    另外,如果你浏览的是本机网页,你最好是安装个IIS。
      

  7.   

    icelight是高手啊!我水平不行啊!不过你的方法是把别人的网址发过来然后在自己的浏览器看,我的意思是直接截取网上过来的数据就显示出来啊
      

  8.   

    非常同意 icelight(给我一个接口,我能驱动地球……………仪) 的观点
      

  9.   

    可以用FindFirstUrlCacheEntry/FindNextUrlCacheEntry找到叶面对应的缓存文件,然后把下载到缓存的叶面通过网络传输到目标计算机,在目标计算机浏览到同一网址之前用CommitUrlCacheEntry/CreateUrlCacheEntry创建缓存项