Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: ping su ip

  1. #1

    ping su ip

    Ciao,
    ho visto tutte quante le discussioni su "ping" del forum... ma ho un problemino... forse potete aiutarmi...

    allora come script ho usato questo (consigliato anche da freephp)

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html>
    <head>
    <title>The WorldsEnd.NET - Free Ping Script, written in PHP</title>
    </head>
    <?php
    //  This script was writen by [email]webmaster@theworldsend.net[/email], Aug.2001
    //  [url]http://www.theworldsend.net[/url] 
    //  This is my first script. Enjoy.
    //  
    // Put it into whatever directory and call it. That's all.
    // Updated to 4.2 code 
    // Get Variable from form via register globals on/off
    //-------------------------
    $max_count 10//maximum count for ping command
    $unix      =  1//set this to 1 if you are on a *unix system      
    $windows   =  0//set this to 1 if you are on a windows system
    // -------------------------
    // nothing more to be done.
    // -------------------------
    //globals on or off ?
    $register_globals = (bool) ini_get('register_gobals');
    $system ini_get('system');
    $unix = (bool) $unix;
    $win  = (bool)  $windows;
    //
    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'];
    };
    // form submitted ?
    If ($submit == "Ping!"
    {
       
    // over count ?
       
    If ($count $max_count
       {
          echo 
    'Maximum for count is: '.$max_count;
          echo 
    '[url="'.$self.'"]Back[/url]';
       }
       else 
       {
          
    // replace bad chars
          
    $hostpreg_replace ("/[^A-Za-z0-9.]/","",$host);
          echo 
    '<body bgcolor="#FFFFFF" text="#000000"></body>';
          echo(
    "Ping Output:
    "
    ); 
          echo 
    '<pre>';           
          
    //check target IP or domain
          
    if ($unix
          {
             
    system ("ping -c$count -w$count $host");
             
    system("killall ping");// kill all ping processes in case there are some stalled ones or use echo 'ping' to execute ping without shell
          
    }
          else
          {
             
    system("ping -n $count $host");
          }
          echo 
    '</pre>';
        }

    else 
    {
        echo 
    '<body bgcolor="#FFFFFF" text="#000000"></body>';
        echo 
    '

    <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 
    '
    [b]'
    .$system.'[/b]';
        echo 
    '</body></html>';
    }
    ?>
    bene... lo script credo funzioni senza particolari problemi...

    il fatto è che qualunque ip "pinghi" mi viene restituito "100% lost"

    qui sotto per esempio riporto il ping a "www.libero.it" cosa che, dal mio pc riesco a fare tranquillamente...ma da script no...

    PING SU LIBERO.IT DA PC
    C:\Users\Jonny>ping www.libero.it

    Esecuzione di Ping vs-fe.iol.it [195.210.91.83] con 32 byte di dati:

    Risposta da 195.210.91.83: byte=32 durata=38ms TTL=116
    Risposta da 195.210.91.83: byte=32 durata=35ms TTL=116
    Risposta da 195.210.91.83: byte=32 durata=34ms TTL=116
    Risposta da 195.210.91.83: byte=32 durata=40ms TTL=116

    Statistiche Ping per 195.210.91.83:
    Pacchetti: Trasmessi = 4, Ricevuti = 4,
    Persi = 0 (0% persi),
    Tempo approssimativo percorsi andata/ritorno in millisecondi:
    Minimo = 34ms, Massimo = 40ms, Medio = 36ms
    PING ESEGUITO DA SCRIPT PHP
    PING 195.210.91.83 (195.210.91.83) 56(84) bytes of data.

    --- 195.210.91.83 ping statistics ---
    4 packets transmitted, 0 received, 100% packet loss, time 3001ms
    Il fatto è che il sito da cui faccio partire il ping è su Aruba... ci sta che sia per questo che nn va?

    Come trovo soluzione al mio problema ?

    Io, dal pannello di amministrazione del mio sito devo poter controllare se uno o più ip mi danno una risposta... tutto qui... nn mi serve altro.
    devo fare solo un controllo se quella maccchina è online oppure offline...p

    grazie mille.
    ciao

    Drummino
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

  2. #2
    uppino
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

  3. #3
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    il cuore di tutto il tuo problema sta nelle impostazioni del php.ini di aruba che (giustamente) non ti permette di accedere alla shell dell OS per motivi di sicurezza....

    prova a leggere qui

    http://www.php.net/manual/it/function.system.php



    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  4. #4
    ma come posso usare system !?
    cioè....

    nn posso fare una cosa del genere...

    Codice PHP:

    <?php
          
    echo '<pre>';
           
          
    // Mette in output tutti i risultati della shellcommand "ls", e restituisce
          // l'ultima  linea di output nella $last_line. Memorizza il valore restituito
          // del comando da shell in $retval.
          
    $last_line system('ping [url]www.libero.it[/url]'$retval);
           
          
    // Stampa informazioni aggiuntive
          
    echo '
          </pre>
          <hr />L\'ultima linea dell\'output: ' 
    $last_line '
          <hr />Restituisce il valore: ' 
    $retval;
          
    ?>
    nn si incasina il tutto ?

    altre soluzioni ?

    :berto: :berto: :berto:
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

  5. #5
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    system, exec e compagnia bella credo che sia il caso discordarteli, secondo me dovresti provare a vedere se con le funzioni di socket messe a disposizione da php tu possa ovviare all' inconveniente...

    ma prima di metterti giu a capofitto ti consiglio di vedere realmente le possibilità che ti offre aruba.

    inoltre verifica in quali condizioni possa essere utilizzato (versione php 5 o 4 , socket supportate) e poi studiarti il sistema



    spero per te di essere smentito

    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  6. #6
    PROBLEMONE....

    mi sa che anche le socket sono disabilitate...

    infatti alla creazione del socket mi viene restituito questo errore.

    Fatal error: Call to undefined function: socket_create() in /web/htdocs/dominio.it/home/admin/co/nuovo_cor.php on line 109

    la versione del php supporta la chiamata alle socket, ma forse aruba non da la possibilità di farlo.
    a questo punto nn so più come fare.

    qualcuno ha dei suggerimenti ??
    grazie
    :berto:
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

  7. #7
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    che tipo di server cerchi di pingare? è un server web?
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  8. #8
    no.. è una macchina normale... non un server web. l'unica cosa che ha sarà un ftp per poterci uppare delle cose... per il resto sarà un windows xp pro... niente di che...

    ho provato anche a fare una connessione ftp... ma questo nn vuol dire che la macchina sia online... non so se mi spiego... cioè magari è caduto il servizio ftp.. ma la macchina funziona bene... ed è presente online... io ho solo la necessità di sapere se quel determinato ip statico associato appunto alla mia macchina su internet è funzionante o meno...

    qui si pone un'altro problema... cioè...

    la linea potrebbe essere su (risponde il router) ma la macchina spenta.
    io devo poter controllare sia che ci sia la linea ip (ripeto ... l'indirizzo è statico) sia che la macchina è accesa...

    qualche idea ?

    grazie
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

  9. #9
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

  10. #10
    allora sono riuscito a far eseguire correttamente il ping... spostando l'applicazione da un servizio hosting ad un server dedicato.
    ora il problema è questo.
    vedo che lo script (il primo che ho postato) mi stampa le linee come se fossi da prompt per capirsti.
    come faccio a valorizzare una variabile che mi restituisce 1 se l'ha pingato e 0 se nn l'ha pingato ?

    grazie mille.
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.