User Tools

Site Tools


system:what_is_my_ip_address

What's my source IP as seen from The Internet?

Similar listings, etc. found on The Internet:
https://bushart.org/resource/public-ip-using-dns/
https://52.0.56.137.sslip.io/#experimental
https://sysop.user.uucp.hu/programs/doc/extip.txt program: https://github.com/bandie91/extip

Publicly available resources to check:

http 80 https 443 IPv DNS
53
ssh
22
telnet
23
notes
4 6
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
- - 4 - y - - @1.1.1.1 whoami.cloudflare TXT CH
http://ifconfig.co/ https://ifconfig.co/ 4 6 - - -
http://whatismyip.akamai.com/ https://whatismyip.akamai.com/* 4 - - - - * https cert issue
http://checkip.amazonaws.com/ https://checkip.amazonaws.com/ 4 - - - -
http://dafuqismyip.com/* https://dafuqismyip.com/ 4 6 - - - trailing ^M, * http redirects to https, JavaScript required
http://myip.dnsomatic.com/ https://myip.dnsomatic.com/ 4 - - - -
- - 4 6 y - - @ns1.google.com. o-o.myaddr.l.google.com. TXT
http://icanhazip.com/ https://icanhazip.com/ 4 6 - - - https://major.io/icanhazip-com-faq/
http://ipv4.icanhazip.com http://ipv4.icanhazip.com 4 - - - -
http://ipv6.icanhazip.com http://ipv6.icanhazip.com - 6 - - -
http://ip-api.com/json/?fields=query - 4 - - - - found in text, https://ip-api.com/docs/api:json
http://ipchicken.com/* https://ipchicken.com/ 4 - - - - * http redirects to https, JavaScript required
http://ipcow.com/* https://ipcow.com/ 4 - - - - * http redirects to https
http://ipgoat.com/* https://ipgoat.com/ 4 - - - - * http redirects to https
http://iphorse.com/* https://iphorse.com/ 4 6 - - - * http redirects to https
http://ipmonkey.com/ https://ipmonkey.com/ 4 - - - - found in text
http://ipquail.com/ https://ipquail.com/ 4 6 - - -
http://4.ipquail.com/ https://4.ipquail.com/ 4 - - - -
http://6.ipquail.com/ https://6.ipquail.com/ - 6 - - -
http://ds-whoami.kag2d.com/ https://ds-whoami.kag2d.com/* 4 6 - - - found in text, * https cert issue
http://v4-whoami.kag2d.com/ https://v4-whoami.kag2d.com/ 4 - - - - found in text
http://v6-whoami.kag2d.com/ https://v6-whoami.kag2d.com/ - 6 - - - found in text, * https cert issue
http://ip.liquidweb.com/ https://ip.liquidweb.com/ 4 - - - - found in text
http://www.moanmyip.com/* https://www.moanmyip.com/ 4 6 - - - found in text, * http redirects to https, JavaScript required
http://myexternalip.com/raw https://myexternalip.com/raw 4 6 - - -
http://sshmyip.com/ - 4 6 - - - found in text
- - 4 6 y - - @resolver1.opendns.com. myip.opendns.com. A myip.opendns.com. AAAA
http://telnetmyip.com/ - 4 6 - - - found in text
- - 4 6 - - y telnetmyip.com found in text, may not reliably return results
http://simplesniff.com/ip* https://simplesniff.com/ip* 4 - - - - * http redirects to https, https cert issue
- - 4 6 - y - sshmyip.com found in text
http://wgetip.com/ https://wgetip.com/ 4 6 - - -
http://whatsmyfuckingip.com/* https://whatsmyfuckingip.com/ 4 - - - - found in text, * http redirects to https
http://whatsmyip.com/* https://whatsmyip.com/ 4 6 - - - found in text
http://wtfismyip.com/text https://wtfismyip.com/text 4 6 - - -
http://ipschwein.de/* https://ipschwein.de/ 4 - - - - * http redirects to https
http://ip.csis.dk/ https://ip.csis.dk/ 4 - - - -
http://myip.dk/* https://myip.dk/ 4 6 - - - * http redirects to https
http://ping.eu/* https://ping.eu/ 4 - - - - found in text
http://my.ip.fi/ http://my.ip.fi/ 4 6 - - -
http://noc.co.il/* https://noc.co.il/ 4 6 - - - found in text, * http redirects to https
http://ifconfig.info/ https://ifconfig.info/ 4 6 - - -
http://www.monipay.fr/* https://www.monipay.fr/ 4 6 - - - found in text, * http redirects to https
http://ifconfig.io/ https://ifconfig.io/ 4 6 - - -
http://ipconfig.io/ https://ipconfig.io/ 4 6 - - -
http://ipinfo.io/ip https://ipinfo.io/ip 4 - - - -
- - 4 6 y - - https://52.0.56.137.sslip.io/ @ns.sslip.io. ip.sslip.io. TXT
http://myip.is/* https://myip.is/ 4 6 - - - found in text, * http redirects to https
http://eth0.me/ https://eth0.me/ 4 - - - -
http://ident.me/ https://ident.me/ 4 6 - - -
http://v4.ident.me/ https://v4.ident.me/ 4 - - - -
http://v6.ident.me/ https://v6.ident.me/ - 6 - - -
http://ifconfig.me/ https://ifconfig.me/ 4 6 - - -
http://ip.me/ https://ip.me/ 4 6 - - -
http://ip4.me/api/ https://ip4.me/api/ 4 - - - - https://ip6.me/docs/ found in text
http://ip4only.me/api/ https://ip4only.me/api/ 4 - - - - https://ip6.me/docs/ found in text
http://ip6.me/api/ https://ip6.me/api/ 4 6 - - - https://ip6.me/docs/ found in text
http://ip6only.me/api/ https://ip6only.me/api/ - 6 - - - https://ip6.me/docs/ found in text
- - 4 - U - - @update.dynamic.name. my.dynamic.name. A
- - 4 - y - - @ns1-1.akamaitech.net. whoami.akamai.net. A
https://bgpstuff.net/* https://bgpstuff.net/ 4 6 - - - found in text
https://ipcow.net/* https://ipcow.net/ 4 - - - - found in text
http://ipecho.net/ip https://ipecho.net/ip 4 6 - - -
http://ipleak.net/ https://ipleak.net/ 4 6 - - - found in text
http://ip-echo.ripe.net/ - 4 6 - - -
http://myip.nl/ https://myip.nl/ 4 - - - - found in text
http://tnx.nl/ip https://tnx.nl/ip 4 6 - - - found in text
http://watismijnip.nl/* https://watismijnip.nl/ 4 6 - - - found in text, * http redirects to https
http://sjekkip.no/ https://sjekkip.no/ 4 - - - -
http://ip.tyk.nu https://ip.tyk.nu 4 6 - - -
- - 4 6 y - - @one.one.one.one. whoami.cloudflare. TXT CH
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 - - - -
4 - - y - myip@ipv4.balug.org
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://httpbin.dmuth.org/ip* https://httpbin.dmuth.org/ip 4 6 - - - found in text, * http redirects to https
http://httpbin.dmuth.org/ip/v4* https://httpbin.dmuth.org/ip/v4 4 - - - - found in text, * http redirects to https
http://httpbin.dmuth.org/ip/v6* https://httpbin.dmuth.org/ip/v6 - 6 - - - found in text, * http redirects to https
http://checkip.dyndns.org/ - 4 - - - - found in text
http://api.ipify.org/ https://api.ipify.org/ 4 - - - -
http://www.pfsense.org/ip* https://www.pfsense.org/ip 4 6 - - - * http redirects to https
https://ip4.seeip.org/* https://ip4.seeip.org/* 4 - - - - * http redirects to https, https cert issue
http://theiplookup.org/ https://theiplookup.org/ 4 - - - - found in text
http://en.wikipedia.org/wiki/Wikipedia:Get_my_IP_address?withJS=MediaWiki:Get-my-ip.js*https://en.wikipedia.org/wiki/Wikipedia:Get_my_IP_address?withJS=MediaWiki:Get-my-ip.js 4 6 - - - found in text, JavaScript/ECMAScript required, * http redirects to https
http://ip.42.pl/raw https://ip.42.pl/raw 4 - - - -
http://ifconfig.pro/ https://ifconfig.pro/ 4 6 - - -
http://ipaddress.sh/ https://ipaddress.sh/ 4 - - - -
http://pry.sh/ https://pry.sh/ 4 6 - - - found in text, /?trace, /1.1.1.1?trace, /2606:4700:4700::64, /8.8.8.8, /google.com
http://ipv4.pry.sh/ https://ipv4.pry.sh/ 4 - - - - found in text, /?trace, /1.1.1.1?trace, /2606:4700:4700::64, /8.8.8.8, /google.com
http://ipv6.pry.sh/ https://ipv6.pry.sh/ - 6 - - - found in text, /?trace, /1.1.1.1?trace, /2606:4700:4700::64, /8.8.8.8, /google.com
http://self.ip.addr.tools/ https://self.ip.addr.tools/ 4 - - - - https://ip.addr.tools/ format of - instead of . then .ip.addr.tools
http://self6.ip.addr.tools/ https://self6.ip.addr.tools/ - 6 - - - https://ip.addr.tools/ format of - instead of : then .ip.addr.tools
http://myip.addr.tools/ https://myip.addr.tools/ 4 6 - - - https://ip.addr.tools/
http://myipv4.addr.tools/ https://myipv4.addr.tools/ 4 - - - - https://ip.addr.tools/
http://myipv6.addr.tools/ https://myipv6.addr.tools/ - 6 - - - https://ip.addr.tools/
- - 4 6 U - - https://www.dns.toys/ @dns.toys ip. TXT help. TXT
http://myip.wtf/text https://myip.wtf/text 4 6 - - -
http://ip.wtf/ https://ip.wtf/ 4 6 - - -
http://myip.wtf/text https://myip.wtf/text 4 6 - - -
http://ipv4.myip.wtf/text https://ipv4.myip.wtf/text 4 - - - -
http://ipv6.myip.wtf/text https://ipv6.myip.wtf/text - 6 - - -

