Le service Web externe de DNS (NSLOOKUP / DIG)
-
27-09-2019 - |
Question
Plusieurs sites offrent nom d'hôte aux conversions IP, ou dans leur formulation:
Requête un domaine DNS serveur de noms recherche et trouver des informations d'adresse IP des ordinateurs dans Internet. Convertir un hôte ou un nom de domaine en une adresse IP adresse.
Cependant, je n'ai pas été en mesure de trouver des webservices libres offrant cette fonctionnalité. Je suis tombé sur ce webservice chinois mais il ne semble pas fais ce que je veux.
Quelqu'un sait d'un libre?
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) offrant simple nslookup méthode avec une signature telle que:
IPAddress[] GetIpAddress(string hostName)
Si le résultat est équivalent à ce que je recevrais ici: http://www.kloth.net/services/nslookup.php
La solution
Vous ne dites pas exactement ce que vous voulez être en mesure de le faire. Cependant, il y a un ou deux types dig
C implémentations # tels que:
Je l'ai utilisé celui-ci dans le passé et cela fonctionne assez bien.
Mise à jour:
Vous avez déjà cette disposition. Il y a beaucoup de services gratuits DNS tels que Google ou OpenDNS vous pouvez utiliser comme serveurs de noms.
Utilisation construit dans les capacités de .NET, vous pouvez utiliser l'espace de noms et System.Net
Dns
classe. Il y a deux méthodes statiques, vous pouvez utiliser:
IPHostEntry GetHostEntry(string hostNameOrAddress)
IPAddress[] GetHostAddresses(string hostNameOrAddress)
Les méthodes ci-dessus interrogera les serveurs DNS comme spécifié dans les propres paramètres réseau de l'ordinateur.
Si vous voulez spécifier votre propre résolveur puis utilisez l'outil Dig je l'ai 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 faire ceci:
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 le faire.