В данной статье будут рассмотрены инструменты в PHP предназначенные для работы с DNS.

Зачастую возникает задача получения имени хоста по его IP-адресу.

Теперь непосредственно перейдем к рассмотрению задачи получения  IP-адреса по имени хоста. Для ее решения используют две функции:

  1. string gethostbyname ( string $hostname );
  2. array gethostbynamel ( string $hostname );

Обе функции в качестве аргумента принимают строку, которая содержит имя хоста (компьютера).

Разница между ними заключается лишь в том, что gethostbyname() возвращает строку с соответствующим  IP-адресом компьютера, а gethostbynamel() - массив.

gethostbynamel() полезна в том случае, когда необходимо получить полный список IP-адресов, которые соответствуют данному доменному имени.

Чтобы получить доменное имя по известному  IP-адресу, необходимо воспользоваться функцией:

string gethostbyaddr ( string $ip_address )

Входящий параметр - строка с IP-адресом искомого сервера, возвращаемое значение - строка с доменным именем.

Для того чтобы  получить список почтовых ретрансляторов необходимого домена, используют:

bool getmxrr ( string $hostname , array &$mxhosts [, array &$weight ] )

Аргументы:

$hostname - имя хоста;
&$mxhosts - массив, который будет заполнен списком почтовых ретрансляторов;
&$weight - необязательный параметр. Если он указан, то он будет заполнен значениями предпочтения, которые возвращает почтовый ретранслятор.

Ниже представлены еще несколько полезных функций:

int getprotobyname ( string $name )

по имени TCP/IP протокола определяет его номер.

string getprotobynumber ( int $number )

по номеру TCP/IP протокола возвращает его имя.

int getservbyname ( string $service , string $protocol )

принимает в качестве аргументов:  $service - имя службы и $protocol - и один из транспортных протоколов (TCP или UDP). Возвращает номер порта, через который работает данная служба.

string getservbyport ( int $port , string $protocol )

входные параметры:  $port - номер порта и $protocol - протокол. Возвращает имя службы.

Tags:
Share  

Оставить комментарий