Example Usage:

http/https

myv4="$(curl -4 -s https://ipv4.balug.org/myip)"
myv6="$(curl -6 -s https://ipv6.balug.org/myip)"
control_M="$(printf '\015')"
for path in \
  1.1.1.1/cdn-cgi/trace \
  ifconfig.co/ \
  whatismyip.akamai.com/ \
  dafuqismyip.com/ \
  {,ipv4.,ipv6.}icanhazip.com/ \
  ipchicken.com/ \
  www.moanmyip.com/ \
  myexternalip.com/raw \
  simplesniff.com/ip \
  wgetip.com/ \
  whatsmyfuckingip.com/ \
  wtfismyip.com/text \
  ifconfig.io/ \
  ipinfo.io/ip \
  ident.me \
  ifconfig.me/ \
  ip.me/ \
  ip{4,6}{,only}.me/api/ \
  ipecho.net/plain \
  tnx.nl/ip \
  ip.tyk.nu/ \
  corz.org/ip \
  {,ipv{4,6}.}balug.org/myip \
  api.ipify.org/ \
  ip.42.pl/raw \
  {,ipv{4,6}.}pry.sh/ \
  {self{,6}.ip,myipv{4,6}}.addr.tools/ \
  myip.wtf/text
do
  for scheme in http https
  do
    for v in 4 6
    do
      case "$v" in
        4)
          myip="$myv4"
        ;;
        6)
          myip="$myv6"
        ;;
      esac
      curlopts="-"$v" -m 15 -s"
      r=$(curl $curlopts "$scheme://$path")
      case "$r" in
        "$myip")
          echo "\$ curl $curlopts $scheme://$path"
          echo $r
        ;;
        "$myip$control_M")
          echo "\$ curl $curlopts $scheme://$path"
          echo $myip'^M'
        ;;
        *"$myip"*)
          echo "\$ curl $curlopts $scheme://$path"
          echo $myip found in text
        ;;
        *)
          myRE=$(
            echo "$myip" |
            sed -e 's/[.:]/-/g'
          )
          printf '%s' "$r" |
          if grep "$myRE" >>/dev/null; then
            echo "\$ curl $curlopts $scheme://$path"
            echo $myip found in text in alternative format
          elif [ "$scheme" = https ]; then
            curlopts="-$v -k -m 15 -s"
            r=$(curl $curlopts "$scheme://$path")
            case "$r" in
              "$myip")
                echo "\$ curl $curlopts $scheme://$path # (https cert issue)"
                echo $r
              ;;
              "$myip$control_M")
                echo "\$ curl $curlopts $scheme://$path # (https cert issue)"
                echo $myip'^M'
              ;;
              *"$myip"*)
                echo "\$ curl $curlopts $scheme://$path # (https cert issue)"
                echo $myip found in text
              ;;
              *)
                myRE=$(
                  echo "$myip" |
                  sed -e 's/[.:]/-/g'
                )
                printf '%s' "$r" |
                grep "$myRE" >>/dev/null && {
                  echo "\$ curl $curlopts $scheme://$path"
                  echo $myip found in text in alternative format
                }
              ;;
            esac
          fi
        ;;
      esac
    done
  done
done; echo '$ '

$ curl -4 -m 15 -s https://1.1.1.1/cdn-cgi/trace
96.86.170.226 found in text
$ curl -4 -m 15 -s http://ifconfig.co/
96.86.170.226
$ curl -6 -m 15 -s http://ifconfig.co/
2001:470:67:76f::2
$ curl -4 -m 15 -s https://ifconfig.co/
96.86.170.226
$ curl -6 -m 15 -s https://ifconfig.co/
2001:470:67:76f::2
$ curl -4 -m 15 -s http://whatismyip.akamai.com/
96.86.170.226
$ curl -4 -k -m 15 -s https://whatismyip.akamai.com/ # (https cert issue)
96.86.170.226
$ curl -4 -m 15 -s https://dafuqismyip.com/
96.86.170.226^M
$ curl -6 -m 15 -s https://dafuqismyip.com/
2001:470:67:76f::2^M
$ curl -4 -m 15 -s http://icanhazip.com/
96.86.170.226
$ curl -6 -m 15 -s http://icanhazip.com/
2001:470:67:76f::2
$ curl -4 -m 15 -s https://icanhazip.com/
96.86.170.226
$ curl -6 -m 15 -s https://icanhazip.com/
2001:470:67:76f::2
$ curl -4 -m 15 -s http://ipv4.icanhazip.com/
96.86.170.226
$ curl -4 -m 15 -s https://ipv4.icanhazip.com/
96.86.170.226
$ curl -6 -m 15 -s http://ipv6.icanhazip.com/
2001:470:67:76f::2
$ curl -6 -m 15 -s https://ipv6.icanhazip.com/
2001:470:67:76f::2
$ curl -4 -m 15 -s https://ipchicken.com/
96.86.170.226 found in text
$ curl -4 -m 15 -s https://www.moanmyip.com/
96.86.170.226 found in text
$ curl -6 -m 15 -s https://www.moanmyip.com/
2001:470:67:76f::2 found in text
$ curl -4 -m 15 -s http://myexternalip.com/raw
96.86.170.226
$ curl -6 -m 15 -s http://myexternalip.com/raw
2001:470:67:76f::2
$ curl -4 -m 15 -s https://myexternalip.com/raw
96.86.170.226
$ curl -6 -m 15 -s https://myexternalip.com/raw
2001:470:67:76f::2
$ curl -4 -k -m 15 -s https://simplesniff.com/ip # (https cert issue)
96.86.170.226
$ curl -4 -m 15 -s http://wgetip.com/
96.86.170.226
$ curl -6 -m 15 -s http://wgetip.com/
2001:470:67:76f::2
$ curl -4 -m 15 -s https://wgetip.com/
96.86.170.226
$ curl -6 -m 15 -s https://wgetip.com/
2001:470:67:76f::2
$ curl -4 -m 15 -s https://whatsmyfuckingip.com/
96.86.170.226 found in text
$ curl -4 -m 15 -s http://wtfismyip.com/text
96.86.170.226
$ curl -6 -m 15 -s http://wtfismyip.com/text
2001:470:67:76f::2
$ curl -4 -m 15 -s https://wtfismyip.com/text
96.86.170.226
$ curl -6 -m 15 -s https://wtfismyip.com/text
2001:470:67:76f::2
$ curl -4 -m 15 -s http://ifconfig.io/
96.86.170.226
$ curl -6 -m 15 -s http://ifconfig.io/
2001:470:67:76f::2
$ curl -4 -m 15 -s https://ifconfig.io/
96.86.170.226
$ curl -6 -m 15 -s https://ifconfig.io/
2001:470:67:76f::2
$ curl -4 -m 15 -s http://ipinfo.io/ip
96.86.170.226
$ curl -4 -m 15 -s https://ipinfo.io/ip
96.86.170.226
$ curl -4 -m 15 -s http://ident.me
96.86.170.226
$ curl -6 -m 15 -s http://ident.me
2001:470:67:76f::2
$ curl -4 -m 15 -s https://ident.me
96.86.170.226
$ curl -6 -m 15 -s https://ident.me
2001:470:67:76f::2
$ curl -4 -m 15 -s http://ifconfig.me/
96.86.170.226
$ curl -6 -m 15 -s http://ifconfig.me/
2001:470:67:76f::2
$ curl -4 -m 15 -s https://ifconfig.me/
96.86.170.226
$ curl -6 -m 15 -s https://ifconfig.me/
2001:470:67:76f::2
$ curl -4 -m 15 -s http://ip.me/
96.86.170.226
$ curl -6 -m 15 -s http://ip.me/
2001:470:67:76f::2
$ curl -4 -m 15 -s https://ip.me/
96.86.170.226
$ curl -6 -m 15 -s https://ip.me/
2001:470:67:76f::2
$ curl -4 -m 15 -s http://ip4.me/api/
96.86.170.226 found in text
$ curl -4 -m 15 -s https://ip4.me/api/
96.86.170.226 found in text
$ curl -4 -m 15 -s http://ip4only.me/api/
96.86.170.226 found in text
$ curl -4 -m 15 -s https://ip4only.me/api/
96.86.170.226 found in text
$ curl -4 -m 15 -s http://ip6.me/api/
96.86.170.226 found in text
$ curl -6 -m 15 -s http://ip6.me/api/
2001:470:67:76f::2 found in text
$ curl -4 -m 15 -s https://ip6.me/api/
96.86.170.226 found in text
$ curl -6 -m 15 -s https://ip6.me/api/
2001:470:67:76f::2 found in text
$ curl -6 -m 15 -s http://ip6only.me/api/
2001:470:67:76f::2 found in text
$ curl -6 -m 15 -s https://ip6only.me/api/
2001:470:67:76f::2 found in text
$ curl -4 -m 15 -s http://ipecho.net/plain
96.86.170.226
$ curl -6 -m 15 -s http://ipecho.net/plain
2001:470:67:76f::2
$ curl -4 -m 15 -s https://ipecho.net/plain
96.86.170.226
$ curl -6 -m 15 -s https://ipecho.net/plain
2001:470:67:76f::2
$ curl -4 -m 15 -s http://tnx.nl/ip
96.86.170.226 found in text
$ curl -6 -m 15 -s http://tnx.nl/ip
2001:470:67:76f::2 found in text
$ curl -4 -m 15 -s https://tnx.nl/ip
96.86.170.226 found in text
$ curl -6 -m 15 -s https://tnx.nl/ip
2001:470:67:76f::2 found in text
$ curl -4 -m 15 -s http://ip.tyk.nu/
96.86.170.226
$ curl -6 -m 15 -s http://ip.tyk.nu/
2001:470:67:76f::2
$ curl -4 -m 15 -s https://ip.tyk.nu/
96.86.170.226
$ curl -6 -m 15 -s https://ip.tyk.nu/
2001:470:67:76f::2
$ curl -4 -m 15 -s https://corz.org/ip
96.86.170.226
$ curl -4 -m 15 -s http://ipv4.balug.org/myip
96.86.170.226
$ curl -4 -m 15 -s https://ipv4.balug.org/myip
96.86.170.226
$ curl -6 -m 15 -s http://ipv6.balug.org/myip
2001:470:67:76f::2
$ curl -6 -m 15 -s https://ipv6.balug.org/myip
2001:470:67:76f::2
$ curl -4 -m 15 -s http://api.ipify.org/
96.86.170.226
$ curl -4 -m 15 -s https://api.ipify.org/
96.86.170.226
$ curl -4 -m 15 -s http://ip.42.pl/raw
96.86.170.226
$ curl -4 -m 15 -s https://ip.42.pl/raw
96.86.170.226
$ curl -4 -m 15 -s http://pry.sh/
96.86.170.226 found in text
$ curl -6 -m 15 -s http://pry.sh/
2001:470:67:76f::2 found in text
$ curl -4 -m 15 -s https://pry.sh/
96.86.170.226 found in text
$ curl -6 -m 15 -s https://pry.sh/
2001:470:67:76f::2 found in text
$ curl -4 -m 15 -s http://ipv4.pry.sh/
96.86.170.226 found in text
$ curl -4 -m 15 -s https://ipv4.pry.sh/
96.86.170.226 found in text
$ curl -6 -m 15 -s http://ipv6.pry.sh/
2001:470:67:76f::2 found in text
$ curl -6 -m 15 -s https://ipv6.pry.sh/
2001:470:67:76f::2 found in text
$ curl -4 -m 15 -s http://self.ip.addr.tools/
96.86.170.226 found in text in alternative format
$ curl -4 -m 15 -s https://self.ip.addr.tools/
96.86.170.226 found in text in alternative format
$ curl -6 -m 15 -s http://self6.ip.addr.tools/
2001:470:67:76f::2 found in text in alternative format
$ curl -6 -m 15 -s https://self6.ip.addr.tools/
2001:470:67:76f::2 found in text in alternative format
$ curl -4 -m 15 -s http://myipv4.addr.tools/
96.86.170.226
$ curl -4 -m 15 -s https://myipv4.addr.tools/
96.86.170.226
$ curl -6 -m 15 -s http://myipv6.addr.tools/
2001:470:67:76f::2
$ curl -6 -m 15 -s https://myipv6.addr.tools/
2001:470:67:76f::2
$ curl -4 -m 15 -s http://myip.wtf/text
96.86.170.226
$ curl -6 -m 15 -s http://myip.wtf/text
2001:470:67:76f::2
$ curl -4 -m 15 -s https://myip.wtf/text
96.86.170.226
$ curl -6 -m 15 -s https://myip.wtf/text
2001:470:67:76f::2
$ 

DNS

myv4="$(curl -4 -s https://ipv4.balug.org/myip)" || exit
myv6="$(curl -6 -s https://ipv6.balug.org/myip)" || exit
control_M="$(printf '\015')"
#digopts='+noall +answer +nottl +norecurse'
digopts='+short +norecurse'
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
  set -- $ns_rr_class_types
  NS="$1"; shift; RR="$1"; shift; CLASS="$1"; shift; TYPES="$*"
  for TYPE in $TYPES
  do
    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; echo '$ '
$ dig @1.1.1.1 +short +norecurse -4 whoami.cloudflare TXT CH
"96.86.170.226"
$ 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"
$ 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
$ 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
$ 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"
$ 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"
$ 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
$ dig @one.one.one.one. +short +norecurse -4 whoami.cloudflare. TXT CH
"96.86.170.226"
$ 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"
$ 

ssh

myv4="$(curl -4 -s https://ipv4.balug.org/myip)" || exit
myv6="$(curl -6 -s https://ipv6.balug.org/myip)" || exit
control_M="$(printf '\015')"
for userathost in \
  sshmyip.com myip@{,ipv{4,6}.}balug.org
do
  for v in 4 6
  do
    case "$v" in
      4)
        myip="$myv4"
      ;;
      6)
        myip="$myv6"
      ;;
    esac
    sshopts="-$v -n -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
    r=$(ssh $sshopts $userathost 2>>/dev/null)
    case "$r" in
      "$myip")
        echo "\$ ssh -$v $userathost"
        echo $r
      ;;
      "$myip$control_M")
        echo "\$ ssh -$v $userathost"
        echo $myip'^M'
      ;;
      *"$myip"*)
        echo "\$ ssh -$v $userathost"
        echo $myip found in text
      ;;
      *)
        myRE=$(
          echo "$myip" |
          sed -e 's/[.:]/-/g'
        )
        printf '%s' "$r" |
        if grep "$myRE" >>/dev/null; then
          echo "\$ ssh -$v $userathost"
          echo $myip found in text in alternative format
        fi
      ;;
    esac
  done
