DataLife Engine > PHP > Работа с DNS серверами
Работа с DNS серверами18 сентября 2007. Разместил: podpole |
В этой и следующих статьях мы рассмотрим функции, которые предоставляет PHP для работы с DNS серверами. Наиболее часто возникает задача получения имени хоста по его IP-адресу, другие задачи встречаются значительно реже.
Функция gethostbyname Синтаксис: string gethostbyname(string hostname) Пример использования фунции gethostbyname Функция gethostbynamel string gethostbynamel(string hostname) Многие компьютеры имеют несколько IP-адресов, особенно типична такая ситуация для различных серверов. Получить полный список IP-адресов, соответствующих данному имени компьютера, можно с помощью функции gethostbynamel, действующей аналогично функции gethostbyname. Другая ситуация, в которой полезно применение этой функции, возникает, когда одно имя DNS соответствует нескольким компьютерам. Это бывает при работе с DNS серверами, поддерживающими механизм кругового распределения нагрузки, при котором одно имя DNS сервера отображается на несколько компьютеров в локальной сети этого сервера. Возвращаемый список IP-адресов функция gethostbynamel помещает в массив: <? $hostname = "localhost"; $ip_addresses = gethostbyname($hostname); echo("The IP adresses of '$hostName' are: \n"); foreach($ip_adresses as $index => $val) { echo("$val"); } ?> Функция gethostbyaddr Эта функция принимает в качестве аргумента IP-адрес и возвращает соответствующее ему имя хоста: Функция checkdnsrr string checkdnsrr(string hostname [, string type]) DNS сервер сохраняет немало полезной информации о хосте, для чего используются так называемые записи ресурсов, которые имеют следующие типы: A (Запись содержит IP-адрес хоста); CNAME (Запись содержит псевдоним хоста); NS (Запись содержит имя DNS-сервера, являющегося авторитетным для поддо-мена. Авторитетным является такой DNS-сервер, который замыкает цепочку DNS-запросов); МХ (Запись содержит Имя хоста почтового ретранслятора в домене, которому принадлежит данный хост. В этой записи также хранится значение коэффициента предпочтения для почтового ретранслятора); PTR (Запись хранит отображения IP-адресов в имена). Функция checkdnsrr находит на DNS-сервере записи ресурсов вида type для хоста hostname. Примечание Эта функция не поддерживается на Windows-платформах. |