以下省略!

タイダルウ(ry ほぼ毎日1記事執筆運動実施中。 ※記事に広告(アフィリエイト)リンクを掲載している場合があります。

proxychains-ngを使ってみた

https://rita.xyz/blog/irasutoya/cloth_kutsushita-w200-zf.png今回はproxychains-ngというソフトを軽く紹介。アプリケーションの起動時にネットワーク関連の関数呼び出しをproxychains-ng経由にすることでSOCKSプロキシ経由で通信できるようにするもの。Windowsでこういう類のソフトはFreeCapなどがある。
LD_PRELOADにproxychains-ngのライブラリを指定する関係上、静的リンク(static)なプログラムには使えないので注意。またUDP/ICMPなどTCP以外のプロトコルはプロキシ経由にできない。
ちなみに、-ngと付いているのは事実上開発が停止しているproxychainsの後継なため。

インストール

$ git clone https://github.com/rofl0r/proxychains-ng
$ cd proxychains-ng
$ ./configure --prefix=/usr --sysconfdir=/etc
$ make
$ sudo make install
$ sudo make install-config

適当に設定

/etc/proxychains.confをいじる。いじるべき設定は

  • quiet_modeをアンコメントする
    • proxychains-ngのライブラリからのメッセージを吐かせたくない場合。
  • [ProxyList]以降をいじる
    • デフォルトではTor向けの設定になっている。
      • デフォルト設定でTorを動かしていて、かつTorを経由させたい場合はそのままの設定でOK。
    • 例えば、ローカル(127.0.0.1)の1080ポートで動いているSOCKS5プロキシ経由にしたい場合は以下のようにする。
socks5 127.0.0.1 1080

適当に使ってみる

SOCKSプロキシ経由にしたいコマンドの前にproxychains4を付けるだけ。
curlifconfig.coにアクセスしてIPを取得してみる。以下の例でのproxychains-ngの設定はSSH(VPSに接続している)のダイナミックポートフォワーディングのポートを指定している。IPv6でもちゃんと通信できる模様(ただし暫定対応)。

$ curl ifconfig.co
240b:13:****:***:****:****:****:****
$ proxychains4 curl ifconfig.co
2401:2500:102:3016:153:126:160:152

apt-getなどの通信もSOCKSプロキシ経由にできる(はず)。

$ sudo proxychains4 apt-get update