nslookup для C # и C ++ для разрешения хоста с использованием определенного Сервера - PullRequest
0 голосов
/ 20 апреля 2010

Мне нужно разрешить имя хоста, используя определенный DNS-сервер, как в nslookup

C:\>nslookup hotname 192.100.10.10
Server:  UnKnown
Address:  192.100.10.10

Name:    hostname.host
Address:  192.100.10.14

Но, конечно же, в ответ я не просто хочу адрес, мне нужны все значения для Server, Address, Name и Address

Я посмотрел на класс System.Net.Dns, но он дает мне только разрешенный IP-адрес и не позволяет мне выбрать DNS-сервер по своему выбору

Если кто-то делал это раньше, и вы можете помочь мне с этим.

Edit:

Найден один для C #: http://www.simpledns.com/dns-client-lib.aspx

Вот фрагмент моего кода только для развлечения

//Buy him Cookies and Strippers
using JHSoftware;

1 Ответ

1 голос
/ 22 апреля 2010

У меня до сих пор нет ответа на C ++, но вот ответ на C #

var Options = new JHSoftware.DnsClient.RequestOptions();
Options.DnsServers = new System.Net.IPAddress[] { 
           System.Net.IPAddress.Parse("1.1.1.1"), 
           System.Net.IPAddress.Parse("2.2.2.2") };
var IPs = JHSoftware.DnsClient.LookupHost("www.simpledns.com", 
                                          JHSoftware.DnsClient.IPVersion.IPv4, 
                                          Options);
foreach(var IP in IPs)
{
   Console.WriteLine(IP.ToString());
}

Выше используется JHSoftware.dll, и код скопирован оттуда, чтобы помочь другим, ссылка следующая:

http://www.simpledns.com/dns-client-lib.aspx

...