0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

tor + proxychains4のメモ

Last updated at Posted at 2021-03-06

初めてやったのでメモ

最終的にやりたいこと

  • firefox <--> pc <--> proxy <--> tor <--> proxy <--> web的な感じ
    • 多段プロキシ,多段串
    • torの前後で踏み台したい
      • 出口ノードが諸々のサービスに弾かれすぎですことよ!
      • 入口ノード前のproxyはtor提供のbridgeか
  • なるべくCLIで完結する
    • tor browser単体では不自由だった
  • VPNは使わない
    • ISP側やサービス側からの検知の対策のために本来なら優秀なVPNを使うべき
    • VPN over (Tor over VPN)ほどの硬さは要らないしクソ重いとは聞く
    • というかVPNがよくわからん,まぁ別に悪いことしないしヘビーユーザになる気もないし…
  • VB上のLinuxで完結させる
    • VBはまったくわからないが頑張りたいなぁ
  • 完全な興味本位

今回やったこと

Big Surでやってる,VB + Linuxはやってない,本当はその方がいいに決まっているのに…
CLIでちょっとしたプロセスの通信をproxychainsを使ってtor -> proxyの順番で通す

Tor側

導入

brew install tor
# => /usr/local/Cellar/tor/0.4.5.6
# => As alias, /usr/local/bin/tor
# => As config file example, /usr/local/etc/tor/torrc.sample

設定

torrec.sampleを複製してtorrecを同じ場所に置く,それがconfigとして読み込まれる
デフォルトに手を加える必要は特になし,下手にいじると自分が中継点として使われることになるらしい
localhost:9050で公開されるのでブラウザのプロキシをそこに合わせるとtorでブラウジングできる

もしbridgeを使いたい場合はobfs4proxyライブラリを別途で入手した上で再度torrecを弄る必要がある,tor browserとは異なりtorにはデフォルトでは入っていない
(そしてobfs4proxyはhomebrew未登録なので面倒になった)

proxychains側

導入

brew install proxychains-ng
# => /usr/local/Cellar/proxychains-ng/4.14
# => As alias, /usr/local/bin/proxychains4
# => As config file, /usr/local/etc/proxychains.conf

設定

デフォルトでproxychains.confがあるのでちょっと編集する

vim /usr/local/etc/proxychains.conf

最後の方の[proxy list]

  • socks5 127:0:0:1 9050
  • socks5 <出口ノード先の串IP> <出口ノード先の串ポート>

にする

プロトコル的にはhttpでもhttpsでもsocks4でもなくsocks5対応の串の方が良さそう
ここの無料プロキシリストで割とヒットできたのでおすすめ

その他

curltracerouteなどはhomebrew等から別途に落としたものを使う
macOSのデフォルトのコマンドだとなぜかproxychainsの恩恵を受けられない

homebrewtcptracerouteになってたし,curl/usr/local/bin/curlのエイリアスができなかった
エイリアスを作って/usr/local/bin/にはっつけてPATHの優先順位を変えてみたりbashのプロファイルに直でエイリアスを作ってみたりしたけど,なぜか呼び出しを上書きできなかった…

動作

試しにipを掘ってみる


$ brew services start tor
# homebrewでinstallしたものはこれで管理できるらしい

$ proxychains4 /usr/local/Cellar/curl/7.75.0/bin/curl inet-ip.info
# curlは /usr/local/Cellar/curl/7.75.0/bin/curl みたいな場所にあるはず
# 成功したら串のipが表示される

$ proxychains4 tcptraceroute google.com
# こんな事は出来なかった

これができただけだった…

今後かんがえたいこと

  • VBってどうやって使うのだ?
    • これ,メモリとか通信とかどうすればいいのだ…
  • proxychainsは後のタスクを抱え込んでるだけでは?
    • つまりtor + proxychainへの入口として働く汎用なlocalhostは立てられないか?
    • macOSproxychains4 open -a FireFoxしてもproxychainsが効かないが,linuxでproxychains4 firefoxするとどうも効くっぽい(動画参考),しかしVB上となるとこれができるかどうか想像がつかん,やってみなければわからない
  • これは本当に正しく効率的にproxychains over Torを実現しているのか?
    • torを落としてcurlするとエラーを吐くしレイテンシ的にもそれっぽい…
    • そういえばping系コマンドはicmpの民なのでproxychainsというかプロキシ自体に従わないそう,もしレイテンシをプロキシ込みで測りたいなら,webベースでスクリプトを提供しているものを使うことがおすすめ…
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?