Proxychains完成Linux命令行代理
前言
Proxychains是一个Linux和类Unix平台非常流行的命令行代理工具,它支持强制应用的 TCP
连接通过代理,支持 Tor
、HTTP
与 Socks
代理。与 sshuttle 不同的是,ProxyChains
只会将当前应用的 TCP
连接转发至代理,而非全局代理。
正如他的名字“代理链”,当我们的代理够多时,它甚至可以随机构成长串的“链”,能够更好的保护我们的隐私、更难被反向追踪到。当然被追踪到也不是完全没有可能,因此不建议用其参与违法犯罪活动。
配置
我这里演示是使用的Kali
,因为其自带proxychains
工具。如果是Ubuntu
也可以直接安装:
1 | apt-get install proxychains |
首先我们需要找到其配置文件(有可能会有不同)
1 | locate proxychains |
切到root
进行编辑
1 | vim /etc/proxychains4.conf |
共有三种模式,
dynamic_chain
、strict_chain
、random_chain
dynamic_chain
:动态链,当我们添加多条代理时他会全部逐个按顺序连接使用,当某一个或几个失效会自动跳过连接到下一个可用的代理
strict_chain
:严格限制链,和上面的模式唯一不同的是必须保证每一个代理都可用,如有一个无法连接整个代理过程就会失败
random_chain
:随机链,每次会随机使用一条代理
我们将strict_chain
和random_chain
注释掉,剩下动态链。然后拉到最下面的proxylist,填上协议和代理地址
这里我就用我宿主机的代理监听来进行设置。添加多个代理也是一样的,直接在下面一行填入即可
注意 : 监听Host需改为0.0.0.0
退出保存,现在配置文件就已经设置好了。
使用
只要在需要代理的指令前加上proxychains
即可
在kali
中输入如下:
1 | proxychains firefox |
然后去查看ip
可以看到我们的代理已经生效了
然后通过代理来克隆github仓库就能发现速度快了很多
1 | proxychains git clone https://github.com/xzajyjs/XiaoXin13Pro-Hackintosh.git |
注意:
- proxychains只能代理TCP,因此如下指令是无效的 : proxychains ping google.com
- 如果通过root无法使用proxychains可切换到普通用户
其他
那么,如何获得这些代理呢?那就需要各位各显神通了,一些公用的代理大多数都已经失效,而且有可能会监控流量,除了试验外不建议使用。