PDA

Просмотр полной версии : :Ищу: скрипт whois


4NT1P0V
22.05.2009, 23:15
нужен скрипт whois. Нечего нормального не могу найти, то выдает данные по Ip адресу сайта, либо бред...

Winst0n
22.05.2009, 23:26
выложи который ип до домену показывает.. оч надо )

4NT1P0V
22.05.2009, 23:28
Whois скрипт. Умеет делать whois запросы и пинговать адрес. Сохраняет и выводит внизу страницы последние 10 запросов.(Для этого создать в папке со скриптом текстовый файлlast.txt и поставить права на запись 777 )
whois.php
<?
if (!file_exists("last.txt")) { fclose(fopen("last.txt", "w+")); }
function message($msg){
echo "<font face=\"verdana,arial\" size=2>$msg</font>";
flush();
}
function arin($target){
$server = "whois.arin.net";
message("<p><b>Whois результат:</b><blockquote>");
if (!$target = gethostbyname($target))
$msg .= "Can't IP Whois without an IP address.";
else{
message("Подключаемся к $server...<br><br>");
if (! $sock = fsockopen($server, 43, $num, $error, 20)){
unset($sock);
$msg .= "Timed-out connecting to $server (port 43)";
}
else{
fputs($sock, "$target\n");
while (!feof($sock))
$buffer .= fgets($sock, 10240);
fclose($sock);
}
if (eregi("RIPE.NET", $buffer))
$nextServer = "whois.ripe.net";
else if (eregi("whois.apnic.net", $buffer))
$nextServer = "whois.apnic.net";
else if (eregi("nic.ad.jp", $buffer)){
$nextServer = "whois.nic.ad.jp";
$extra = "/e";
}
else if (eregi("whois.registro.br", $buffer))
$nextServer = "whois.registro.br";
if($nextServer){
$buffer = "";
message("Deferred to specific whois server: $nextServer...<br><br>");
if(! $sock = fsockopen($nextServer, 43, $num, $error, 10)){
unset($sock);
$msg .= "Timed-out connecting to $nextServer (port 43)";
}
else{
fputs($sock, "$target$extra\n");
while (!feof($sock))
$buffer .= fgets($sock, 10240);
fclose($sock);
}
}
$buffer = str_replace(" ", "&nbsp;", $buffer);
$msg .= nl2br($buffer);
}
$msg .= "</blockquote></p>";
message($msg);
}
function ping($target){
$p=shell_exec ("ping '".addslashes($target)."'");
$p=convert_cyr_string ($p, "a", "w");
message ("<pre>".$p."</pre>");
}
?>
<html>
<head>
<title>Whois service</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body bgcolor="#181818" text=white>
<center>
<?
error_reporting (0);
set_time_limit (0);
$dn=$_GET["dn"];
$dn=str_replace(" ", "", $dn);
if (!isset ($dn) || empty ($dn))
{
?>
<h1>Whois сервис</h1>
<h3>Введите адрес:</h3>
<form action="#" method=get>
<input type=text name=dn><input type=submit value="Do it!"><br>
<table border=0 align=center width=20%>
<tr>
<td width=20><center><input type=radio name=action value=whois checked></center></td>
<td width=80>Только Whois</td>
</tr><tr>
<td width=20><center><input type=radio name=action value=ping></center></td>
<td width=80>Ping</td>
</tr>
</table>
</form>
<br><br>
Последние 10 запросов:<br>
<?
echo implode ("<br>", file ("last.txt"))."<br><br>";
} else {
$action=$_GET["action"];
if ($action == "whois") {
?>
<h1><?=$dn; ?></h1>
</center>
<br>
<?=arin($dn); ?>
<hr>
<center>
<? } else { ?>
<h1><?=$dn; ?></h1>
</center>
<?=ping($dn); ?>
<hr>
<center>
<?
}
$list=file($file='last.txt');
if(($newmess=htmlspecialchars ($action).": ".htmlspecialchars ($dn)."\r\n")!=$list[0])
{ array_unshift ($list, $newmess);
if(isset($list[10])) unset ($list[10]);
$fp=fopen($file,'w');
fwrite($fp, implode('',$list));
fclose($fp); }
}
?>
<br>&copy; Eugen, 2007
</center>
</body>
</html>

Alekzzzander
23.05.2009, 09:42
получать инфу по ip


<FORM action="" method="POST">
<INPUT type="text" name="ip" size="50" class="bginput" tabindex="101" value="89.111.176.35" onfocus="if (this.value == '85.101.136.235') this.value = '';" />
<input type="submit" value="Ok" class="button">
<br />
<p>Для получения информации о другом пользователе по средствам IP, введите в строку наиже IP пользователь, в формате <b>xxx.xxx.xxx.xxx</b></p>
</form>
<div align="left">
<?php
if ($ip!="")
{
$sock=fsockopen ("whois.ripe.net",43,$errno,$errstr);
if (!$sock)
{
echo ($errstr($errno)."<br>");
}
else
{
fputs ($sock,$ip."\r\n");
while (!feof($sock))
{
echo (str_replace(":",":&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",fgets ($sock,128))."<br>");
}
}
fclose ($sock);
}
?>
</div>
</div>




по доменам:

index.php

<?
require_once("whois.php");
?>
<div align="center">
<form method="get" action="index.php">
<input type="text" name="domain" class="bginput" size="50" style="font-size: 11px" tabindex="101" value="yugzone.ru" onfocus="if (this.value == 'yugzone.ru') this.value = '';" />
<input type="submit" value="WHOIS" class="button">
<br>
</div>
<p align="center">Для более корректного отображения информации о домене, следует его вводить в формате типа <b>yugzone.ru</b></p>
<div align="left">
<? include("./example.php"); ?>
</form>
</div>


example.php


<?
if(isset($_GET["domain"]) && strlen($_GET["domain"])>0)
{
$target=$_GET["domain"];
$whois=new whois();
$whois->zonelookup($target);
if($whois->ERROR==0)
{
if(is_array($whois->RAWINFO) && count($whois->RAWINFO)>7 && $whois->FOUND==1)
{
echo("<p><b>".$target."</b><br>IP: ".$whois->IP."</p><pre>");
foreach($whois->RAWINFO AS $str)
{
echo($str."\n");
}
echo("</pre>");
echo("<p>DNS INFO:</p><pre>");
foreach($whois->DNSINFO AS $str)
{
echo($str."\n");
}
echo("</pre>");
}else
{
echo("<p>".$target." <b>Free</b></p>");
}
}else
{
echo("<p>Requirest is fail</p>");
}
}
?>

oRb
23.05.2009, 11:24
Раньше тоже получал хуиз через сокеты с whois-серверов. Но нужны были различные доменные зоны, поэтому плюнул на сокеты, решил использовать консольный whois. Он должен быть на любом *nix сервере. Если его нету, то его можно собрать или стянуть с реповзиториев. Пример
<?php
exec('whois ya.ru', $out);
echo implode("\n",$out);
?>

fl00der
23.05.2009, 11:36
Модуль на PERL, выполняющий хуис-запросы (http://topgen.net/KholinWhoIs-source.html)