Creating a quick script where we can poll the services on a particular server to verify if they are running or not. this will be included in a larger scope application once the details are worked out.
Am having a problem getting results from queries to web server ports though. Port 80(std), 8080(FP), and 443(SSL) either timeout without returning any results, or error with some of the other attempts at illiciting a response that we have tried (like specifying ssl:// prior to the hostname). Code and two smaple outputs below. Thoughts? Dave <!-- begin socket.php --> <?PHP # get form submitted host $host=$_POST['host']; $portstring=array("Testing SSH:<br>\n","Testing TELNET:<br>\n","Testing FTP:<br>\n","Testing HTTP:<br>\n","Testing HTTPS:<br>\n","Testing SMTP:<br>\n","Testing POP3:<br>\n","Testing IMAP:<br>\n"); $portput=array("","","","GET / HTTP/1.1\r\nHost: $host\r\n\r\n","GET / HTTP/1.1\r\nHost: $host\r\n\r\n","","",""); $portprepend=array("","","","tcp://","ssl://","","",""); $port=array(22,23,21,80,443,25,110,143); for($i=0;$i<count($port);$i++){ $result=date("H:i:s")."-"; $fp = fsockopen($portprepend[$i].$host, $port[$i], $errno, $errstr,5); if (!$fp){ $result=$portstring[$i]." Error($errno): $errstr<br>\n"; }else{ # see if we have to nudge for a response if(strlen($portput[$i]>0)){ fputs ($fp, $portput[$i]); } # get the response $result.=$portstring[$i]." "; $result.= fgets($fp,1024); fclose ($fp); $result.="<br>\n"; $result=trim($result); } echo $result; flush; } ?> <!-- end socket.php --> <!-- begin sample output with "tcp://" for 80 and "ssl://" for 443 --> 12:20:13-Testing SSH: SSH-1.99-OpenSSH_3.5p1 FreeBSD-20030201 12:20:13-Testing TELNET: Error(61): Connection refused 12:20:13-Testing FTP: 220 isp1.nexusinternetsolutions.net FTP server (Version 6.00LS) ready. 12:20:13-Testing HTTP: Error(0): 12:20:13-Testing HTTPS: Error(0): 12:20:13-Testing SMTP: 220 isp1.nexusinternetsolutions.net ESMTP 12:20:13-Testing POP3: Error(61): Connection refused 12:20:13-Testing IMAP: Error(61): Connection refused <!-- end sample output with "tcp://" for 80 and "ssl://" for 443 --> <!-- begin sample output with "" for 80 and "" for 443 --> 12:21:44-Testing SSH: SSH-1.99-OpenSSH_3.5p1 FreeBSD-20030201 12:21:44-Testing TELNET: Error(61): Connection refused 12:21:44-Testing FTP: 220 isp1.nexusinternetsolutions.net FTP server (Version 6.00LS) ready. 12:21:44-Testing HTTP: 12:26:46-Testing HTTPS: 12:31:47-Testing SMTP: 220 isp1.nexusinternetsolutions.net ESMTP 12:31:47-Testing POP3: Error(61): Connection refused 12:31:47-Testing IMAP: Error(61): Connection refused <!-- end sample output with "" for 80 and "" for 443 --> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php