Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

how can I find out (using windows or internet) if xyz (in particular NS1.XYZNAMESERVER.COM) is valid DNS server?

share|improve this question

4 Answers 4

up vote 5 down vote accepted

Unix:

dig example.com @ns-address

host example.com ns-address

Windows:

nslookup example.com ns-address

Replace ns-address with the nameserver address you want to test. If it is a valid one, you will see either the information of example.com or a "refused" message. (Well, any kind of a DNS reply is okay, as long as you receive one.)

If the server is not a DNS server, you will get "No response from server" or "Timeout".

share|improve this answer
    
I like this solution. thank you –  Radek Mar 19 '10 at 19:17

Try connecting to it:

53/TCP,UDP Domain Name System (DNS) Official

Port 53, TCP.

Next steop would be asking it whether it knows something... and thus can handle the TCP protocol

Command line alternative: script something using nslookup.

share|improve this answer
    
@TomTom: connect using telnet dns.server.com 53 ? and then? what commands I can use? I asked Mr.Google and didn't find anything. I tried nslookup and set up dns to my dns in question and asked to resolve some domain name and it gave me an IP address. So I guess it works. –  Radek Mar 19 '10 at 8:50
    
not sure if nslookup gives me any valid results –  Radek Mar 19 '10 at 10:03
    
Read the nslookup documentation. You can point it to a specific serve rthen run ANY query there - if you get an answer, even a refuse, the server is obviously a DNS server. For the DNS protocol, theck the relevant RFC's - I would not necessarily go that way, though. I am not sure how complex a basic request is in DNS speak. What is your technology platform? –  TomTom Mar 19 '10 at 10:13
    
windows but I can log into unix too –  Radek Mar 19 '10 at 10:55
    
Not an answer. programming wise, I thought. Manually - nslookup, set server to tried server, get a ls on any domain you know. Programmatically - you dont state your platform ;) –  TomTom Mar 19 '10 at 11:06

Don't - if you don't know it is a trusted DNS server, don't use it. It may LOOK like a DNS server, in terms of giving answers to DNS queries, but you should not trust that those are the correct answers.

Of course you might be hunting DNS services for a whole other reason :)

share|improve this answer

Finding out if it's a valid DNS server is easy, just try querying it.

Finding out if it's authorative and/or returning proper results for the domains in question is harder, depending on your level of trust in things.

Ultimately you would start querying one of the known root name servers for the top level domain and go from there until you get where you want... why? Well, how do you know that the name server you're currently querying can be trusted? ^^

Also see this SO question.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.