Perfect Lion Postado Setembro 13, 2004 Denunciar Share Postado Setembro 13, 2004 Como eu faço um arquivo que indentifica se um serv ta on pela tal porta????tem como issso???? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bigodines Postado Setembro 13, 2004 Denunciar Share Postado Setembro 13, 2004 tenta isso:<META http-equiv="Refresh" content="3"> <?php $str=exec("ping -c 1 -w 1 192.168.1.216",$a,$a1); print "<table>"; if(strlen($str)>1){ print"<tr><td bgcolor='#fff000'>vivo</td></tr>"; }else{ print"<tr><td bgcolor='#000000'>morto</td></tr>"; } print "</table> "; ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jissa Postado Setembro 13, 2004 Denunciar Share Postado Setembro 13, 2004 Ai ´[e legal para usar na sua maquina local, porem se for usar Online a função exec() e system() que pode usar para fazer isto (usar o ping do SO) como acimaOlha um scrip´t que vi na http://www.php.net Author: noSanity 17-May-2004 11:40 <?phpclass Net_Ping{ var $icmp_socket; var $request; var $request_len; var $reply; var $errstr; var $time; var $timer_start_time; function Net_Ping() { $this->icmp_socket = socket_create(AF_INET, SOCK_RAW, 1); socket_set_block($this->icmp_socket); } function ip_checksum($data) { for($i=0;$i<strlen($data);$i += 2) { if($data[$i+1]) $bits = unpack('n*',$data[$i].$data[$i+1]); else $bits = unpack('C*',$data[$i]); $sum += $bits[1]; } while ($sum>>16) $sum = ($sum & 0xffff) + ($sum >> 16); $checksum = pack('n1',~$sum); return $checksum; } function start_time() { $this->timer_start_time = microtime(); } function get_time($acc=2) { // format start time $start_time = explode (" ", $this->timer_start_time); $start_time = $start_time[1] + $start_time[0]; // get and format end time $end_time = explode (" ", microtime()); $end_time = $end_time[1] + $end_time[0]; return number_format ($end_time - $start_time, $acc); } function Build_Packet() { $data = "abcdefghijklmnopqrstuvwabcdefghi"; // the actual test data $type = "\x08"; // 8 echo message; 0 echo reply message $code = "\x00"; // always 0 for this program $chksm = "\x00\x00"; // generate checksum for icmp request $id = "\x00\x00"; // we will have to work with this later $sqn = "\x00\x00"; // we will have to work with this later // now we need to change the checksum to the real checksum $chksm = $this->ip_checksum($type.$code.$chksm.$id.$sqn.$data); // now lets build the actual icmp packet $this->request = $type.$code.$chksm.$id.$sqn.$data; $this->request_len = strlen($this->request); } function Ping($dst_addr,$timeout=5,$percision=3) { // lets catch dumb people if ((int)$timeout <= 0) $timeout=5; if ((int)$percision <= 0) $percision=3; // set the timeout socket_set_option($this->icmp_socket, SOL_SOCKET, // socket level SO_RCVTIMEO, // timeout option array( "sec"=>$timeout, // Timeout in seconds "usec"=>0 // I assume timeout in microseconds ) ); if ($dst_addr) { if (@socket_connect($this->icmp_socket, $dst_addr, NULL)) { } else { $this->errstr = "Cannot connect to $dst_addr"; return FALSE; } $this->Build_Packet(); $this->start_time(); socket_write($this->icmp_socket, $this->request, $this->request_len); if (@socket_recv($this->icmp_socket, &$this->reply, 256, 0)) { $this->time = $this->get_time($percision); return $this->time; } else { $this->errstr = "Timed out"; return FALSE; } } else { $this->errstr = "Destination address not specified"; return FALSE; } }}$ping = new Net_Ping;$ping->ping("www.google.ca");if ($ping->time) echo "Time: ".$ping->time;else echo $ping->errstr;?>Hope this saves some troubles.noSanity Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Perfect Lion Postado Setembro 14, 2004 Autor Denunciar Share Postado Setembro 14, 2004 cara eu queria fazer um ping em um ip determinado e não na minha maquina entende.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jissa Postado Setembro 14, 2004 Denunciar Share Postado Setembro 14, 2004 as duas formas ai em cima da para fazer.. um executando na sua maquina e outro executando na Web.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bigodines Postado Setembro 14, 2004 Denunciar Share Postado Setembro 14, 2004 cara eu queria fazer um ping em um ip determinado e não na minha maquina entende.... você leu os códigos? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Perfect Lion
Como eu faço um arquivo que indentifica se um serv ta on pela tal porta????
tem como issso????
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.