본문 바로가기

Web/PHP

웹서버/FTP서버 사양알기

<?php
function serverspy($prot, $server, $port, $getallheaders) {
    
    $fp = fsockopen($server, $port, &$errno, &$errstr);

    if(!$fp) {
             /* Errormessage: Couldn't open a socket */
            echo "<b>Error: </b>$errstr ($errno)<br>n";
    } else {
         /* OK: Socket open! */
         /* SWITCH Protocol (HTTP=1, FTP=2) */
            if ($prot==1) {
                 /* HTTP */
                fputs($fp, "GET / HTTP/1.0rnrn");
                if ($getallheaders<> "1") {
                 /* Show server only */
                while(!feof($fp)) {
                    $t=fgets($fp,4096);
                    if (ereg( "^Server:", $t)) {
                        echo "<b>".htmlentities(ereg_replace( "Server:", "",ereg_replace(chr(13).chr(10), "",$t))). "</b>";
                        }
                }
            }
            else {
                 /* Show all HEADER-rows */
                echo "<b><ul>";
                while(!feof($fp)) {
                    $t=fgets($fp,4096);
                    if (ereg( "^".chr(13).chr(10), $t)) {break;}
                        echo "<li>".nl2br(htmlentities($t));
                }
                echo "</ul></b>";
            }
            }
        if ($prot==2) {
             /* FTP */
            if ($getallheaders<> "1") {
                 /* Show server only */
                echo "<b>";
                $t=fgets($fp,10000);
                while(ereg( "^220-",$t)) {
                    $t=fgets($fp,10000);
                }
                echo htmlentities(ereg_replace($server, "",ereg_replace( "220", "",ereg_replace(chr(13).chr(10), "",$t)))). "</b>";
            }
            else {
                 /* Show all HEADER-rows */
                echo "<b><ul>";
                $t=fgets($fp,10000);
                while(ereg( "^220-",$t)) {
                    $t=fgets($fp,10000);
                }
                echo "<li>".htmlentities(ereg_replace(chr(13).chr(10), "",$t));
                echo "</ul></b>";
            }
        }
         /* Close connection */
        fclose($fp);
    }
}
?>

'Web > PHP' 카테고리의 다른 글

주 단위 unixtime 반환  (0) 2013.09.26
논리검색  (0) 2013.09.26
중복되지 않는 난수  (0) 2013.09.26
디렉토리 생성  (0) 2013.09.26
Javascript로 출력  (0) 2013.09.26