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 found on The Internet:
https://bushart.org/resource/public-ip-using-dns/
https://sysop.user.uucp.hu/programs/doc/extip.txt

Publicly available resources to check:

http 80 https 443 IPv DNS
53
notes
4 6
http://ifconfig.co/ https://ifconfig.co/ 4 6 -
http://dafuqismyip.com/* https://dafuqismyip.com/ 4 6 - trailing ^M, * http redirects to https, JavaScript required
http://whatismyip.akamai.com/ https://whatismyip.akamai.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://ipchicken.com/* https://ipchicken.com/ 4 - - * http redirects to https, JavaScript required
http://www.moanmyip.com/* https://www.moanmyip.com/ 4 6 - long text description, * http redirects to https, JavaScript required
- - 4 6 y @resolver1.opendns.com. myip.opendns.com. A myip.opendns.com. AAAA
http://whatsmyfuckingip.com/ https://whatsmyfuckingip.com/ 4 - - long text description, * 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 - -
http://ifconfig.me/ https://ifconfig.me/ 4 6 -
http://ip.me/ https://ip.me/ 4 6 -
http://ipecho.net/plain https://ipecho.net/plain 4 6 -
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 - long text description, JavaScript/ECMAScript required, * http redirects to https
http://pry.sh/ https://pry.sh/ 4 6 - long text description, /?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 - - long text description, /?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 - long text description, /?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 -
http://echoip.xyz/* https://echoip.xyz/* 4 - - 2023-11-15 - not operational?, * http redirects to https

Example Usage:

myv4="$(curl -4 -s https://www.ipv4.balug.org/myip)"
myv6="$(curl -6 -s https://www.ipv6.balug.org/myip)"
control_M="$(printf '\015')"
for path in \
  ifconfig.co/ \
  dafuqismyip.com/ \
  whatismyip.akamai.com/ \
  {,ipv4.,ipv6.}icanhazip.com/ \
  ipchicken.com/ \
  www.moanmyip.com/ \
  whatsmyfuckingip.com/ \
  wtfismyip.com/text \
  ifconfig.io/ \
  ipinfo.io/ip \
  ifconfig.me/ \
  ip.me/ \
  ipecho.net/plain \
  {,ipv{4,6}.}balug.org/myip \
  api.ipify.org/ \
  {,ipv{4,6}.}pry.sh/ \
  {self{,6}.ip,myipv{4,6}}.addr.tools/ \
  myip.wtf/text \
  echoip.xyz/
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 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 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://whatismyip.akamai.com/
96.86.170.226
$ 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 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://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://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://www.balug.org/myip
96.86.170.226
$ curl -6 -m 15 -s http://www.balug.org/myip
2001:470:67:76f::2
$ curl -4 -m 15 -s https://www.balug.org/myip
96.86.170.226
$ curl -6 -m 15 -s https://www.balug.org/myip
2001:470:67:76f::2
$ curl -4 -m 15 -s http://www.ipv4.balug.org/myip
96.86.170.226
$ curl -4 -m 15 -s https://www.ipv4.balug.org/myip
96.86.170.226
$ curl -6 -m 15 -s http://www.ipv6.balug.org/myip
2001:470:67:76f::2
$ curl -6 -m 15 -s https://www.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://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
$ 

for ns_rr_types in \
  'ns1.google.com. o-o.myaddr.l.google.com. TXT' \
  'resolver1.opendns.com. myip.opendns.com. A AAAA' \
  '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 @dns.toys +short +norecurse -4 ip. TXT
"96.86.170.226"
$ dig @dns.toys +short +norecurse -6 ip. TXT
"2001:470:67:76f::2"
$ 
system/what_is_my_ip_address.1700223185.txt.bz2 · Last modified: 2023-11-17T12:13:05+0000 by michael_paoli