Python – 通过代理使用socket.gethostbyname
发布时间:2020-12-16 21:43:13 所属栏目:Python 来源:网络整理
导读:我正在使用TOR代理连接,但是通过socket.gethostbyname(“www.yahoo.com”)代理DNS查询时遇到了困难 我了解到它并没有通过使用wireshark嗅探流量来通过代理发送DNS流量.这是我正在使用的代码的副本 import StringIOimport socketimport socks # SocksiPy modu
我正在使用TOR代理连接,但是通过socket.gethostbyname(“www.yahoo.com”)代理DNS查询时遇到了困难 – 我了解到它并没有通过使用wireshark嗅探流量来通过代理发送DNS流量.这是我正在使用的代码的副本
任何帮助是极大的赞赏! 最佳答案
您在套接字模块中调用gethostbyname.它对SOCKS套接字一无所知;它只是与您的操作系统的名称解析机制进行交互.设置socket.socket = socks.socksocket可能会影响通过套接字模块建立的网络连接,但模块不会直接连接到DNS服务器以执行名称解析,因此替换socket.socket对此行为没有影响.
如果只是使用主机名在socks.socksocket对象上调用connect(…)方法,代理将通过SOCKS执行名称解析:
如果您确实想要通过SOCKS连接执行原始DNS查询,则需要找到可以提供socksocket对象的Python DNS模块. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |