Package org.minidns
Class DnsClient
java.lang.Object
org.minidns.AbstractDnsClient
org.minidns.DnsClient
A minimal DNS client for SRV/A/AAAA/NS and CNAME lookups, with IDN support.
This circumvents the missing javax.naming package on android.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.minidns.AbstractDnsClient
AbstractDnsClient.IpVersionSetting -
Field Summary
Fields inherited from class org.minidns.AbstractDnsClient
cache, dataSource, DEFAULT_CACHE, DEFAULT_IP_VERSION_SETTING, insecureRandom, ipVersionSetting, LOGGER, random -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanaddBlacklistedDnsServer(String dnsServer) static voidaddDnsServerLookupMechanism(DnsServerLookupMechanism dnsServerLookup) findDNS()Retrieve a list of currently configured DNS servers IP addresses.static List<InetAddress> Retrieve a list of currently configured DNS server addresses.static org.minidns.dnsmessage.QuestiongetReverseIpLookupQuestionFor(Inet4Address inet4Address) static org.minidns.dnsmessage.QuestiongetReverseIpLookupQuestionFor(Inet6Address inet6Address) static org.minidns.dnsmessage.QuestiongetReverseIpLookupQuestionFor(InetAddress inetAddress) booleanbooleanbooleanprotected org.minidns.dnsmessage.DnsMessage.BuildernewQuestion(org.minidns.dnsmessage.DnsMessage.Builder message) query(org.minidns.dnsmessage.DnsMessage.Builder queryBuilder) Send a query request to the DNS system.protected MiniDnsFuture<DnsQueryResult, IOException> queryAsync(org.minidns.dnsmessage.DnsMessage.Builder queryBuilder) Default implementation of an asynchronous DNS query which just wraps the synchronous case.static booleanremoveBlacklistedDnsServer(String dnsServer) static booleanremoveDNSServerLookupMechanism(DnsServerLookupMechanism dnsServerLookup) voidsetAskForDnssec(boolean askForDnssec) voidsetDisableResultFilter(boolean disableResultFilter) voidsetUseHardcodedDnsServers(boolean useHardcodedDnsServers) Methods inherited from class org.minidns.AbstractDnsClient
getCache, getCachedIPv4AddressesFor, getCachedIPv4NameserverAddressesFor, getCachedIPv6AddressesFor, getCachedIPv6NameserverAddressesFor, getCachedNameserverRecordsFor, getDataSource, getPreferedIpVersion, getQueryFor, isResponseCacheable, query, query, query, query, query, query, query, query, query, query, query, queryAsync, queryAsync, queryAsync, queryAsync, setDataSource, setDefaultIpVersion, setPreferedIpVersion
-
Constructor Details
-
DnsClient
public DnsClient()Create a new DNS client using the global default cache. -
DnsClient
-
-
Method Details
-
newQuestion
protected org.minidns.dnsmessage.DnsMessage.Builder newQuestion(org.minidns.dnsmessage.DnsMessage.Builder message) - Specified by:
newQuestionin classAbstractDnsClient
-
query
public DnsQueryResult query(org.minidns.dnsmessage.DnsMessage.Builder queryBuilder) throws IOException Description copied from class:AbstractDnsClientSend a query request to the DNS system.- Specified by:
queryin classAbstractDnsClient- Parameters:
queryBuilder- The query to send to the server.- Returns:
- The response (or null).
- Throws:
IOException- if an IO error occurs.
-
queryAsync
protected MiniDnsFuture<DnsQueryResult,IOException> queryAsync(org.minidns.dnsmessage.DnsMessage.Builder queryBuilder) Description copied from class:AbstractDnsClientDefault implementation of an asynchronous DNS query which just wraps the synchronous case.Subclasses override this method to support true asynchronous queries.
- Overrides:
queryAsyncin classAbstractDnsClient- Parameters:
queryBuilder- the query.- Returns:
- a future for this query.
-
findDNS
Retrieve a list of currently configured DNS servers IP addresses. This method does verify that only IP addresses are returned and nothing else (e.g. DNS names).The addresses are discovered by using one (or more) of the configured
DnsServerLookupMechanisms.- Returns:
- A list of DNS server IP addresses configured for this system.
-
findDnsAddresses
Retrieve a list of currently configured DNS server addresses.Note that unlike
findDNS(), the list returned by this method will take the IP version setting into account, and order the list by the preferred address types (IPv4/v6). The returned list is modifiable.- Returns:
- A list of DNS server addresses.
- See Also:
-
addDnsServerLookupMechanism
-
removeDNSServerLookupMechanism
-
addBlacklistedDnsServer
-
removeBlacklistedDnsServer
-
isAskForDnssec
public boolean isAskForDnssec() -
setAskForDnssec
public void setAskForDnssec(boolean askForDnssec) -
isDisableResultFilter
public boolean isDisableResultFilter() -
setDisableResultFilter
public void setDisableResultFilter(boolean disableResultFilter) -
isUseHardcodedDnsServersEnabled
public boolean isUseHardcodedDnsServersEnabled() -
setUseHardcodedDnsServers
public void setUseHardcodedDnsServers(boolean useHardcodedDnsServers) -
getRandomHardcodedIpv4DnsServer
-
getRandomHarcodedIpv6DnsServer
-
getReverseIpLookupQuestionFor
public static org.minidns.dnsmessage.Question getReverseIpLookupQuestionFor(Inet4Address inet4Address) -
getReverseIpLookupQuestionFor
public static org.minidns.dnsmessage.Question getReverseIpLookupQuestionFor(Inet6Address inet6Address) -
getReverseIpLookupQuestionFor
public static org.minidns.dnsmessage.Question getReverseIpLookupQuestionFor(InetAddress inetAddress)
-