Reputation: 1421
I'm writing a program which gathers basic CNAME information for given domains.
I'm currently using Google's DNS server as the one I'm questioning, but afraid that if I'll send couple of millions DNS lookups this will get me blocked (Don't worry, it's by no means any type of DDOS or anything in that area).
I'm wondering 2 things.
1. is it possible to use dnspython package to send requests through proxy servers?
this way I can distribute my requests through several proxies.
2. I couldn't find a reference for a similar thing, but is it possible that I'll get blocked for so many DNS lookups?
Thanks,
Meny
Upvotes: 0
Views: 1588
Reputation: 19601
If Google blocked that number of requests from a given IP address, one has to assume that sending such a number of requests is against their usage policy (and no doubt a form of 'unfair usage'). So hiding your source IP behind proxies is hardly ethical.
You could adopt a more ethical approach by:
Distributing your requests across a number of public DNS servers (search for 'public DNS servers', there 8 or 9 providers and at least 2 servers per providers), thus reducing the number of request per server.
Spread your requests across a reasonable period of time to limit the effect of queries may have on the various providers' DNS servers. Or simply limit your query rate to something reasonable.
If your requests cover a number of different domains, perform your own recursive resolution so that the bulk of your requests are targeted against the authoritative servers and not public recursive servers. This way, you would resolve the authoritative servers for a domain against the public servers (i.e. NS queries) but resolve CNAME queries against the authoritative server themselves, thus further spreading load.
And there is no such thing as a DNS proxy (other than a DNS server which accepts recursive queries for which it is not authoritative).
Upvotes: 0