Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Reverse DNS lookup
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Finding a domain name associated to an IP address}} {{Redirect|RDNS|nursing services in South Australia|Royal District Nursing Service (South Australia) |that in Victoria |Bolton Clarke}} {{distinguish|Reverse domain name notation}} {{Use American English|date = February 2019}} In [[computer network]]s, a '''reverse DNS lookup''' or '''reverse DNS resolution''' ('''rDNS''') is the querying technique of the [[Domain Name System]] (DNS) to determine the [[domain name]] associated with an [[IP address]] β the reverse of the usual "forward" DNS lookup of an IP address from a domain name.<ref name = "Cloudflare, 2019" >{{ cite web | url = https://www.cloudflare.com/learning/dns/glossary/reverse-dns/ | title = Reverse DNS | access-date = 25 July 2019 | website = [[Cloudflare]] | quote = A reverse DNS lookup is a DNS query for the domain name associated with a given IP address. This accomplishes the opposite of the more-commonly-used forward DNS lookup, in which the DNS is queried to return an IP address. | archive-url = https://web.archive.org/web/20190330160832/https://www.cloudflare.com/learning/dns/glossary/reverse-dns/ | archive-date = 30 March 2019 | df = dmy-all }}</ref> The process of reverse resolving of an IP address uses [[PTR record]]s. rDNS involves searching domain name registry and registrar tables. The reverse DNS database of the Internet is rooted in the [[.arpa]] top-level domain. Although the informational <nowiki>RFC 1912</nowiki> (Section 2.1) recommends that "every Internet-reachable host should have a name" and that "for every IP address, there should be a matching PTR record," it is not an [[Internet Standard]] requirement, and not all IP addresses have a reverse entry. == Historical usage == The modern "reverse DNS lookup" should not be confused with the now-obsolete "inverse query" (IQUERY) mechanism specified in {{IETF RFC|1035}}: {{blockquote|Inverse queries take the form of a single [[resource record]] (RR) in the answer section of the message, with an empty question section. The owner name of the query RR and its [[time to live]] (TTL) are not significant. The response carries questions in the question section which identify all names possessing the query RR ''which the name server knows''. Since no name server knows about all of the domain namespace, the response can never be assumed to be complete. Thus inverse queries are primarily useful for database management and debugging activities. Inverse queries are ''not'' an acceptable method of mapping host addresses to host names; use the <code>in-addr.arpa</code> domain instead.<ref name="RFC 1035">{{cite web |url=https://tools.ietf.org/html/rfc1035 |title=RFC 1035 β Domain names - implementation and specification |date=November 1987 |access-date=2017-12-28}}</ref>}} The IQUERY message type was always "optional"<ref name="RFC 1035"/> and "never achieved widespread use";<ref name="RFC 3425">{{cite web |url=https://tools.ietf.org/html/rfc3425 |title=RFC 3425 β Obsoleting IQUERY |date=November 2002 |access-date=2017-12-28 |last1=Lawrence |first1=David C. }}</ref> it was "permanently retired"<ref name="RFC 3425"/> in 2002 with the adoption of {{IETF RFC|3425}}. == Implementation details == === IPv4 reverse resolution === Reverse DNS lookups for [[IPv4]] addresses use the special domain <code>in-addr.arpa</code>. In this domain, an IPv4 address is represented as a concatenated sequence of four decimal numbers, separated by dots, to which is appended the second level domain suffix <code>.in-addr.arpa</code>. The four decimal numbers are obtained by splitting the 32-bit IPv4 address into four [[octet (computing)|octet]]s and converting each octet into a decimal number. These decimal numbers are then concatenated in the order: least significant octet first (leftmost), to most significant octet last (rightmost). It is important to note that this is the reverse order to the usual dotted-decimal convention for writing IPv4 addresses in textual form. For example, to do a reverse lookup of the IP address {{IPaddr|8.8.4.4}} the PTR record for the domain name <code>4.4.8.8.in-addr.arpa</code> would be looked up, and found to point to <code>dns.google</code>. If the [[A record]] for <code>dns.google</code> in turn pointed back to {{IPaddr|8.8.4.4}} then it would be said to be [[Forward-confirmed reverse DNS|forward-confirmed]]. ==== Classless reverse DNS method ==== Historically, Internet registries and Internet service providers allocated IP addresses in blocks of 256 (for Class C) or larger octet-based blocks for classes B and A. By definition, each block fell upon an octet boundary. The structure of the reverse DNS domain was based on this definition. However, with the introduction of [[Classless Inter-Domain Routing]], IP addresses were allocated in much smaller blocks, and hence the original design of pointer records was impractical, since autonomy of administration of smaller blocks could not be granted. <nowiki>RFC 2317</nowiki> devised a methodology to address this problem by using [[CNAME record]]s. === IPv6 reverse resolution === Reverse DNS lookups for [[IPv6]] addresses use the special domain <code>ip6.arpa</code> (previously <code>ip6.int</code><ref name=rfc4159>{{Cite IETF|rfc=4159|bcp=109|title=Deprecation of "ip6.int"|author=G. Huston|date=August 2005|publisher=Network Working Group [[IETF]]}}</ref>). An IPv6 address appears as a name in this domain as a sequence of [[nibble]]s in reverse order, represented as hexadecimal digits as subdomains. For example, the pointer domain name corresponding to the IPv6 address {{IPaddr|2001:db8::567:89ab}} is <code>b.a.9.8.7.6.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa</code>. === Multiple pointer records === While most rDNS entries only have one PTR record, DNS does not restrict the number. Multiple PTR records are used, for example, when a web server supports many [[virtual host]]s{{mdash}} i.e. multiple hostnames then resolve to a single address, and multiple hostnames will be returned for a PTR lookup for that shared address. However, DNS lookups typically occur over UDP, and since UDP has a limited message size, in extreme cases, multiple PTRs could cause a DNS response to exceed those UDP limits. === Records other than PTR records === Record types other than PTR records may also appear in the reverse DNS tree. For example, encryption keys may be placed there for [[IPsec]], [[Secure Shell|SSH]] and [[Internet Key Exchange|IKE]]. [[Zero-configuration networking#DNS-SD|DNS-Based Service Discovery]] uses specially-named records in the reverse DNS tree to provide hints to clients about subnet-specific service discovery domains.<ref name=rfc6763>{{Cite IETF|rfc=6763|title=DNS-Based Service Discovery|author1=S. Cheshire|author2=M. Krochmal|date=February 2013|publisher=[[IETF]]|issn=2070-1721|section=11}}</ref> Less standardized usages include comments placed in [[TXT record]]s and [[LOC record]]s to identify the geophysical location of an IP address. == Uses == The most common uses of the reverse DNS include: * The original use of the rDNS: network troubleshooting via tools such as [[traceroute]], [[Ping (networking utility)|ping]], and the "Received:" trace header field for [[SMTP]] e-mail, web sites tracking users (especially on [[Internet forum]]s), etc. * One [[anti-spam techniques (e-mail)#PTR.2Freverse DNS checks|e-mail anti-spam technique]]: checking the domain names in the rDNS to see if they are likely from dialup users, or dynamically assigned addresses unlikely to be used by legitimate mail servers. Owners of such IP addresses typically assign them generic rDNS names such as "1-2-3-4-dynamic-ip.example.com." Some anti-spam filters assume that email that originates from such addresses is likely to be spam, and may refuse connection.<ref>{{Cite web|url=https://www.spamhaus.org/faqs/|title=FAQs | Deliverability, DNSBLs, Malware & reputation data|website=The Spamhaus Project|accessdate=May 28, 2024}}</ref><ref>{{Cite web|url=http://postmaster.aol.com/info/rdns.html|archiveurl=https://web.archive.org/web/20061210223820/http://postmaster.aol.com/info/rdns.html|url-status=dead|title=reference page from AOL|archivedate=December 10, 2006|accessdate=May 28, 2024}}</ref> * A [[forward-confirmed reverse DNS]] (FCrDNS) verification can create a form of authentication showing a valid relationship between the owner of a domain name and the owner of the server that has been given an IP address. While not very thorough, this validation is strong enough to often be used for [[whitelist]]ing purposes, since [[Spam (electronic)|spammers]] and [[Phishing|phishers]] usually cannot achieve forward validation when they use [[zombie computer]]s to forge domain records. * System logging or monitoring tools often receive entries with the relevant devices specified only by IP addresses. To provide more human-usable data, these programs often perform a reverse lookup before writing the log, thus writing a name rather than the IP address. == References == {{Reflist}} [[Category:Information retrieval systems]] [[Category:Domain Name System]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Blockquote
(
edit
)
Template:Cite IETF
(
edit
)
Template:Cite web
(
edit
)
Template:Comma separated entries
(
edit
)
Template:Distinguish
(
edit
)
Template:Error
(
edit
)
Template:IETF RFC
(
edit
)
Template:IPaddr
(
edit
)
Template:Main other
(
edit
)
Template:Mdash
(
edit
)
Template:Redirect
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Use American English
(
edit
)