3

我已经为此工作了一段时间 - 我正在构建一个模块,该模块需要捕获进出主机的 HTTP/HTTPS 流量。我最初选择的语言是 Java,我可以执行以下操作:

  1. 使用 LittleProxy 创建代理服务器
  2. 修改我的浏览器设置以使用我创建的代理
  3. 在浏览器上执行交易,以便我的代理可以记录它们。

这工作正常,除了以下问题:

  1. 对于使用我的应用程序的人来说,这会产生额外的手动开销来手动设置浏览器上的代理详细信息(尽管这可以通过更改浏览器设置和启动的代码来完成)。
  2. 我的应用程序只能记录来自指向代理的特定浏览器的交易。

我想以消除用户开销的方式增强此模块。类似于 Wireshark、Fiddler 和 LoadRunner (VuGen)。我的问题是,他们是怎么做到的?他们是否还在幕后的某个地方运行代理?还是他们从网络、操作系统或其他层嗅探 HTTP 流量?

所以准确地说,我有以下问题:

  1. 创建代理是捕获 HTTP 请求的唯一方法吗?
  2. 我可以从操作系统级别(没有代理)跟踪请求/响应吗?如果是,那么 Java 是否足够好,还是我应该倾向于 .NET(C# 之类的)?
  3. 如果代理是唯一的方法,我可以利用 Fiddler 或 Wireshark 吗?他们是否有我可以合并到我的代码中的 API?(我没有在他们的文档中看到任何东西——可能我看起来不够努力)

任何信息都会帮助我找到方向。请帮忙!

谢谢,斯里拉姆斯里达兰

4

0 回答 0