system:what_is_my_ip_address
This is an old revision of the document!
Table of Contents
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:
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.1702624014.txt.bz2 · Last modified: 2023-12-15T07:06:54+0000 by michael_paoli