⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nettools.php

📁 PHP4_0入门与提高源程序代码
💻 PHP
字号:
<?PHP
// whois(hostname [,username, [port]])
/***************************************
function:	whois查询
$param:	$a_server	服务器地址
$param:	$a_query	查询字段
$param:	$a_port	查询端口
****************************************/
Function whois ($a_server, $a_query="", $a_port=43) {//whois的端口号为43
	$sock = fsockopen($a_server, $a_port, &$errno, &$errstr, 10);	//建立连接
	if (!$sock)	//如果没有成功建立连接
	{
		echo "$errstr ($errno)<BR>\n";	//返回错误信息
	} else {	//如果连接成功
		fputs($sock, "$a_query\r\n");	//把查询字段输入
		while(!feof($sock))
		{
			$buf = fgets($sock,128);
			if (ereg( "Whois Server:", $buf))	//寻找whois服务器
			{
				$a_server = str_replace( "Whois Server: ",  "", $buf);
				$a_server = trim($a_server);
			}
		}
		fclose($sock);
		
		if ($a_server)
		{
			print "<B>$a_query is registered at $a_server:</B><BR>";
			$sock = fsockopen($a_server, 43, &$errno, &$errstr, 10);	//建立与whois
//服务器的连接
			if(!$sock)
			{
				echo "Could not open connection to $a_server on port $a_port.\n";
				echo "$errstr ($errno)<BR>\n";
			} else {
				fputs($sock, "$a_query\r\n");
				while(!feof($sock))
				{
		 		  echo fgets($sock,128);		//返回最后的查询信息
				}
				fclose($sock);
			}
		} else {
			echo "<b>$a_query was not found.</b><BR>";
		}
	}
}

// finger(hostname [,username, [port]])
/***************************************
function:	finger查询
$param:	$a_server	服务器地址
$param:	$a_query	查询字段
$param:	$a_port	查询端口
****************************************/
Function finger ($a_server, $a_query="", $a_port=79) {//finger端口号79
	$sock=fsockopen($a_server,$a_port, &$errno, &$errstr, 10);	
   if (!$sock)
   {
		$ret_str = "$errstr ($errno)<BR>\n";
   } else {
		fputs($sock,"$a_query\n");
		while (!feof($sock)) { $ret_str .= fgets($sock,128); }
		fclose($sock);
	}
	echo $ret_str;
	return $ret_str;
}

//traceroute函数
/***************************************
function:	traceroute查询
$param:	$a_query	查询字段
****************************************/
Function traceroute ($a_query) {
	exec("traceroute $a_query",$ret_strs);	//调用系统命令traceroute
	$str_count = count($ret_strs);
	for ($count=0; $count < $str_count; $count++)
		print "$count/$str_count".$ret_strs[$count]."\n";
}


// -----------------------------------------------------------


$app_name = "PHP 网络实用工具";
$app_version = "0.1";

$TOOLS = array(
	"finger" => "Finger",
	"traceroute" => "Traceroute",
	"whois" => "Whois?"
);

// 如果包含在一个<select name="tool">标签中
if ($tool=="listtools")
{
	while (list($key, $val) = each($TOOLS)) {
		print "	<OPTION VALUE=\"".$key."\">".$val."</OPTION>\n";
	}
	exit;
}

// 输出HTML头
print "<HTML>";
if ($tool)
{
	print "<HEAD><TITLE>".$tool." for ".$query."</TITLE></HEAD>\n";
	print "<BODY>\n<H3>".$tool." for ".$query." ..</H3>\n";
} else {
	print "<HEAD><TITLE>".$app_name."</TITLE></HEAD>\n";
	print "<BODY>\n<H3>".$app_name."</H3>\n";
}

// 判断用户想要使用哪种工具
switch($tool) {
case "finger":
	//如果有$query变量,就执行finger命令
	if ($query)
	{
		print "<PRE>\n";
		finger($server, $query);
		print "</PRE>";
	} else {
	//如果没有,让用户填写
   ?>

   <FORM ACTION="<?PHP echo($PHP_SELF. "?tool=".$tool); ?>" METHOD="post">
   Server : <INPUT TYPE="text" NAME="server" VALUE="localhost"> <BR>
   Query : <INPUT TYPE="text" NAME="query" SIZE="40" MAXLENGTH="100"> <BR>
   <INPUT TYPE="submit" VALUE="Finger">
   </FORM>

   <?PHP
	}
	break;

case "traceroute":
	if ($query)
	{
		print "<PRE>\n";
		traceroute($query);
		print "</PRE>";
	} else {
   ?>

   <FORM ACTION="<?PHP echo($PHP_SELF. "?tool=".$tool); ?>" METHOD="post">
   Query : <INPUT TYPE="text" NAME="query" SIZE="40" MAXLENGTH="100"> <BR>
   <INPUT TYPE="submit" VALUE="Trace route">
   </FORM>

   <?PHP
	}
	break;


case "whois":
	if ($query)
	{
		print "<PRE>\n";
		whois($server,$query);
		print "</PRE>";
	} else {
	?> 

	<FORM ACTION="<?PHP echo($PHP_SELF. "?tool=".$tool); ?>" METHOD="post">
	可以查询.com, .org, and .net 域名<BR>
	Server : <INPUT TYPE="text" NAME="server" VALUE="rs.internic.net"> <BR>
	Query : <INPUT TYPE="text" NAME="query" SIZE="40" MAXLENGTH="100"> <BR>
	<INPUT TYPE="submit" VALUE="<?PHP echo $TOOLS[$tool]; ?>">
	</FORM>

	<?PHP
	}
	break;

default:
	print "<UL>当前支持的工具有:\n";
	while (list($key, $val) = each($TOOLS)) {
		echo "<LI><A HREF=\"".$PHP_SELF."?tool=".$key."\">".$val."</A></LI>\n";
	}
	print "</UL>\n";
	break;
}

print "\n<HR><SMALL>".$app_name." v".$app_version."</SMALL>\n";
print "<BODY>\n</HTML>";

?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -