コンピューターでTorを実行していますが、5分ごとにTor終了ノードを変更する必要があります。たとえば、ある出口ノードを介してTorの使用を開始した場合、5分後にTorを別のIPアドレスを持つ出口ノードに変更したいと思います。これどうやってするの?
Torは、私の知る限り、localhostのポート8051をリッスンしています。
Torに新しいチェーンを構築させ、別のIPアドレスを取得できるようにするために、このポートにどのコマンドを送信できますか?
(echo authenticate '""'; echo signal newnym; echo quit) | nc localhost 9051
方法1:HUP
Sudo killall -HUP tor
次に、IPが変更されたことを確認します。
curl --socks5 127.0.0.1:9050 http://checkip.amazonaws.com/
Ubuntu 17.10でSudo apt-get install tor
バージョン1.6.0-5でテスト済み。
プロセスはデフォルトでルートによって開始されるため、Sudo
が必要です。
Torデーモンに対するHUPシグナルの正確な内容は、 https://gitweb.torproject.org/torspec.git/tree/control-spec.txt?id=03aaace9bd9459b0d4bf22a75012acf39d07bcec#n394 これは、コマンドポートを介してコマンドを送信することと同等です。
Browser Bundle 5.0.5はこの影響を受けず、TBBで使用されないデフォルトの9050などのデーモンポートのみが影響を受けます。その使用例については、 https://tor.stackexchange.com/questions/1071/how-can-a-new-circuit-happen-without-closing-all-tabs
ここに記載されているようにTor IPの軍隊 を展開している場合 、選択的に送信できます:
kill -HUP $PID
方法2:制御ポート
kat による言及:
(echo authenticate '""'; echo signal newnym; echo quit) | nc localhost 9051
ただし、Ubuntu 17.10で動作させるには、最初にする必要があります:
コメントを外して制御ポートを有効にします。
ControlPort 9051
/etc/tor/torrc
から
空のパスワードを設定します。設定しない場合は、515 Authentication failed: Wrong length on authentication cookie.
になります。ファーストラン:
tor --hash-password ''
これは次のようなものを出力します:
16:D14CC89AD7848B8C60093105E8284A2D3AB2CF3C20D95FECA0848CFAD2
/etc/tor/torrc
で次の行を更新します。
HashedControlPassword 16:D14CC89AD7848B8C60093105E8284A2D3AB2CF3C20D95FECA0848CFAD2
Torを再起動します。
Sudo service tor restart
ボーナス:IPが変更されたことを確認する方法
curl --socks5 127.0.0.1:9050 http://checkip.amazonaws.com/
こちらもご覧ください:
関連するスレッド
ええ、それは1です(つまり、= true =)))、torは10分ごとにIPを変更しますが! torを再起動した場合-この10分間隔でも新しいIPを取得します。だから私はこの "change_ip"リクエストを手動で送信するためにtorを作ることを考えていました。このコードを参照してください( http://en.linuxreviews.org/HOWTO_use_the_Internet_anonymously_using_Tor_and_Privoxy に従って記述されています)
procedure ChangeIp;
var
sck:TIdTCPClient;
begin
sck:=TIdTCPClient.Create(nil);
try
sck.Host:='127.0.0.1';
sck.Port:=10051;
sck.Connect;
sck.SendCmd('authenticate','');
if sck.LastCmdResult.Code='250' then
begin
sck.SendCmd('signal newnym','');
end;
finally
sck.Free;
end;
end;
[ https://tor-svn.freehaven.net/svn/torctl/trunk/doc/howto.txt] に賛同して、私はすぐにtorのconfを変更するコントローラーを書くことができます。デフォルトでは有効ではありません(この能力を意味します)が、torcを使用してコマンドを受け入れるためにtorクライアントにポートをリッスンさせることができます...間違っていない場合は... again =)
!!!地獄のtorrcは私のPC上にありますか?
C:\ Users\geekman\AppData\Roaming\Torで、私はそれを手に入れて、Vistaを手に入れました。
リモートでこれを実行できるシェルスクリプトを自分で作成しました(Torサーバーが別のマシンで実行されている場合)。
ここにあります: https://Gist.github.com/kirelagin/96679 。
Torネットワークのルーティングを制御することはできません(もしあれば、誰かがこの機能を悪用する可能性があります)。しかし、torはすでに約10分ごとにルートを切り替えています(少なくとも ドイツのウィキペディアの記事 によると)。
Bashスクリプトを入力または挿入するだけです。
service tor reload
Advtor は、torネットワークを介して機能するほとんどすべての詳細設定にアクセスできます。
ここで何か違うことをしました... Linux Shellと通信できるPHPプログラムを作成しました。プログラムは定期的にtorを再起動します。
そのため、torを再起動すると、新しいIPが取得されます。
exec("/etc/init.d/tor restart",$ioOut);
print_r($ioOut); //output from Shell after executing the command
sleep(25);
これを行うシェルスクリプトを作成することもできます。
これを行うためのWindowsオプションを探しています。問題は.. Windows Torでは再起動できないサービスです。
PHPでTorを制御するライブラリを作成しました。 Composerでインストール可能で、出口ノードを変更できます。
もちろん、それはフリーソフトウェアです: http://dunglas.fr/2013/02/php-torcontrol-a-library-to-control-tor/