2010-10-04 22 views
2

Plusieurs sites offrent nom d'hôte aux conversions IP, ou dans leur formulation:service Web DNS externe de recherche (NSLOOKUP/DIG)

Rechercher un domaine DNS nameserver à recherche et trouver des informations d'adresse IP d'ordinateurs dans le l'Internet. Convertissez un nom d'hôte ou de domaine en adresse IP .

Cependant, je n'ai pas été en mesure de trouver des services web gratuits offrant cette fonctionnalité. Je suis tombé sur ce Chinese webservice mais il ne semble pas faire ce que je veux.

Quelqu'un sait-il d'un gratuit?

Précision exactement ce que je veux être en mesure de le faire: Je veux un libre, externe service web (sur un autre ordinateur que le mien, quelque part dans l'Internet) fournissant une méthode nslookup simple une signature telle que:

IPAddress[] GetIpAddress(string hostName) 

Lorsque le résultat est équivalent à ce que je recevrais ici: http://www.kloth.net/services/nslookup.php

Répondre

3

Yo Vous ne dites pas exactement ce que vous voulez être capable de faire. Cependant, il y a un ou deux types dig implémentations C# tels que:

DNS.NET Resolver (C#) - CodeProject

Je l'ai utilisé celui-ci dans le passé et il fonctionne assez bien.

Mise à jour:

Vous avez déjà cette disposition. Il existe de nombreux services DNS gratuits tels que Google ou OpenDNS que vous pouvez utiliser comme serveurs de noms. Grâce aux fonctionnalités intégrées de .NET, vous pouvez utiliser l'espace de noms System.Net et la classe Dns. Il y a deux méthodes statiques, vous pouvez utiliser:

IPHostEntry GetHostEntry(string hostNameOrAddress)

IPAddress[] GetHostAddresses(string hostNameOrAddress)

Les méthodes ci-dessus peuvent interroger les serveurs DNS comme spécifié dans les propres paramètres réseau de l'ordinateur.

Si vous souhaitez spécifier votre propre résolveur, utilisez l'outil Dig mentionné ci-dessus. La sortie va directement à la console mais vous pouvez modifier pour analyser les résultats en valeurs de retour.

Ajout d'une référence au projet que j'ai pu le faire:

Dig dig = new Dig(); 
dig.DnsResolver = new Resolver("8.8.8.8"); 
dig.DigIt("stackoverflow.com"); 

Les résultats retournés ressembler à:

; <<>> Dig.Net 0.0.1 <<>> @8.8.8.8 A stackoverflow.com.net 
;; global options: printcmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53737 
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0 

;; QUESTION SECTION: 
;stackoverflow.com.net.     IN  A 

;; ANSWER SECTION: 
stackoverflow.com.net.   1800 IN  A  74.207.240.60 
stackoverflow.com.net.   3600 IN  A  203.169.164.119 
stackoverflow.com.net.   3600 IN  A  97.107.142.101 
stackoverflow.com.net.   1800 IN  A  69.164.199.155 
stackoverflow.com.net.   43200 IN  A  74.207.231.120 
stackoverflow.com.net.   43200 IN  A  109.74.195.184 

;; Query time: 216 msec 
;; SERVER: 8.8.8.8#53(8.8.8.8) 
;; WHEN: Mon Oct 04 17:11:48 2010 
;; MSG SIZE rcvd: 135 

Vous n'avez pas besoin d'un service tiers pour être en mesure de fais ceci.

+0

J'ai essayé de clarifier exactement ce que je cherchais –

+0

@ohadsc - J'ai mis à jour ma réponse. – Kev

+0

Ça me va, je vais vérifier –