proxychains是什么
关于proxychains工具:
- 它是一个proxifier。
- 最新版本:3.1
- 专用操作系统:Linux和其他Unices。
- 允许通过代理进行TCP和DNS隧道传输。
- 支持HTTP,SOCKS4和SOCKS5代理服务器。
- 可以在同一链中混合使用不同的代理类型。
- 代理链:链接在一起的用户定义的代理列表。
可用性:
- 通过代理服务器运行任何程序。
- 从限制性防火墙后面访问Internet。
- 隐藏您的IP
- 通过代理服务器运行SSH,telnet,wget,ftp,apt,vnc,nmap。
- 通过反向代理从外部访问内部网(192.168.*.*/10.*.*.*)。
使用
proxychains <正常的程序命令>
解决方法1
默认情况下,proxychains 的DNS解析的请求也是走代理的,注释掉proxychains 的proxy_dns,这样DNS的解析就不通过proxychains。
修改文件:/etc/proxychains.conf
# Proxy DNS requests - no leak for DNS data
# proxy_dns
解决方法2
配置使用其它DNS服务器。
默认情况下,proxychains使用4.2.2.2作为DNS服务器。配置位于:/usr/lib/proxychains3/proxyresolv:
#!/bin/sh
# This script is called by proxychains to resolve DNS names
?
# DNS server used to resolve names
DNS_SERVER=${PROXYRESOLV_DNS:-4.2.2.2}
?
if [ $# = 0 ] ; then
? ? ? ?echo " usage:"
? ? ? ?echo " ? ? ? ? proxyresolv <hostname> "
? ? ? ?exit
fi
?
export LD_PRELOAD=libproxychains.so.3
dig $1 @$DNS_SERVER +tcp | awk '/A.+[0-9]+\.[0-9]+\.[0-9]/{print $5;}'
因此,我们只要配置环境变量PROXYRESOLV_DNS为其它DNS服务器,就可以定制我们的DNS解析了。
同时,这个配置文件的最后一行也解释了proxychains是如何通过代理TCP来代理DNS解析了。
欢迎留言讨论。