【问题标题】:How to detect the presence of a HTTP proxy in Node.js?如何检测 Node.js 中是否存在 HTTP 代理?
【发布时间】:2019-05-21 03:28:35
【问题描述】:

我希望能够检测到此类程序/代理何时在 Node.js 上的计算机(例如 Fiddler 或 Charles)上打开。

这些程序是否会更改您的本地 IP 地址,而我只需要检测它吗?如果是这种情况,我不确定我应该使用什么合适的包。谢谢。

谢谢

【问题讨论】:

    标签: javascript node.js fiddler http-proxy charles-proxy


    【解决方案1】:

    如果是 Charles Proxy 或 Fiddler,它们会在本地机器上运行并且拦截是透明的 - 因此 IP 既不会改变,也不会添加 HTTP 标头来显示它们的存在。由于这些工具用于安全测试,因此发布它们的存在对它们来说是有害的,因为被测软件可以检测到它们并表现出不同的行为。

    不过,像 Squid 或负载平衡器设置这样的普通 Web 代理应该添加以下 HTTP 标头之一:

    • Via 例如Via: 1.1 vegur
    • X-Forwarded-For 例如X-Forwarded-For: 192.168.1.10

    因此,对于 Charles 或 Fiddler 等本地 MITM 代理,您将无法检测到它们的存在,但常规代理应该通过一些 HTTP 标头让自己知道。

    【讨论】:

      猜你喜欢
      • 2015-05-24
      • 1970-01-01
      • 2011-11-22
      • 1970-01-01
      • 1970-01-01
      • 2013-08-22
      • 1970-01-01
      • 1970-01-01
      • 2019-09-28
      相关资源
      最近更新 更多