亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過 Socks4/5 代理 .NET

通過 Socks4/5 代理 .NET

C#
MMTTMM 2022-12-31 13:31:51
因此,我正在編寫一些代碼并引入第 3 方項目以實現一組特定的功能。即,與 AD 對話,獲取 kerberos 票證,如果向程序提供用戶名/密碼,則進行用戶模擬等。我遇到的問題是,其中許多東西都依賴于 Windows 內核庫(netapi.dll、win32.dll 等)。我也需要能夠運行這個 Linux。所以我嘗試了 .NET 核心。好吧,作為核心,我一直無法找到這些庫的替代品,當然 WINE 也不適合它們。所以我只剩下一個選擇。襪子代理。那么我究竟如何才能通過 socks4 或 socks5 代理來代理整個應用程序(控制臺應用程序)。PS,我不是在說 HTTP。示例如下(只是一個簡單的 AD 查找):public void PrintAllUsers()        {            Console.WriteLine("[+] Domain Users");            Console.WriteLine("-----------------");            GroupPrincipal gp = GetGroup("Domain Users");            Console.WriteLine("[+] Count (" + gp.Members.Count + ")");            foreach (Principal pc in gp.Members)            {                if (pc.StructuralObjectClass.ToLower() == "user")                {                    PrintUserData(pc as UserPrincipal);                }                if (pc.StructuralObjectClass.ToLower() == "computer")                {                    PrintComputerData(pc as ComputerPrincipal);                }            }            Console.WriteLine("-----------------");        }
查看完整描述

2 回答

?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

不幸的是,.NET Core 本身支持 SOCKS 代理,無論是 4 還是 5,它只支持HTTP 代理。

然而,有一個開源庫可以為您的應用程序添加 SOCKS5 代理支持。試試這個:https ://github.com/MihaZupan/HttpToSocks5Proxy

結合以上兩種方法,您的應用程序應該能夠通過 SOCKS5 代理訪問 Internet 資源。


查看完整回答
反對 回復 2022-12-31
?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

現在 .NET 6 支持 SOCKS 代理(在這里回答):

var proxy = new WebProxy

{

    Address = new Uri("socks5://localhost:8080")

};

//proxy.Credentials = new NetworkCredential(); //Used to set Proxy logins. 

var handler = new HttpClientHandler

{

    Proxy = proxy

};

var httpClient = new HttpClient(handler);

或者當你可以注入 IHttpClientFactory 并想HttpClient使用它創建實例時:


Services.AddHttpClient("WithProxy")

    .ConfigurePrimaryHttpMessageHandler(() =>

    {

        var proxy = new WebProxy

        {

            Address = new Uri("socks5://localhost:8080")

        };

        return new HttpClientHandler

        {

            Proxy = proxy

        };

    });

當你注入IHttpClientFactory對象時:


httpClient = httpClientFactory.CreateClient("WithProxy");


查看完整回答
反對 回復 2022-12-31
  • 2 回答
  • 0 關注
  • 169 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號