今天测试了一下SSR和proxychain,记录一下。
关于更深层的技术问题不探讨。
SSR可以设置为接受局域网的连接,这样一来可以让局域网之内的其他终端不需要更多的设置(只需要浏览器设置一下代理)就可以访问google。
同样,安装SSR的主机上运行的虚拟机也可以使用(我是在网卡桥接模式下使用的)。
我在虚拟机里使用kali linux,使用proxychain命令来测试的。
[email protected]:~# proxychains curl myip.ipip.net
ProxyChains-3.1 (http://proxychains.sf.net)
|DNS-request| myip.ipip.net
|R-chain|-<>-192.168.1.112:1080-<><>-4.2.2.2:53-<><>-OK
|DNS-response| myip.ipip.net is 104.24.20.50
|R-chain|-<>-192.168.1.112:1080-<><>-104.24.20.50:80-<><>-OK
当前 IP:119.28.190.69 来自于:中国 香港 tencent.com
这证明代理已经起作用,显示香港ip。
在测试打开google的时候出现问题。
[email protected]:~# proxychains curl www.google.com
ProxyChains-3.1 (http://proxychains.sf.net)
|R-chain|-<>-192.168.1.112:1080-<><>-75.126.2.43:80-<><>-OK
curl: (52) Empty reply from server
后来反复测试,原来配置文件里dns的代理没有打开,直接使用proxychain默认dns 4.2.2.2去解析google.com,然后遭遇了DNS劫持。
vi /etc/proxychains.conf
可以编辑参数和配置
主要参数
dynamic_chain 按照列表中出现的代理服务器的先后顺序组成一条链,如果有代理服务器失效,则自动将其排除,但至少要有一个是有效的.
strict_chain 按照后面列表中出现的代理服务器的先后顺序组成一条链,要求所有的代理服务器都是有效的.
random_chain 列表中的任何一个代理服务器都可能被选择使用,这种方式很适合网络扫描操作(参数chain_len只对random_chain有效).
proxy_dns 代理dns请求 默认开启
ProxyList 添加代理列表,如http、socks4/5、auth user/pass 默认
更改默认DNS,在这里:
[email protected]:~# vi /usr/lib/proxychains3/proxyresolv
可以编辑默认dns,默认4.2.2.2是微软,可以更改为8.8.8.8
但是不管使用哪一个,都要开启dns代理,默认proxychain是开启的。
原文地址:http://blog.51cto.com/82566/2129250