web-dev-qa-db-ja.com

複数のTorプロセスを異なる終了IPで同時に実行するにはどうすればよいですか?

私はTorを初めて使用するので、複数のTorを検討する必要があると思います。ここで言及した複数のTorは、複数のインスタンスだけでなく、ここで行われたように、それぞれに異なるプロキシポートを使用しています http://www.howtoforge.com/ultimate-security-proxy-with-tor

私は4 Torsから始めようとしています。ただし、チュートリアルはArch Linuxにのみ適用され、ヘッドレスEC2 ubuntu 64ビットを使用しています。 ArchとUbuntuの違いは本当に苦痛です。そして、ここに私が簡単に私のアイデアを実装するために誰かがいくつかの助けを提供することができるのだろうかと思います。

  1. 同時に動作する4つのTorがそれぞれ個別のポート、privoxyまたはpolipoなどで動作します。例:8118 <-Privoxy <-TOR <-9050 8129 <-Privoxy <-TOR <-9150 8230 <-Privoxy <-TOR <-9250 8321 <-Privoxy <-TOR <-9350

  2. このようにして、127.0.0.1:8118、8129、8230、および8321のIPを返そうとすると、4つの異なるIPが返されるはずです。これは、4つの異なるTorが同時に実行されていることを示しています。次に、数分後、もう一度確認します。4つすべてに新しいIPが再度表示されるはずです。

私の単純な「夢」は多くの方法で実現できることは知っていますが、私はTorだけでなく、bashやpythonも初めてです...だから、私はここに来て、あなたの一部が点灯できるかどうかを確認します私。

これらのリンクは役に立つかもしれません:

http://blog.databigbang.com/distributed-scraping-with-multiple-tor-circuits/https://www.torservers.net/wiki/setup/server#multiple_tor_processes ベスト、

ところで、$ ps -A | grep 'tor'いくつかのインスタンスがありますが、「?」 tty列の下では、ttyが端末を意味することがわかっているので、それはどういう意味ですか?

33
B.Mr.W.

/etc/tor/torrc.1から.4までの4つのtorrcファイルを作成します。

各ファイルで、次の行を編集します。

SocksPort 9050
ControlPort 9051
DataDirectory /var/lib/tor

torrcファイルごとに異なるリソースを使用するには、たとえば、 torrc.1の場合:

SocksPort 9060
ControlPort 9061
DataDirectory /var/lib/tor1

torrc.2

SocksPort 9062
ControlPort 9063
DataDirectory /var/lib/tor2

等々。

上記の行のみを含む構成ファイルが機能します。必要に応じて、デフォルトのテンプレートから1行おきに削除できます。

DataDirectoryは、torが起動されている現在のディレクトリを基準にすることもできます。例:

DataDirectory d1

次に、次のようにTorを開始します。

tor -f /etc/tor/torrc.1  
tor -f /etc/tor/torrc.2

他の2つのファイルについても同様です。

これにより、4つのポートに4つの異なるSocks5サーバーが作成されます。それぞれが異なる回路を開きます。それがあなたが望むものです。

33
zkilnbqi

Torの連鎖は 推奨 です。より良い匿名性ではなく、より悪い匿名性を得るかもしれません。

これを行うと、未定義で潜在的に安全でない動作が発生します。ただし、理論的には3つのホップではなく6つのホップを取得できますが、3つの異なるホップを取得することは保証されていません。逆に、または混合した順序で同じホップになってしまう可能性があります。これが安全かどうかは不明です。それは議論されていません。

入口/出口ポイントを選択できますが、ルートの選択をTorに任せるとTorが提供できる最高のセキュリティが得られます。入口/出口ノードをオーバーライドすると、理解できない方法で匿名性が台無しになる可能性があります。したがって、TorをTorで使用することはお勧めしません。

Tor開発者より賢い場合は、Torのルーティングアルゴリズムをいじるだけです。

Privoxy/polipoの使用は、Tor Projectによってずっと前に廃止されました。あなたは 推奨Tor Browser のみを使用します。 Tor Browserだけが統一されたWebフィンガープリントを提供し、目立たなくなります。

Torバージョン0.2.3以降、異なるSocks、-Dns-、またはTransPortsは異なる回路を通過するため、IDの相関が妨げられます。この用語はストリームの分離です。これを取得してください、torrcに追加できます...

SocksPort 9050
SocksPort 9052
SocksPort 9053
SocksPort 9054
#...

...そしてそれらはすべて異なる回路を考えて行きます。

Tor Browserを使用している場合は、Tor Buttonの新しいID機能も使用できます。 Torボタン(ネギ)をクリックして、新しいIDを選択します。これにより、すべてのブラウザー状態がリセットされ、Torの回路が変更されます。

そして、TORではなくTorです。

ストリーム分離を使用する場合、異なる回路を通過しても、異なるTor出口ノードを取得できるとは限りません。 Torは、別のエントリガードまたは中間リレーのみを使用する場合があります。 これは正常です。

16
adrelanos

https://github.com/anhldbk/privoxyTor/ でPrivoxy-Tor構成プロセスを自動化するためのスクリプトを書きました。これがお役に立てば幸いです!

3
anhldbk

Torrc.1、torrc.2などを試しましたが、うまくいきませんでした。

