It's long been suspected that registrars may be registering domain names as customers search for them. Whether or not this is true, there's really no reason to be handing potential competitors your list of wanted domain names.
As a domainer, you're probably somewhat familiar with two useful services: DNS and WHOIS. What most people don't know is that WHOIS is actually a protocol that works very similarly to DNS. You can use a WHOIS client on your computer to query WHOIS servers without ever visiting a website that may be logging your requests. By combining DNS and WHOIS, it's a simple matter to test the validity of domains without tipping off the registrars.
Here are some handy instructions to build your own DNS and WHOIS toolkit. Note that checking the availability of a domain requires two steps:
Windows
Windows already comes with a simple DNS tool called
Opening the command prompt
First, you'll need to open a command prompt:
Don't worry if yours says something a little different. What's important is that you're able to start typing.
Using nslookup
In the command prompt, type
You'll be able to type after the greater-than symbol on the last line. If you get something different, make sure you types the code exactly as I wrote it, including the spaces.
Note: This will use Google's DNS servers. I chose Google because their DNS servers are fast and reliable, and I've never had an issue with my tested domain names being coincidentally registered the next day. If you don't trust Google, in place of 8.8.8.8, you can use 4.2.2.1 for Microsoft or 208.67.222.222 for OpenDNS. If you're particularly paranoid, you can also query a registry's nameservers directly, but that's beyond the scope of this article. It's important that you not use your ISP's default DNS server.
Now, you'll be able to type domain names and get DNS results. Simply type a domain name, press Enter, and wait for the answer. Here's what you want to see:
If you get:
Windows doesn't come with a WHOIS client, sadly. However, Microsoft does provide one that can be downloaded from their Sysinternals website. Here's the link as of writing; if it doesn't work, go to sysinternals.com and navigate to Networking Utilities -> Whois.
The ZIP file from Microsoft Sysinternals will contain a file named whois.exe. Unless you're familiar with configuring the command prompt, you'll probably want to put that in your system directory so that the command prompt automatically knows where to find it. Copy whois.exe to
Not all registries provide proper WHOIS services, unfortunately. Most gTLDs and popular ccTLDs will work. If a domain lacks WHOIS information, it's probably available. Many registries will provide basic WHOIS information for reserved domain names, but not for unregistered premiums, so keep in mind that the domain could still be a premium. If this is the case, it's the registry charging the premium fee, not the registrar. New gTLDs often lack WHOIS information for reserved names as well.
Mac
Mac ships with two awesome Unix utilities that we can use: dig and whois.
Opening a terminal
To use dig and whois, you'll need to open a terminal. You can open Terminal.app just like any other application. On recent versions of Mac, the easiest way is to use Spotlight:
I've customized mine, so yours will be a little different. Normally, the last line will end with a dollar sign, followed by a block-like cursor.
In the terminal, you can type commands. Each command is a single line; to execute the command, press Return.
Using dig
The following command will run a DNS query with dig:
Note: This will use Google's DNS servers. I chose Google because their DNS servers are fast and reliable, and I've never had an issue with my tested domain names being coincidentally registered the next day. If you don't trust Google, in place of 8.8.8.8, you can use 4.2.2.1 for Microsoft or 208.67.222.222 for OpenDNS. If you're particularly paranoid, you can also query a registry's nameservers directly, but that's beyond the scope of this article. It's important that you not use your ISP's default DNS server.
Replace the domain name in the command with your own. You'll get something that looks like this:
The line we're interested in begins with
Using whois
Once we've verified that there's no DNS information with dig, we'll also want to check WHOIS. To do this, you'll need to run a new command in the terminal:
Replace the domain name with your own. If the domain is unregistered, you'll get something like this:
There will also probably be a long legal statement to deter abuse.
Not all registries provide proper WHOIS services, unfortunately. Most gTLDs and popular ccTLDs will work. If a domain lacks WHOIS information, it's probably available. Many registries will provide basic WHOIS information for reserved domain names, but not for unregistered premiums, so keep in mind that the domain could still be a premium. If this is the case, it's the registry charging the premium fee, not the registrar. New gTLDs often lack WHOIS information for reserved names as well.
As a domainer, you're probably somewhat familiar with two useful services: DNS and WHOIS. What most people don't know is that WHOIS is actually a protocol that works very similarly to DNS. You can use a WHOIS client on your computer to query WHOIS servers without ever visiting a website that may be logging your requests. By combining DNS and WHOIS, it's a simple matter to test the validity of domains without tipping off the registrars.
Here are some handy instructions to build your own DNS and WHOIS toolkit. Note that checking the availability of a domain requires two steps:
- Run a DNS query for the domain name. If the result is NXDOMAIN--short for "non-existent domain"--then you're probably in luck. Note that receiving NXDOMAIN here doesn't necessarily mean the domain isn't registered; it just means there's no DNS information available for the domain.
- Run a WHOIS query for the domain name. This will return a definitive result from the registry.
Windows
Windows already comes with a simple DNS tool called
nslookup
. It's pretty straightforward to use.Opening the command prompt
First, you'll need to open a command prompt:
- Windows 7 and later: Open the Start menu or Start screen; you can do this by pressing the Windows key on your keyboard. Type
cmd.exe
and press Enter. - Windows XP and Vista: On your keyboard, hold the Windows key and press R. This will open a small Run dialog, with a single textbox. Type
cmd.exe
in the textbox and press Enter.
Code:
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\Users\Paul>
Don't worry if yours says something a little different. What's important is that you're able to start typing.
Using nslookup
In the command prompt, type
nslookup - 8.8.8.8
and press Enter. You should get something that looks like this:
Code:
Default Server: google-public-dns-a.google.com
Address: 8.8.8.8
>
You'll be able to type after the greater-than symbol on the last line. If you get something different, make sure you types the code exactly as I wrote it, including the spaces.
Note: This will use Google's DNS servers. I chose Google because their DNS servers are fast and reliable, and I've never had an issue with my tested domain names being coincidentally registered the next day. If you don't trust Google, in place of 8.8.8.8, you can use 4.2.2.1 for Microsoft or 208.67.222.222 for OpenDNS. If you're particularly paranoid, you can also query a registry's nameservers directly, but that's beyond the scope of this article. It's important that you not use your ISP's default DNS server.
Now, you'll be able to type domain names and get DNS results. Simply type a domain name, press Enter, and wait for the answer. Here's what you want to see:
Code:
> somecrazynonexistentdomainname.com
Server: google-public-dns-a.google.com
Address: 8.8.8.8
*** google-public-dns-a.google.com can't find somecrazynonexistentdomainname.com: Non-existent domain
If you get:
Non-existent domain
: The domain could be available; proceed to WHOIS checkRequest to _______ timed-out
: The DNS request failed; check your Internet connection, try again, or try another DNS server- Anything else: The domain is already registered
Windows doesn't come with a WHOIS client, sadly. However, Microsoft does provide one that can be downloaded from their Sysinternals website. Here's the link as of writing; if it doesn't work, go to sysinternals.com and navigate to Networking Utilities -> Whois.
The ZIP file from Microsoft Sysinternals will contain a file named whois.exe. Unless you're familiar with configuring the command prompt, you'll probably want to put that in your system directory so that the command prompt automatically knows where to find it. Copy whois.exe to
C:\Windows\System32\
. If you're unsure how to get to that folder:- Open
My Computer
,This PC
, or the equivalent for your version of Windows. - Several devices and folders will be listed. Open the one named
C:
. It will likely be called something along the lines ofWindows (C:)
orLocal Disk (C:)
. - Open the
Windows
folder. - Open the
System32
folder. Note the digits on the end: make sure it's System32 and not just System.
whois
, a space, the domain name, and then press Enter. For example:
Code:
C:\Users\Paul>whois somecrazynonexistentdomain.com
Whois v1.11 - Domain information lookup utility
Sysinternals - www.sysinternals.com
Copyright (C) 2005-2012 Mark Russinovich
Connecting to COM.whois-servers.net...
No whois information found.
Not all registries provide proper WHOIS services, unfortunately. Most gTLDs and popular ccTLDs will work. If a domain lacks WHOIS information, it's probably available. Many registries will provide basic WHOIS information for reserved domain names, but not for unregistered premiums, so keep in mind that the domain could still be a premium. If this is the case, it's the registry charging the premium fee, not the registrar. New gTLDs often lack WHOIS information for reserved names as well.
Mac
Mac ships with two awesome Unix utilities that we can use: dig and whois.
Opening a terminal
To use dig and whois, you'll need to open a terminal. You can open Terminal.app just like any other application. On recent versions of Mac, the easiest way is to use Spotlight:
- Hold the Command key and press the spacebar
- The Spotlight textbox will appear. Type
Terminal
and press Return.
Code:
Last login: Wed Jun 3 10:07:10 on ttys001
paul@Pauls-Mac:~$
I've customized mine, so yours will be a little different. Normally, the last line will end with a dollar sign, followed by a block-like cursor.
In the terminal, you can type commands. Each command is a single line; to execute the command, press Return.
Using dig
The following command will run a DNS query with dig:
Code:
dig @8.8.8.8 somecrazynonexistentdomainname.com
Note: This will use Google's DNS servers. I chose Google because their DNS servers are fast and reliable, and I've never had an issue with my tested domain names being coincidentally registered the next day. If you don't trust Google, in place of 8.8.8.8, you can use 4.2.2.1 for Microsoft or 208.67.222.222 for OpenDNS. If you're particularly paranoid, you can also query a registry's nameservers directly, but that's beyond the scope of this article. It's important that you not use your ISP's default DNS server.
Replace the domain name in the command with your own. You'll get something that looks like this:
Code:
; <<>> DiG 9.8.3-P1 <<>> @8.8.8.8 somecrazydomainname.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 20967
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;somecrazydomainname.com. IN A
;; AUTHORITY SECTION:
com. 899 IN SOA a.gtld-servers.net. nstld.verisign-grs.com. 1433341980 1800 900 604800 86400
;; Query time: 140 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Jun 3 10:33:15 2015
;; MSG SIZE rcvd: 114
The line we're interested in begins with
->>HEADER<<-
. In particular, we want to know the status of the domain name. In this example, the status is NXDOMAIN
, which is short for "non-existent domain". If the status is NOERROR
, the domain is probably registered.Using whois
Once we've verified that there's no DNS information with dig, we'll also want to check WHOIS. To do this, you'll need to run a new command in the terminal:
Code:
whois somecrazydomainname.com
Replace the domain name with your own. If the domain is unregistered, you'll get something like this:
Code:
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.
No match for "SOMECRAZYDOMAINNAME.COM".
>>> Last update of whois database: Wed, 03 Jun 2015 14:41:33 GMT <<<
There will also probably be a long legal statement to deter abuse.
Not all registries provide proper WHOIS services, unfortunately. Most gTLDs and popular ccTLDs will work. If a domain lacks WHOIS information, it's probably available. Many registries will provide basic WHOIS information for reserved domain names, but not for unregistered premiums, so keep in mind that the domain could still be a premium. If this is the case, it's the registry charging the premium fee, not the registrar. New gTLDs often lack WHOIS information for reserved names as well.