Linux下使用Proxychains让任意程序走Socks/Http代理
$ apt install proxychains
配置文件在/etc/proxychains.conf,根据其中注释在末尾加上自己的socks/http代理服务器
使用方法:在需要走代理的命令前加上proxychains
示例:
$ curl ip.cn
当前 IP:60.171.124.71 来自:安徽省马鞍山市 电信
$ proxychains curl ip.cn
ProxyChains-3.1 (http://proxychains.sf.net)
|DNS-request| ip.cn
|S-chain|-<>-192.168.139.1:8005-<><>-4.2.2.2:53-<><>-OK
|DNS-response| ip.cn is 198.41.214.88
|S-chain|-<>-192.168.139.1:8005-<><>-198.41.214.88:80-<><>-OK
当前 IP:192.227.246.246 来自:美国 ColoCrossing
update:
需要手动修正一下链接库位置:
vim /usr/bin/proxychains
将export LD_PRELOAD=libproxychains.so.3改为
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libproxychains.so.3
32位为
export LD_PRELOAD=/usr/lib/i686-linux-gnu/libproxychains.so.3
update2 19.5.7:
当时用的应该是Mint 19(ubuntu18.04)。现在我早已切换到Debian10系统,Debian下的Proxychains不用修改链接库位置(讲道理ubuntu也不应该才对,可能当时哪里有问题),并且Debian10引入了Proxychains4版本,原版Proxychains已经年久失修,Proxychains4是其他人的后续fork继续维护。
$ apt install proxychains4
配置文件也变成了/etc/proxychains4.conf
update3 19.5.17:
今天偶然弄清了为什么旧版本proxychains经常实效,原因是旧版proxychains挂proxy_dns这个选项(默认开启也理应开启)时走一个4.2.2.2的dns服务器,而这个dns服务器已经半dead了很多时候连不上。其实这个选项是可以配置的,不过藏的很深,在/usr/lib/proxychains3/proxyresolv,加入
DNS_SERVER=8.8.8.8
即可。
而Proxychains4(Proxychains-ng)开启proxy_dns这个选项则自动使用连接的代理服务器所用的dns,自然也不存在这个问题了。
发表于 2018-10-14 16:10:00 并被添加「」标签,阅读量: 2045 。
此处评论已关闭