module Ronin::Support::Network::DNS::Mixin

Provides helper methods for performing DNS queries.

@api public

Public Instance Methods

dns_get_a_address(name,**kwargs) click to toggle source

Queries the first IPv4 address belonging to the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [String, nil]

The first IPv4 address belonging to the host name.
# File lib/ronin/support/network/dns/mixin.rb, line 383
def dns_get_a_address(name,**kwargs)
  dns_resolver(**kwargs).get_a_address(name.to_s)
end
dns_get_a_addresses(name,**kwargs) click to toggle source

Queries all IPv4 addresses belonging to the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Array<String>]

All of the IPv4 addresses belonging to the host name.
# File lib/ronin/support/network/dns/mixin.rb, line 429
def dns_get_a_addresses(name,**kwargs)
  dns_resolver(**kwargs).get_a_addresses(name.to_s)
end
dns_get_a_record(name,**kwargs) click to toggle source

Queries the first ‘A` record belonging to the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Resolv::DNS::Resource::IN::A, nil]

The first `A` DNS record or `nil` if the host name has no `A`
records.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource/IN/A

# File lib/ronin/support/network/dns/mixin.rb, line 361
def dns_get_a_record(name,**kwargs)
  dns_resolver(**kwargs).get_a_record(name.to_s)
end
dns_get_a_records(name,**kwargs) click to toggle source

Queries all ‘A` records belonging to the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Array<Resolv::DNS::Resource::IN::A>]

All of the `A` DNS records belonging to the host name.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource/IN/A

# File lib/ronin/support/network/dns/mixin.rb, line 407
def dns_get_a_records(name,**kwargs)
  dns_resolver(**kwargs).get_a_records(name.to_s)
end
dns_get_aaaa_address(name,**kwargs) click to toggle source

Queries the first IPv6 address belonging to the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [String, nil]

The first IPv6 address or `nil` if the host name has no IPv6
addresses.
# File lib/ronin/support/network/dns/mixin.rb, line 477
def dns_get_aaaa_address(name,**kwargs)
  dns_resolver(**kwargs).get_aaaa_address(name.to_s)
end
dns_get_aaaa_addresses(name,**kwargs) click to toggle source

Queries all IPv6 addresses belonging to the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Array<String>]

All IPv6 addresses belonging to the host name.
# File lib/ronin/support/network/dns/mixin.rb, line 523
def dns_get_aaaa_addresses(name,**kwargs)
  dns_resolver(**kwargs).get_aaaa_addresses(name.to_s)
end
dns_get_aaaa_record(name,**kwargs) click to toggle source

Queries the first ‘AAAA` DNS records belonging to the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Resolv::DNS::Resource::IN::AAAA, nil]

The first `AAAA` DNS record or `nil` if the host name has no
`AAAA` records.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource/IN/AAAA

# File lib/ronin/support/network/dns/mixin.rb, line 454
def dns_get_aaaa_record(name,**kwargs)
  dns_resolver(**kwargs).get_aaaa_record(name.to_s)
end
dns_get_aaaa_records(name,**kwargs) click to toggle source

Queries all ‘AAAA` DNS records belonging to the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Array<Resolv::DNS::Resource::IN::AAAA>]

All of the `AAAA` DNS records belonging to the host name.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource/IN/AAAA

# File lib/ronin/support/network/dns/mixin.rb, line 501
def dns_get_aaaa_records(name,**kwargs)
  dns_resolver(**kwargs).get_aaaa_records(name.to_s)
end
dns_get_address(host,**kwargs) click to toggle source

Looks up the address of a hostname.

@param [String] host

The hostname to lookup.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [String, nil]

The address of the hostname.
# File lib/ronin/support/network/dns/mixin.rb, line 114
def dns_get_address(host,**kwargs)
  dns_resolver(**kwargs).get_address(host.to_s)
end
Also aliased as: dns_lookup
dns_get_addresses(host,**kwargs) click to toggle source

Looks up all addresses of a hostname.

@param [String] host

The hostname to lookup.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Array<String>]

The addresses of the hostname.
# File lib/ronin/support/network/dns/mixin.rb, line 138
def dns_get_addresses(host,**kwargs)
  dns_resolver(**kwargs).get_addresses(host.to_s)
end
dns_get_any_records(name,**kwargs) click to toggle source

