Search code examples
networkingwhois

Where information about domains' owners are stored


Hi i want to create my own whois server and after studing the protocoll i wasn't sure about how to get the data for the whois' queries. The first idea is to find a existing whois database but i want to be able to update it so the question is how and where information about owners of domains are stored in the web? And is there are protocoll to get them?


Solution

  • Having a whois server when you do not have the data is almost pointless. Who would be the clients of your whois server? For which queries? Why would people query your whois server?

    There is no "protocol" to get a whois database. Domain name registries store data about domain names, because all registrations pass through them and then they expose this data through whois.

    You could of couse build a whois server on top of any database and provision it with whatever fake data to test and develop.

    Or, if you insist, you can go to any gTLD registrar and buy its data (for all gTLD domain names it is a sponsor), since this "bulk whois" is contractually mandated by ICANN. However:

    1. it will not be free
    2. it will exclude some data, from people having opt-out from this (and some registrars make opt-out by default)
    3. it may be updated only yearly
    4. you have obligations, basically around not redistributing it (and I am not a lawyer to decide if whois access on top of it would be considered redistributing or not) nor using it for commercial purpose
    5. you have no guarantee about its format.

    The other way to go is to start from the zonefiles, gTLDs ones can be accessed by anyone, daily, and then you can do whois queries to get all whois data for each domain. But without clever ideas you will hit a lot of performance and rate-limiting issues.

    And if you want to play with current/modern technologies, you should instead have a look at RDAP instead of whois.