Perl для системного администрирования



              

Получение почты - часть 14


$ip на Swhoishost: ".$cn->errmsg."Vv }

while ($ret = $cn->get){

Sinfo ,=$ret; };

$cn->close;

return $info; 1

Для преодоления второго препятствия, состоящего в выборе нужного реестра, есть, по крайней мере, две возможности. Можно послать запрос к http://whois.arin.net и проанализировать ответ. Например, вот запись диалога с ARIN по поводу IP-адреса японской машины. Жирный шрифт используется для выделения текста, введенного человеком:

X telnet whois.arin.net 43

Trying 192.149.252.22 ..

Connected to whois. arm. not Escape character is '"] 210.161.92.226

Asia Pacific Network Information Center (NETBLK-APNIC-CIDR-BLK)

Level 1 - 33 Park Roan1 Milton, 4064 AU

Netname: APNIC-CIDR-BLK2

Netblock: 210.0.0.0 - 211.255.255.0

Coordinator;

Administrator, System (SA90-ARIN)

sysadn®APNIC,NET +61-7-3367-0490

Domain System inverse mapping provided by:

SVC01.APNIC.NET 202.12.28.131

NS.TELSTRA.NET 203.50.0.137

NS.KRNIC.NET 202.30.64.21

NS.RIPE.NET 193.0.0.193

-** please refer to whois.apnic.net for more information *«*

*«* before contacting APNIC

*-« use whois -h whois.apnic.net <object> *»*

Record last updated on 04-Mar-99.

Database last updated on 19-Apr-99 16:14:16 EOT.

Подобные результаты означают, что запрос нужно послать к http:// whois.apnic.net.

Другой способ - послать запрос к «умному» WHOIS-серверу, который сделает всю работу сам. Из них мне больше всего нравится сервер -http://whois.geektools.com. «Умник» проанализирует ваш запрос, отправит его на нужный WHOIS-сервер и вернет результаты. Тому, кто пользуется этой службой, не нужно беспокоиться о том, на каком именно сервере хранится информация.

Чтобы код программы сильно не разрастался, а мы не отвлекались от обсуждаемой темы, будем пользоваться вторым (более простым) способом.

Поместим все эти маленькие запросы в одну большую программу и запустим ее. Итак, если нужно выполнить все приведенные выше подпрограммы с нашим примером сообщения:

use Mail:'Header: use Socket; use BerkeleyDB;




Содержание  Назад  Вперед