Queries all records of the host name using the ‘ANY` DNS query.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Array<Resolv::DNS::Resource>]

All of the DNS records belonging to the host name.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource/ANY

# File lib/ronin/support/network/dns/mixin.rb, line 263
def dns_get_any_records(name,**kwargs)
  dns_resolver(**kwargs).get_any_records(name.to_s)
end
dns_get_cname(name,**kwargs) click to toggle source

Queries the canonical name for the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [String, nil]

The canonical name for the host or `nil` if the host has no
`CNAME` record.
# File lib/ronin/support/network/dns/mixin.rb, line 311
def dns_get_cname(name,**kwargs)
  dns_resolver(**kwargs).get_cname(name.to_s)
end
dns_get_cname_record(name,**kwargs) click to toggle source

Queries the ‘CNAME` record for the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Resolv::DNS::Resource::IN::CNAME, nil]

The `CNAME` record or `nil` if the host name has no `CNAME`
record.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource/CNAME

# File lib/ronin/support/network/dns/mixin.rb, line 288
def dns_get_cname_record(name,**kwargs)
  dns_resolver(**kwargs).get_cname_record(name.to_s)
end
dns_get_hinfo_record(name,**kwargs) click to toggle source

Queries the ‘HINFO` record for the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Resolv::DNS::Resource::IN::HINFO, nil]

The `HINFO` DNS record or `nil` if the host name has no `HINFO`
record.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource/HINFO

# File lib/ronin/support/network/dns/mixin.rb, line 336
def dns_get_hinfo_record(name,**kwargs)
  dns_resolver(**kwargs).get_hinfo_record(name.to_s)
end
dns_get_loc_record(name,**kwargs) click to toggle source

Queries the ‘LOC` (Location) DNS record of the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Resolv::DNS::Resource::LOC, nil]

The `LOC` DNS record of the host name or `nil` if the host name
has no `LOC` record.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource/LOC

# File lib/ronin/support/network/dns/mixin.rb, line 597
def dns_get_loc_record(name,**kwargs)
  dns_resolver(**kwargs).get_loc_record(name.to_s)
end
dns_get_mailservers(name,**kwargs) click to toggle source

Queries the mailservers for the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Array<String>]

The host names of the mailservers serving the given host name.
# File lib/ronin/support/network/dns/mixin.rb, line 668
def dns_get_mailservers(name,**kwargs)
  dns_resolver(**kwargs).get_mailservers(name.to_s)
end
dns_get_minfo_record(name,**kwargs) click to toggle source

Queries the ‘MINFO` (Machine-Info) DNS record of the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Resolv::DNS::Resource::MINFO, nil]

The `MINFO` DNS record of the host name or `nil` if the host name
has no `MINFO` record.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource/MINFO

# File lib/ronin/support/network/dns/mixin.rb, line 622
def dns_get_minfo_record(name,**kwargs)
  dns_resolver(**kwargs).get_minfo_record(name.to_s)
end
dns_get_mx_records(name,**kwargs) click to toggle source

Queries all ‘MX` DNS records belonging to the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Array<Resolv::DNS::Resource::MX>]

All `MX` DNS records belonging to the host name.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource/MX

# File lib/ronin/support/network/dns/mixin.rb, line 646
def dns_get_mx_records(name,**kwargs)
  dns_resolver(**kwargs).get_mx_records(name.to_s)
end
dns_get_name(ip,**kwargs) click to toggle source

Looks up the hostname of the address.

@param [String] ip

The IP address to lookup.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [String, nil]

The hostname of the address.
# File lib/ronin/support/network/dns/mixin.rb, line 160
def dns_get_name(ip,**kwargs)
  dns_resolver(**kwargs).get_name(ip.to_s)
end
Also aliased as: dns_reverse_lookup
dns_get_names(ip,**kwargs) click to toggle source

Looks up all hostnames associated with the address.

@param [String] ip

The IP address to lookup.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Array<String>]

The hostnames of the address.
# File lib/ronin/support/network/dns/mixin.rb, line 184
def dns_get_names(ip,**kwargs)
  dns_resolver(**kwargs).get_names(ip.to_s)
end
dns_get_nameservers(name,**kwargs) click to toggle source

Queries the nameservers for the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Array<String>]

The host names of the nameservers serving the given host name.
# File lib/ronin/support/network/dns/mixin.rb, line 714
def dns_get_nameservers(name,**kwargs)
  dns_resolver(**kwargs).get_nameservers(name.to_s)
end
dns_get_ns_records(name,**kwargs) click to toggle source

