Improved domainchecker.sh (non-interactive and interactive), various addendums to the documentation.
This commit is contained in:
@@ -0,0 +1,70 @@
|
|||||||
|
# Domain Tools
|
||||||
|
|
||||||
|
Sammlung von Bash-Skripten für diversen Abfragen zu Domains. Enthält Tools zur Massenabfrage von DNS-Einträgen sowie zur Anzeige historischer DNS-Einträge.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Inhaltsverzeichnis
|
||||||
|
|
||||||
|
- [Übersicht](#Übersicht)
|
||||||
|
- [Enthaltene Tools](#enthaltene-Tools)
|
||||||
|
- [Voraussetzungen](#Voraussetzungen)
|
||||||
|
- [Lizenz/Sichtbarkeit](#lizenz--sichtbarkeit)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Übersicht
|
||||||
|
|
||||||
|
******
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## enthaltene Tools
|
||||||
|
|
||||||
|
### [`domainchecker`](./domainchecker/)
|
||||||
|
Tool zur dig-Massenabfrage von Domains und DNS-Records.
|
||||||
|
|
||||||
|
- [Dokumentation & Beispiele](./domainchecker/README.md)
|
||||||
|
|
||||||
|
### [`histodomain`](./histodomain/)
|
||||||
|
Abfrage zu historischen DNS-Einträgen über die Securitytrails-API.
|
||||||
|
|
||||||
|
- [Dokumentation & Beispiele](./histodomain/README.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Voraussetzungen
|
||||||
|
|
||||||
|
### generelle Voraussetzungen
|
||||||
|
- kann auch von außerhalb der Connect genutzt werden, sofern eine lokale `bash` verwendbar ist
|
||||||
|
- **Kerberos-Setup**: Funktionierende Kerberos-Konfiguration
|
||||||
|
- **SSH-Zugriff**: Berechtigungen für easyname-Infrastruktur
|
||||||
|
|
||||||
|
### Setup-Anleitung
|
||||||
|
|
||||||
|
1. Kerberos-Ticket erstellen:
|
||||||
|
```bash
|
||||||
|
kinit deinusername@NESSUS.AT
|
||||||
|
# oder mit go-Tool:
|
||||||
|
go kinit
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Tool in PATH hinzufügen oder Alias erstellen:
|
||||||
|
```bash
|
||||||
|
# Option 1: Alias
|
||||||
|
alias domainchecker="/pfad/zu/domaintools/domainchecker/domainchecker.sh"
|
||||||
|
|
||||||
|
# Option 2: Symlink
|
||||||
|
ln -s /pfad/zu/domaintools/domainchecker/domainchecker.sh ~/bin/domainchecker
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Lizenz / Sichtbarkeit
|
||||||
|
|
||||||
|
> Dieses Repository ist **intern** für easyname Support.
|
||||||
|
> Falls eine Freigabe nach extern geplant ist, bitte vorab mit Teamleitung abklären.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Diese Tools wurden mit Hilfe von Microsoft Copilot erstellt.*
|
||||||
@@ -3,38 +3,68 @@
|
|||||||
# Maintainer: peignerpausz
|
# Maintainer: peignerpausz
|
||||||
# Version: 1.2
|
# Version: 1.2
|
||||||
|
|
||||||
set -eou pipefail
|
set -eo pipefail
|
||||||
|
declare -a DOMAINS=()
|
||||||
|
declare -a RECORDS=()
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
cat <<USAGE
|
cat <<USAGE
|
||||||
Verwendung:
|
Verwendung:
|
||||||
Domainchecker
|
$0 [OPTIONEN]
|
||||||
> Welche Domains sollen gesucht werden?
|
Oder interaktiv: $0
|
||||||
> domain1.tld domain2.tld domain3.tld ...
|
|
||||||
> Welcher Record soll untersucht werden?
|
Optionen:
|
||||||
> A/AAAA/MX/TXT/SOA/NS/...
|
-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
|
USAGE
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "Welche Domains sollen gesucht werden? "
|
while [[ $# -gt 0 ]]; do
|
||||||
read DOMAINS
|
case "$1" in
|
||||||
if [[ -z "$DOMAINS" ]]; then
|
-d | --domains)
|
||||||
{
|
shift
|
||||||
echo -e "Fehler: Bitte Domains einfügen. \n" >&2
|
while [[ $# -gt 0 && "$1" != -* ]]; do
|
||||||
|
DOMAINS+=("$1")
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
-r | --records)
|
||||||
|
shift
|
||||||
|
while [[ $# -gt 0 && "$1" != -* ]]; do
|
||||||
|
RECORDS+=("$1")
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
-h | --help)
|
||||||
usage
|
usage
|
||||||
exit 1
|
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
|
fi
|
||||||
echo "Welcher Record soll untersucht werden? "
|
echo
|
||||||
read RECORD
|
done
|
||||||
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"
|
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# <scriptname>
|
# histodomain - historische DNS-Abfragen
|
||||||
|
|
||||||
Skript zur schnellen Abfrage historischer Domain-Records im json-Format. Zur Abfrage wird ein API-Key von Securitytrails.com benötigt.
|
Skript zur schnellen Abfrage historischer Domain-Records im json-Format. Zur Abfrage wird ein API-Key von Securitytrails.com benötigt.
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ histodomain
|
|||||||
> a
|
> a
|
||||||
> API-Key für Securitytrails angeben:
|
> API-Key für Securitytrails angeben:
|
||||||
```
|
```
|
||||||
```
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Setup-Hinweise
|
## Setup-Hinweise
|
||||||
@@ -78,4 +78,3 @@ alias <scriptname>='~/pfad/zum/repo/domaintools/histodomain/histodomain.sh'
|
|||||||
- Free-Version von Securitytrails ermöglicht bis zu 50 kostenlose Abpfragen über die API/Monat
|
- Free-Version von Securitytrails ermöglicht bis zu 50 kostenlose Abpfragen über die API/Monat
|
||||||
- To-Do
|
- To-Do
|
||||||
- Non-interaktive Version bauen
|
- Non-interaktive Version bauen
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user