🔎

サイトがどこのサーバーで動いているか一発でわかるコマンド作りました

2022/01/30に公開

忙しい人のためにまとめ

サイトがどこのサーバーで動いているか一発でわかるコマンド作りました。
動作イメージは以下のような感じです。

$ whris zenn.dev                    
Target domain:zenn.dev
Target ip    :35.190.77.180

Network Admin:Google LLC (GOOGL-2)
Network name :GOOGLE-CLOUD
ip range     :35.184.0.0 - 35.191.255.255
country      :US

このようにwhris [domain]と打つと、動いているサーバーの管理者とネットワーク名、管理しているIPの範囲、国が表示されます。
また、詳細オプションをつけると上位の管理団体もわかるようになっています。

$ whris -v zenn.dev  
Target domain:zenn.dev
Target ip    :35.190.77.180

Network Admin:Google LLC (GOOGL-2)
Network name :GOOGLE-CLOUD
ip range     :35.184.0.0 - 35.191.255.255
country      :US

=========Network Details=========
0:
 Network Admin:Administered by ARIN
 Network name :
 ip range     :35.0.0.0 - 35.255.255.255
 country      :
1:
 Network Admin:Google LLC (GOOGL-2)
 Network name :GOOGLE-CLOUD
 ip range     :35.184.0.0 - 35.191.255.255
 country      :US

自分のロリポップに載せているブログで試すと以下のようになります。

whris -v yaserarenai.com
Target domain:yaserarenai.com
Target ip    :163.44.185.212

Network Admin:GMO Pepabo, Inc.
Network name :LOLIPOP
ip range     :163.44.185.0 - 163.44.185.255
country      :JP

=========Network Details=========
0:
 Network Admin:Administered by APNIC
 Network name :
 ip range     :163.0.0.0 - 163.255.255.255
 country      :
1:
 Network Admin:GMO Internet, Inc.
 Network name :interQ
 ip range     :163.44.64.0 - 163.44.191.255
 country      :JP
2:
 Network Admin:GMO Pepabo, Inc.
 Network name :LOLIPOP
 ip range     :163.44.185.0 - 163.44.185.255
 country      :JP

ちゃんとロリポップでホスティングされているということが分かりますね。
まだまだ出力結果がおかしかったりしますが、興味を持ってもらえたら公開しているのでぜひ使ってみてください。また、コントリビュートや「このドメインの返答おかしいよ」などフィードバックもお待ちしてます!

https://github.com/harakeishi/whris

作った動機

仕事の中で、このドメインのAレコードってどこに向いて誰が管理しているサーバーなのか調べることが多々ありました。
そういった場合、自分はまずdigコマンドを使ってAレコードを出して、whoisコマンドでどこが管理しているのかを確認していました。
知りたい情報を得るために、2回もコマンド打たなくてはいけない状態です。
それに加え、Whoisの返ってくる情報って応答したサーバーによって書式が違ったりして見にくいな〜と思っていました。
これらのことから、得たい情報を1コマンドで必要な情報のみ表示できるようにしました。

インストール方法

以下のコマンドでインストールできます。

go install github.com/harakeishi/whris@latest

リポジトリのreleasesに各環境のバイナリもおいてあるので、そこからもインストールできます。

おわりに

作業時間8時間くらいで作った突貫コマンドなので、テストなども追加できていない状態です。改善PRや問題の指摘をいただけるとめっちゃ喜びますのでよろしくおねがいします。

Discussion