diff options
author | Xiao Pan <gky44px1999@gmail.com> | 2024-03-12 22:37:57 -0700 |
---|---|---|
committer | Xiao Pan <gky44px1999@gmail.com> | 2024-03-12 22:37:57 -0700 |
commit | 4d31e79c1f0a9e4366cbb720b833bb005199d902 (patch) | |
tree | 5ce04e86268609247fc10e80e970f1b8d19ed4cf /sh | |
parent | da04f0c69f30bc355c2c07d8134795e09b8dbae4 (diff) |
feat: add dnd for DNS testing
Diffstat (limited to 'sh')
-rwxr-xr-x | sh/dnd | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -0,0 +1,30 @@ +#!/bin/sh +# DNs Drill + +# Usage: dnd, dnd -c, dnd 192.168.0.1, dnd 8.8.8.8 + +cache=false +while getopts c opt; do + case $opt in + c)cache=true;; + \?)exit 1;; + esac +done +shift $((OPTIND-1)) + +if [ "$1" ]; then + echo "$1" +else + echo "default" +fi + +for domain in www.google.com www.baidu.com github.com gitlab.com codeberg.org www.douyu.com flylightning.xyz mirrors.flylightning.xyz git.flylightning.xyz one.sjsu.edu discord.com www.youtube.com mail.google.com mail.yahoo.com en.wikipedia.org zh.wikipedia.org archlinux.org gitlab.archlinux.org aur.archlinux.org wiki.archlinux.org wiki.gentoo.org unix.stackexchange.com stackoverflow.com superuser.com www.reddit.com kyun.host panel.ihostart.com; do + if [ "$1" ]; then + drill -- "$domain" "@$1" | awk -F: -v domain="$domain" '/^;; Query time: /{printf("%s%s\n",domain,$2)}' + else + # awk substr and length: + # https://stackoverflow.com/a/14840991 + # https://unix.stackexchange.com/a/305192 + resolvectl --cache="$cache" query "$domain" | awk -v domain="$domain" '/Information acquired via protocol DNS in/{printf("%s %s\n",domain,substr($NF,0,length($NF)-1))}' + fi +done |