次世代WHOIS代替CLIツール「quien」の魅力
黒い画面に whois example.com と打ち込み、スクロールして流れていくテキストの海から、RegistrarやName Serverの行を目を皿のようにして探す。インフラエンジニアなら誰もが経験するこの光景だが、ふと「いつまでこの古典的な儀式を続けるのだろう」と思うことはないだろうか。
ドメインやIPアドレスのトラブルシューティングは、私たちが業界に入った15年前から何も変わっていないように見えて、実はその周辺環境が劇的に複雑化している。ドメインの所有者を特定しただけでは調査は終わらない。DNSのレコードは正しく引けているか。SPFやDMARCといったメールセキュリティの構成に不備はないか。SSL/TLS証明書のチェーンは適切か。結局のところ、私たちは whois を叩いた後、休む間もなく dig や openssl、curl といったコマンドを次々と駆使し、散らばった情報を脳内でつなぎ合わせているのだ。
「調べる」体験を再定義するTUIアプローチ
Go言語で開発されたCLIツール「quien」(スペイン語で「誰」を意味する)は、こうした現代の煩雑な調査フローを一つの画面に統合する。単なるWHOISコマンドのラッパーではなく、ドメインやネットワーク調査のハブとして設計されているのが最大の特徴だ。
ターミナル上で quien example.com と実行すると、モダンでインタラクティブなTUI(テキストユーザーインターフェース)が立ち上がる。画面上部にはタブが用意されており、キーボード操作一つで「WHOIS」「DNS」「Mail」「SSL/TLS」「HTTP Headers」、さらにはHTMLからパースしたWordPressプラグインやJSフレームワークといった「Tech Stack」の情報までシームレスに切り替えて確認できる。
| 比較項目 | 従来の whois コマンド | quien |
|---|---|---|
| データソース | WHOIS (Port 43) | RDAP優先 + WHOISフォールバック |
| インターフェース | 単一のプレーンテキスト出力 | タブ切り替え型TUI |
| 取得できる情報 | ドメイン・IPの登録情報のみ | DNS, Mail(SPF/DMARC等), TLS, Tech Stack |
| 機械可読性 | 正規表現などでの独自パースが必要 | ネイティブでJSON出力に対応 |
IPアドレスを調査する際のネットワークコンテキストの深掘りも素晴らしい。RDAPを通じてASN(自律システム番号)を発見し、もしデータがなければBGPルーティング情報にフォールバックする。さらにPeeringDBと連携して、対象ネットワークのトラフィックプロファイルやピアリングポリシーまで引っ張ってくる。ネットワークエンジニアが背後でやっている「泥臭い確認作業」を、このツールは一瞬で終わらせてくれる。
モダンなバックエンドとAI時代への適応
私がいまこのツールに注目する理由は、派手なTUIだけではない。裏側の通信プロトコルとして、構造化データを提供する「RDAP(Registration Data Access Protocol)」を第一に採用し、必要に応じてレガシーなWHOISへフォールバックする堅実な設計を持っている点だ。IANAからの自動ディスカバリや、エクスポネンシャルバックオフによる自動リトライなど、ネットワークの不確実性を吸収する工夫が随所にみられる。
さらに、現代のツールキットとして欠かせないのが「機械可読性」への配慮である。
# TUIモードでインタラクティブに調査
quien example.com
# 運用スクリプトやCI向けに特定項目をJSON出力
quien --json mail example.com
サブコマンドと --json フラグを組み合わせることで、シェルスクリプトへの組み込みが容易になる。特筆すべきは、npx skills add retlehs/quien というコマンドで、AIエージェントのスキル(拡張機能)としてquienをインポートできる点だ。「人間のための快適なUI」を提供しつつ、「LLMや自動化パイプラインのためのAPI」としても機能する。この両立こそが、次世代のCLIツールに求められる絶対条件になりつつある。
シェルの設定ファイルに alias whois=quien と書き込んだ瞬間から、古き良きテキストの海で溺れる日々は過去のものになるはずだ。
参考リポジトリ: retlehs/quien
Photo by Denny Müller on Unsplash