我想开发一个c ++应用程序,它将列出所有访问的url及其在pc内的响应时间。这可能对用户来说是透明的,所以这将是一个DLL。
任何人都可以在这个问题上给我一些示例代码或教程。 或任何提示和建议?!..
非常感谢:))
答案 0 :(得分:0)
您应该查看fiddler插件。这不是一项微不足道的工作。您需要执行依赖注入来捕获wininet调用。即便如此,并非所有应用程序都使用高级别的Windows API来启动连接。由于并非所有TCP调用都是简单的Web请求,因此建立TCP连接的应用程序可能会持续很长时间。
答案 1 :(得分:0)
正如拜伦所说,这是一项非常重要的工作。您可以使用在Windows上安装了http://sourceforge.net/projects/libpcap/的libpcap http://www.winpcap.org/来完成此操作。使用libpcap的教程已经存在,你需要学会过滤除http / https流量之外的所有内容,尽管一旦你进入那个阶段,它应该不会太难。首先尝试http://yuba.stanford.edu/~casado/pcap/section1.html或http://systhread.net/texts/200805lpcap1.php。这两个教程看起来都很合理。
我也觉得我应该指出“对用户透明”和“dll”不是等同的想法。 DLL是一组独立于应用程序的库函数,可供许多应用程序使用 - 请参阅http://en.wikipedia.org/wiki/Dynamic-link_library。如果运行“标准”可执行文件(即以.exe结尾的文件),对用户仍然是透明的,例如,作为Windows服务,可能更符合您的要求。