Ubuntu Server 16.04 LTS/CentOS 7にtorをインストールしてtor経由でcurlやwgetを使用する

ふと、tor経由でwgetやcurlでWebサーバにアクセスしてみようと思ったので、ちょっとやってみた。まぁ特に難しい事も何もなかったのだけど、とりあえず備忘で残しておく。

1.torのインストール

まずtorのインストール。Ubuntu Server 16.04 LTS/CentOS 7であれば、普通にaptやyum(epel必要だけど)からインストールが可能だ。

●Ubuntuの場合

sudo apt install tor

 

●CentOSの場合

sudo yum install epel-release
sudo yum install tor

 

インストールができたら、Ubuntuであればとりあえずデフォルトの設定でサービスを起動してしまおう(127.0.0.1にしかポート開かないし)。

sudo systemctl start tor
blacknon@BS-PUB-UBUNTU-01:~$ ss -nap | grep :9050
tcp    LISTEN     0      128    127.0.0.1:9050                  *:*
tcp    TIME-WAIT  0      0      127.0.0.1:39180              127.0.0.1:9050

 

これでtorのインストール、起動は完了。

Sponsored Links

2.tor経由でwgetやcurlを使用する

torのインストール、起動ができたので、torを経由してwgetやcurlを使ってWebサイトにアクセスしてみよう。
torはsocksプロキシとして動作しているので、curlであれば以下のようにすることでtor経由でのアクセスが可能だ。例を見ると、torの再起動に応じてグローバルIPが変わっている事がわかる。

curl -s --socks5-hostname 127.0.0.1:9050 URL
blacknon@BS-PUB-UBUNTU-01:~$ curl -s --socks5-hostname 127.0.0.1:9050 http://inet-ip.info
77.247.181.165
blacknon@BS-PUB-UBUNTU-01:~$ sudo systemctl restart tor
blacknon@BS-PUB-UBUNTU-01:~$ curl -s --socks5-hostname 127.0.0.1:9050 http://inet-ip.info
204.85.191.30
blacknon@BS-PUB-UBUNTU-01:~$ sudo systemctl restart tor
blacknon@BS-PUB-UBUNTU-01:~$ curl -s --socks5-hostname 127.0.0.1:9050 http://inet-ip.info
138.197.207.243

 

curlの場合、このように指定socksをしてやればよいが、既存のスクリプトなどでtor経由での接続をする場合、「torsocks」コマンドもしくは「torify」コマンド経由で呼び出してやることで、簡単にtor経由での通信が行えるようだ。

torsocks コマンド
torify コマンド
blacknon@BS-PUB-UBUNTU-01:~$ cat ./tortest.py
from urllib import urlopen
print(urlopen('http://httpbin.org/ip').read())
blacknon@BS-PUB-UBUNTU-01:~$
blacknon@BS-PUB-UBUNTU-01:~$ torsocks python ./tortest.py
{
"origin": "193.15.16.4"
}
blacknon@BS-PUB-UBUNTU-01:~$ sudo systemctl restart tor
blacknon@BS-PUB-UBUNTU-01:~$ torsocks python ./tortest.py
{
"origin": "163.172.191.54"
}
blacknon@BS-PUB-UBUNTU-01:~$ torsocks curl http://httpbin.org/ip
{
"origin": "163.172.191.54"
}

 

結構お手軽に利用できる。

 


Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。

*