linux命令行代理神器-proxychains

linux命令行代理神器-proxychains

ProxyChains是Linux和其他Unix下的代理工具。 它可以使任何程序通过代理上网, 允许TCP和DNS通过代理隧道, 支持HTTP、 SOCKS4和SOCKS5类型的代理服务器, 并且可配置多个代理。 ProxyChains通过一个用户定义的代理列表强制连接指定的应用程序, 直接断开接收方和发送方的连接。





ProxyChains 是一个强制应用的 TCP 连接通过代理的工具,支持 Tor、HTTP、与 Socks 代理。与 sshuttle 不同的是,ProxyChains 只会将当前应用的 TCP 连接转发至代理,而非全局代理。


你可以从这里下载到源代码,编译后安装即可

git clone https://github.com/rofl0r/proxychains-ng
cd proxychains-ng
./configure
sudo make && make install

不过我在自己的Ubuntu16.06上可直接通过:

apt-get install proxychains

5s内安装完毕。

安装完毕之后需要设置代理配置:

ProxyChains 的配置文件位于 /etc/proxychains.conf ,打开后你需要在末尾添加你使用的代理。例如:

[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
#socks4    127.0.0.1 9050

# example
socks5  127.0.0.1 8888


确保你添加的代理能用。如果没有的话,你可以暂时在网上找一些免费的代理(不一定安全,你的流量可能被监听),比如说:



OK,基础的配置到这里就搞定了。除此之外,这个文件里还用一堆可选的配置供你调整,自己去看啦。

ProxyChains 的使用方式非常简单,直接在应用程序前加上 proxychains4 即可。例如:


proxychains4 git clone https://github.com/rofl0r/proxychains-ng

有没有明显感觉到 clone 的速度变快了很多。当然,除此之外你可以在任何你想通过代理的应用上使用:

# 在 Ubuntu 上更新软件包
sudo proxychains4 apt-get update

# 安装 npm 依赖(国内慢得一B啊)
proxychains4 npm install

# 使用 docker(再也不用切换源了)
docker run helloworld

# 下面请读者自行发挥。。。。

也有例外啦。这样使用并没有任何效果:

proxychains4 ping google.com

[proxychains] config file found: /etc/proxychains.conf
[proxychains] preloading /usr/local/lib/libproxychains4.dylib
PING google.com (172.217.27.142): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4

因为 proxychains 只会代理 TCP 连接,而 ping 使用的是 ICMP。记住这一点即可。


真机测试:

比如测试自己在公网上的IP,我都是使用

curl cip.cc

response如下图:

这是直接使用公网IP得到的IP地址,*.98.*.127。

再使用proxychains测试(已编辑/etc/proxychains.conf配置文件,且代理可用)

效果很明显,可以看到IP已经更改。

编辑于 2020-08-03 17:59