2011-08-23 16 views
34

私はhttp-proxyに関する何かをウェブで検索しました。 私はプロキシサーバーに関するwiki-articlesを読んでいます。 しかし、私はまだhttpプロキシが動作する方法を理解していない、愚かな私。httpプロキシはどのように動作しますか?

httpプロキシの仕組みに関する私の前提は次のとおりです。 http-proxyを特定のProxy_Aに設定した場合、chrome/IEを起動すると、URL_Aなどの特定のURLを入力しますchrome/IEはProxy_Aに直接要求を送信します。 Proxy_AはURL_Aの実サーバに要求を送信しますか?

+1

はい、ほとんどが、その後Proxy_Aはあなたに戻って応答を送信し、プロキシを使用するSSLトンネルを、開くために使用するのと同じ要求があります。非常にシンプルえっ –

+3

http://www.amazon.com/HTTP-Definitive-Guide-David-Gourley/dp/1565925092/ref=sr_1_1?ie=UTF8&qid=1314064943&sr=8-1 HTTPプロキシ – titus

+0

この上の章全体を持っています質問はほとんどstackoverflowに関連しています。 – unixman83

答えて

45

HTTPプロキシはHTTPプロトコルを話す、(すでにちょっと規格である)、特にHTTP接続用に作られているが、同様に他のプロトコルのために悪用される可能性が

ブラウザ(クライアント)PROXY
GET http://SERVER/path HTTP/1.1を送りますこれで、PROXYは実際の要求をSERVERに転送します。
SERVERは接続としてPROXYを表示し、CLIENTと同様にPROXYに応答します。
PROXYは応答を受信し、それをCLIENTに転送します。

これは透過的なプロセスであり、サーバーと直接通信するのとほぼ同じです。したがって、ブラウザがHTTPプロキシを実装するためのわずかなオーバーヘッドに過ぎません。
クライアントを識別するために送信できる追加のヘッダーがいくつかあり、プロキシを使用していることがわかります。
プロキシは、さまざまな目的でデータストリーム内のコンテンツを変更/追加することがあります。
一部のプロキシには、実際のIPがサーバー側でログに記録されるか、スクリプトで傍受される特殊なHTTPヘッダーに含まれます。

CLIENT <---> PROXY <---> SERVER 

更新:
あなたは上記のASCIIで見ることができるように、クライアントとサーバ間の直接通信が存在しないセキュリティ/プライバシー機能
としてプロキシを使用してに関連します。両当事者は、それらの間のPROXYと話をします。
現代の世界では、CLIENTはしばしばブラウザであり、SERVERはしばしばWebサーバー(例えばApache)です。

このような環境では、ユーザーはしばしばPROXYが安全であると信じて、自分のIDを漏らさないようにします。
しかし、ブラウザ上で複雑なソフトウェアフレームワークが実行されているため、このセキュリティモデルを壊す可能性のある方法はたくさんあります。
たとえば、FlashアプレットまたはJavaアプレットは、プロキシ接続がどのように壊れてしまうかを示す完璧な例です.FlashとJavaの両方で、親アプリケーション(ブラウザ)のプロキシ設定についてはあまり気にしないかもしれません。
もう1つの例は、PROXYとアプリケーションの設定によっては、PROXYなしで宛先ネームサーバーに到達できるDNS要求です。
もう1つの例は、Webサーバーが過去からあなたを知っている(またはプロキシなしで再びあなたに会う)場合に、あなたを識別するCookieまたはブラウザのメタフットプリント(レゾリューション、レスポンスタイム、ユーザーエージェントなど)です。

そして、それはそれを通過するすべてのデータを読み取ることができますし、上にそれもあなたのSSLセキュリティを破ることができるかもしれないと最終的に、プロキシ自体は、信頼する必要があります(真ん中の男をよく読んで)

から
からプロキシを取得する場所プロキシは、サービスとして購入したり、スキャンしたり、単独で実行したりすることができます。

