1

私はネットワーキングについて最小限の知識しか持っていません。私はパラドックスを発見し、解決策に取り組む方法についてアドバイスが必要です。

実験1:Pythonスクリプトでtor / polipo httpプロキシを使用する機械化ブラウザは、URLを要求します。実際のIPはサイトのログに表示されます。(予期しない結果:tor IPを公開してほしい。)

実験2:Pythonスクリプトでtor / polipo httpプロキシを使用する機械化ブラウザは、whatismyipへのURLを要求します。結果に表示されるtorプロキシIP。(期待される)

実験3:torプロキシを使用するFirefoxブラウザがwhatismyipを指している。実験2と同じIPが明らかになります。(期待される)

実験4:プロキシのないChromeブラウザがwhatismyipにポイントされ、マシンの実際のIPが実験1と同じように表示されます。(予想)

実験5:Mac OS Xのシステムネットワーク設定のHTTPプロキシは、リスニングポート8123でtor / polipoプロキシを使用するように設定されています。実験4のChromeブラウザーは、実験2および3と同じtor IPを表示します。(期待)

Torが実行されています。Polipoは実行されており、Torポート9050を使用するように構成されています。

私のPythonコード:

    import sys, time, os
    from mechanize import Browser
    br = Browser()              # Create a browser
br.set_proxies({"http": "localhost:8123"}) #set proxy
result = br.open(URL)           # Open the login page
print result.read()                     #print resulting output

どこ

    URL = 'http://affinityehealth.com' | URL = 'http://whatismyip.com'

    #case 1 is able to find the actual IP using the browser in mechanize but not with any other browser using the tor proxy

私はWebサイトの管理者に、IPを記録することは有用ですが、チェックインする人の物理的な場所を証明しないことを指摘しようとしています。何週間もの間、物理的な場所は変わらないが、 Tor経由でチェックインすると、サイトのログで情報リクエスターの物理的な場所が変更されているように見えます。

mechanizeを使用してテストのために自動化された方法でこのWebサイトにアクセスするときに、TorIPを表示したいと思います。

最後に試してみる実験が1つあります。それは、ネットワークコントロールパネルでシステム全体のプロキシ設定をtorに設定することです。かなり遅いので、これを定期的なブラウジングのためにチェックしたままにしておくのは本当に嫌いです。私は自分のPythonスクリプトがpolipohttpプロキシ経由でtorを使用することだけを望んでいます。

Pythonは初めてです。Torは初めてです。ネットワーキングは初めてなので、簡単な説明で冗長になっていることを前もって感謝します。

4

1 に答える 1

1

これはtorとmechanizeで動作します:

import socks
import socket
def create_connection(address, timeout=None, source_address=None):
    sock = socks.socksocket()
    sock.connect(address)
    return sock

socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)

# patch the socket module
socket.socket = socks.socksocket
socket.create_connection = create_connection

import urllib2

print urllib2.urlopen('http://icanhazip.com').read()

import mechanize
from mechanize import Browser

br = Browser()
print br.open('http://icanhazip.com').read()
于 2013-01-24T22:55:00.233 に答える