diff --git a/resolve-spf-ips.sh b/resolve-spf-ips.sh new file mode 100755 index 0000000..f63fec0 --- /dev/null +++ b/resolve-spf-ips.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +# +# resolve-spf-ips.sh +# ------------------ +# Holt alle ip4:/ip6:-Einträge aus dem SPF-TXT-Record +# einer Domain (z.B. spf.crsend.com). +# +# Usage: +# resolve-spf-ips.sh spf.crsend.com + +set -e + +DOMAIN="$1" + +if [[ -z "$DOMAIN" ]]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +dig +short TXT "$DOMAIN" \ + | tr -d '"' \ + | sed -n 's/.*v=spf1 //p' \ + | tr ' ' '\n' \ + | grep -E '^(ip4|ip6):' \ + | sed -E 's/^ip[46]://' \ + | sort -u