Ruby - 使用Resolv :: DNS通过经过身份验证的代理查找DNS记录

时间:2016-06-24 19:00:04

标签: proxy resolv

我有使用Ruby内置Resolve::DNS功能执行DNS查找的代码,它可以很好地解析IP地址到名称(或任何其他类型的适用DNS查找)。

它反对我们的内部域名服务器,但偶尔我想看看外部DNS报告的内容。

例如,为了通过谷歌的公共DNS(8.8.8.8 / https://dns.google.com/)反弹IP地址,我需要能够通过我们经过身份验证的代理提出请求。

我尝试在命令行设置http_proxyHTTPS_PROXY(使用在Resolv::DNS之外工作的已知良好语法。我也尝试过专门使用ENV['http_proxy'] = 'http://username:password@hostname:port'(与当然,环境变量的大写都是。)

是否有人知道如何通过Resolv::DNS的代理提出请求?

请注意,我有其他代码依赖于使用Resolv::DNS,因此我不会寻找尝试利用其他Ruby gems /库执行此任务的答案。

这是我的代码在查询内部DNS名称服务器时有效,但它不适用于Google DNS(它会在很长一段时间后超时):

 dns = Resolv::DNS.new(:nameserver => '8.8.8.8')

 dns_ptr = dns.getnames('107.23.199.237') # logitech.com

 p dns_ptr

预期产出:

[#<Resolv::DNS::Name: ec2-ip-address-and-name-of-logitech.com-in-aws.com.>]

0 个答案:

没有答案