11

Tor を Python で制御しようとしています。この件に関してstackoverflowで尋ねられた他のいくつかの質問を読みましたが、この質問に答えるものはありません。

コマンドの実行時に、新しい IP アドレスである「新しい ID」を提供する方法を探しています。私はググって、torを制御する方法としてTorCtlモジュールを見つけましたが、新しいIDを取得する方法が見つかりません. 少なくとも tor に接続するために私がこれまでに持っているものは次のとおりですが、それ以上のことはできません。

from TorCtl import TorCtl

conn = TorCtl.connect(controlAddr="127.0.0.1", controlPort=9051, passphrase="123")

TorCtlよりも優れた他のモジュールがあれば、それも素晴らしいでしょう! ありがとうございました!

4

3 に答える 3

6

幸運なことに、私が望んでいたのとまったく同じことを行う PHP スクリプトを見つけることができたので、その助けを借りて、それを TorCtl で動作するように変換しました。これは、将来それを必要とする他の人にとってどのように見えるかです!

from TorCtl import TorCtl

conn = TorCtl.connect(controlAddr="127.0.0.1", controlPort=9051, passphrase="123")

TorCtl.Connection.send_signal(conn, "NEWNYM")
于 2012-03-29T04:18:17.980 に答える
2

同様のコードを Python で使用できます。

def renewTorIdentity(self, passAuth):
    try:
        s = socket.socket()
        s.connect(('localhost', 9051))
        s.send('AUTHENTICATE "{0}"\r\n'.format(passAuth))
        resp = s.recv(1024)

        if resp.startswith('250'):
            s.send("signal NEWNYM\r\n")
            resp = s.recv(1024)

            if resp.startswith('250'):
                print "Identity renewed"
            else:
                print "response 2:", resp

        else:
            print "response 1:", resp

    except Exception as e:
        print "Can't renew identity: ", e 

ミニチュートリアルについては、この投稿を確認できます

于 2012-07-17T15:17:48.013 に答える