ホームページ > バックエンド開発 > Golang > http プロキシ トンネル経由で Client Hello を送信する方法

http プロキシ トンネル経由で Client Hello を送信する方法

王林
リリース: 2024-02-12 18:06:15
転載
498 人が閲覧しました

如何通过 http 代理隧道发送 Client Hello

質問の内容

バックエンド サービスへの TLS 接続を確立するクライアントがあります。

私が遭遇した状況は 2 つあります。

  1. 直接ネットワーク: クライアント--->サーバー

    この環境では、次のコードに示すように、クライアントはサーバーに直接接続します。

リーリー
  1. プロキシ ネットワーク: クライアント--->プロキシ--->サーバー

    この環境では、クライアントは http プロキシの背後にあり、クライアントとサーバーの間でトラフィックを転送するためにプロキシ http トンネルを利用する必要があります。

    クライアント側で golang.org/x/net/proxy を使用してプロキシに接続します。プロキシは http プロキシであるため、クライアントは net.dialer を使用して tcp 経由でプロキシに接続する必要があります。

リーリー

ケース 1、クライアントは tls 接続を開始します。ネットワーク トラフィック パケットで、クライアントは tcp 接続をトリガーします。3 回のハンドシェイクの後、クライアントは client hello をサーバーに送信します。

ケース 2 では、クライアントは最初に tcp を使用して http プロキシ (例: 10.0.0.1:8080) に接続し、次にプロキシに connect を送信し、プロキシは を返します。接続が確立されました 、しかしクライアント client hello をサーバーに送信しません。

ケース 2 の場合、クライアント側で

client hello の送信をどこでどのように実装すればよいかわかりません。 ###前もって感謝します。

解決策

go doc を検索した結果、解決策が見つかりました。後で同じような問題に遭遇する人に役立つことを願っています。

tls

には、既存のネットワークから構築できる関数 client があります。 Conn、Handshake を使用します。 リーリー

以上がhttp プロキシ トンネル経由で Client Hello を送信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート