[ищу] скрипт сервиса проверки ip

Тема в разделе "Коммерческие", создана пользователем ejournal, 10 мар 2010.

Информация :
Публиковать (для всех) нуленые версии, особенно от modulesgarden КАТЕГОРИЧЕСКИ не стоит. Тема мониторится оным разработчиком, а к нам приходят абузы которые нельзя игнорировать.
Модераторы: Amazko, Aste
  1. ejournal

    ejournal

    Регистр.:
    13 окт 2008
    Сообщения:
    167
    Симпатии:
    5
    ИЩУ Скрипт для проверки ip !!!!!!


    желательно с расширеной инфой как на whoer.net
     
  2. poluss

    poluss Создатель

    Регистр.:
    13 янв 2009
    Сообщения:
    32
    Симпатии:
    35
    Тоже не смог найти. Может, есть у кого?
     
  3. legion2k

    legion2k

    Регистр.:
    16 дек 2007
    Сообщения:
    162
    Симпатии:
    56
    в паблике таких не видел - может есть смысл собрать народу и скинутся на написание?
     
  4. pegas3433

    pegas3433 Постоялец

    Регистр.:
    27 мар 2009
    Сообщения:
    144
    Симпатии:
    49
    Для своих нужд приспособил вот этот скрипт, может пигодится!!!


    <?php
    if(phpversion() >= "4.2.0"){
    extract($_POST);
    extract($_GET);
    extract($_SERVER);
    extract($_ENV);
    }
    ?>
    <html>
    <head>
    <title>Просмотр IP адрессов</title>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    </head>

    <body bgcolor="#FFFFFF">
    <div align="center">
    <h1><font color=#4682B4>Просмотр IP адрессов</font></h1>
    <form method="post">
    <table width="60%" border="0" cellspacing="0" cellpadding="1">
    <tr bgcolor="#DCDCDC">
    <td width="50%" align="center"><font size="3"><b>Информация о хосте</b></font></td>
    <td width="50%" align="center"><font size="3"><b>Связь с хостом</b></font></td>
    </tr>
    <tr valign="top">
    <td>
    <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
    <input type="radio" name="queryType" value="lookup"> Resolve/Reverse Lookup<br>
    <input type="radio" name="queryType" value="dig"> Get DNS Records<br>
    <input type="radio" name="queryType" value="wwwhois"> Информация по домену (Whois)<br>
    <input type="radio" name="queryType" value="arin" checked> Информация по IP(Whois)</font></p>
    </td>
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
    <input type="radio" name="queryType" value="checkp"> Проверить открыт ли порт:
    <input type="text" name="portNum" size="5" maxlength="5" value="80"> номер порта
    <br>
    <input type="radio" name="queryType" value="p"> Пинг до хоста:
    <input type="text" name="pingNum" size="5" maxlength="5" value="10"> кол-во пингов
    <br>
    <input type="radio" name="queryType" value="tr"> Трэйс до хоста<br>
    <input type="radio" name="queryType" value="all"> Всё сразу</font></td>
    </tr>
    </table>
    <table width="60%" border="0" cellspacing="0" cellpadding="1"><tr bgcolor="#DCDCDC">
    <td colspan="2">
    <div align="center">
    <input type="text" name="target" value="Домен или IP-адрес" onFocus="if(this.defaultValue==this.value)this.value=''">
    <input type="submit" name="Submit" value="Показать">
    </div>
    </td>
    </tr>
    </table>
    </form>
    </div>
    <center><table width="60%" border="0" cellspacing="0" cellpadding="1">
    <tr><td>
    <?
    #Global kludge for new gethostbyaddr() behavior in PHP 4.1x
    $ntarget = "";

    function mmessage($msg){
    echo "<font face=\"verdana,arial\" size=2>$msg</font>";
    }

    function lookup($target){
    global $ntarget;
    $msg = $target." resolved to ";
    if( eregi("[a-zA-Z]", $target) ) $ntarget = gethostbyname($target);
    else $ntarget = gethostbyaddr($target);
    $msg .= $ntarget;
    mmessage($msg);
    }

    function dig($target){
    global $ntarget;
    mmessage("<p><b><font color=green>Результат по DNS Query:</font></b><blockquote>");
    #$target = gethostbyaddr($target);
    #if (! eregi("[a-zA-Z]", ($target = gethostbyaddr($target))) )
    if( (!eregi("[a-zA-Z]", $target) && (!eregi("[a-zA-Z]", $ntarget))))
    $msg .= "Can't do a DNS query without a hostname.";
    else{
    if(!eregi("[a-zA-Z]", $target)) $target = $ntarget;
    if (! $msg .= trim(nl2br(`dig any '$target'`))) #bugfix
    $msg .= "The <i>dig</i> command is not working on your system.";
    }
    #TODO: Clean up output, remove ;;'s and DiG headers
    $msg .= "</blockquote></p>";
    mmessage($msg);
    }

    function wwwhois($target){
    global $ntarget;
    $server = "whois.crsnic.net";
    mmessage("<p><b><font color=green>Результат по WWWhois:</font></b><blockquote>");
    #Определяю WHOIS server
    if((eregi("\.com\$|\.net\$|\.edu\$", $target)) || (eregi("\.com\$|\.net\$|\.edu\$", $ntarget)))
    $server = "whois.crsnic.net";
    else if((eregi("\.info\$", $target)) || (eregi("\.info\$", $ntarget)))
    $server = "whois.afilias.net";
    else if((eregi("\.org\$", $target)) || (eregi("\.org\$", $ntarget)))
    $server = "whois.corenic.net";
    else if((eregi("\.name\$", $target)) || (eregi("\.name\$", $ntarget)))
    $server = "whois.nic.name";
    else if((eregi("\.biz\$", $target)) || (eregi("\.biz\$", $ntarget)))
    $server = "whois.nic.biz";
    else if((eregi("\.us\$", $target)) || (eregi("\.us\$", $ntarget)))
    $server = "whois.nic.us";
    else if((eregi("\.cc\$", $target)) || (eregi("\.cc\$", $ntarget)))
    $server = "whois.enicregistrar.com";
    else if((eregi("\.ws\$", $target)) || (eregi("\.ws\$", $ntarget)))
    $server = "whois.nic.ws";
    else if((eregi("\.ru\$", $target)) || (eregi("\.ru\$", $ntarget)))
    $server = "whois.ripn.ru";
    else{
    $msg .= "<font color=red>Поддерживаются только следующие домены .ru .com, .net, .org, .edu, .info, .name, .us, .cc, .ws, and .biz.</font></blockquote>";
    mmessage($msg);
    return;
    }

    mmessage("Соединяемся с $server...<br><br>");
    if (! $sock = @fsockopen($server, 43, $num, $error, 10)){
    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("Whois Server:", $buffer)){
    if(eregi("no match", $buffer))
    mmessage("NOT FOUND: No match for $target<br>");
    else
    mmessage("Ambiguous query, multiple matches for $target:<br>");
    }
    else{
    $buffer = split("\n", $buffer);
    for ($i=0; $i<sizeof($buffer); $i++){
    if (eregi("Whois Server:", $buffer[$i]))
    $buffer = $buffer[$i];
    }
    $nextServer = substr($buffer, 17, (strlen($buffer)-17));
    $nextServer = str_replace("1:Whois Server:", "", trim(rtrim($nextServer)));
    $buffer = "";
    mmessage("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\n");
    while (!feof($sock))
    $buffer .= fgets($sock, 10240);
    @fclose($sock);
    }
    }
    $msg .= nl2br($buffer);
    $msg .= "</blockquote></p>";
    mmessage($msg);
    }

    function arin($target){
    $server = "whois.arin.net";
    mmessage("<p><b><font color=green>Результат по IP Who:</font></b><blockquote>");
    if (!$target = gethostbyname($target))
    $msg .= "Can't IP Whois without an IP address.";
    else{
    mmessage("Соединяемся с $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";
    #/e suppresses Japanese character output from JPNIC
    $extra = "/e";
    }
    else if (eregi("whois.registro.br", $buffer))
    $nextServer = "whois.registro.br";
    if($nextServer){
    $buffer = "";
    mmessage("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>";
    mmessage($msg);
    }

    function checkp($target,$portNum){
    mmessage("<p><b><font color=green>Провека порта $portNum</b>...</font><blockquote>");
    if (! $sock = @fsockopen($target, $portNum, $num, $error, 5))
    $msg .= "Порт $portNum закрыт или находится за фаерволом.";
    else{
    $msg .= "Порт $portNum открыт и возможно соединение.";
    @fclose($sock);
    }
    $msg .= "</blockquote></p>";
    mmessage($msg);
    }

    function p($target,$pingNum){
    mmessage("<p><b><font color=green>Результат по пингам:</font></b><blockquote>");
    //if (! $msg .= trim(nl2br(`ping -c10 '$target'`))) #bugfix
    if (! $msg .= trim(nl2br(`ping -c$pingNum, $target`)))
    $msg .= "<font color=red>Пинг провален. Возможно проверяемый компьютер неработает.</font>$pingNum";
    $msg .= "</blockquote></p>";
    mmessage($msg);
    }

    function tr($target){
    mmessage("<p><b><font color=green>Результат по трейсу:</font></b><blockquote>");
    if (! $msg .= trim(nl2br(`/usr/sbin/traceroute '$target'`))) #bugfix
    $msg .= "<font color=red>Трейс провален. Возможно проверяемый компьютер неработает.</font>";
    $msg .= "</blockquote></p>";
    mmessage($msg);
    }


    #If the form has been posted, process the query, otherwise there's
    #nothing to do yet
    if(!$queryType) exit;

    #Make sure the target appears valid

    if( (!$target) || (!preg_match("/^[\w\d\.\-]+\.[\w\d]{1,4}$/i",$target)) ){ #bugfix
    mmessage("<center><font color=red>Ошибка: Неверно указан домен или IP.</font></center>");
    exit;
    }

    #Figure out which tasks to perform, and do them

    if( ($queryType=="all") || ($queryType=="lookup") ) lookup($target);
    if( ($queryType=="all") || ($queryType=="dig") ) dig($target);
    if( ($queryType=="all") || ($queryType=="wwwhois") ) wwwhois($target);
    if( ($queryType=="all") || ($queryType=="arin") ) arin($target);
    if( ($queryType=="all") || ($queryType=="checkp") ) checkp($target,$portNum);
    if( ($queryType=="all") || ($queryType=="p") ) p($target,$pingNum);
    if( ($queryType=="all") || ($queryType=="tr") ) tr($target);
    ?>
    </div>
    </td></tr></table>