Terminal 下的代理工具 ProxyChains (For macOS/Linux)
ghy459 安全工具 29171浏览 · 2016-10-24 21:23

在日常测试中,我们偶尔会需要让我们的请求通过代理服务器进行发送。对于浏览器,使用代理的教程非常多,就不多介绍了。

但在 Terminal 下,好用的支持多种协议的工具就比较少了。

这里分享一款 Terminal 下的支持 socks 的代理工具 ProxyChains。

ProxyChains 只能用于 GNU/Linux 系统,安装方法如下:

On Debian/Ubuntu:

apt-get install proxy chains

On Mac OS X:

brew install proxychains-ng

其它系统可到官网下载安装包。(http://proxychains.sourceforge.net)

安装完成后,为 ProxyChains 创建一个配置文件(默认放在 ~/.proxychains/proxychains.conf):

strict_chain
proxy_dns
remote_dns_subnet 224
tcp_read_time_out 15000
tcp_connect_time_out 8000
localnet 127.0.0.0/255.0.0.0
quiet_mode

[ProxyList]
socks5  127.0.0.1 1080

需要修改的地方主要是 [ProxyList] ,ProxyChains 支持 HTTP、SOCKS4 和 SOCKS5 这三种代理。

因为我用的是 shadowsocks 转发的本地代理,所以直接填 socks5 127.0.0.1 1080 就好了。

localnet 是指定不走代理的 IP 范围。

ProxyChains 还支持多个代理组成链式访问:

your_host <--> proxy 1 (TOR) <--> proxy 2 (HTTP or SOCKS4/5) <--> target_host

使用方法也很简单,直接在后面加上要执行的命令就可以了。

proxychains4 curl https://www.twitter.com/
proxychains4 git push origin master

或者用 ProxyChains 新建一个 bash,该 bash 里面的网络请求都会通过代理发出。

proxychains4 bash
curl https://www.twitter.com/

当然 proxychains4 这个命令略长,输入不太方便,所以还是为它设置一个 alias 吧。

PS. 其实如果用的是 HTTP 代理,可以不用安装任何软件:

linux

export http_proxy="127.0.0.1:8080"

windows

set http_proxy="127.0.0.1:1080"

0 条评论
某人
表情
可输入 255