Type:
Class
Constants:
DefaultResolver : self.new

Default resolver to use for Resolv class methods.

AddressRegex : /(?:#{IPv4::Regex})|(?:#{IPv6::Regex})/

Address Regexp to use for matching IP addresses.

Resolv is a thread-aware DNS resolver library written in Ruby. Resolv can handle multiple DNS requests concurrently without blocking the entire ruby interpreter.

See also resolv-replace.rb to replace the libc resolver with Resolv.

Resolv can look up various DNS resources using the DNS module directly.

Examples:

p Resolv.getaddress "www.ruby-lang.org"
p Resolv.getname "210.251.121.214"

Resolv::DNS.open do |dns|
  ress = dns.getresources "www.ruby-lang.org", Resolv::DNS::Resource::IN::A
  p ress.map { |r| r.address }
  ress = dns.getresources "ruby-lang.org", Resolv::DNS::Resource::IN::MX
  p ress.map { |r| [r.exchange.to_s, r.preference] }
end

Bugs

  • NIS is not supported.

  • /etc/nsswitch.conf is not supported.

getname

getname(address) Class Public methods Looks up the hostname of address

2015-05-05 22:31:49
getaddresses 2

getaddresses(name) Instance Public methods Looks up all IP address for name

2015-05-05 22:58:51
each_name

each_name(address, &proc) Class Public methods Iterates over all hostnames

2015-05-05 22:13:04