Ruby の組み込み機能を使用して DNS ルックアップを実行するコードがResolve::DNS
あり、IP アドレスを名前 (またはその他の適用可能な DNS ルックアップ) に解決するために完全に機能します。
内部ネームサーバーに対して機能していますが、外部 DNS が何を報告しているかを確認したい場合があります。
たとえば、 Google のパブリック DNS (8.8.8.8 / https://dns.google.com/ ) に対して IP アドレスをバウンスするには、認証済みプロキシを介してリクエストを行う必要があります。
コマンド ラインで と をhttp_proxy
設定しようとしました(.HTTPS_PROXY
Resolv::DNS
ENV['http_proxy'] = 'http://username:password@hostname:port'
を使用してプロキシ経由でリクエストを行う方法を知っている人はいますResolv::DNS
か?
使用に依存する他のコードがあるResolv::DNS
ため、このタスクに他の Ruby 宝石/ライブラリを活用しようとする回答を探していないことに注意してください。
内部 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.>]