====== Fare il ping con php ====== Autore: **//Fabio Di Matteo//** \\ Ultima revisione: **//10/10/2008//** \\ \\ Ecco alcune funzioni che per,mettono di fare il ping direttamente da uno script php. ===== Ping usando il comando ping del server ===== 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; } } ===== Ping tcp o scanzione di una porta ===== 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; } }