✎ 阅读须知
乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
乌鸦安全拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经授权,不得用于其他。
01 ProxyChains介绍
ProxyChains遵循GNU协议的一款适用于linux系统的网络代理设置工具。强制由任一程序发起的TCP连接请求必须通过诸如TOR 或 SOCKS4, SOCKS5 或HTTP(S) 代理。支持的认证方式包括:SOCKS4/5的用户/密码认证,HTTP的基本认证。允许TCP和DNS通过代理隧道,并且可配置多个代理。
参考资料:
https://www.jianshu.com/p/3f392367b41f
02 ProxyChains的适用场景
在以下几种场合,你可以考虑使用ProxyChains:需要通过代理上网,或者需要突破诸如设置了端口限制的防火墙;或者要使用telnet,ssh,wget,vnc,apt,ftp,nmap等应用;事实上,甚至可以通过ProxyChains设置反向代理来让你能够从外部访问你的内部局域网。突破防火墙限制访问互联网
参考资料:
https://www.jianshu.com/p/3f392367b41f
ps:以下过程实现均在Mac os系统下进行,默认已经安装brew、SSR等工具。
很多新人在测试的时候,可能都是HTTP全局,但是在命令行方面却是裸露的,相当于鸵鸟将头埋进了沙子里。
03 关闭SIP
什么是SIP?可以简单理解为安卓手机获取了ROOT权限(这种说法不一定准确)
本机系统是最新版Big Sur,在使用proxychains4的时候,需要先关闭SIP策略,否则proxychains4是无法生效的。

关闭的命令:
⌘ + R 进入 Recovery 模式菜单栏,然后选择实用工具,再使用终端csrutil disable 输入之后,屏幕会提示重启之后生效,这里直接输入rebootcsrutil status查看当前的状态信息,如果出现System Integrity Protection status: disabled.则代表关闭成功

03 安装proxychains
这里直接使用brew进行安装(需要提前配置)
brew install proxychains-ng
安装完成之后,准备配置proxychains.conf文件,但最好提前将该文件进行备份
cp /usr/local/etc/proxychains.conf /usr/local/etc/proxychains.conf.bak然后开始编辑
vim /usr/local/etc/proxychains.conf在文件的最底部将socks4 127.0.0.1 9095修改为socks5 127.0.0.1 1086,然后保存文件

这里监听的是本地的1086端口,因为是我本地SSR的默认代理端口

03 验证
这里使用的话,直接在命令行里输入proxychains4 + 网址

我在远程vps上利用python搭建了一个简易的http服务
python3 -m http.server 5551

然后在不使用proxychains4的情况下测试
curl vps地址:5551

服务端也收到了测试的ip地址

查到当前的地址是国内电信

使用proxychains4来进行测试

vps也记录了当前的地址

地址已发生改变

因此证明proxychains4使用有效
至于命令行始终全局代理等内容,可自行百度解决!