Barra laterale

programmazione:php:fare_il_ping_da_php

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;
		}
 
	}

programmazione/php/fare_il_ping_da_php.txt · Ultima modifica: 18/04/2018 - 15:49 (modifica esterna)