diff --git a/domaintools/histodomain/README.md b/domaintools/histodomain/README.md new file mode 100644 index 0000000..ee970b3 --- /dev/null +++ b/domaintools/histodomain/README.md @@ -0,0 +1,80 @@ +# + +Skript zur schnellen Abfrage historischer Domain-Records im json-Format. Zur Abfrage wird ein API-Key von Securitytrails.com benötigt. + + +--- + +## Features + +- Abfrage historischer DNS-Records inklusive TTLs und Prioritäten + +--- + +## Installation + +1. Repository klonen oder Skript kopieren: + ```bash + git clone git.int.loki-net.at/esn-support-bash-snippets.git + cd esn-support-bash-snippets/domaintools/histodomain + chmod +x histodomain + ``` + +--- + +## Nutzung + +### Standardaufruf +```bash +./histodomain.sh +``` + +### Beispiele +```bash +./ --option foo +./ 2025-09-08 +``` + +--- + +## Optionen + +``` +Usage: ./ [OPTIONS] + +--help Zeigt diese Hilfe +--option Beispieloption +YYYY-MM-DD Beispiel für Datumsargument +``` + +--- + +## Beispielausgabe + +Hier ein Beispieloutput des Skripts. + +```histodomain +> Welche Domain? +> domain.tld +> Welcher DNS-Typ? +> a +> API-Key für Securitytrails angeben: +``` +``` +--- + +## Setup-Hinweise + +Falls notwendig, Alias in `~/.bashrc` setzen: +```bash +alias ='~/pfad/zum/repo/domaintools/histodomain/histodomain.sh' +``` + +--- + +## Notes + +- Free-Version von Securitytrails ermöglicht bis zu 50 kostenlose Abpfragen über die API/Monat +- To-Do + - Non-interaktive Version bauen + diff --git a/domaintools/histodomain/histodomain.sh b/domaintools/histodomain/histodomain.sh new file mode 100755 index 0000000..c0d344a --- /dev/null +++ b/domaintools/histodomain/histodomain.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +# Domaintool zum Abfragen von historischen DNS-Einträgen über die Securitytrails-API +# Maintainer: peignerpausz +# Version: 1 +set -eou pipefail +usage() { + cat < Welche Domain? Domain ohne http oder https! + > domain.tld + > Welcher DNS-Typ? Eintrag in lower case! + > a/aaaa/txt/ns/soa/... + +USAGE +} +echo "Welche Domain? Achtung: Domain ohne http oder https! " +read domain +if [[ -z "$domain" ]]; then + { + echo -e "Fehler: keine Domain angegeben. \n" >&2 + usage + exit 1 + } +fi +echo "Welcher DNS-Typ? Achtung: Eintrag in lower case! " +read dnstype +if [[ -z "$dnstype" ]]; then + { + echo -e "Fehler: keinen DNS-Typ angegeben. \n" >&2 + usage + exit 1 + } +fi +# Prüfung ob Securitytrails-API-Key übergeben wurde oder als Umgebungsvariable existiert. +if [[ -z "$SECURITYTRAILSAPI" ]]; then + read -rsp "API-Key für Securitytrails angeben: " SECURITYTRAILSAPI + echo +fi +# Hier folgt die eigentliche Abfrage über die Securitytrails-API. +curl --request GET --url \ + https://api.securitytrails.com/v1/history/$domain/dns/$dnstype \ + --include --header "APIKEY: $SECURITYTRAILSAPI" --header 'Accept: application/json'