DNSクエリ論理エラー

DNSクエリ論理エラー

ドメインレジストリを照会するスクリプトを作成しました。ただ免責事項です。これはハッキングではありません。会社がホストしていないドメインのリストを収集しようとしています。私たちの会社が所有するネームサーバーがns.foo.netであると仮定すると、私のスクリプトは次のことを行います。

  1. 各ドメインのネームサーバーを見つけるには、whoisをチェックしてください。
  2. 次に、Aレコード(クエリで見つかったNameServer)がIPアドレスと一致することを確認します。
  3. ネームサーバーが当社所有ではなく、ドメインのAレコードが当社所有ではない場合は、リストに追加してください。それ以外の場合はそれを無視してリストナビゲーションを続行してください。

また、ドメインのリストが次のようになるとします。

example.net
exampleagain.org
blah.org
whatever.com

これは私のスクリプトです。

#!/bin/bash

FILE=sites.txt
REGEX="Name Server"
OUR_IP="192.168.5.10"

#Read from Text file
while read -r line; do
        SERVER=`whois "$line" | grep -m 1 "$REGEX" | awk '{print $3}'`
        shopt -s nocasematch
        HOST=`host -ta "$line" "$SERVER"`
        if [[ ! "$SERVER" =~ foo.net && ! "$HOST" =~ "$OUR_IP" ]]; then
                echo "$line" >> results.txt
        fi
        sleep 1;
done<"$FILE"

追加されたドメインに$ OUR_IPのAレコードが含まれ、時にはfoo.net(私のドメイン)が含まれていることがわかりました。論理を破るifステートメントにはどのような問題がありますか?

ベストアンサー1

おすすめ記事