Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Your script ONLY queries</p> <pre><code>whois.internic.net </code></pre> <p>remember there are several domain / IP providers worldwide.</p> <p>The full blown tools such as those provided in most linux distributions know to try several different servers then examine the data from all of them to determine which server is the authoritative one.</p> <p>From memory I believe there are 5 worldwide authoritative zones, the internic one you already have plus:</p> <pre><code>whois.afrinic.net whois.lacnic.net whois.arin.net whois.apnic.net </code></pre> <p>Ripe (The central registry we use here in europe) also have one but it's not as you would expect 'whois.ripe.net' and I've no time to look it up right now.</p> <p>Now, aside from what I've said above, you may want to consider the following. Most whois authorities will throttle (or even block) your traffic if they deem that your making too many requests in a 24 hour period, instead you might want to consider logging in to the ftp site of any of the above providers and downloading the various bits of the database, then writing (or finding) your own script to process them.</p> <p>I currently do that with one of my own servers, which connects using the following shell script (once every 24 hours):</p> <pre><code>#!/bin/bash rm -f delegated-afrinic-latest rm -f delegated-lacnic-latest rm -f delegated-arin-latest rm -f delegated-apnic-latest rm -f delegated-ripencc-latest rm -f ripe.db.inetnum rm -f apnic.db.inetnum rm -f ripe.db.inetnum.gz rm -f apnic.db.inetnum.gz wget ftp://ftp.afrinic.net/pub/stats/afrinic/delegated-afrinic-latest wget ftp://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-latest wget ftp://ftp.arin.net/pub/stats/arin/delegated-arin-latest wget ftp://ftp.apnic.net/pub/stats/apnic/delegated-apnic-latest wget ftp://ftp.ripe.net/ripe/stats/delegated-ripencc-latest wget ftp://ftp.ripe.net/ripe/dbase/split/ripe.db.inetnum.gz ftp -n -v ftp.apnic.net &lt;&lt;END user anonymous anonymous@anonymous.org binary passive get /apnic/whois-data/APNIC/split/apnic.db.inetnum.gz apnic.db.inetnum.gz bye END gunzip ripe.db.inetnum gunzip apnic.db.inetnum </code></pre> <p>I then have a custom written program that parses the files out into a custom database structure which my servers then do their queries from.</p> <p>Since all the servers mirror each others data, then you should be able to get a full data set from one server, but if not it wouldn't take much to modify the above shell script to download the data from the other servers, all of them respond too 'ftp.????' and have the same universal folder structure.</p> <p>I can't help you with the parser however as that contains proprietary code, but the file format (esp if you get the split files) is identical to what you see in a typical whois output so it's very easy to work with.</p> <p>By downloading and processing your own data like that, you get around any limit imposed by the providers, and the upshot is that it's most likely way faster to query your own data store than keep firing off requests from your server to the query servers every time someone enters an IP address.</p> <h2>UPDATE</h2> <p>There are many, many more whois servers than just those I listed here, however rather than list them all out on this page, this link:</p> <p><a href="https://jfreewhois.googlecode.com/git/JFreeWhois/src/uk/org/freedonia/jfreewhois/etc/serverlist.xml" rel="nofollow">https://jfreewhois.googlecode.com/git/JFreeWhois/src/uk/org/freedonia/jfreewhois/etc/serverlist.xml</a></p> <p>will take you to an XML file that is part of a project on google code, the XML file returned will give you a pretty big list of all the whois servers available, plus a list of TLD's that each of them serve enabling you to adapt your script to talk to the correct server depending on the address inputted.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload