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]."&nbsp;&nbsp;&nbsp;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]."&nbsp;&nbsp;&nbsp;";
                $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

Reply via email to