/*
PHP Net Toolpack v0.1 08.05.2000、
waddler(@netlife.fi) 作成
phpnettoolpack.sourceforge.net
GNU GPL で配布予定
*/
// whois(hostname [ ,ユーザー名, [ポート]])
関数 whois ($a_server, $a_query="", $a_port=43) {
$sock = fsockopen($a_server, $a_port, &$errno, &$errstr, 10);
if (!$sock)
{
echo "$errstr ($errno)
n";
} else {
fputs($sock, "$a_queryrn");
while(!feof($sock))
{
$buf = fgets($sock,128);
if (ereg( "Whois サーバー:", $buf))
{
$a_server = str_replace( "Whois サーバー: ", "", $buf);
$a_server = トリム($a_server);
}
}
fclose($sock);
if ($a_server)
{
print "$a_query は $a_server:
に登録されています。";
$sock = fsockopen($a_server, 43, &$errno, &$errstr, 10);
if(!$sock)
{
echo "ポート $a_port.n で $a_server への接続を開けませんでした";
echo "$errstr ($errno)
n";
} else {
fputs($sock, "$a_queryrn");
while(!feof($sock))
{
echo fgets($sock,128);
}
fclose($sock);
}
} else {
echo "$a_query が見つかりませんでした。
";
}
}
}
// Finger(ホスト名 [,ユーザー名, [ポート]])
関数 Finger ($a_server, $a_query="", $a_port=79) {
$sock=fsockopen($a_server,$ a_port, &$errno, &$errstr, 10);
if (!$sock)
{
$ret_str = "$errstr ($errno)
n";
} else {
fputs($sock,"$a_queryn");
while (!feof($sock)) { $ret_str .= fgets($sock,128);
fclose($sock);
}
エコー $ret_str;
$ret_str を返します;
}
// トレースルート(ホスト名)
関数 トレースルート ($a_query) {
exec("トレースルート $a_query",$ret_strs);
$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" => "指",
"traceroute" => "Traceroute",
"whois" => "誰?"
);
//
n"; <br>finger($server, $query); <br>「」を印刷します;