LoginSignup
1
2

そのサイトがどこで動いているのかわかるスクリプト

Last updated at Posted at 2024-03-22

はじめに

今回紹介するのは、普段行っている作業の一部を自動化・省力化する目的で作成したスクリプトです。

1日1分の削減ができれば1年で約6時間削減されるだけでなく、人為的ミスも減少できるメリットが得られます。また、作業に対して脳のリソースを使わなくて済むので、他へリソースを充てられるというメリットもあります。
ChatGPTを使えば短時間で効率化できる世の中になったので、積極的に自動化・省力化を行いましょう。

スクリプト

概要

実装は簡単で、dig, whoisコマンドを使用するだけです。

  1. digコマンドの応答のうち、Aレコードに記載のIPアドレスを取得
  2. 取得したIPアドレスでwhoisコマンドを実行する。応答から登録機関を取得し、表示する

実行結果

QiitaはAmazon上で動いているようです。

% ./whois_lookup.sh qiita.com
Organization for 54.168.45.175:
NetName:        AMAZON
OrgName:        Amazon Technologies Inc.
--------
Organization for 18.182.115.198:
NetName:        AT-88-Z
OrgName:        Amazon Technologies Inc.
--------
Organization for 35.75.52.124:
NetName:        AT-88-Z
OrgName:        Amazon Technologies Inc.
--------

実装の詳細

#!/bin/bash

# 第一引数($1)をドメイン名として使用
domain=$1

# 引数が指定されていない場合は、使用方法を表示して終了
if [ -z "$domain" ]; then
    echo "Usage: $0 <domain>"
    exit 1
fi

# digコマンドでドメインのIPアドレスを取得
ips=$(dig $domain | awk '/;; ANSWER SECTION:/{flag=1; next} /;; AUTHORITY SECTION:/{flag=0} flag' | awk '/IN\tA/{print $5}')

# 各IPアドレスに対してwhoisコマンドを実行し、組織情報を抽出
for ip in $ips; do
    echo "Organization for $ip:"
    whois $ip | grep -E 'OrgName:|Registrant Organization:|descr:|NetName:|netname:'
    echo "--------"
done

さいごに

便利なコマンド紹介

今回作ったスクリプトの上位互換がありました。
コマンドとして整備されており、starも100近く付いているようです。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2