web-dev-qa-db-ja.com

プロキシを検出する/元のIPを取得する高度な手法

プロキシサーバーを使用している場合でも、Webサイトはどのようにして元のIPアドレスを検出できますか?いくつかのサイトでこれに気づきました。私が使用した4つのプロキシメソッドがあります。

  • プロキシ設定を備えたFirefox。
  • Pythonとmechanize.set_proxies
  • VMのすべてのインターネットがプロキシを経由するように、仮想マシンルーターを備えた仮想マシン内のFirefox。
  • TorBrowser (実際のブラウザとしてFirefoxを使用します).

以下は、私が気付いた、予想される動作です。

  • これらすべてで、私がhttp://www.whatismyip.com/、正しいIPアドレス(ホストコンピュータではなくプロキシのIPアドレス)を提供します。
  • whatismyip.comは、これらすべてに対して「プロキシが検出されなかった」と言います。

実際、私がアクセスするWebサイトは、私のIPがプロキシのIPであると思っているようです。しかし、いくつかの奇妙なケースがあり、いくつかのサイトが私の元のIPアドレスをどういうわけか検出できると思います。彼らがどうやってそれをやっているのか知りたいです。

  • ある状況では、米国以外のプロキシを使用してFirefox経由で米国以外のサイトにアクセスすると、サイトは文字通り(米国からの)発信元のIPアドレスを出力してアクセスを拒否することができました。これは不可能ではないでしょうか?しかし、同じUS以外のプロキシを使用する仮想マシン、またはUS以外の終了ノードを使用するTorBrowserを介してサイトにアクセスすると、サイトはアクセスできませんでした。
  • 同様の状況で、私は米国以外のプロキシから別の米国以外のサイトにアクセスしていました。仮想マシン内のFirefoxから、または米国以外の終了ノードを使用してTorBrowserからサイトにログインした場合、サイトは正しく機能します。ただし、プロキシ(仮想マシンが使用するのと同じプロキシ)またはmechanizeを使用してFirefox経由でログインしようとすると、関連のないエラーメッセージでログインできません。
  • 3番目の状況では、mechanize.set_proxiesオプション、リクエストが多すぎるサイトをオーバーロードしたため、アクセスをブロックすることにしました(ログインするたびに意図的にタイムアウトします)。プロキシのIPアドレスがブロックされているのではないかと思いました。ただし、別のホストマシンからコードを実行したが、同じプロキシを使用していた場合、再びブロックされるまでしばらくの間、再び機能しました。 (心配する必要はありません。これ以上サイトに嫌がらせをすることはありません。私は、プログラムを実行し続けました。これは、プログラムの終わりからのブロックではなく、私の終わりの不具合であると思ったからです。)Firefox +プロキシソリューションでサイトにアクセスするブロックされたホストのいずれかからも意図的なタイムアウトが発生しました。

これらのサイトはすべて、Firefox +プロキシとmechanizeの場合、ホストマシンのIPアドレスについて何かを見つけることができたようですが、TorBrowserと仮想マシンの場合はそうではありませんでした。 。私の質問は基本的には次のとおりです。サイトはどのようにこの情報を収集できますか?質問するもう1つの方法は、サイトがこの情報を収集できないようにするTorBrowserと仮想マシンのケースの違いは何ですか?

11
Claudiu

このサイトは文字通り、私の発信元のIPアドレス(米国から)を出力し、アクセスを拒否することができました。これは不可能ではないでしょうか?

匿名性を期待しているようです。

プロキシは、X-Forwarded-Forヘッダー(元のIPを含む)を送信するかどうかを選択できます。

このヘッダーを送信しない、またはログに元のIPを記録しないプロキシは、「匿名化」プロキシと呼ばれます。言及した場合、使用していたプロキシはアクセスしているエンドポイントにこのヘッダーを転送する可能性が高いため、接続は匿名化されませんでした。

トラフィックがプロキシオリジンであるかどうかを検出する方法はいくつかあります。 2つの簡単な方法は次のとおりです。

  • X-Forwarded-For ヘッダー(または転送されたヘッダー内のカスタムデータ)の存在
  • プロキシまたは出口リレーの既知のIPのクロスチェック(TOR)
    • サードパーティ(Quovaなど)が管理するデータベース

他の方法があり、サーバー上で追加のインテリジェンスが必要になる場合があります。たとえば、異なるIPからの接続間で要求を関連付けるには、つまり、ユーザーエージェントの基準と要求のタイミング、Cookie、 LSOs をフラッシュで確認します(1つCookieが必要な理由およびFlashプレーヤーが無効になっていて、本当に自分を匿名化できません)。

つまり、「プロキシを使用する」だけでは、匿名になったり追跡できなくなったりしません。

8
parallaxed

Mozillaによると、訪問者の場所を見つけるためにIPを使用することを除いて、FirefoxのAPIを使用して検索することも可能です。

同意すると、Firefoxは近くのワイヤレスアクセスポイントとコンピューターのIPアドレスに関する情報を収集します。次に、Firefoxはこの情報をデフォルトの位置情報サービスプロバイダーであるGoogle Location Servicesに送信して、現在地の推定値を取得します。その場所の推定値は、要求元のWebサイトと共有されます。

したがって、それ自体が匿名ツールではないという事実を除いて、プロキシサーバーを単独で使用するだけでは不十分です。 (これに関するより多くのセラルの答えについては、視差の答えを読んでください)。

VMはゲートウェイの実際の情報やワイヤレス情報にアクセスできませんが、TORバンドルは、情報のすべての要求を拒否し、所在を追跡しないFirefoxブラウザを提供します。

ブラウザによって地理位置情報の収集方法が異なるため、Firefoxは周囲のワイヤレスAPを使用しますが、他のブラウザはコンピュータのタイムゾーン、コンピュータに接続されているGPSなどを使用する場合があります。

ブラウザでこの機能を無効にするには this mozillaの位置情報マニュアルへのリンクを試してください。 this は、Firefoxが位置情報について送信する情報を確認してください。

2
Boaz Tirosh

フラッシュプレーヤーとJavaを使用してプロキシを使用するか、FirefoxブラウザーでflashplayerプラグインとJavaプラグインを無効にしてみてください。2つのプラグインは悪名高いです。プロキシサーバー経由でもユーザーの元のIPアドレスを送信するため。使用したプロキシがWebサーバーでブラックリストに登録されているか、多くの人が同じプロキシを使用してサーバーのQoSポリシーに違反して同じサイトにアクセスしている可能性があります。

0
shadotu

サードパーティのツールを使用してみてください。これらのツールはIPアドレスを追跡しません。 IPアドレスを変更するホットスポットシールドなどのツールを使用しています。確認のために、言及したURLにログインしてIPを確認できます。これはU.S IPとして表示されます。

0
dummel