Improved domainchecker.sh (non-interactive and interactive), various addendums to the documentation.
This commit is contained in:
@@ -3,38 +3,68 @@
|
||||
# Maintainer: peignerpausz
|
||||
# Version: 1.2
|
||||
|
||||
set -eou pipefail
|
||||
set -eo pipefail
|
||||
declare -a DOMAINS=()
|
||||
declare -a RECORDS=()
|
||||
|
||||
usage() {
|
||||
cat <<USAGE
|
||||
Verwendung:
|
||||
Domainchecker
|
||||
> Welche Domains sollen gesucht werden?
|
||||
> domain1.tld domain2.tld domain3.tld ...
|
||||
> Welcher Record soll untersucht werden?
|
||||
> A/AAAA/MX/TXT/SOA/NS/...
|
||||
Verwendung:
|
||||
$0 [OPTIONEN]
|
||||
Oder interaktiv: $0
|
||||
|
||||
Optionen:
|
||||
-d, --domains DOMAIN [DOMAINS...]
|
||||
Zu prüfende Domains
|
||||
-r, --records RECORD [RECORDS...]
|
||||
Zu prüfende DNS-Records, z.B. A MX TXT
|
||||
-h, --help
|
||||
Diese Hilfe anzeigen
|
||||
|
||||
Beispiele:
|
||||
$0 -d domain1.tld domain2.tld -r MX TXT
|
||||
|
||||
$0 --domains domain1.tld domain2.tld --records MX TXT
|
||||
USAGE
|
||||
}
|
||||
|
||||
echo "Welche Domains sollen gesucht werden? "
|
||||
read DOMAINS
|
||||
if [[ -z "$DOMAINS" ]]; then
|
||||
{
|
||||
echo -e "Fehler: Bitte Domains einfügen. \n" >&2
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
-d | --domains)
|
||||
shift
|
||||
while [[ $# -gt 0 && "$1" != -* ]]; do
|
||||
DOMAINS+=("$1")
|
||||
shift
|
||||
done
|
||||
;;
|
||||
-r | --records)
|
||||
shift
|
||||
while [[ $# -gt 0 && "$1" != -* ]]; do
|
||||
RECORDS+=("$1")
|
||||
shift
|
||||
done
|
||||
;;
|
||||
-h | --help)
|
||||
usage
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
echo "Welcher Record soll untersucht werden? "
|
||||
read RECORD
|
||||
if [[ -z "$RECORD" ]]; then
|
||||
{
|
||||
echo -e "Fehler: Bitte Record einsetzen. \n" >&2
|
||||
usage
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
printf "\n"
|
||||
for a in $DOMAINS; do
|
||||
checker=$(dig +short $RECORD $a)
|
||||
printf "+++Suchergebnisse für %s+++ \n%s\n %s\n====\n" "$a" "$checker"
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
[[ ${#DOMAINS[@]} -eq 0 ]] && read -ra DOMAINS -p "Welche Domains sollen gesucht werden? " DOMAINS
|
||||
[[ ${#RECORDS[@]} -eq 0 ]] && read -ra RECORDS -p "Welcher Records sollen gesucht werden? "
|
||||
|
||||
for domain in "${DOMAINS[@]}"; do
|
||||
printf "\n==== %s ====\n" "$domain"
|
||||
for record in "${RECORDS[@]}"; do
|
||||
printf "++++ %s ++++\n" "$record"
|
||||
|
||||
result=$(dig +short "$record" "$domain")
|
||||
if [[ -n "$result" ]]; then
|
||||
printf "%s" "$result"
|
||||
else
|
||||
printf "Keine Einträge gefunden."
|
||||
fi
|
||||
echo
|
||||
done
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user