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