I'm currently facing a issue on a project. I'm resolving URL's on multiple DNS servers using a node.js server. Until here, everything is fine.

But some ISP restrict the incoming requests from IPs outside their IP range.

So how could I modify my request to those specific DNS servers to make it look like I'm one of their clients?

If I understand DNS request correctly, there are no such things as x-forwarded-for header as an HTTP request would have.

So can it be achieve ? Or am I facing a real blocker ?

(I hope I am on the correct stackexchange for this question)

  • You are facing a real blocker. They know which side of the network the traffic is coming from, and really, when the traffic gets there its numbers - not a name. That said, what URLs are you trying to resolve on DNS servers? – user40980 Feb 27 '14 at 22:36
  • I'm trying to build a service to test the integrity of DNS servers. So that could be any URL to virtually every DNS servers. This could be a-social-network.com to a Iran ISP's DNS server or my-blog.me to google DNS server (which isn't a problem). – brnrd Feb 27 '14 at 22:47
  • Are you trying to do this for arbitrary dns servers and hosts in node.js? – user40980 Feb 28 '14 at 1:00
  • If you send a DNS request with a fake IP as the source, then your answer will be sent back to the IP the request seemed to come from - the fake IP; thus making the exercise pointless. – AMADANON Inc. Feb 28 '14 at 1:43
  • You can do this with authoritative DNS servers (the servers that are listed in NS record delegations). But resolvers typically restrict themselves to clients; the main exceptions are public DNS servers like OpenDNS and Google Public DNS. – Barmar Mar 7 '14 at 6:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.