done; echo '$ '
$ ssh -4 sshmyip.com
96.86.170.226 found in text
$ ssh -6 sshmyip.com
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
$ 

telnet

myv4="$(curl -4 -s https://ipv4.balug.org/myip)" || exit
myv6="$(curl -6 -s https://ipv6.balug.org/myip)" || exit
control_M="$(printf '\015')"
for domain in \
  telnetmyip.com
do
  for v in 4 6
  do
    case "$v" in
      4)
        myip="$myv4"
      ;;
      6)
        myip="$myv6"
      ;;
    esac
    telnetopts="-$v"
    r=$(sleep 2 | telnet $telnetopts $domain 2>>/dev/null)
    case "$r" in
      "$myip")
        echo "\$ telnet -$v $domain"
        echo $r
      ;;
      "$myip$control_M")
        echo "\$ telnet -$v domain"
        echo $myip'^M'
      ;;
      *"$myip"*)
        echo "\$ telnet -$v $domain"
        echo $myip found in text
      ;;
      *)
        myRE=$(
          echo "$myip" |
          sed -e 's/[.:]/-/g'
        )
        printf '%s' "$r" |
        if grep "$myRE" >>/dev/null; then
          echo "\$ telnet -$v $domain"
          echo $myip found in text in alternative format
        fi
      ;;
    esac
  done
done; echo '$ '
$ telnet -4 telnetmyip.com
96.86.170.226 found in text
$ telnet -6 telnetmyip.com
2001:470:67:76f::2 found in text
$ 
system/what_is_my_ip_address.txt · Last modified: 2024-01-31T20:28:00+0000 by michael_paoli