![](/img/trans.png)
[英]Make Socks 5 requires username / password authentication? Titanium web proxy
[英]Connect to SOCKS proxy that requires authentication
我在我的項目中使用Fiddler Core,並通過不需要身份驗證的SOCKS代理成功路由請求。
oS["x-OverrideGateway"] = string.Format("socks={0}:{1}", ProxyHost, ProxyPort);
現在我正在嘗試連接到需要身份驗證的SOCKS代理。 根據這個非SOCKS指南,我嘗試添加以下內容: 使用CBT進行身份驗證 。
oS["X-AutoAuth"] = Auth;
Auth
是一個字符串,其中包含username:password
形式的憑據。 但是連接始終因Bad Gateway異常而失敗。 我已成功使用curl
連接到相同的SOCKS代理,並遵循其經過身份驗證的SOCKS代理的指導。
在X-AutoAuth
不起作用后,我反映了一些代碼,發現這種認證機制不用於SOCKS。
不幸的是,Fiddler(和FiddlerCore)目前還不支持SOCKS5。
但是,您可以通過https://fiddler.ideas.aha.io/申請 。
我們遇到了類似的問題並創建了一個NuGet庫 ,它可以幫助您將SOCKS v4流量“轉換”到SOCKS v5,我們還添加了身份驗證支持。
這個小例子展示了如何使用用戶名和密碼連接FiddlerCore和SOCKS5代理:
var localEndpoint = new IPEndPoint(IPAddress.Loopback, 4321);
var remoteEndpoint = new IPEndPoint(IPAddress.Parse("remote proxy IP"), 8080);
ISocksRelayServer relay = new SocksRelayServer.SocksRelayServer(localEndpoint, remoteEndpoint)
{
Username = "...",
Password = "..."
};
// Debug to console
relay.OnLogMessage += (sender, s) => Console.WriteLine($"OnLogMessage: {s}");
relay.OnLocalConnect += (sender, endpoint) => Console.WriteLine($"OnLocalConnect: {endpoint}");
relay.OnRemoteConnect += (sender, endpoint) => Console.WriteLine($"OnRemoteConnect: {endpoint}");
// Start relay server
relay.Start();
// Start FiddlerCore
FiddlerApplication.Startup(...);
// Set upstream gateway before requests
FiddlerApplication.BeforeRequest += session =>
{
session["x-OverrideGateway"] = relay.LocalEndPoint.ToString();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.