Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   PHP скрипт, ping (https://forum.antichat.xyz/showthread.php?t=56127)

MisteriX 18.12.2007 22:28

PHP скрипт, ping
 
Помогите написать скрипт на ПХП, каторый будет выполнять следующее:
Пинговать определенный ip адрес и если есть ответ то возвращать true , а если ответа нет - false


PS: Если кто знает как реализовать это но других языках, то выложите исходники.... а яж сам попробую зделать на пхп, мне важно понять саму систему...

Sn@k3 18.12.2007 22:35

PHP код:

<?php 
echo
<html> 
<head> 
<title>Пинг на IP</title> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
</head> 
<body> 
<h2></h2> 
<br /> 
<form method="post" action="#"> 
<input name="ip" type="text"> <b>Введите IP</b><br> 
<input type="submit"> 
</form> 
<br> '
;

if (
$_POST["ip"]) { 
$ip $_POST["ip"]; 

if (
preg_match('/ |\|/'$ip)){ 
echo 
"Ввели недопустимые знаки"
die; 

$p "ping -c 3 $ip"//для *nix
//$p = "ping -n 3 $ip"; //Windows 
$p preg_replace('/\n/',"<br>\n",$p); 

$ft ="Вернуть данные при вызове <b>ping</b>:<br> $p</body></html>";  
echo 
$ft
?>

типа того

MisteriX 18.12.2007 22:40

чет не фурычит.... но идею понял... буду думать! СПС Большое

MisteriX 18.12.2007 22:45

Только вот.... там нада както через системную функцию system() нужно делать.... от того что просто написать
Цитата:

$p = "ping -n 3 $ip";
ничего не выполниться

MisteriX 18.12.2007 22:53

Вот както так... но всегда true возвращает...

PHP код:

<?php  
$p 
system('ping 192.168.50.1');
if(
$p

echo(
"Есть ответ"); 
}
else
{
 echo(
"Хост не активен"); 
}
?>


Sn@k3 18.12.2007 23:08

хм, ну попробуй:
Код:

C:\Documents and Settings\Snak3>ping lollll.ru
При проверке связи не удалось обнаружить узел lollll.ru. Проверьте имя узла и по
вторите попытку.

и
Код:

C:\Documents and SettingsSnak3>ping antichat.ru

Обмен пакетами с antichat.ru [89.108.80.80] по 32 байт:

Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.

Статистика Ping для 89.108.80.80:
    Пакетов: отправлено = 4, получено = 0, потеряно = 4 (100% потерь),

C:\Documents and Settings\Snak3>

Видишь в чем разница? пробуй после с, допустим, началом вхождения, если ищет "обмен пакетами" ну или и т.д. по длинне например и т.д., вариантов множество, парсить нужно

Sn@k3 18.12.2007 23:10

Цитата:

Сообщение от MisteriX
чет не фурычит.... но идею понял... буду думать! СПС Большое


этот скрипт на компе валялся, может и сам его писал)))) хз))

demonoid 19.12.2007 00:01

Цитата:

Сообщение от MisteriX
.....
это но других языках, то выложите исходники....

Код:

perldoc Net::Ping
"исходники" _http://perldoc.perl.org/Net/Ping.html


presidentua 19.12.2007 03:09

to MisteriX
В книге Фролова ПХП для хакера (как всегда оригинальное название :) ) есть робота с сокетами и там он пишет как написать сканер портов и ФТП-клиент. Думаю будет интересно почитать

Isis 19.12.2007 03:44

PHP код:

<?php
    $unix      
=  0;
    
$register_globals = (bool) ini_get('register_gobals');
    
$system ini_get('system');
    
$unix = (bool) $unix;

    if(
$register_globals)
    {
           
$ip getenv(REMOTE_ADDR);
           
$self $PHP_SELF;
    }
    else
    {
       
$submit $_GET['submit'];
       
$count  $_GET['count'];
       
$host   $_GET['host'];
       
$ip     $_SERVER['REMOTE_ADDR'];
       
$self   $_SERVER['PHP_SELF'];
    }

    if (
$submit == "Ping!")
    {
        
$count 4;
        
$host    preg_replace ("/[^A-Za-z0-9.-]/"""$host);
        
$count    preg_replace ("/[^0-9.]/"""$count);
        echo 
'<body bgcolor="#FFFFFF" text="#000000"></body>';
        echo(
"Ping Output:<br>");
        echo 
'<pre>';

        if (
$unix)
        {
           
system ("ping -c$count -w$count $host");
           
system("killall ping");
        }
        else
        {
           
system("ping -n $count $host");
        }
        echo 
'</pre>';
    }
    else
    {
        echo 
'<body bgcolor="#FFFFFF" text="#000000"></body>';
        echo 
'<p><font size="2">Your IP is: '.$ip.'</font></p>';
        echo 
'<form methode="post" action="'.$self.'">';
        echo 
'   Enter IP or Host <input type="text" name="host" value="'.$ip.'"></input>';
        echo 
'   Enter Count <input type="text" name="count" size="2" value="4"></input>';
        echo 
'   <input type="submit" name="submit" value="Ping!"></input>';
        echo 
'</form>';
        echo 
'<br><b>'.$system.'</b>';
        echo 
'</body></html>';
    }
?>



Время: 21:58