Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Whois от ripe изменён
 
 автор: Саня   (08.06.2006 в 00:17)   письмо автору
 
 

Запускаю код:
<?php
$f 
fsockopen("whois.ripe.net"43);
fwrite($f"xxx.xxx.xxx.xxx");
$g fread($f10000);
print 
$g;
?>

В ответ получаю:
% This is the RIPE Whois query server #1.
% The objects are in RPSL format.
%
% Note: the default output of the RIPE Whois server
% is changed. Your tools may need to be adjusted. See
% http://www.ripe.net/db/news/abuse-proposal-20050331.html
% for more details.
%
% Rights restricted by copyright.
% See http://www.ripe.net/db/copyright.html

Как же теперь выглядит обращение к whois-сервису? Почитал доки, факи - так и не понял.

   
 
 автор: cheops   (08.06.2006 в 01:25)   письмо автору
 
   для: Саня   (08.06.2006 в 00:17)
 

Так же, как и раньше
<?php
  $ip 
"xxx.xxx.xxx.xx";
  
//соединение с сокетом TCP, ожидающим на сервере "whois.ripe.net" на 43 порту.
  
$sock fsockopen ("whois.ripe.net",43,$errno,$errstr);

  if (!
$sock) {
    echo(
"$errno($errstr)");
    return;
  }
  else {
    
//записываем строку из переменной $ip в дескриптор сокета 
    
fputs ($sock$ip."\r\n");

    while (!
feof($sock)) {
      
//осуществляем чтение из дескриптора сокета 
      
echo (str_replace(":",":      ",fgets ($sock,128))."<br>");
    }
  }
  
//закрытие соединения
  
fclose ($sock);
?>


http://www.softtime.ru/scripts/whois.php

   
 
 автор: Саня   (11.06.2006 в 18:40)   письмо автору
 
   для: cheops   (08.06.2006 в 01:25)
 

Точно, блин. Забыл перевод строки добавить. Только этот whois не работает для доменов. Где можно пробить информацию о домене?

   
 
 автор: cheops   (12.06.2006 в 00:33)   письмо автору
 
   для: Саня   (11.06.2006 в 18:40)
 

Под пробить имеется ввиду занят он или нет? Если да, то для этого можно воспользоваться скриптом http://www.softtime.ru/scripts/domain.php.

   
 
 автор: Саня   (12.06.2006 в 01:06)   письмо автору
 
   для: cheops   (12.06.2006 в 00:33)
 

Под пробить имеется ввиду занят он или нет?
Да, но ещё выудить информацию о регистраторе, владельце и пр. Как для IP.

...можно воспользоваться скриптом...
Да уж. Что-то многова-то серверов. А нету какой-нибудь единой базы?

   
 
 автор: cheops   (12.06.2006 в 10:50)   письмо автору
 
   для: Саня   (12.06.2006 в 01:06)
 

Каждый домен хранится на своём собственном сервере, можно идти с главного Whois-сервера whois.arin.net и далее рекурсивно спускаться реферальным серверам. Для этого можно использовать следующий скрипт
<center>
 <form method=post>
 <input type=text name=ip size=35>
 <input type=submit value='Введите IP-адрес'>
 </form>
</center>
<?php
if(!empty($_POST['ip'])) echo whois("whois.arin.net",$_POST['ip']);

function 
whois($url,$ip)
{
  
// Соединение с сокетом TCP, ожидающим на сервере "whois.arin.net" по 
  // 43 порту. В результате возвращается дескриптор соединения $sock.
  
$sock fsockopen($url43$errno$errstr);
  if (!
$sock) exit("$errno($errstr)");
  else
  {
    echo 
$url."<br>";
    
// Записываем строку из переменной $_POST["ip"] в дескриптор сокета.
    
fputs ($sock$ip."\r\n");
    
// Осуществляем чтение из дескриптора сокета.
    
$text "";
    while (!
feof($sock))
    {
      
$text .= fgets ($sock128)."<br>";
    }
    
// закрываем соединение
    
fclose ($sock);

    
// Ищем реферальный сервере
    
$pattern "|ReferralServer: whois://([^\n<:]+)|i";
    
preg_match($pattern$text$out);
    if(!empty(
$out[1])) return whois($out[1], $ip);
    else return 
$text;
  }
}
?>

   
 
 автор: Саня   (12.06.2006 в 17:57)   письмо автору
 
   для: cheops   (12.06.2006 в 10:50)
 

Не работает для доменных имён.

   
 
 автор: cheops   (12.06.2006 в 22:17)   письмо автору
 
   для: Саня   (12.06.2006 в 17:57)
 

А, да попутал, почему-то показалось, что вопрос про IP-адрес был...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования