This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
system:what_is_my_ip_address [2023-12-15T09:14:53+0000] michael_paoli +update.dynamic.name, one.one.one.one, also noted U for UDP only on some DNS, dns.toys gained IPv6 |
system:what_is_my_ip_address [2024-05-05T19:51:02+0000] (current) michael_paoli kw.bclug.ca - fixed - DNS, not ssh |
||
---|---|---|---|
Line 12: | Line 12: | ||
|[[http://1.1.1.1/cdn-cgi/trace]]* |[[https://1.1.1.1/cdn-cgi/trace]] | 4 | - | - | - | - |* http redirects to https, found in text | | |[[http://1.1.1.1/cdn-cgi/trace]]* |[[https://1.1.1.1/cdn-cgi/trace]] | 4 | - | - | - | - |* http redirects to https, found in text | | ||
|[[http://yourip.app/raw]]* |[[https://yourip.app/raw]] | 4 | 6 | - | - | - |* http redirects to http | | |[[http://yourip.app/raw]]* |[[https://yourip.app/raw]] | 4 | 6 | - | - | - |* http redirects to http | | ||
+ | |- |- | 4 | - | y | - | - |kw.bclug.ca port 53535 | | ||
|- |- | 4 | - | y | - | - |@1.1.1.1 whoami.cloudflare TXT CH | | |- |- | 4 | - | y | - | - |@1.1.1.1 whoami.cloudflare TXT CH | | ||
|[[http://ifconfig.co/]] |[[https://ifconfig.co/]] | 4 | 6 | - | - | - | | | |[[http://ifconfig.co/]] |[[https://ifconfig.co/]] | 4 | 6 | - | - | - | | | ||
Line 84: | Line 85: | ||
|- |- | 4 | 6 | y | - | - |@one.one.one.one. whoami.cloudflare. TXT CH | | |- |- | 4 | 6 | y | - | - |@one.one.one.one. whoami.cloudflare. TXT CH | | ||
|[[http://balug.org/myip]] |[[https://balug.org/myip]] | 4 | 6 | - | - | - | | | |[[http://balug.org/myip]] |[[https://balug.org/myip]] | 4 | 6 | - | - | - | | | ||
+ | | | | 4 | 6 | - | y | - |myip@balug.org | | ||
|[[http://ipv4.balug.org/myip]] |[[https://ipv4.balug.org/myip]] | 4 | - | - | - | - | | | |[[http://ipv4.balug.org/myip]] |[[https://ipv4.balug.org/myip]] | 4 | - | - | - | - | | | ||
+ | | | | 4 | - | - | y | - |myip@ipv4.balug.org | | ||
|[[http://ipv6.balug.org/myip]] |[[https://ipv6.balug.org/myip]] | - | 6 | - | - | - | | | |[[http://ipv6.balug.org/myip]] |[[https://ipv6.balug.org/myip]] | - | 6 | - | - | - | | | ||
+ | | | | - | 6 | - | y | - |myip@ipv6.balug.org | | ||
|[[http://corz.org/ip]]* |[[https://corz.org/ip]] | 4 | - | - | - | - |* http redirects to https | | |[[http://corz.org/ip]]* |[[https://corz.org/ip]] | 4 | - | - | - | - |* http redirects to https | | ||
|[[http://httpbin.dmuth.org/ip]]* |[[https://httpbin.dmuth.org/ip]] | 4 | 6 | - | - | - |found in text, * http redirects to https | | |[[http://httpbin.dmuth.org/ip]]* |[[https://httpbin.dmuth.org/ip]] | 4 | 6 | - | - | - |found in text, * http redirects to https | | ||
Line 435: | Line 439: | ||
<file> | <file> | ||
- | for ns_rr_types in \ | + | myv4="$(curl -4 -s https://ipv4.balug.org/myip)" || exit |
- | 'ns1.google.com. o-o.myaddr.l.google.com. TXT' \ | + | myv6="$(curl -6 -s https://ipv6.balug.org/myip)" || exit |
- | 'resolver1.opendns.com. myip.opendns.com. A AAAA' \ | + | control_M="$(printf '\015')" |
- | 'ns.sslip.io. ip.sslip.io. TXT' \ | + | #digopts='+noall +answer +nottl +norecurse' |
- | 'ns1-1.akamaitech.net. whoami.akamai.net. A' \ | + | digopts='+short +norecurse' |
- | 'dns.toys ip. TXT' | + | for ns_rr_class_types in \ |
+ | '1.1.1.1 whoami.cloudflare CH TXT' \ | ||
+ | 'ns1.google.com. o-o.myaddr.l.google.com. IN TXT' \ | ||
+ | 'resolver1.opendns.com. myip.opendns.com. IN A AAAA' \ | ||
+ | 'ns.sslip.io. ip.sslip.io. IN TXT' \ | ||
+ | 'update.dynamic.name. my.dynamic.name. IN A' \ | ||
+ | 'ns1-1.akamaitech.net. whoami.akamai.net. IN A' \ | ||
+ | 'one.one.one.one. whoami.cloudflare. CH TXT' \ | ||
+ | 'dns.toys ip. IN TXT' | ||
do | do | ||
- | set -- $ns_rr_types; NS="$1"; shift; RR="$1"; shift; TYPES="$*" | + | set -- $ns_rr_class_types |
- | query= | + | NS="$1"; shift; RR="$1"; shift; CLASS="$1"; shift; TYPES="$*" |
for TYPE in $TYPES | for TYPE in $TYPES | ||
do | do | ||
- | query="${query:+$query }$RR $TYPE" | + | query="$RR $TYPE $CLASS" |
+ | for v in 4 6 | ||
+ | do | ||
+ | case "$v" in | ||
+ | 4) | ||
+ | myip="$myv4" | ||
+ | ;; | ||
+ | 6) | ||
+ | myip="$myv6" | ||
+ | ;; | ||
+ | esac | ||
+ | r=$(dig @"$NS" $digopts -"$v" $query 2>>/dev/null) && | ||
+ | case "$r" in | ||
+ | \""$myip"\"|"$myip") | ||
+ | echo "\$ dig @"$NS" $digopts -"$v" $query" | ||
+ | echo $r | ||
+ | ;; | ||
+ | *"$myip"*) | ||
+ | echo "\$ dig @"$NS" $digopts -"$v" $query" | ||
+ | printf 'found in text:\n%s\n' "$r" | ||
+ | ;; | ||
+ | *) | ||
+ | myRE=$( | ||
+ | echo "$myip" | | ||
+ | sed -e 's/[.:]/-/g' | ||
+ | ) | ||
+ | printf '%s' "$r" | | ||
+ | if grep "$myRE" >>/dev/null; then | ||
+ | echo "\$ dig @"$NS" $digopts -"$v" $query" | ||
+ | echo $myip found in text in alternative format | ||
+ | fi | ||
+ | ;; | ||
+ | esac | ||
+ | r=$(dig @"$NS" +tcp $digopts -"$v" $query 2>>/dev/null) && | ||
+ | case "$r" in | ||
+ | \""$myip"\"|"$myip") | ||
+ | echo "\$ dig @"$NS" +tcp $digopts -"$v" $query" | ||
+ | echo $r | ||
+ | ;; | ||
+ | *"$myip"*) | ||
+ | echo "\$ dig @"$NS" +tcp $digopts -"$v" $query" | ||
+ | printf 'found in text:\n%s\n' "$r" | ||
+ | ;; | ||
+ | *) | ||
+ | myRE=$( | ||
+ | echo "$myip" | | ||
+ | sed -e 's/[.:]/-/g' | ||
+ | ) | ||
+ | printf '%s' "$r" | | ||
+ | if grep "$myRE" >>/dev/null; then | ||
+ | echo "\$ dig @"$NS" +tcp $digopts -"$v" $query" | ||
+ | echo $myip found in text in alternative format | ||
+ | fi | ||
+ | ;; | ||
+ | esac | ||
+ | done | ||
done | done | ||
- | for v in 4 6 | ||
- | do | ||
- | r=$(dig @"$NS" +short +norecurse -"$v" $query 2>>/dev/null) && | ||
- | [ -n "$r" ] && { | ||
- | echo \$ dig @"$NS" +short +norecurse -"$v" $query | ||
- | echo $r | ||
- | } | ||
- | done | ||
- | : | ||
done; echo '$ ' | done; echo '$ ' | ||
- | + | $ dig @1.1.1.1 +short +norecurse -4 whoami.cloudflare TXT CH | |
- | $ dig @ns1.google.com. +short +norecurse -4 o-o.myaddr.l.google.com. TXT | + | |
"96.86.170.226" | "96.86.170.226" | ||
- | $ dig @ns1.google.com. +short +norecurse -6 o-o.myaddr.l.google.com. TXT | + | $ dig @1.1.1.1 +tcp +short +norecurse -4 whoami.cloudflare TXT CH |
+ | "96.86.170.226" | ||
+ | $ dig @ns1.google.com. +short +norecurse -4 o-o.myaddr.l.google.com. TXT IN | ||
+ | "96.86.170.226" | ||
+ | $ dig @ns1.google.com. +tcp +short +norecurse -4 o-o.myaddr.l.google.com. TXT IN | ||
+ | "96.86.170.226" | ||
+ | $ dig @ns1.google.com. +short +norecurse -6 o-o.myaddr.l.google.com. TXT IN | ||
"2001:470:67:76f::2" | "2001:470:67:76f::2" | ||
- | $ dig @resolver1.opendns.com. +short +norecurse -4 myip.opendns.com. A myip.opendns.com. AAAA | + | $ dig @ns1.google.com. +tcp +short +norecurse -6 o-o.myaddr.l.google.com. TXT IN |
+ | "2001:470:67:76f::2" | ||
+ | $ dig @resolver1.opendns.com. +short +norecurse -4 myip.opendns.com. A IN | ||
96.86.170.226 | 96.86.170.226 | ||
- | $ dig @resolver1.opendns.com. +short +norecurse -6 myip.opendns.com. A myip.opendns.com. AAAA | + | $ dig @resolver1.opendns.com. +tcp +short +norecurse -4 myip.opendns.com. A IN |
+ | 96.86.170.226 | ||
+ | $ dig @resolver1.opendns.com. +short +norecurse -6 myip.opendns.com. AAAA IN | ||
2001:470:67:76f::2 | 2001:470:67:76f::2 | ||
- | $ dig @ns.sslip.io. +short +norecurse -4 ip.sslip.io. TXT | + | $ dig @resolver1.opendns.com. +tcp +short +norecurse -6 myip.opendns.com. AAAA IN |
+ | 2001:470:67:76f::2 | ||
+ | $ dig @ns.sslip.io. +short +norecurse -4 ip.sslip.io. TXT IN | ||
"96.86.170.226" | "96.86.170.226" | ||
- | $ dig @ns.sslip.io. +short +norecurse -6 ip.sslip.io. TXT | + | $ dig @ns.sslip.io. +tcp +short +norecurse -4 ip.sslip.io. TXT IN |
+ | "96.86.170.226" | ||
+ | $ dig @ns.sslip.io. +short +norecurse -6 ip.sslip.io. TXT IN | ||
"2001:470:67:76f::2" | "2001:470:67:76f::2" | ||
- | $ dig @ns1-1.akamaitech.net. +short +norecurse -4 whoami.akamai.net. A whoami.ak | + | $ dig @ns.sslip.io. +tcp +short +norecurse -6 ip.sslip.io. TXT IN |
+ | "2001:470:67:76f::2" | ||
+ | $ dig @update.dynamic.name. +short +norecurse -4 my.dynamic.name. A IN | ||
+ | 96.86.170.226 | ||
+ | $ dig @ns1-1.akamaitech.net. +short +norecurse -4 whoami.akamai.net. A IN | ||
+ | 96.86.170.226 | ||
+ | $ dig @ns1-1.akamaitech.net. +tcp +short +norecurse -4 whoami.akamai.net. A IN | ||
96.86.170.226 | 96.86.170.226 | ||
- | $ dig @dns.toys +short +norecurse -4 ip. TXT | + | $ dig @one.one.one.one. +short +norecurse -4 whoami.cloudflare. TXT CH |
"96.86.170.226" | "96.86.170.226" | ||
- | $ dig @dns.toys +short +norecurse -6 ip. TXT | + | $ dig @one.one.one.one. +tcp +short +norecurse -4 whoami.cloudflare. TXT CH |
+ | "96.86.170.226" | ||
+ | $ dig @one.one.one.one. +short +norecurse -6 whoami.cloudflare. TXT CH | ||
+ | "2001:470:67:76f::2" | ||
+ | $ dig @one.one.one.one. +tcp +short +norecurse -6 whoami.cloudflare. TXT CH | ||
+ | "2001:470:67:76f::2" | ||
+ | $ dig @dns.toys +short +norecurse -4 ip. TXT IN | ||
+ | "96.86.170.226" | ||
+ | $ dig @dns.toys +short +norecurse -6 ip. TXT IN | ||
"2001:470:67:76f::2" | "2001:470:67:76f::2" | ||
$ | $ | ||
Line 486: | Line 571: | ||
myv6="$(curl -6 -s https://ipv6.balug.org/myip)" || exit | myv6="$(curl -6 -s https://ipv6.balug.org/myip)" || exit | ||
control_M="$(printf '\015')" | control_M="$(printf '\015')" | ||
- | for domain in \ | + | for userathost in \ |
- | sshmyip.com | + | sshmyip.com myip@{,ipv{4,6}.}balug.org |
do | do | ||
for v in 4 6 | for v in 4 6 | ||
Line 500: | Line 585: | ||
esac | esac | ||
sshopts="-$v -n -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" | sshopts="-$v -n -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" | ||
- | r=$(ssh $sshopts $domain 2>>/dev/null) | + | r=$(ssh $sshopts $userathost 2>>/dev/null) |
case "$r" in | case "$r" in | ||
"$myip") | "$myip") | ||
- | echo "\$ ssh -$v $domain" | + | echo "\$ ssh -$v $userathost" |
echo $r | echo $r | ||
;; | ;; | ||
"$myip$control_M") | "$myip$control_M") | ||
- | echo "\$ ssh -$v domain" | + | echo "\$ ssh -$v $userathost" |
echo $myip'^M' | echo $myip'^M' | ||
;; | ;; | ||
*"$myip"*) | *"$myip"*) | ||
- | echo "\$ ssh -$v $domain" | + | echo "\$ ssh -$v $userathost" |
echo $myip found in text | echo $myip found in text | ||
;; | ;; | ||
Line 521: | Line 606: | ||
printf '%s' "$r" | | printf '%s' "$r" | | ||
if grep "$myRE" >>/dev/null; then | if grep "$myRE" >>/dev/null; then | ||
- | echo "\$ ssh -$v $domain" | + | echo "\$ ssh -$v $userathost" |
echo $myip found in text in alternative format | echo $myip found in text in alternative format | ||
fi | fi | ||
Line 532: | Line 617: | ||
$ ssh -6 sshmyip.com | $ ssh -6 sshmyip.com | ||
2001:470:67:76f::2 found in text | 2001:470:67:76f::2 found in text | ||
+ | $ ssh -4 myip@balug.org | ||
+ | 96.86.170.226 | ||
+ | $ ssh -6 myip@balug.org | ||
+ | 2001:470:67:76f::2 | ||
+ | $ ssh -4 myip@ipv4.balug.org | ||
+ | 96.86.170.226 | ||
+ | $ ssh -6 myip@ipv6.balug.org | ||
+ | 2001:470:67:76f::2 | ||
$ | $ | ||
</file> | </file> |