淘客熙熙

主题:请大家帮忙参考一下:这样的跨平台客户软件如何实现? -- kingcu

共:💬41 🌺7 新:
全看分页树展 · 主题 跟帖
家园 【讨论】我的一点想法

1、Windows下使用winpcap,*nix下使用libpcap,winpcap和libpcap比较相似,跨平台代码写起来比较容易实现,也都支持64bit。缺点是可以获得系统所有的交换数据包,需要自己解析http协议。

2、利用proxy module,编写一个proxy module,监控的时候将浏览器的代理指向proxy module。这个方法可以准确的获得HTTP数据包,跨平台也可以比较方便的实现,主要在使用socket库时需要做一下操作系统的判断。但是要针对不同浏览器做个插件在进程启动过程中控制代理服务器的设置。

3、利用hook,hook掉浏览器进程的send/recv函数,这个方法不是太正规,但是省掉了设置浏览器的代理服务器。跨平台差一些,hook引擎基本上一个平台一套了。

基本上方法就是这些,获得数据包的方法不是太麻烦,如果只是记录访问的url,开发起来就简单许多。六个月是可以完成第一个版本。最麻烦的可能是做界面的部分。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河