公開プロキシ
これらは、最も頻繁に使用されるプロキシであり、通常の用語では「公共」は非常に紛らわしいです。
「オープンプロキシ」のほうがよいでしょう。ファイアウォールや認証なしでプロキシサーバーを実行すると、世界中の誰でもそれを見つけて悪用することができます。
プロキシを販売している大半の企業は、そのような代理人をインターネットでスキャンするか、ハッキングされたWindowsコンピュータ(ボットネット)を使用して、ほとんどが違法/スパム活動のために販売しています。
ほとんどの現代の国では、許可なしにオープンプロキシを濫用とみなすことができますが、これは非常に一般的なことですが、実際には刑務所に通う可能性があります。
インターネットで公開されているポートを検索すると、一般的なフリープログラムはhttps://nmap.org
となります。大規模なスキャンでは、ISPからのインターネット接続がほぼ確実に禁止されます。

有料プロキシここで
我々はプロキシの4種類があります。
1)有料公共(オープン)プロキシを
基本的に出品者が販売したり、定期的に死んだものを取り除くためにリフレッシュされたプロキシの巨大なリストを再販。
プロキシは大規模な虐待を受けており、通常Googleを含むほとんどのサイトでブラックリストに登録されています。
これらのプロキシは、通常、非常に不安定で非常に遅いです。
これらのプロキシのほとんどは、誤って構成されたサーバーを悪用しているだけです。 これは非常に競争力のある「市場」ですが、Googleは多くの例につながります。 2)有料のハッキングされた(ボットネット)プロキシ
これらは悪意のあるコンピュータ、主にプロキシホストとしてのインターネットオブウィキまたはWindowsデスクトップです。攻撃者は、さまざまな違法目的で大規模に使用します。
売主は、通常、それらの不法な性質を隠すために「住宅代理人」と呼んでいます。
このようなプロキシを使用することは疑いの余地がなく、悪用されたユーザーは接続先に「接続先」との接続を可能にするなど、簡単に「あなたの」IPを記録できます。
これらのIPはブラックリストに載せられていないので、「質」は公共のプロキシよりはるかに優れています。
3)有料共有プ​​ロキシ

これらはデータセンタープロキシであり、通常は高速アップリンクで有効であり、潜在的な可能性があります。
多くの電子商取引迷惑メールが流行しているため、これらのIPは大量に虐待され、通常はブラックリストで発見されています。
代表的な使用方法は、クレイグリストの制限や地域制限を回避することです。
4)有料プライベート/専用プロキシ
「プライベート」は専用を意味します。オペレータがプロフェッショナルであれば、プロキシが他の人々と共有されていないことを意味します。
これらはプロフェッショナルIPが長期間レンタルされている場合など、より専門的で法的な活動によく使用されます。
周知のオペレータが自分のプロキシを実行https://us-proxies.com

自身プロキシ
であろうと、利用可能な様々なオープンソースプロジェクトがあり、同様に可能です。
主に使用されるプロキシサーバは、上記のジョンの偉大な答えに追加するにはhttps://squid-cache.org

+3

元のURLはどのようにしてプロキシに送信されますか? – edwin

+0

冒頭の「http://host.tld/path」はURLです。 – John

+0

@ジョン - SERVERがプロキシを「クライアント」と見なした場合、クッキーのようなものはどのように扱われますか?言い換えれば、クッキーが実際のCLIENT上でプロキシにドロップされるのを防ぐのは何ですか? – Howiecamp

6

で、一つの重要なステップは、PROXYとクライアント間の初期CONNECTハンドシェイクがあります。 Websocket RFC

CONNECT example.com:80 HTTP/1.1 
Host: example.com 

からこれは、クライアントが、本質的に

+1

私はこれが答えの複雑な部分であり、受け入れられた答えはこれがなければほんの些細なものだと感じます。あなたは重要なビットに答えました:_how_プロキシミングは起こりますか?または、少なくともあなたはより多くの情報へのリードを与えています。 –

+1

実際にはそれは真実ではありませんIvan trikはCONNECTメソッドを説明しましたが、質問はhttp-proxyに関するものでした。 CONNECTは、私の答えにあるGETが特定のトンネルに使用されている間に、ユニバーサルなTCP/IPトンネルを開くために使用されます。 HTTP。 SSLの場合、暗号化のためにrawトンネルが必要です。そのため、CONNECTが使用されています。 – John

関連する問題