ホームページ  >  記事  >  バックエンド開発  >  goのsocks5プロキシを使用する

goのsocks5プロキシを使用する

WBOY
WBOY転載
2024-02-09 09:45:10804ブラウズ

goのsocks5プロキシを使用する

PHP エディター Youzi が今日紹介するのは、Go 言語で実装された Socks5 プロキシです。ネットワーク アクセス中に、実際の IP アドレスを隠したり、ネットワーク ブロックをバイパスしたりする必要がある状況によく遭遇します。 Socks5 プロキシを使用すると、これらの目標を簡単に達成できます。効率的で簡潔なプログラミング言語である Go 言語は、豊富なネットワーク ライブラリと同時実行機能を備えており、ネットワーク プロキシ ツールの開発に非常に適しています。次に、Go言語を使用したシンプルで実用的なsocks5プロキシサーバーの書き方を詳しく紹介します。

質問の内容

ローカル ポート (例: 1080ocks5) でリッスンし、そのポート プロキシ上ですべての接続を外部ホスト: portsocks5# で使用できるかどうかを知りたいです。 ## リーリー

宛先アドレスを取得し、接続がsocks5であることを確認してから、外部IPを使用してプロキシを実行し、それをdialect.dialに渡す必要があります

回避策

これが必要のようですね:

    TCP を使用してローカル コンピュータの特定のポートをリッスンするツール
  1. このポートに対して ocks5 プロトコル リクエストを行うと、それらのすべてが別のリモート マシン上の他の Socks5 サーバーに転送されます。
  2. socks5 サーバーは、socks5 プロトコル要求でターゲットとの接続を確立する役割を果たします。
  3. この場合、必要なのは基本的な TCP プロキシだけです。ツールは、socks5 リクエストの内部を調べる必要はなく、リモート マシンに接続するために
proxy.SOCKS5

も必要ありません。ローカル エンドポイントへのすべての接続をリモート エンドポイントに転送するだけで済みます。 現在のコードはほとんどの場合機能しますが、

"externalhost に接続するには

net.Dial (dialect.Dial の代わりに) を使用する必要がある点を除きます。 :externalport"proxy.SOCKS5 ダイヤラを作成する必要はありません。

以上がgoのsocks5プロキシを使用するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。