我必须通过SOCKS 5代理使用python 3发出DNS请求。 (因此,没有从我的IP地址发出DNS请求,socks5代理为我完成了此请求,如果响应无法解决,则应该以相应的A / AAA记录响应,否则不响应)>
我找到了以下github项目:
rthalley / dnspython :不支持代理/袜子
Anorov / PySocks :没有ipv6,没有接收远程DNS响应的可能性
我发现了以下stackoverflow线程: Python - Using socket.gethostbyname through proxy ->它使用不支持ipv6的pysocks->对我不可用
你知道如何完成我的任务吗?
答案 0 :(得分:1)
这非常容易。它的工作方式与curl相同:
如果您需要解析DNS 客户端,请使用socks5://host:port
语法
如果您需要在代理端上解析DNS,请使用socks5h://host:port
语法
答案 1 :(得分:0)
query.py的lin 45
# Function used to create a socket. Can be overridden if needed in special
# situations.
socket_factory = socket.socket
您可以重置socket_factory值(使用PySocks)