【问题标题】:How to capture HTTP traffic from a Lua process on Windows?如何从 Windows 上的 Lua 进程捕获 HTTP 流量?
【发布时间】:2016-07-01 12:08:23
【问题描述】:

我正在尝试通过 Fiddler 通过代理配置从 Windows 7 上的进程中捕获 HTTP 流量。该进程是一个第三方可执行文件,我发现它引用了 Lua5.1.dll 并且是一个 64 位进程。它也已作为 Windows 服务安装。

该进程正在向同一台机器上的不同进程发送 HTTP GET 请求,但我似乎无法在 Fiddler 中捕获这些请求。

我尝试通过 netsh.exe winhttp 配置代理,但这也不起作用。源自此进程的 HTTP 请求是否以某种方式不使用 WinHTTP 而是使用其他东西?

谢谢

【问题讨论】:

    标签: windows networking proxy lua fiddler


    【解决方案1】:

    你必须了解如何为 Lua 可执行文件设置代理。

    但请记住,即使将 Lua 可执行文件设置为尊重 WinHTTP/WinINET 代理设置,这些设置也是针对每个用户的,并且您的服务可能不会在您的用户帐户下运行。因此,首先要尝试将服务用户帐户的 WinINET 代理更改为 Fiddler 并重新启动服务。

    您还可以将 Fiddler 配置为反向代理,并将入站流量捕获到获取 GET 请求的本地进程。这样做可能更简单。这是一个如何 - http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy

    【讨论】:

    • 非常感谢,我尝试通过为用户帐户设置 WinHTTP/WinINET 代理来配置发送过程的代理,但 Fiddler 中没有显示任何内容。我的印象是 HTTP 客户端可能是 WinSock 之上的自定义实现,这是否意味着我不走运? WireShark 是否能够在该实例中捕获 HTTP 流量?接收进程是 Ubuntu 来宾 VM 上的 Apache2 Web 服务器。我将研究反向代理配置,我不知道它是如何工作的,我在这里有点超出我的深度:)。
    • 客户端不关心WinINET代理配置是绝对有可能的。也有可能根本无法配置为使用代理。
    • 反向代理没有什么复杂的。 Fiddler 在您的接收进程现在运行的机器/端口上运行(或者如果您可以将客户端配置为使用不同的请求 URL,则在不同的机器/端口上运行)。所以 Fiddler 得到了客户端的所有请求。 Fiddler 然后将这些重定向到在另一台机器/端口上运行的实际 Apache2。因此 Fiddler 看到了 Apache2 的传入流量。
    猜你喜欢
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多