User Tools

Site Tools


system:what_is_my_ip_address

This is an old revision of the document!


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
- - 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 -202,203-
http://dafuqismyip.com/* https://dafuqismyip.com/ 4 6 - - - trailing ^M, * http redirects to https, JavaScript required
- - 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://ipchicken.com/* https://ipchicken.com/ 4 - - - - * http redirects to https, JavaScript required
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 - - -
- - 4 6 y - - @resolver1.opendns.com. myip.opendns.com. A myip.opendns.com. AAAA
- - 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://wtfismyip.com/text https://wtfismyip.com/text 4 6 - - -
http://ifconfig.io/ https://ifconfig.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://ident.me/ https://ident.me/ 4 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 - y - - @ns1-1.akamaitech.net. whoami.akamai.net. A
http://ipecho.net/plain https://ipecho.net/plain 4 6 - - -
http://tnx.nl/ip https://tnx.nl/ip 4 6 - - - found in text
http://ip.tyk.nu https://ip.tyk.nu 4 6 - - -
http://corz.org/ip* https://corz.org/ip 4 - - - - * http redirects to https
http://balug.org/myip https://balug.org/myip 4 6 - - -
http://ipv4.balug.org/myip https://ipv4.balug.org/myip 4 - - - -
http://ipv6.balug.org/myip https://ipv6.balug.org/myip - 6 - - -
http://api.ipify.org/ https://api.ipify.org/ 4 - - - -
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://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://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 - y - - https://www.dns.toys/ @dns.toys ip. TXT help. TXT
http://myip.wtf/text https://myip.wtf/text 4 6 - - -

Work in progress

More stuff to check/review and deduplicate relative to existing:

https://dev.to/adityathebe/a-handy-way-to-know-your-public-ip-address-with-dns-servers-4nmn
telnetmyip.com # via telnet
sshmyip.com # via ssh

4.ipquail.com
4.ipquail.com/IP
4.ipquail.com/ip
6.ipquail.com
6.ipquail.com/IP
6.ipquail.com/ip
@1.1.1.1 whoami.cloudflare TXT CH
@ns1-1.akamaitech.net whoami.akamai.net
@ns1-1.akamaitech.net whoami.akamai.net ANY
@ns1.google.com o-o.myaddr.l.google.com TXT
@one.one.one.one whoami.cloudflare TXT CH
@resolver1.opendns.com myip.opendns.com
@resolver1.opendns.com myip.opendns.com AAAA 
@update.dynamic.name my.dynamic.name A
Ipv4.icanhazip.com
Moanmyip.com
Myip.com
Whatismyip.com
Whatsmyip.com
Wtfismyip.com
Www.whatismyIP.com
api.ipify.org
api.ipify.org?format=json
bettermotherfuckingwebsite.com
bgpstuff.net
checkip.amazonaws.com
checkip.dyndns.org
curl ipinfo.io
ds-whoami.kag2d.com
eth0.me
evenbettermotherfucking.website
fast.com
httpbin.dmuth.org
httpbin.dmuth.org/ip
httpbin.dmuth.org/ip/v4
httpbin.dmuth.org/ip/v6
https://ipinfo.io/ip
icanhazip.com
ident.me
ifconfig.co
ifconfig.info
ifconfig.io
ifconfig.io/ip
ifconfig.me
ifconfig.me/ip
ifconfig.pro
ip-api.com
ip-echo.ripe.net
ip.com
ip.csis.dk
ip.liquidweb.com
ip.me
ip.pizza
ip.wtf
ip4.me
ip4.me/api/
ip4.seeip.org
ip6.me
ip6.me/api/
ip6.seeip.org
ip6only.me
ip6only.me/api/
ipaddress.sh
ipalyzer.com
ipchicken.com
ipconfig.io
ipconfig.me
ipcow.com
ipcow.net
ipecho.net
ipecho.net/curl
ipecho.net/ip
ipecho.net/plain
ipgoat.com
iphorse.com
ipify.io
ipify.org
ipinfo.io
ipinfo.io/ip
ipleak.net
ipmonkey.com
ipquail.com
ipquail.com/IP
ipquail.com/ip
ipschwein.de
ipv4.icanhazip.com
ipv4.myip.wtf
ipv4.myip.wtf/text
ipv6.icanhazip.com
ipv6.myip.wtf
ipv6.myip.wtf/text
moanmyip.com
motherfuckingwebsite.com
my.dynamic.name
my.ip.fi
myip.addr.tools
myip.addr.tools/help
myip.com
myip.dk
myip.dnsomatic.com
myip.is
myip.nl
myip.spdns.com
myip.wtf
myip.wtf/text
myipaddress.com
noc.co.il
ns1-1.akamaitech.net
opensource.com/article/18/5/how-find-ip-address-linux
orgname.com
orgname.com/ip
ping.eu
ping.pe
sjekkip.no
smart-ip.net
smart-ip.net/myip
test-ipv6.com
thefuckingweather.com (defunct)
theiplookup.org
utrace.me
v4-whoami.kag2d.com
v4.ident.me
v6-whoami.kag2d.com
v6.ident.me
wanip.info
watismijnip.nl
whataremyips.com
whatismyip.com
whatsmyfuckingip.com
whatsmyip.com
whatsmyip.org
whoami.akamai.net
wimip.com
wtfismyip.com
wtfismyip.com/text
www.ipchicken.com
www.ipify.org
www.ipify.org/
www.moanmyip.com
www.monipay.fr
www.pfsense.org
www.pfsense.org/ip
www.whatismyip.com
www.whatismyip.com/ip-address-lookup/?iref=hnavbar
www.wtfsigte.com
yourip.app/raw

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

