SOCKS5とHTTPプロキシ: プロトコル、DNS、対応
SOCKS5とHTTPプロキシ: HTTP CONNECTとSOCKS5トンネルの違い、DNSの解決場所、クライアントごとの認証対応、買ったプロトコルの確認方法。
この案内は、プロキシプランのHTTP端点とSOCKS5端点のあいだで選ぶ人、またはクライアントが片方を拒む理由を調べる人向けです。無料プロキシは渡しません。IPも売りません。以下はプロトコルそのもの、DNS照会の行き先、実際に渡されたものの確認方法です。
01HTTP CONNECTとSOCKS5: それぞれのトンネル
細部の前に、ほかより大切な一点があります。プロトコルは出自ではありません。 レジデンシャルプールはHTTPとしても、SOCKS5としても、両方としても売れます。データセンターIPも両方の形があります。SOCKS5は品質の等級ではありません。バイトの運び方です。相手サイトがトラフィックを信じるかどうかは、IPの網と履歴に依存し、ゲートウェイへ届く握手には依存しません。
HTTPプロキシは、クライアントとHTTPを話します。二種類のトラフィックを別々に扱います。
素の http:// URLでは、クライアントはリクエスト全体をプロキシへ送ります。プロキシはそれを読み、転送し、途中でヘッダーを足したり、削ったり、キャッシュしたりできます。公開サイトで素のHTTPを出すところはもう少ないので、実務ではこの経路は稀です。
https:// URLと、素のHTTPでないものでは、クライアントはCONNECTメソッドを使います。RFC 9110、9.3.6節では、CONNECTは指名した宛先へのトンネルをプロキシに開き、成功したら解釈を止めて、どちらかが閉じるまで両方向にバイトを中継するよう求めます。リクエスト対象はホストとポートだけです。例は CONNECT example.com:443 です。プロキシが2xxで答えたら、TLSはクライアントとサイトのあいだで端から端まで走ります。プロキシは尋ねたホストとポートは見えます。復号したページは読めません。
SOCKS5プロキシは、一段下で動きます。RFC 1928は短いバイナリの握手を定義します。クライアントが認証方式を出し、サーバーが一つ選び、クライアントがコマンドと宛先付きのリクエストを送ります。コマンドは三つです。普通のTCPストリーム向けの CONNECT、着信向けの BIND、UDP中継向けの UDP ASSOCIATE です。SOCKS5はペイロードがHTTPか、TLSか、SMTPか、ゲームプロトコルかを気にしません。バイトを動かすだけです。
なので「SOCKS5対HTTP CONNECT」は、賢いプロキシと愚かなプロキシの選択ではありません。HTTPSトラフィックでは、どちらも不透明なTCPトンネルになります。本当の差は、HTTPS以外に何を運べるか、宛先名の渡し方、どのクライアントが話せるかです。
| HTTPプロキシ(CONNECT) | SOCKS5プロキシ | |
|---|---|---|
| 定義 | RFC 9110(CONNECTメソッド) | RFC 1928、認証はRFC 1929 |
| トンネルするもの | HTTPSと、プロキシが許す任意のTCPポート | 任意のTCP。サーバーが対応していれば UDP ASSOCIATE 経由のUDP |
| 素のHTTP | プロキシが読み、リクエストを書き換えられる | 生のバイトとして通す |
| 宛先の形式 | CONNECT行の host:port テキスト | IPv4、IPv6、またはドメイン名の欄 |
| 認証 | Proxy-Authorization ヘッダー。失敗時は407 | 交渉した方式。たいていはユーザー名とパスワード |
| クライアントの例 | ブラウザ、OSのプロキシ設定、curl、よくあるHTTPライブラリ | Firefox、curl、Telegram、アンチディテクトブラウザ、一部のデスクトップアプリ |
| よくある既定ポート | 8080、3128(本当の規則はない) | 1080(本当の規則はない) |
RFC 9110は、プロキシがCONNECTを既知のポートまたは設定した対象一覧へ「制限すべき(SHOULD)」とも書いています。ポート25への開いたCONNECTは、スパム中継に悪用され得るからです。なのでHTTP端点は、資格情報が正しくても、データベース、メールサーバー、独自TCPポートへのトンネルを拒むことがあります。それらのポートが要るなら、許されているCONNECTポートを供給元の文書で確認するか、それを許すSOCKS5端点を使ってください。
02DNS: 端末で解決するか、プロキシ経由か
DNSは、サイトやISPがあなたについて知り得るものを実際に変える部分であり、SOCKS5設定がいちばん壊れやすい場所でもあります。
HTTPプロキシでは、クライアントはリクエスト対象(CONNECT example.com:443)にホスト名を渡し、その接続の照会はプロキシがします。実際にプロキシを通るリクエストについては、ローカルの照会が消えます。端末がDNS照会を一切しない保証ではありません。ブラウザはDNSを先読みでき、迂回一覧と「直接」規則は一部のホストをプロキシの周りへ送り、WebRTCは独自の接続を開け、端末のほかのアプリはシステムのリゾルバを使い続けます。
SOCKS5では、クライアントが決めます。RFC 1928は、宛先欄に生のIPv4、生のIPv6、または完全修飾ドメイン名を置けます。クライアントが名前をローカルで解決し、IPだけを送ると、トラフィック自体はプロキシを通っても、ISPのリゾルバ(またはOSが使うリゾルバ)は訪れるすべてのドメインを見ます。クライアントがドメイン名を送ると、プロキシがその先で解決します。
curlはこの選択を見える形にします。マニュアルは --socks5 を「指定したSOCKS5プロキシを使うが、ホスト名はローカルで解決する」と書き、--socks5-hostname または socks5h:// スキームを「プロキシにホスト名を解決させる」と書いています。プロキシしたリクエストについて、その一文字の h が、ローカルのリゾルバが宛先名を見るかを決めます。ほかのクライアントは、同じスイッチを「SOCKS v5使用時にプロキシDNS」や「リモートDNS」といった名前で隠します。HTTPと同じ但し書きがあります。リモートDNSが覆うのはSOCKSトンネルを通るトラフィックであり、先読み、迂回ホスト、WebRTC、ほかのアプリではありません。仮定せずリーク試験で確認してください。
リモート解決は、プライバシーだけでなく結果にも効きます。リゾルバの場所で答えるCDNは、ローカル解決した名前をプロキシ出口の近くではなく、あなたの近くのエッジへ送れます。IPは正しく見えても、ページは間違った地域から読み込まれます。

