Get domain whois information with telnet

By | May 2, 2013

Whois is often used to find out the details of the owners or the registrants of a domain name. The details includes name, address, telephone number etc. Whenever a domain is registered by a user, the user has to fill out own details at the domain registrar. These details are fed into the whois system, which can be fetched later through whois queries.

The whois data is supposed to be available publicly. But users might fill out fake information to avoid revealing actual identities. Now a days domains also have a privary protection feature that hides the whois information from the public if the registrant wishes to do so.

According to the wikipedia article :

WHOIS (pronounced as the phrase who is) is a query and response protocol that is widely used for querying databases that store the registered users or assignees of an Internet resource, such as a domain name, an IP address block, or an autonomous system, but is also used for a wider range of other information. The protocol stores and delivers database content in a human-readable format. The Whois protocol is documented in RFC 3912.

So basically whois is a protocol to query and fetch registration details of a domain name or ip allocation. There are lots of online websites that provide free whois service. Simply logon to them and enter the domain name and they would show the whois information. Another way to get the whois information by using some program that can contact these whois servers and fetch the necessary data.

On linux for example there is a commandline utility called whois that does this task. Try it out like this

$ whois microsoft.com

And you should get to see plenty of information like the registrar and other details. Try it on other domains of your choice and check the results. So basically whois serves as a register book that keeps record of every registered domain and details of those who registered it. This is necessary and useful.

Apart from the terminal program whois there are plenty of other utilities available for both windows and linux that can do the same thing.

In this post we are going to try to fetch the whois information from the commandline using the telnet command. This is a useful exercise for those who want to understand how exactly does the communication of whois protocol work.

Lets say the domain name we wish to query for is :
binarytides.com

OK, before moving further lets get on to some theory about how and where the whois data is stored.

1. Every domains whois data is stored in its registrars whois server. The registrar is the company/organisation that registered the domain. For example godaddy. There is no single server that holds the whois data of all domains.

2. There are parent or tld whois servers that hold information about the above mentioned actual whois server of a domain. These tld whois servers are separate for each tld, like com, org, net and so on.

So in our case(binarytides.com) its a 'com' domain. Therefore we need to contact the parent whois server for com domains and ask them the real whois server of binarytides.com

3. Next question is, how to get the parent whois server for a given tld. There are 2 ways to do this. Either do a whois query on 'whois.iana.org' on port 43 and ask them for the whois server of 'com' domains.

Or, simply connect to 'com.whois-servers.net' It will take you to the whois server of com domains. Yes you guessed it right, for org it would be org.whois-servers.net. Its the extension prefixed to '.whois-servers.net'.

Now the second method is cheaper since it involves 1 less query. In this example however I am going to show you both the methods.

So that was the short and simple theory. Also note that whois protocol works on tcp/ip port number 43. Just like http server works on port 80. Now lets proceed with the rest of the steps to extract the whois data for binarytides.com

Get parent whois server for com domains

The domain here is a .com domain , so first we need to find out the registry which holds whois data for .com domains

desktop:~$ telnet whois.iana.org 43
Trying 192.0.47.59...
Connected to ianawhois.vip.icann.org.
Escape character is '^]'.

Now we are connected to whois.iana.org. Now enter 'com' and hit enter

com
% IANA WHOIS server
% for more information on IANA, visit http://www.iana.org
% This query returned 1 object

domain:       COM

organisation: VeriSign Global Registry Services
address:      21345 Ridgetop Circle
address:      Dulles Virginia 20166
address:      United States

contact:      administrative
name:         Registry Customer Service
organisation: VeriSign Global Registry Services
address:      21345 Ridgetop Circle
address:      Dulles Virginia 20166
address:      United States
phone:        +1 703 925-6999
fax-no:       +1 703 421-5828
e-mail:       [email protected]

contact:      technical
name:         Registry Customer Service
organisation: VeriSign Global Registry Services
address:      21345 Ridgetop Circle
address:      Dulles Virginia 20166
address:      United States
phone:        +1 703 925-6999
fax-no:       +1 703 421-5828
e-mail:       [email protected]

nserver:      A.GTLD-SERVERS.NET 192.5.6.30 2001:503:a83e:0:0:0:2:30
nserver:      B.GTLD-SERVERS.NET 192.33.14.30 2001:503:231d:0:0:0:2:30
nserver:      C.GTLD-SERVERS.NET 192.26.92.30
nserver:      D.GTLD-SERVERS.NET 192.31.80.30
nserver:      E.GTLD-SERVERS.NET 192.12.94.30
nserver:      F.GTLD-SERVERS.NET 192.35.51.30
nserver:      G.GTLD-SERVERS.NET 192.42.93.30
nserver:      H.GTLD-SERVERS.NET 192.54.112.30
nserver:      I.GTLD-SERVERS.NET 192.43.172.30
nserver:      J.GTLD-SERVERS.NET 192.48.79.30
nserver:      K.GTLD-SERVERS.NET 192.52.178.30
nserver:      L.GTLD-SERVERS.NET 192.41.162.30
nserver:      M.GTLD-SERVERS.NET 192.55.83.30
ds-rdata:     30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CFC41A5766

whois:        whois.verisign-grs.com

status:       ACTIVE
remarks:      Registration information: http://www.verisign-grs.com

created:      1985-01-01
changed:      2011-03-31
source:       IANA

Connection closed by foreign host.

So we have the output with some useful information. The line of interest is :

whois:        whois.verisign-grs.com

It says that for com domains whois.verisign-grs.com is the parent whois server for 'com' domains.

Connect to tld whois server and get the actual whois server

Now that we have the tld whois server, we shall connect to it and get the actual whois server for the domain. The next query is also a whois query like before.

