Autore: Fabio Di Matteo
Ultima revisione: 10/10/2008
Ecco alcune funzioni che per,mettono di fare il ping direttamente da uno script php.
Questa funzione tramite la chiamata system()
riceve l'output del comando ping.
La funzione ritorna true
e scrive “connesso” se il ping va a buon fine, invece false e scrive “disconnesso” per il caso contrario .
function ping($ip){ // Principi di funzionamento //ping -c 1 $ip &>/dev/null && echo "$ip is ok" || echo "$ip is not ok" //ping -c 1 $ip &>/dev/null && echo "true" || echo "false" $res=system("ping -c 1 $ip &>/dev/null && echo 'connesso' || echo 'disconnesso' "); if ($res=="connesso"){ return true; }else{ return false; } }
Tratta da http://it2.php.net/manual/en/function.socket-connect.php#56864
Tramite la seguente funzione e' possibile fare la scanzione di una porta su un host, ovvero una specie di ping ma con pacchetti tcp.
function pingTcp($ip, $port, $timeout){ $fp = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_set_nonblock($fp); socket_connect($fp,$ip,$port); socket_set_block($fp); switch(socket_select($r = array($fp), $w = array($fp), $f = array($fp), $timeout)) { case 2: echo "[-] Connessione rifiutata\n"; fclose($fp); return true; break; case 1: echo "[+] Connesso\n"; fclose($fp); return true; break; case 0: echo "[-] Timeout\n"; fclose($fp); return false; break; } }