3

特定の IP アドレスに到達できる tor 出口ノードのリストを自動的に生成したいと考えています。私はしばらくの間インターネットを精査し、http://sjoerd-hemminga.com/blog/2012/10/block-tor-exit-nodes-using-iptables/からこのコードを見つけました。

if [[ -z "$1" ]]; then
  echo Usage: $0 "<your host's ip>"
  exit 1
fi

hostip=$1

for i in $(wget https://check.torproject.org/cgi-bin/TorBulkExitList.py\?ip=$hostip -O- -q |\
    grep -E '^[[:digit:]]+(\.[[:digit:]]+){3}$'); do
  sudo iptables -A INPUT -s "$i" -j DROP
done

実行しようとするたびにエラーが発生するため、誰かがこのコードをよりよく理解するのを手伝ってくれませんか?

代替の回答は大歓迎ですが、Python である場合は希望します。

4

3 に答える 3

0

制御ポートとサーバー記述子を持つように Tor を構成した場合...

ControlPort 9051
CookieAuthentication 1
UseMicrodescriptors 0

...その後、 stemを使用して出口を簡単に列挙できます...

from stem.control import Controller

with Controller.from_port(port = 9051) as controller:
  controller.authenticate()

  for desc in controller.get_server_descriptors():
    if desc.exit_policy.is_exiting_allowed():
      print desc.address

とはいえ、あなたの本当の質問が「すべての Tor 出口を使用して何かを行うにはどうすればよいか」である場合は、そうしないでください。回路を繰り返し作成することは、Tor ネットワークに害を及ぼします。詳細については、stem の FAQを参照してください。

于 2013-06-16T02:53:52.763 に答える