使用Python 3通过SOCKS5进行DNS请求

tr4*_*ter 5 python dns proxy socks

我必须通过SOCKS 5代理使用python 3发出DNS请求。(因此,没有从我的IP地址发出DNS请求,socks5代理为我完成了该请求,并且应该以相应的A / AAA记录响应,或者如果无法解决,则不响应/提供其他任何响应)

我找到了以下github项目:

rthalley / dnspython:不支持代理/袜子

Anorov / PySocks:没有ipv6,没有接收远程DNS响应的可能性

我发现了以下stackoverflow线程Python-通过代理使用socket.gethostbyname- >它使用不支持ipv6的pysocks->对我不可用

你知道如何完成我的任务吗?

dis*_*osr 7

这非常简单。它的工作方式与curl中相同:

如果您需要在客户端解析 DNS ,请使用socks5://host:port语法

如果您需要在代理端解析 DNS ,请使用socks5h://host:port语法


小智 0

在 query.py 的第 45 行中

# Function used to create a socket.  Can be overridden if needed in special
# situations.
socket_factory = socket.socket
Run Code Online (Sandbox Code Playgroud)

您可以重置socket_factory值(使用PySocks)