proxychains DNS解析失败问题

解决方法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解析了。

同时测试得出proxychains.conf配置文件中socks5设置只能是IP地址,不能是域名。
本来计划使用花生壳设置一个内网socks5映射出去时,得出的结论。

猜你喜欢

转载自blog.csdn.net/imtech/article/details/126746780