$ telnet whois.verisign-grs.com 43
Trying 199.7.57.74...
Connected to whois.verisign-grs.com.
Escape character is '^]'.

Note : If we were to omit the previous step, then without knowing 'whois.verisign-grs.com' we could straight away connect to 'com.whois-servers.net' in this step and it would connect us to the same server

$ telnet com.whois-servers.net 43
Trying 199.7.52.74...
Connected to whois.verisign-grs.com.
Escape character is '^]'.

Saw the name ? its the same server.

Now we are connected to the server. Type the domain name (without www) and hit enter.

binarytides.com

Whois Server Version 2.0

Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.

   Domain Name: BINARYTIDES.COM
   Registrar: NETLYNX, INC.
   Whois Server: whois.netlynx.com
   Referral URL: http://www.netlynx.com
   Name Server: OMIKRO1.ALLWEBSERVER.COM
   Name Server: OMIKRO2.ALLWEBSERVER.COM
   Status: ok
   Updated Date: 14-jun-2011
   Creation Date: 30-jun-2009
   Expiration Date: 30-jun-2012

>>> Last update of whois database: Sat, 22 Oct 2011 13:59:39 UTC <<<

........TRUNCATED

The Registry database contains ONLY .COM, .NET, .EDU domains and
Registrars.Connection closed by foreign host.

Now we have the actual whois server of the domain. The line of interest is :

Whois Server: whois.netlynx.com

Get domain whois information

So we have to repeat the above process with this final whois server whois.netlynx.com

desktop:~$ telnet whois.netlynx.com 43
Trying 67.15.47.4...
Connected to whois.netlynx.com.
Escape character is '^]'.

Now we are connected with the whois server. Type the domain name binarytides.com and hit enter

binarytides.com
Registration Service Provided By: OMIKROSYS
Contact: +91.123456

Domain Name: BINARYTIDES.COM 

Registrant:
    PrivacyProtect.org
    Domain Admin        ([email protected])
    ID#10760, PO Box 16
    Note - All Postal Mails Rejected, visit Privacyprotect.org
    Nobby Beach
    null,QLD 4218
    AU
    Tel. +45.36946676

Creation Date: 30-Jun-2009  
Expiration Date: 30-Jun-2012

Domain servers in listed order:
    omikro1.allwebserver.com
    omikro2.allwebserver.com


Administrative Contact:
    PrivacyProtect.org
    Domain Admin        ([email protected])
    ID#10760, PO Box 16
    Note - All Postal Mails Rejected, visit Privacyprotect.org
    Nobby Beach
    null,QLD 4218
    AU
    Tel. +45.36946676

Technical Contact:
    PrivacyProtect.org
    Domain Admin        ([email protected])
    ID#10760, PO Box 16
    Note - All Postal Mails Rejected, visit Privacyprotect.org
    Nobby Beach
    null,QLD 4218
    AU
    Tel. +45.36946676

Billing Contact:
    PrivacyProtect.org
    Domain Admin        ([email protected])
    ID#10760, PO Box 16
    Note - All Postal Mails Rejected, visit Privacyprotect.org
    Nobby Beach
    null,QLD 4218
    AU
    Tel. +45.36946676

Status:ACTIVE

......TRUNCATED

Connection closed by foreign host.

So now we have all the necessary whois information available.

Whois command

The whois command on linux can be used to make this telnet query. Here is an example

$ whois -h com.whois-servers.net stackoverflow.com

Whois Server Version 2.0

Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.

   Domain Name: STACKOVERFLOW.COM
   Registrar: NAME.COM LLC
   Whois Server: whois.name.com
   Referral URL: http://www.name.com
   Name Server: NS1.SERVERFAULT.COM
   Name Server: NS2.SERVERFAULT.COM
   Name Server: NS3.SERVERFAULT.COM
   Name Server: NS4.SERVERFAULT.COM
   Status: clientTransferProhibited
   Updated Date: 19-mar-2013
   Creation Date: 26-dec-2003
   Expiration Date: 26-dec-2015

>>> Last update of whois database: Thu, 02 May 2013 15:57:21 UTC <<<

The above example queries com.whois-servers.net for the search term "stackoverflow.com". The query returns the actual whois server of stackoverflow.com

Next query the whois server 'whois.name.com'

$ whois -h whois.name.com stackoverflow.com

__   _                             ____                
| \ | | __ _ _ __ ___   ___       / ___|___  _ __ ___  
|  \| |/ _` | '_ ` _ \ / _ \     | |   / _ \| '_ ` _ \ 
| |\  | (_| | | | | | |  __/  _  | |__| (_) | | | | | |
|_| \_|\__,_|_| |_| |_|\___| (_)  \____\___/|_| |_| |_|
      On a first name basis with the rest of the world.


Get your <a href="http://www.name.com">domains</a> at Name.com.


Domain Name:     stackoverflow.com
Registrar:       Name.com LLC

Expiration Date: 2015-12-26 19:18:07
Creation Date:   2003-12-26 19:18:07

Name Servers:
        ns1.serverfault.com
        ns2.serverfault.com
        ns3.serverfault.com
        ns4.serverfault.com

REGISTRANT CONTACT INFO
Stack Exchange, Inc.
Sysadmin Team
1 Exchange Plaza
Floor 26
New York
NY
10006
US
Phone:         +1.2122328280
Email Address: [email protected]
...............

So now we have the final and full whois information of stackoverflow.com available.

About Silver Moon

A Tech Enthusiast, Blogger, Linux Fan and a Software Developer. Writes about Computer hardware, Linux and Open Source software and coding in Python, Php and Javascript. He can be reached at [email protected].

One Comment

Get domain whois information with telnet

Leave a Reply

Your email address will not be published. Required fields are marked *