Queries all ‘NS` DNS records belonging to the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Array<Resolv::DNS::Resource::NS>]

All `NS` DNS records belonging to the host name.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource/NS

# File lib/ronin/support/network/dns/mixin.rb, line 692
def dns_get_ns_records(name,**kwargs)
  dns_resolver(**kwargs).get_ns_records(name.to_s)
end
dns_get_ptr_name(ip,**kwargs) click to toggle source

Queries the ‘PTR` host name for the IP address.

@param [String] ip

The IP address to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [String, nil]

The host name that points to the given IP.
# File lib/ronin/support/network/dns/mixin.rb, line 761
def dns_get_ptr_name(ip,**kwargs)
  dns_resolver(**kwargs).get_ptr_name(ip.to_s)
end
dns_get_ptr_names(ip,**kwargs) click to toggle source

Queries all ‘PTR` names for the IP address.

@param [String] ip

The IP address to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Array<String>]

The `PTR` names for the given IP.
# File lib/ronin/support/network/dns/mixin.rb, line 807
def dns_get_ptr_names(ip,**kwargs)
  dns_resolver(**kwargs).get_ptr_names(ip.to_s)
end
dns_get_ptr_record(ip,**kwargs) click to toggle source

Queries the first ‘PTR` DNS record for the IP address.

@param [String] ip

The IP address to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Resolv::DNS::Resource::PTR, nil]

The first `PTR` DNS record of the host name or `nil` if the host
name has no `PTR` records.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource/PTR

# File lib/ronin/support/network/dns/mixin.rb, line 739
def dns_get_ptr_record(ip,**kwargs)
  dns_resolver(**kwargs).get_ptr_record(ip.to_s)
end
dns_get_ptr_records(ip,**kwargs) click to toggle source

Queries all ‘PTR` DNS records for the IP address.

@param [String] ip

The IP address to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Array<Resolv::DNS::Resource::PTR>]

All `PTR` DNS records for the given IP.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource/PTR

# File lib/ronin/support/network/dns/mixin.rb, line 785
def dns_get_ptr_records(ip,**kwargs)
  dns_resolver(**kwargs).get_ptr_records(ip.to_s)
end
dns_get_record(name,record_type,**kwargs) click to toggle source

Queries a single matching DNS record for the host name.

@param [String] name

The host name to query.

@param [:a, :aaaa, :any, :cname, :hinfo, :loc, :minfo, :mx, :ns, :ptr, :soa, :srv, :txt, :wks] record_type

The record type.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Resolv::DNS::Resource, nil]

The matching DNS records or `nil` if no matching DNS records
could be found.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource

# File lib/ronin/support/network/dns/mixin.rb, line 212
def dns_get_record(name,record_type,**kwargs)
  dns_resolver(**kwargs).get_record(name.to_s,record_type)
end
dns_get_records(name,record_type,**kwargs) click to toggle source

Queries all matching DNS records for the host name.

@param [String] name

The host name to query.

@param [:a, :aaaa, :any, :cname, :hinfo, :loc, :minfo, :mx, :ns, :ptr, :soa, :srv, :txt, :wks] record_type

The record type.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Array<Resolv::DNS::Resource>]

All matching DNS records.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource

# File lib/ronin/support/network/dns/mixin.rb, line 239
def dns_get_records(name,record_type,**kwargs)
  dns_resolver(**kwargs).get_records(name.to_s,record_type)
end
dns_get_soa_record(name,**kwargs) click to toggle source

Queries the first ‘SOA` DNS record belonging to the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Resolv::DNS::Resource::SOA, nil]

The first `SOA` DNS record for the host name or `nil` if the host
name has no `SOA` records.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource/SOA

# File lib/ronin/support/network/dns/mixin.rb, line 832
def dns_get_soa_record(name,**kwargs)
  dns_resolver(**kwargs).get_soa_record(name.to_s)
end
dns_get_srv_records(name,**kwargs) click to toggle source

Queries all ‘SRV` DNS records belonging to the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Array<Resolv::DNS::Resource::IN::SRV>]

All `SRV` DNS records belonging to the host name.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource/IN/SRV

# File lib/ronin/support/network/dns/mixin.rb, line 547
def dns_get_srv_records(name,**kwargs)
  dns_resolver(**kwargs).get_srv_records(name.to_s)
end
dns_get_txt_record(name,**kwargs) click to toggle source

Queiries the first ‘TXT` DNS record belonging to the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Resolv::DNS::Resource::TXT, nil]

The first `TXT` DNS record for the host name or `nil` if the host
name has no `TXT` records.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource/TXT

