SOA Checker
Intro
this is a little script which reads the Name Servers for a given Domain, and then asks the NameServer for the SOA of this Domain.
Script
cat << 'EOF' > soachecker.sh
#!/usr/bin/env bash
# Little SOA & Serial Checker, v0.1, @stoege
tmpfile=$(mktemp)
# Check Args
echo
if [ $# -eq 0 ]; then
d="stoege.net"
echo -e "No argument provided. use \033[1m'${d}'\033[0m"
elif [ $# -eq 1 ]; then
d="$1"
echo -e "Domain \033[1m'${d}'\033[0m provided"
else
echo -e "\033[1mmore than one arguments provided. Exit 1.\033[0m"
exit 1
fi
# Build File
for i in $(dig +short NS ${d} |tr '\n' ' '); do
echo -e "\ndig +short SOA \033[1m@${i}\033[0m ${d}"
dig +short SOA @${i} ${d} |tee -a ${tmpfile}
done
# uniq & count
echo
cat ${tmpfile} |sort |uniq -c |awk '{ printf "%d x Serial: %s\n", $1,$4 }'
# cleanup
rm ${tmpfile}
echo
exit 0
EOF
chmod u+x soachecker.sh
Run it
$ ./soachecker.sh stoege.net
Domain 'stoege.net' provided
echo dig +short SOA @ns3.noflow.ch. stoege.net
ns1.noflow.ch. hostmaster.noflow.ch. 2023050124 3600 900 1209600 1800
echo dig +short SOA @ns1.noflow.ch. stoege.net
ns1.noflow.ch. hostmaster.noflow.ch. 2023050124 3600 900 1209600 1800
echo dig +short SOA @ns2.nolink.ch. stoege.net
ns1.noflow.ch. hostmaster.noflow.ch. 2023050124 3600 900 1209600 1800
3 x Serial: 2023050124
let me know if you like this !