c++ - 如何捕获来自某些进程的所有 HTTP 请求?

标签 c++ windows delphi http monitoring

我搜索过这个,我开始了解 WinPCap,但我仍然没有得到我需要的答案。 WinPCap 可以监控数据包,并且似乎不跟踪进程(我对此了解不多)。

我希望我的应用程序监听来自特定进程(通常来 self 稍后定义的浏览器)的每个 HTTP 请求,并在必要时修改它们。

我的应用程序最初是用 Delphi 编写的,但使用 C++ 的任何帮助也很棒。 谁能帮我解决这个问题?

编辑 1:当然我不指望你一定要根据 winPcap 给我一个答案!

最佳答案

WinPCap 允许您访问每个捕获数据包的源和目标 IP/端口对。您可以迭代操作系统的 TCP 表(在 Windows 上,您可以使用 GetTcpTable2()GetTcp6Table2() )来查找这些对,当您找到匹配项时,您将知道拥有该连接的进程 ID。从该 ID 中,您可以从操作系统中提取有关该进程的更多信息(文件名等)。

关于c++ - 如何捕获来自某些进程的所有 HTTP 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18153310/

相关文章:

delphi - GetMem x ReallocMem

delphi - 如何在Delphi中设计一个单一的界面来保存不同的Collections?

c++ - 在 block 之间存在间隙的 block 中存在键的情况下使用什么数据结构?

c++ - 使用模板生成 const 和 non-const 相同的方法?

c++ - 如何在 Windows 中以编程方式查找动态加载的模块(静态模块)

c# - 位于 linux 服务器上的 PHP 代码需要运行 windows .exe

delphi - 将 ISO 3166-1 alpha-2 国家/地区代码转换为本地化的国家/地区名称

c++ - 是否有针对 32 位可执行文件的具有修改和重组功能的反汇编程序?

c++ - boost::asio::socket keep alive set_option 异常

python - 使用 pyppeteer 连接到现有的 chrome