# File lib/ronin/support/network/dns/mixin.rb, line 857
def dns_get_txt_record(name,**kwargs)
  dns_resolver(**kwargs).get_txt_record(name.to_s)
end
dns_get_txt_records(name,**kwargs) click to toggle source

Queries all ‘TXT` DNS records belonging to the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Array<Resolv::DNS::Resource::TXT>]

All of the `TXT` DNS records belonging to the host name.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource/TXT

# File lib/ronin/support/network/dns/mixin.rb, line 904
def dns_get_txt_records(name,**kwargs)
  dns_resolver(**kwargs).get_txt_records(name.to_s)
end
dns_get_txt_string(name,**kwargs) click to toggle source

Queries the first ‘TXT` string belonging to the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [String, nil]

The first `TXT` string belonging to the host name or `nil` if the
host name has no `TXT` records.
# File lib/ronin/support/network/dns/mixin.rb, line 880
def dns_get_txt_string(name,**kwargs)
  dns_resolver(**kwargs).get_txt_string(name.to_s)
end
dns_get_txt_strings(name,**kwargs) click to toggle source

Queries all of the ‘TXT` string values of the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Array<String>]

All `TXT` string values belonging of the host name.
# File lib/ronin/support/network/dns/mixin.rb, line 926
def dns_get_txt_strings(name,**kwargs)
  dns_resolver(**kwargs).get_txt_strings(name.to_s)
end
dns_get_wks_records(name,**kwargs) click to toggle source

Queries all ‘WKS` (Well-Known-Service) DNS records belonging to the host name.

@param [String] name

The host name to query.

@param [Hash{Symbol => Object}] kwargs

Additional keyword arguments.

@option [Array<String>, String, nil] :nameservers

Optional DNS nameserver(s) to query.

@option [String, nil] :nameserver

Optional DNS nameserver to query.

@return [Array<Resolv::DNS::Resource::IN::WKS>]

All `WKS` DNS records belonging to the host name.

@see rubydoc.info/stdlib/resolv/Resolv/DNS/Resource/IN/WKS

# File lib/ronin/support/network/dns/mixin.rb, line 572
def dns_get_wks_records(name,**kwargs)
  dns_resolver(**kwargs).get_wks_records(name.to_s)
end
dns_lookup(host,**kwargs)
Alias for: dns_get_address
dns_nameserver=(new_nameserver) click to toggle source

Sets the primary DNS nameserver to query.

@param [String] new_nameserver

The address of the new primary DNS nameserver to query.

@return [String]

The address of the new primary DNS nameserver to query.
# File lib/ronin/support/network/dns/mixin.rb, line 67
def dns_nameserver=(new_nameserver)
  self.dns_nameservers = [new_nameserver]
  return new_nameserver
end
dns_nameservers() click to toggle source

The default DNS nameserver(s) to query.

@return [Array<String>]

The addresses of the DNS nameserver(s) to query.
# File lib/ronin/support/network/dns/mixin.rb, line 54
def dns_nameservers
  @dns_nameservers ||= Network::DNS.nameservers
end
dns_nameservers=(new_nameservers) click to toggle source

Sets the DNS nameservers to query.

@param [Array<String>] new_nameservers

The new DNS nameserver addresses to query.

@return [Array<String>]

The new DNS nameserver addresses to query.
# File lib/ronin/support/network/dns/mixin.rb, line 40
def dns_nameservers=(new_nameservers)
  @dns_nameservers = new_nameservers.map(&:to_s)
  @dns_resolver    = Network::DNS.resolver(
    nameservers: @dns_nameservers
  )
  return new_nameservers
end
dns_resolver(nameservers: nil, nameserver: nil) click to toggle source

Creates a DNS Resolver for the nameserver.

@param [Array<String>, String, nil] nameservers

Optional DNS nameserver(s) to query.

@param [String, nil] nameserver

Optional DNS nameserver to query.

@return [Resolv, Resolv::DNS]

The DNS Resolver.
# File lib/ronin/support/network/dns/mixin.rb, line 84
def dns_resolver(nameservers: nil, nameserver: nil)
  if nameserver
    Network::DNS.resolver(nameserver: nameserver)
  elsif nameservers
    Network::DNS.resolver(nameservers: nameservers)
  else
    @dns_resolver ||= Network::DNS.resolver(
      nameservers: dns_nameservers
    )
  end
end
dns_reverse_lookup(ip,**kwargs)
Alias for: dns_get_name