On DNS; Registrar -vs- Hosts -vs- Registry Operators

1. registrars VS hosts vs registry operators

  • DOMAIN REGISTRAR is the subject where domain names are finally purchased
  • DNS HOST is the service/server authoritative for hosting your DNS records
  • there are hosting providers that offer domain registration
  • there are registrars that offer DNS hosting, but the two should not be confused
  • selecting a domain name is the first step you make when building a web site
  • this semantical layer of the internet, technically, computers are connected with ip addresses
  • registration means going through
  1. Registrar makes sure you own the domain by registering it to you with registry operators
  2. You/Registrar need to select a DNS host — at Registrar level you specify the Name Servers hosting your information

2. IANA

  • IANA is a department of ICANN (Internet Corporation for Assigned Names and Numbers) a nonprofit running the root zone management in the DNS
  • whois command is querying the domain name registry
  • but the registrar is too up in the hierarchy to the common customers
  • usually, a domain name is purchased through a WEB HOSTING PROVIDER that does the work for them and register a domain through the registries on customer’s behalf
  • DNS HOST are servers hosted by DNS HOSTING PROVIDERS and these servers authoritatively respond for your domain
  • Sometimes, registrars also offer DNS hosting, but it should not be confused
  • DNS Host is mentioned by names of nameservers in the NAMESERVERS part of the whois lookup

3. whois as a protocol

  • whois is a query and response protocol for querying DBs storing registered users/assignees of internet resources (domain names, IP address blocks)
  • whois is a standard drafted by the internet society
  • whois gets you info on the registrar-level
  • nslookup gets you info on the dns-host level (zone file informatino)
  • documented in RFC 3912 — WHOIS Protocol Specification

4. example: whois in terminal

  • the following script is creating and parsing a whois request
  • note: it is relying on jsonwhois.io where you need to register to get your own $apiKey
<# TODO: BRANCH BASED ON THE POWERSHELL VERSION, use invoke-webrequest for non-posh-core #>param(
[Parameter(Mandatory = $true)][string]$domainName,
[string]$apiKey = "JKS2XytCLNfkYg7i490AnSDo4QZ74lxn"
)
$domainIntro = @"
_|___|__
___|___| mrPaul's WHOIS in Terminal
_|___|__
___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|
"@$domainInfo = curl "https://api.jsonwhois.io/whois/domain?key=$apiKey&domain=$domainName" | ConvertFrom-Json
Write-Host $domainIntro -ForegroundColor Cyan
Write-Host "1. THE BASICS" -ForegroundColor Cyan
$domainInfo.result | Select-Object name, created, changed, expires, dnssec, registered | Format-List
Write-Host "2. REGISTRAR" -ForegroundColor Cyan
$domainInfo.result.registrar | Format-List
Write-Host "3. NAMESERVERS`n" -ForegroundColor Cyan
$domainInfo.result.nameservers | Format-List | Write-Host "`n"

5. demo

whoiscmdlet whois.ps1 at command pipeline position 1
Supply values for the following parameters:
domainName: amazon.com
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 850 100 850 0 0 850 0 0:00:01 --:--:-- 0:00:01 1158
_|___|__
___|___| mrPaul's WHOIS in Terminal
_|___|__
___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|
1. THE BASICSname : amazon.com
created : 1994-11-01 05:00:00
changed : 2019-05-07 20:09:37
expires : 2024-10-31 04:00:00
dnssec : True
registered : True
2. REGISTRARid : 292
name : MarkMonitor Inc.
email :
url :
3. NAMESERVERS
NS1.P31.DYNECT.NET
NS2.P31.DYNECT.NET
NS3.P31.DYNECT.NET
NS4.P31.DYNECT.NET
PDNS1.ULTRADNS.NET
PDNS6.ULTRADNS.CO.UK

6. sources

Infrastructure Support Engineer/Technical Writer (Snowplow Analytics) with a passion for Python/writing documentation. More about me: https://pavol.kutaj.com

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Trust Will Be Key in Our New Financial Economy — 6 Tips

Victimology: in the shoes of a cybersecurity analyst

Multiple Protocol Winners for Creative Meme Contest🏆

It’s Easy To Predict The Next Privacy Scandal

How I find my first Stored XSS

CERTIK AUDITS COMPLETE

Liquid staking in pSTAKE from Persistence: comprehensive guide

Purple teaming is easier to organize than you think it is

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Pavol Kutaj

Pavol Kutaj

Infrastructure Support Engineer/Technical Writer (Snowplow Analytics) with a passion for Python/writing documentation. More about me: https://pavol.kutaj.com

More from Medium

Raspberry Pi

How to install Ansible in SUSE Linux Enterprise Server (SLES) 15 SP3

Devops Methods for Automation of Server Management using Ansible

4 essential server monitoring tools