模式例であり、ネットワーク測定ではありません。プロキシしたリクエストについて、宛先名がどこで解決されるかを示します。ブラウザの先読み、迂回規則、WebRTC、ほかのアプリは対象外で、それらはまだローカル照会できます。
03クライアントの対応と認証
クライアントがすでにうまく話せるプロトコルを選んでください。追加パッケージやラッパーで無理に足すのは、「プロキシが壊れている」報告のよくある源です。
ブラウザ。 Firefoxは、独自のプロキシ設定にHTTPとSOCKSの欄があります。Chromium系はシステム設定か --proxy-server フラグに従います。どちらもCONNECTは問題なく扱います。弱いのは、ユーザー名とパスワード付きのSOCKS5です。内蔵のブラウザSOCKS設定には資格情報を入れる場所が無いことがあり、それが拡張やアンチディテクトブラウザを使う理由の一つです。プロファイルごとに一つのプロトコルにしてください。同じプロファイルでHTTPのシステムプロキシとSOCKS5拡張を混ぜると、一部のリクエストが一方、一部が他方へ行く簡単な道です。
スクレイパーとHTTPライブラリ。 curlのようなよくあるHTTPクライアントは、http://user:pass@host:port のプロキシをそのまま受け、HTTPSには自分でCONNECTを使います。一部のライブラリでは、SOCKS5に追加パッケージやビルドオプションが要ります。スタックがWebページを取るだけなら、HTTP端点の方が驚きは少ないです。出自側の選択はスクレイピング案内にあります。
HTTPでないアプリ。 メッセージアプリ、ゲームランチャー、メールクライアント、SSH、データベースツールはHTTPクライアントではありません。プロキシに対応しているとき、欄はHTTPではなくSOCKSであることが多いです。そこではSOCKS5の方が合い、ゲートウェイが実際に UDP ASSOCIATE を実装しているときの音声などのUDPにも合います。プランにSOCKS5があることだけでは、UDP対応を意味しません。UDP向けに買う前に確認してください。
認証。 HTTPプロキシは Proxy-Authorization ヘッダーで資格情報を送り、無いまたは間違っていると 407 Proxy Authentication Required を返します。SOCKS5は先に方式を交渉します。RFC 1928は方式としてGSSAPIとUSERNAME/PASSWORDを挙げます。ログインとパスワードを渡すプランは後者で、RFC 1929に規定があります。
SOCKS4とSOCKS4aは別のプロトコルで、パスワード対応がありません。SOCKS4だけのクライアントは、SOCKS5だけを話す端点と握手を終えられません。IP許可リストはパスワードの必要を消しますが、プロトコルは変えません。供給元がSOCKS4/SOCKS4aとして明示した端点(たいていIP許可リストと組)か、SOCKS5またはHTTPに対応したクライアントが必要です。
クライアントとプロキシのあいだの素の、暗号化されていない接続では、ログインは守られません。HTTP Basicの資格情報はBase64で符号化されているだけで、SOCKS5のユーザー名とパスワードは平文で流れます。その網路上の誰でも読めます。HTTPSプロキシ端点、つまりクライアントからプロキシへの接続自体がTLSで包まれているものは、そのホップ(資格情報を含む)を守ります。どちらでも、大事な場所でプロキシ資格情報を再利用しないでください。
速度。 よく聞かれるのは「SOCKS5対HTTPプロキシの速度」です。差は小さいです。どちらも接続開始時に握手を一つ足し、そのあとはバイトを転送します。実務で速度を決めるのは、ゲートウェイまでの距離、供給元の負荷、出口IPであり、プロトコルではありません。素のHTTPプロキシはキャッシュすると速く感じることがありますが、HTTPSにはほとんど当てはまりません。
SOCKS5対HTTPS。 「HTTPSプロキシ」は二つの意味です。たいてい、CONNECTでHTTPSサイトをトンネルするHTTPプロキシ、つまり上で述べたものです。ときに、自分とプロキシのあいだのリンク自体がTLSで包まれている意味で、ローカル網からプロキシ資格情報と対象ホスト名を隠します。素のHTTPプロキシ接続とSOCKS5接続は、その最初のホップを暗号化しないので、それを隠すことが大切なら、供給元とクライアントが対応していればTLSで包んだプロキシ端点を使うか、その区間にVPNを使ってください。
04どちらを選ぶか
| 状況 | 選ぶもの | 理由 |
|---|---|---|
| ウェブサイトだけを読むブラウザ | HTTP、またはリモートDNS付きSOCKS5 | どちらも動く。プロファイルがネイティブに扱う方を使う |
| ページを取るPython/Node/Goのスクレイパー | HTTP | 内蔵対応、HTTPSのCONNECT、依存が少ない |
| Telegram、ゲーム、メール、SSH、データベース | SOCKS5 | HTTPクライアントではない。生のTCPトンネルが要る |
| 音声やほかのUDP | UDP対応が確認されたSOCKS5 | CONNECTはTCPだけを運ぶ |
| クライアントがSOCKS4だけ | 文書化されたSOCKS4/SOCKS4a端点(たいていはIP許可リスト付き)、または別のクライアント | SOCKS4はSOCKS5専用端点と話せない。パスワードも送れない |
| ホスティングASNでサイトに止められる | プロトコルではなく出自を変える | 同じIP、同じ評判、どちらでも |
最後の行が、買い手がいちばんよくやる誤りです。データセンターIPをHTTPからSOCKS5に替えても、家庭の回線には見えません。サイトが網を採点するなら、出口の種類を変えてください。レジデンシャルプロキシ、モバイルプロキシ、データセンタープロキシを比べるか、先にレジデンシャルとデータセンターを読んでください。
05買ったプロトコルを確認する方法
ポート番号を信じないでください。8080、3128、1080、60000のような高いポートは両方に使われ、同じポートで両方に答えるゲートウェイもあります。
-
先に自分のIPを知る。 プロキシなしで自分のIPを開き、比較の基準を取ってください。
-
端点が応答するかを確認する。 供給元の端点をプロキシチェッカーへ
HOST:PORTまたはHOST:PORT:USER:PASSとして貼ります。チェッカーはこちらのサーバーで走り、対応プロトコルを試し、最初に成功したものを報告します。プロトコル接頭辞は最初に試すプロトコルを変えますが、フォールバックは消しません。したがって、一つの成功は、その端点がHTTPとSOCKS5の両方を受ける証明ではありません。別々に比べるなら、下の二つのcurlコマンドか、各プロトコルを強制できるクライアントを使ってください。確認が失敗したら、誤りを見て、資格情報、IP許可リスト、プラン制限を確かめてから、プロトコル非対応と結論してください。 -
同じことをコマンドラインから確認する。 両方の実行で同じ中立の試験URLを使い、結果を比べられるようにします。
# HTTP proxy: curl sends CONNECT for an https:// URL curl -v -x http://USER:PASS@HOST:PORT https://example.com/ -o /dev/null # SOCKS5 with proxy-side DNS (no local lookup) curl -v -x socks5h://USER:PASS@HOST:PORT https://example.com/ -o /dev/null最初のコマンドの詳細出力で、
CONNECT example.com:443の行のあとに200応答があれば、HTTPトンネルの確認です。407はプロキシがHTTPを話しているが資格情報を拒んだ意味で、認証の問題であり、プロトコルの問題ではありません。HTTPの試行が不正な応答ですぐ失敗し、socks5h://がつながるなら、そのポートはその端点がSOCKSを話している可能性が高いです。供給元の文書で確認してください。 -
通過だけでなく、出口IPを比べる。 各プロトコルが、払った国と網の種類から出るかを確認してください。ローテーションプールでは、プロトコルに関係なく、二つの試験が別のIP、ときに別の網を示すことがあるので、不一致だけでは別プールの証明になりません。スティッキーセッションは同条件の比較を起こしやすくしますが、試験のあいだ、または再接続のあとに同じIPが保たれる保証ではありません。
-
同じセッションでDNSを見る。 リモートDNS(
socks5h://、またはクライアントの「プロキシDNS」)を使い、リーク試験を実行してください。プロキシが動くかの確認が、DNSとWebRTCの確認を案内します。 -
IPv6は別に試す。 SOCKS5はIPv6宛先を運べますが、ゲートウェイにIPv6出口があるときだけです。デュアルスタックの掲載には、デュアルスタックの試験が必要です。
結果の読み方の、仮定の計算例です。プランが一つのゲートウェイホストに二つのポートを掲げ、上の両方のcurlを同じ試験URLへ走らせたとします。これらの型は図示であり、実在の供給元の結果ではありません。
| 見えるもの(仮定) | 意味し得ること | 次にすること |
|---|---|---|
HTTPポート: CONNECT のあと200。SOCKSポート: 握手成功 | 各ポートがプランのプロトコルを話している | クライアントがネイティブに対応する方を選ぶ |
| HTTPポート: 407 Proxy Authentication Required | ポートはHTTPを話している。ログインが拒まれた | ユーザー名、パスワード、供給元が文書化するセッション接尾辞を見直す |
HTTPポート: 不正な応答。socks5h:// はつながる | そのポートはHTTPではなくSOCKSを話している可能性が高い | クライアントを替える前に供給元の文書で確認する |
| 正しく見える資格情報で両方失敗 | 許可リスト、プラン範囲、またはクライアントの問題であり、必ずしもプロトコルではない | IP許可リストとプラン設定を確認し、再試験する |
| 両方通過、出口IPまたは網が違う | ローテーションプールでは普通 | 正確なIPではなく、国と網の種類を比べる |
プロトコルを決める前の短い確認です。
- クライアントにこのプロトコルのネイティブ設定があり、プランが使うならユーザー名とパスワードの欄もある。
- プロキシしたリクエストのDNSはプロキシで解決され(SOCKS5なら
socks5h://または「プロキシDNS」)、実際のブラウザまたはアプリでリーク試験を実行した。 - 必要なポートが許されている。HTTP端点ならCONNECT対象、SOCKS5端点でUDPが要るならUDP。
- 出口の国と網の種類がプランと一致する。プロトコルとは別に判断する。
- その網を資格情報が横切ることが心配なら、端末からプロキシへのリンクが守られている(TLSプロキシ端点またはVPN)。
プロトコルは対応の選択、出自は到達の選択、セッションモード(スティッキーかローテーション)は流れの選択です。この順で決めると、きれいなIPだと思ってSOCKS5に余分を払わずに済みます。
06HTTPとSOCKS5の両方を出す供給元
買う前に、プランにどのプロトコルが含まれるか、それぞれのポートまたはホスト名、UDP対応、クライアントが要るならIP許可リストがあるかを、各供給元の文書で確認してください。

SOAXは共有クレジットプール上のローテーションするレジデンシャルとモバイルを売り、データセンターとISPも同じプランに入ります。Builderは月$200 + VAT(200クレジット)から。Builderのティア1トラフィックは1GBあたり$3です。

Bright Dataはデータ収集向けの大規模プロキシ網です。レジデンシャル、モバイル、ISP、データセンターのIPが約195か国にあります。レジデンシャルトラフィックは定期契約なしの従量払いができ、データセンターとISPアドレスは10 IPからのパックです。レジデンシャルとモバイルの利用には本人確認が必要です。
SOCKS5とHTTPプロキシの主な違いは何ですか?
SOCKS5はHTTPプロキシより速いですか?
SOCKS5はDNSリークを防ぎますか?
SOCKS5はHTTPより匿名ですか?
SOCKS5とHTTPSプロキシはどう違いますか?
同じプロキシをHTTPとSOCKS5の両方で使えますか?
関連記事
レジデンシャルプロキシとは何か、どう動くか
レジデンシャルプロキシは一般向けISPのアドレスから出ます。プール、スティッキーセッション、サイトから見えるもの、購入前に供給元へ聞くことを説明します。
4分2026年のスクレイピング向けプロキシ: 購入チェックリスト
2026年のスクレイピング購入は、供給元ではなく相手から始めます。出自、セッション、地理、課金、本番前の実地試験のチェックリストです。
5分スティッキーとローテーション: セッション制御の仕組み
スティッキーとローテーション: リクエストごととタイマーのローテーションの動き、スティッキーが新しいIPに勝つとき、CookieとIP変更の関係、セッションIDの自分での試験。
8分



