问题标签 [titanium-web-proxy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
303 浏览

c# - 如何使用钛网络代理调试 ntml 身份验证

我正在设置 ac# 代理,它使用运行代理的用户凭据对所有 http 协商请求进行身份验证。可悲的是,使用钛网络代理我无法通过 NTML / NTMLV2 进行身份验证。

关于 github 存储库,此功能应该开箱即用(设置 EnableWinAuth = true 时)。

调试代码并通过wireshark检查通信后,我认为流量看起来还不错。代理正在使用 secur32.dll 获取 type1 和 type2 消息令牌。因为我能够在没有代理的情况下对网站进行身份验证(浏览器也使用 secur32.dll),所以我确信指定的 ntml 协议是有效的。

  1. 代理向托管受保护站点的 Web 服务器发送 type1 消息。(检查 type1 消息时,域/工作站名称是正确的)
  2. Web 服务器将 type2 消息发送到代理
  3. 代理能够从 type2 消息生成 type3 消息并将其发送到服务器(type3 消息包含正确的用户名)
  4. Web 服务器返回 401 未授权

在启用 iis 功能来跟踪失败的请求后,我发现 Web 服务器拒绝了带有 ErrorCode 的令牌 =“提供给函数的令牌无效 (0x80090308)”

我还尝试对本地 iis、远程 iis 上的网站进行身份验证,并在不同的工作站上运行代理。

将本地网络安全策略更改为不同的 ntml 协议也不起作用。

您知道如何进一步调查此案吗?

0 投票
1 回答
1472 浏览

c# - 在钛网络代理中使用自定义 SSL 证书

我已将 Titanium Web 代理用于 Windows 窗体应用程序,并在那里拦截 https 流量并对其进行更新。我第一次使用钛根证书,效果很好。
当我尝试使用自定义 ssl 证书时,如下所示

但我无法解密 https 流量,它说

如何在 Titan -web 代理中使用自定义 ssl 证书解密 https 流量。

0 投票
1 回答
301 浏览

c# - How to get request payload using Titanium Web Proxy in C#?

I'm using Titanium Web proxy to monitor requests and responses but I can't find out how get the payload data of requests. Here is my function that takes the request object and pulls the data I need from it.

I'm able to pull and save the body, method type, headers, and url but I don't know how to get the payload data being sent out like when I'm logging into an account and submit the login form. Any and all help is appreciated, Thanks.

0 投票
1 回答
888 浏览

c# - Titanium Web 代理 - 无法修改请求正文

我遇到了 Titanium Web 代理的问题。我想要的是在浏览器中加载某些网站之前更改它们的内容。我已经实现了一切,并且工作正常,减去了不断变化的内容部分。这是代码的那一部分:

这几乎就是我从 Titanium Web Proxy Github 得到的例子。但是,尽管它正确加载了网站,但此代码永远不会到达 ""\n\n\n\n\n\n\nTesting\n\n\n\n\n\n"。

我尝试为该网站添加阻止功能,就像对谷歌一样,它可以正常工作并阻止它。

有谁知道可能是什么问题?我坚持了一段时间,所以任何帮助将不胜感激。

这个例子中没有实现内容改变,我只是想把内容看成字符串,然后尝试改变它。

0 投票
0 回答
136 浏览

c# - 无法使用 Titanium Web 代理拦截 PowerShell 远程流量

我想拦截 PowerShell 远程流量。我想使用 Titanium,因为我需要对请求进行一些中间处理。当我启动Titanium.Web.Proxy.Examples.Wpf应用程序时,开箱即用它会拦截所有浏览器流量,但不会拦截 PowerShell 远程(Enter-PSSession -ConnectionUri http://localhost:5985/WSMAN/...等)。我发现我可以使用 Fiddler 看到这个流量(需要一些调整),所以我知道流量可以被拦截。Titanium 需要做哪些“开箱即用”的事情?

编辑:

补充说明:

  • 我曾见过 Fiddler 曾经捕获过 WSMAN 流量,但由于未知的原因无法重现它。

  • 最终实现将在 C# 程序集中,使用RunspaceFactoryand WSManConnectionInfo,而不是 PowerShell 脚本;上面的Enter-PSSession命令仅用于说明目的。

  • 当 uri 被指定为http://127.0.0.1:5985/WSMAN并且不是为 指定ProxyAccessType的任何内容时,将引发以下异常: System.Management.Automation.Remoting.PSRemotingTransportException: 'Connecting to remote server 127.0.0.1 failed带有以下错误消息:WinRM 客户端无法处理该请求。指定 HTTP 传输时,设置代理信息无效。NoneWSManConnectionInfo

0 投票
1 回答
315 浏览

c# - 如何使用 Titanium-Web-Proxy 获得类似 AfterSessionComplete 的回调

我曾经使用另一个带有 C# 的代理服务器库来捕获 HTTP 请求,它只有一个AfterSessionComplete在整个请求/响应操作全部完成后触发的事件,您可以获得主机、路径和查询、请求和响应正文全部来自事件参数。但是,该库前一段时间停止维护,因此我正在考虑切换到Titanium-Web-Proxy,并且似乎有一个AfterResponse事件。这是我曾经测试过的:

它不起作用。HTTP 流量会随机阻塞:一些请求不会触发AfterResponse事件,在 Chrome DevTools 中显示为挂起并最终超时。即使向服务器发出请求,我也没有得到请求和响应正文,试图获取它们会触发异常,例如:

我也尝试过await GetRequestBodyAsString()await GetResponseBodyAsString()但仍然没有。在那个阶段我很困惑,我应该怎么做?我是否需要放弃AfterResponse并使用提供的其他活动?

0 投票
1 回答
1602 浏览

c# - 尝试钛网络代理解决方案

我们安装了 nuget Titan Web 代理,创建了一个窗口服务并启动了 Titan Web 代理。Windows 服务的工作、运行以及启动和停止时间被写入日志文件。但是当我用不同的浏览器打开一些页面时,网络代理应该捕捉互联网请求并提供它们,尽管没有发生此类事件并且没有记录任何内容。这是我们的代码:

0 投票
1 回答
195 浏览

c# - 在 c# 中使用 Titanium.Web.Proxy 重定向到另一个代理时出现问题

昨天,我用 Titanium.Web.Proxy 开始了一个非常简单的项目,用于测试 libray。它包括使用我的用户和我的通行证将所有请求重定向到我公司的代理。我被困在这里了。我能够收到来自 chrome 的所有请求(这很好!),但是将它们发送给公司的代理......这是另一回事。即使这是一个肮脏的解决方案,我也尝试处理库外部的请求以使用 SessionEventArgs.Respond 返回结果字节数组,但失败了。如前所述,这是一个肮脏的解决方案,完全在图书馆之外。所以,我的问题是:如何使用 Titanium.Web.Proxy 在上网之前将收到的请求重定向到另一个代理?

0 投票
1 回答
464 浏览

c# - Titanium Web 代理:如何仅针对一个特定域运行它

我尝试了 Titanium C# Web Prox,我对此非常满意。唯一的一点是要知道如何将 Web 代理配置为仅处理涉及特定域的 Web 流量,比如说 contoso.org。实际上,创建此自定义 Web 代理只是为了管理到该域的相关流量,而不必处理来自其他域的 Web 请求。

我看到一个 ExplicitEndpoint 已配置并应用于 Windows Internet 选项上的 SystemHttpsProxy,但我没有找到任何选项将其仅应用于我的域 contoso.org

  1. 有没有办法通过 Titanium 库上的 C# 配置来配置这种行为?
  2. 如果 C# 不可能,也许是另一种方式?我试图在 Internet Options 上处理 PAC 文件,但它似乎不起作用,也许我做错了。或任何其他解决方案?

非常感谢。

0 投票
1 回答
155 浏览

c# - Make Socks 5 需要用户名/密码认证吗?钛网络代理

用户如何连接到 SocksProxyEndPoint 必须验证用户名和密码。

我在最新版本的 Titanium Web 代理中读到了这一点,它允许在创建 SocksProxyEndPoint 时启用用户名密码身份验证。但是我不知道如何编写该代码,也找不到说明性示例,有人可以帮我这样做吗