Подтвердить что ты не робот

Проверка обратного IP-домена?

Существует веб-сайт, который вы можете запросить с доменом, и он вернет список всех сайтов, размещенных на этом IP-адресе. Я помню, что в С# был метод, который был чем-то вроде ReturnAddresses или что-то в этом роде. Кто-нибудь знает, как это делается? Запрос имени хоста или IP-адреса и возврат списка имен хостов на другие веб-сайты, размещенные на одном сервере?

веб-сайт: http://www.yougetsignal.com/tools/web-sites-on-web-server/

4b9b3361

Ответ 1

После прочтения комментариев, bobince определенно прав, и эти 2 должны использоваться в тандеме друг с другом. Для получения наилучших результатов вы должны использовать обратный DNS-поиск здесь, а также использовать пассивную репликацию DNS.

string IpAddressString = "208.5.42.49"; //eggheadcafe

try 
{
   IPAddress hostIPAddress = IPAddress.Parse(IpAddressString);
   IPHostEntry hostInfo = Dns.GetHostByAddress(hostIPAddress);
   // Get the IP address list that resolves to the host names contained in 
   // the Alias property.
   IPAddress[] address = hostInfo.AddressList;
   // Get the alias names of the addresses in the IP address list.
   String[] alias = hostInfo.Aliases;

   Console.WriteLine("Host name : " + hostInfo.HostName);
   Console.WriteLine("\nAliases :");
   for(int index=0; index < alias.Length; index++) {
     Console.WriteLine(alias[index]);
   } 
   Console.WriteLine("\nIP address list : ");
   for(int index=0; index < address.Length; index++) {
      Console.WriteLine(address[index]);
   }
}
catch(SocketException e) 
{
     Console.WriteLine("SocketException caught!!!");
   Console.WriteLine("Source : " + e.Source);
   Console.WriteLine("Message : " + e.Message);
}
catch(FormatException e)
{
     Console.WriteLine("FormatException caught!!!");
   Console.WriteLine("Source : " + e.Source);
   Console.WriteLine("Message : " + e.Message);
}
catch(ArgumentNullException e)
{
     Console.WriteLine("ArgumentNullException caught!!!");
   Console.WriteLine("Source : " + e.Source);
   Console.WriteLine("Message : " + e.Message);
}
catch(Exception e)
{
    Console.WriteLine("Exception caught!!!");
    Console.WriteLine("Source : " + e.Source);
    Console.WriteLine("Message : " + e.Message);
}

любезно предоставлено http://www.eggheadcafe.com/community/aspnet/2/83624/system-dns-gethostbyaddre.aspx

Ответ 2

Ответ Джереми основан на обратном DNS, который является нормальным программным способом поиска IP- > hostname. Он полагается на запись PTR для этого сервера; это часто, но не всегда настроено на что-то полезное.

Например, посмотрите, thedailywtf.com, и вы получите 74.50.106.245, но поскольку нет записи PTR для "245.106.50.74.in-addr.arpa", Dns.GetHostEntry() ничего не вернет полезно.

Аналогично, многие серверные фермы просто дают вам общее имя хоста, например 123.45.67.89-dedicated.bigexamplehost.com.

То, что делает yougetignal, отличается, это "Пассивная репликация DNS". Они запускают некоторые DNS-серверы, которые запрашивают люди, и помнят каждое имя хоста, которое было просмотрено. Затем вы можете запросить свои записи прошлых запросов по адресу, который был возвращен. Поместите 74.50.106.245 в yougetsignal, и вы получите список имен хостов, которые ранее были разрешены на сервере dailywtf, когда люди запрашивали их, а не что-то сделать с записью PTR обратного DNS.

Ответ 3

Обратный DNS не такой же, как вы спрашиваете (какие сайты размещены на одном сервере). Обратный DNS обычно не работает, как вы ожидаете (см. Ответ bobince).

Чтобы идентифицировать другие веб-сайты на хосте, вам нужно создать массивную базу данных и хранить как можно больше записей DNS, а затем сопоставить IP-адреса.

Отъезд: http://www.domaintools.com/reverse-ip/

Они делают это так, как я сказал, это единственный способ получить точные результаты. Очевидно, для корреляции и сканирования или генерации этих данных требуется время, процессор, полоса пропускания и пространство.