しかし、これはうまくいきました:

  1. Torプロセスを次の方法で停止します:/etc/init.d/tor stop
  2. 開いた gedit /etc/tor/torrc(ルートでない場合は、Sudoをルートの前に置いて、ルートとしてアクセスします)
  3. 検索する SocksPort 9050
  4. 次に、ストリームポートにしたいポート(SocksPort 9060、SocksPort 9070、SocksPort 9080など)を配置します。
  5. ControlPort 9051を検索します
  6. 次に、ストリームポートにしたいポートをすべて配置します(ControlPort 9061、ControlPort 9071、ControlPort 9081 ....など)その制御ポートIS ALWAYS SOCKSPORT + 1)に注意
  7. Torプロセスを再度開始します:/etc/init.d/tor start
  8. Torのステータスを確認してください/etc/init.d/tor status

それはそのようなものを示すはずです:

tor.service - Anonymizing overlay network for TCP
   Loaded: loaded (/lib/systemd/system/tor.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2016-05-13 22:18:21 GST; 1s ago
  Process: 10259 ExecReload=/bin/kill -HUP ${MAINPID} (code=exited, status=0/SUCCESS)
  Process: 10319 ExecStartPre=/usr/bin/tor --defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc --RunAsDaemon 0 --verify-config (code=exited, status=0/SUCCESS)
  Process: 10317 ExecStartPre=/usr/bin/install -Z -m 02750 -o debian-tor -g debian-tor -d /var/run/tor (code=exited, status=0/SUCCESS)
 Main PID: 10322 (tor)
   CGroup: /system.slice/tor.service
           └─10322 /usr/bin/tor --defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc --RunAsDaemon 0

May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.860 [notice] Tor v0.2.6.10 (git-71459b2fe953a1c0) running on Linux with Li... 1.2.8.
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.860 [notice] Tor can't help you if you use it wrong! Learn how to be safe ...warning
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.860 [notice] Read configuration file "/usr/share/tor/tor-service-defaults-torrc".
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.860 [notice] Read configuration file "/etc/tor/torrc".
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Socks listener on 127.0.0.1:9050
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Socks listener on 127.0.0.1:9060
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Control listener on 127.0.0.1:9051
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Control listener on 127.0.0.1:9061
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Control listener on /var/run/tor/control
May 13 22:18:21 momen-Lenovo systemd[1]: Started Anonymizing overlay network for TCP.

ヒント:一部の行は省略されました。-lを使用して全体を表示します。

1
momen

Tor構成ディレクトリを作成します。
_$> mkdir -p ~/configuration_files/tor_
_$> config=~/configuration_files/tor_
_$> cd "${config}"_

_/etc/tor/torrc_を構成ディレクトリにコピーし、必要な数だけコピーを作成します。 10
_printf "torrc_%0.2s\n" {1..10} | xargs -I {} /bin/cp /etc/tor/torrc "${config}{}"_

_/etc/torsocks.conf_を構成ディレクトリにコピーし、必要なだけコピーを作成します。上記10と同じ
_printf "torsocks_%0.2s.conf\n" {1..10} | xargs -I {} /bin/cp /etc/torsocks.conf "${config}/{}"_

新しいデータディレクトリを作成し、所有権/権限を修正します。
_$> Sudo mkdir /var/lib/tor{1..10}_

構成ファイルを編集して、対応するポート番号が衝突しないようにします。

_for a in {1..10}; do 
 sed -i "s/^#SocksPort 9050.*/SocksPort $((9050+${i}))/;s|^#DataDirectory /var/lib/tor|DataDirectory /var/lib/tor${i}|" torrc_${i}
 sed -i "s/server_port = 9050/server_port = $((9050+${i}))/" torsocks_${i}.conf
 Sudo chmod -R --reference /var/lib/tor /var/lib/tor${i}
 Sudo chown -R CHANGETHIS:CHANGETHIS /var/lib/tor${i} 
done 
_

注:CHANGETHISを、それを使用する予定のユーザーのユーザー/グループに変更します。

その後、簡単に始めることができます。対応する構成ファイルを使用して、torの個々のインスタンスを起動します。 _/usr/bin/tor -f "${config}/torrc_3"_

これを使用するには、変数TORSOCKS_CONF_FILEをエクスポートして、対応する_torsocks.conf_ファイルを指すようにします。
例えば。 _$> export TORSOCKS_CONF_FILE="${config}/torsocks_3.conf"_

次に、その特定のシェルから任意のアプリケーションをtorocks/torsocksでき、torsocks_3.confプロキシを使用します。
試してください:_$> torify bash_
_$> curl www.ipmango.com/api/myip_

別のプロキシに変更するには、そのtorrcファイルを使用して対応するtorを起動し、TORSOCKS_CONF_FILE変数をエクスポートして新しい構成を指すようにします。

上記のように設定し、roxtermをインストールした後の、この作業を行う単純なエイリアスを次に示します。 netstatをチェックして、プロキシがすでに起動しているかどうかを確認し、起動していない場合は別のシェルウィンドウで起動します。

alias prox='_(){ proxy=${1:-1}; config_base="~/configuration_files/tor"; port=$((9050+${proxy})); netstat -an | { ! grep -q "127.0.0.1:${port}"; } && roxterm -e bash -c "/usr/bin/tor -f \"${config_base}/torrc_${proxy}\"; bash"; export TORSOCKS_CONF_FILE="${config_base}/torsocks_${proxy}.conf"; }; _'

それを使用するには:

_$> prox 4 
$> torify bash 
_
0
user4401178