Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re^3: Whois script help

by fokat (Deacon)
on Jan 12, 2005 at 02:46 UTC ( #421483=note: print w/ replies, xml ) Need Help??

in reply to Re^2: Whois script help
in thread Whois script help

Kanji said:

I second the use of DNS instead of whois.

but himanh said...

Basically checking if any of my domains are transferred or still with me.

So, if himanh asks his DNS server, he will always believe the domain is with him. Just wanted to throw in this advice.

If you want to make it work, you need to ask a root name server for the delegation information to reach to the name servers. For instance...

#!/usr/bin/perl -w use strict; use NetAddr::IP; use Net::DNS::Resolver; my $res = new Net::DNS::Resolver; # For domains in CCTLDs, you need to ask instead # and follow the delegation chain. $res->nameservers(NetAddr::IP->new("")->addr); for my $dom (map { chomp; $_ } <DATA>) { my $packet = $res->query($dom, 'NS'); # No answer received... unless ($packet) { warn "No response for $dom\n"; next; } # A DNS answer (response) was received but ... my @answer = $packet->answer; # ... it might not contain real answers ... unless (@answer) { warn "Response packet contains no answer section for $dom\n"; next; } # ... or it might be what I am looking for. for my $s (@answer) { next unless $s->type eq 'NS'; print "$dom: ", $s->nsdname, "\n"; } } __END__

will answer the right people for the 7 gTLDs. This is only slightly tested and you might need to change the gtld server to use.

This code should give you something to start playing with...

Best regards

-lem, but some call me fokat

Comment on Re^3: Whois script help
Download Code
Replies are listed 'Best First'.
Re^4: Whois script help
by Kanji (Parson) on Jan 12, 2005 at 04:50 UTC
    So, if himanh asks his DNS server, he will always believe the domain is with him. Just wanted to throw in this advice.

    Sorry, that was an ommission on my part, but is the reason why I used Net::DNS::Resolver::Recurse instead of the usual Net::DNS::Resolver -- the former starts it's recursive query with the DNS hint servers, which should be the same as the DNS root servers (eg, and are one step up from the gTLD server you use.

    If they're not (because you're running your own root server or using an alternative one), then you can force N:D:R:R to start from a different nameserver with the hints method.

    my @root_ns = map $_ . '', 'a'..'m'; $res->hints(@root_ns);


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://421483]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (3)
As of 2015-11-27 07:18 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (719 votes), past polls