for ns_rr_types in \
  'ns1.google.com. o-o.myaddr.l.google.com. TXT' \
  'resolver1.opendns.com. myip.opendns.com. A AAAA' \
  'ns.sslip.io. ip.sslip.io. TXT' \
  'ns1-1.akamaitech.net. whoami.akamai.net. A' \
  'dns.toys ip. TXT'
do
  set -- $ns_rr_types; NS="$1"; shift; RR="$1"; shift; TYPES="$*"
  query=
  for TYPE in $TYPES
  do
    query="${query:+$query }$RR $TYPE"
  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 '$ '

$ dig @ns1.google.com. +short +norecurse -4 o-o.myaddr.l.google.com. TXT
"96.86.170.226"
$ dig @ns1.google.com. +short +norecurse -6 o-o.myaddr.l.google.com. TXT
"2001:470:67:76f::2"
$ dig @resolver1.opendns.com. +short +norecurse -4 myip.opendns.com. A myip.opendns.com. AAAA
96.86.170.226
$ dig @resolver1.opendns.com. +short +norecurse -6 myip.opendns.com. A myip.opendns.com. AAAA
2001:470:67:76f::2
$ dig @ns.sslip.io. +short +norecurse -4 ip.sslip.io. TXT
"96.86.170.226"
$ dig @ns.sslip.io. +short +norecurse -6 ip.sslip.io. TXT
"2001:470:67:76f::2"
$ dig @ns1-1.akamaitech.net. +short +norecurse -4 whoami.akamai.net. A whoami.ak
96.86.170.226
$ dig @dns.toys +short +norecurse -4 ip. TXT
"96.86.170.226"
$ dig @dns.toys +short +norecurse -6 ip. TXT
"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 domain in \
  sshmyip.com
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 $domain 2>>/dev/null)
    case "$r" in
      "$myip")
        echo "\$ ssh -$v $domain"
        echo $r
      ;;
      "$myip$control_M")
        echo "\$ ssh -$v domain"
        echo $myip'^M'
      ;;
      *"$myip"*)
        echo "\$ ssh -$v $domain"
        echo $myip found in text
      ;;
      *)
        myRE=$(
          echo "$myip" |
          sed -e 's/[.:]/-/g'
        )
        printf '%s' "$r" |
        if grep "$myRE" >>/dev/null; then
          echo "\$ ssh -$v $domain"
          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
$ 

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.1702566776.txt.bz2 · Last modified: 2023-12-14T15:12:56+0000 by michael_paoli