RedHat EL 8 - whoisパッケージがなくなったようです

日付 2019.07.25
タイトル RedHat EL 8 - whoisパッケージがなくなったようです
本文
whoisパッケージは「削除されたパッケージ」に入っています。
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/8/html-single/considerations_in_adopting_rhel_8/index

whoisコマンドに依存しているページがあるため、仕方ないのでphpでwhois問い合わせを書いてみました。
参考になれば。

# whois.php
<?php
$serv = isset($argv[1]) ? trim($argv[1]) : '';
$dom = isset($argv[2]) ? trim($argv[2]) : '';
$timeout = 3;
$retry = 5;

$buf = [];
$errs = [];
do {
$errno;
$errmsg;
$conn = sockconn($serv, 43, $errno, $errmsg, $timeout, $retry);
if (!$conn) {
$errs[] = ['errcd' => $errno, 'msg' => $errmsg];
break;
}
if (fputs($conn, "{$dom}\r\n") === false) {
$errs[] = ['errcd' => 0, 'msg' => 'failed query domain.'];
break;
}

while (($lin = fgets($conn)) !== false) {
$buf[] = $lin;
}

fclose($conn);
} while (false);

if ($buf) {
print join("", $buf);
} else {
print join("\n", $errs);
}

function sockconn($serv, $port = -1, &$errno = null, &$errmsg = null, $timeout = null, $retry = 0) {
do {
$conn = @fsockopen($serv, $port, $errno, $errmsg, $timeout);
} while (!$conn && $retry--);

return $conn;
}
?>

# 使い方
php whois.php [whois server] [domain name]

※ whois serverは別記事「TLD毎のwhoisサーバ一覧を取得する」でも調べられます。