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: 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. Unfortunately, most registries limit the number of WHOIS queries that you can make in a short period of time. That's why you'll need to run the DNS query first: you'll be able to filter out most of the registered domains that way, and WHOIS will catch the few odd ones that are registered but lack DNS information. 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. At this point, you should have a black window with white text. The last line will have a directory path, a greater-than symbol, and then a cursor. For example, here's what mine looks like: 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 - 220.127.116.11 and press Enter. You should get something that looks like this: Code: Default Server: google-public-dns-a.google.com Address: 18.104.22.168 > 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 22.214.171.124, you can use 126.96.36.199 for Microsoft or 188.8.131.52 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: 184.108.40.206 *** 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 check Request 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 Using whois 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 of Windows (C:) or Local 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. To use whois.exe, you'll need to open another command prompt, as described above. To make a query, type 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. You should now have a white window with black text. On my computer, the text reads something like this: Code: Last login: Wed Jun 3 10:07:10 on ttys001 [email protected]:~$ 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 @220.127.116.11 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 18.104.22.168, you can use 22.214.171.124 for Microsoft or 126.96.36.199 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 <<>> @188.8.131.52 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: 184.108.40.206#53(220.127.116.11) ;; 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.