我想开发一个 c++ 应用程序,它会列出所有访问的 url 及其在 pc 中的响应时间。这可能对用户是透明的,所以它是一个 dll。
谁能给我一些关于上述问题的示例代码或教程。或任何提示和建议?!..
多谢:))
你应该看看提琴手插件。这不是一个简单的练习。您需要进行依赖注入来捕获 wininet 调用。即便如此,并非所有应用程序都使用高级 windows api 来启动连接。建立 TCP 连接的应用程序可能会持续很长时间,因为并非所有 TCP 调用都是简单的 Web 请求。
正如拜伦所说,这是一个不平凡的练习。您可以使用 libpcap http://sourceforge.net/projects/libpcap/在 Windows上安装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 服务,这可能更符合您的要求。