This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
system:what_is_my_ip_address [2022-06-07T04:00:50+0000] michael_paoli +Example Usage |
system:what_is_my_ip_address [2023-12-15T09:18:46+0000] michael_paoli DNS: updated example |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== What's my source IP as seen from The Internet? ====== | ====== 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:\\ | Publicly available resources to check:\\ | ||
- | ^ http \\ 80 ^ https \\ 443 ^ IPv ^^ DNS \\ 53 ^notes ^ | + | ^http 80 ^https 443 ^ IPv ^^ DNS \\ 53 ^ ssh \\ 22 ^ telnet \\ 23 ^notes ^ |
- | ^ ::: ^ ::: ^ 4 ^ 6 ^ ::: ^ ::: ^ | + | ^ ::: ^ ::: ^ 4 ^ 6 ^ ::: ^ ::: ^ ::: ^ ::: ^ |
- | | [[http://ifconfig.co|y]] | [[https://ifconfig.co|y]] | 4 | 6 | - |ifconfig.co/ | | + | |[[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://icanhazip.com/|y]] | [[https://icanhazip.com/|y]] | 4 | 6 | - |icanhazip.com/ # https://major.io/icanhazip-com-faq/ | | + | |[[http://yourip.app/raw]]* |[[https://yourip.app/raw]] | 4 | 6 | - | - | - |* http redirects to http | |
- | | [[http://ipinfo.io/ip|y]] | [[https://ipinfo.io/ip|y]] | 4 | - | - |ipinfo.io/ip | | + | |- |- | 4 | - | y | - | - |@1.1.1.1 whoami.cloudflare TXT CH | |
- | | [[http://ifconfig.me/|y]] | [[https://ifconfig.me/|y]] | 4 | 6 | - |ifconfig.me/ | | + | |[[http://ifconfig.co/]] |[[https://ifconfig.co/]] | 4 | 6 | - | - | - | | |
- | | [[http://api.ipify.org/|y]] | [[https://api.ipify.org/|y]] | 4 | - | - |api.ipify.org/ | | + | |[[http://whatismyip.akamai.com/]] |[[https://whatismyip.akamai.com/]]* | 4 | - | - | - | - |* https cert issue | |
- | | [[http://echoip.xyz/|*]] | [[https://echoip.xyz/|y]] | 4 | - | - |echoip.xyz/ # * http redirects to https | | + | |[[http://checkip.amazonaws.com/]] |[[https://checkip.amazonaws.com/]] | 4 | - | - | - | - | | |
- | | [[http://www.balug.org/myip|y]] | [[https://www.balug.org/myip|y]] | 4 | 6 | - |www.balug.org/myip | | + | |[[http://dafuqismyip.com/]]* |[[https://dafuqismyip.com/]] | 4 | 6 | - | - | - |trailing **^**M, * http redirects to https, JavaScript required | |
- | | [[http://www.ipv4.balug.org/myip|y]] | [[https://www.ipv4.balug.org/myip|y]] | 4 | - | - |www.ipv4.balug.org/myip | | + | |[[http://myip.dnsomatic.com/]] |[[https://myip.dnsomatic.com/]] | 4 | - | - | - | - | | |
- | | [[http://www.ipv6.balug.org/myip|y]] | [[https://www.ipv6.balug.org/myip|y]] | - | 6 | - |www.ipv6.balug.org/myip | | + | |- |- | 4 | 6 | y | - | - |@ns1.google.com. o-o.myaddr.l.google.com. TXT | |
- | | [[http://whatismyip.akamai.com/|y]] | [[https://whatismyip.akamai.com/|*]] | 4 | - | - |whatismyip.akamai.com/ # * cert may not match | | + | |[[http://icanhazip.com/]] |[[https://icanhazip.com/]] | 4 | 6 | - | - | - |https://major.io/icanhazip-com-faq/ | |
- | | [[http://en.wikipedia.org/wiki/Wikipedia:Get_my_IP_address|*]] | [[https://en.wikipedia.org/wiki/Wikipedia:Get_my_IP_address|y]] | 4 | 6 | - |en.wikipedia.org/wiki/Wikipedia:Get_my_IP_address # long text description, * http redirects to https| | + | |[[http://ipv4.icanhazip.com]] |[[http://ipv4.icanhazip.com]] | 4 | - | - | - | - | | |
- | | - | - | 4 | 6 | y |@ns1.google.com. o-o.myaddr.l.google.com. TXT | | + | |[[http://ipv6.icanhazip.com]] |[[http://ipv6.icanhazip.com]] | - | 6 | - | - | - | | |
- | | - | - | 4 | 6 | y |@resolver1.opendns.com. myip.opendns.com. A myip.opendns.com. AAAA | | + | |[[http://ip-api.com/json/?fields=query]] |- | 4 | - | - | - | - |found in text, [[https://ip-api.com/docs/api:json]] | |
- | | - | - | 4 | - | y |@dns.toys ip. TXT # @dns.toys help. TXT # https://www.dns.toys/ | | + | |[[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 | - | - | - | | | ||
+ | |[[http://ipv4.balug.org/myip]] |[[https://ipv4.balug.org/myip]] | 4 | - | - | - | - | | | ||
+ | |[[http://ipv6.balug.org/myip]] |[[https://ipv6.balug.org/myip]] | - | 6 | - | - | - | | | ||
+ | |[[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: ===== | ===== Example Usage: ===== | ||
+ | |||
+ | ==== http/https ==== | ||
<file> | <file> | ||
+ | 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 \ | for path in \ | ||
+ | 1.1.1.1/cdn-cgi/trace \ | ||
ifconfig.co/ \ | ifconfig.co/ \ | ||
- | icanhazip.com/ \ | + | 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 \ | ipinfo.io/ip \ | ||
+ | ident.me \ | ||
ifconfig.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/ \ | api.ipify.org/ \ | ||
- | echoip.xyz/ \ | + | ip.42.pl/raw \ |
- | www.{,ipv{4,6}.}balug.org/myip \ | + | {,ipv{4,6}.}pry.sh/ \ |
- | whatismyip.akamai.com/ | + | {self{,6}.ip,myipv{4,6}}.addr.tools/ \ |
+ | myip.wtf/text | ||
do | do | ||
for scheme in http https | for scheme in http https | ||
Line 37: | Line 156: | ||
for v in 4 6 | for v in 4 6 | ||
do | do | ||
- | r=$(curl -s -"$v" "$scheme://$path") | + | case "$v" in |
- | if expr x"$r" : x'[.0-9:A-Za-z]\{1,\}$' >>/dev/null; then | + | 4) |
- | echo "\$ curl -s -$v $scheme://$path" | + | myip="$myv4" |
- | echo $r | + | ;; |
- | elif [ "$scheme" = https ]; then | + | 6) |
- | r=$(curl -k -s -"$v" "$scheme://$path") | + | myip="$myv6" |
- | expr x"$r" : x'[.0-9:A-Za-z]\{1,\}$' >>/dev/null && | + | ;; |
- | { | + | esac |
- | echo "\$ curl -k -s -$v $scheme://$path" | + | curlopts="-"$v" -m 15 -s" |
- | echo $r; | + | r=$(curl $curlopts "$scheme://$path") |
- | } | + | case "$r" in |
- | fi | + | "$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 | done | ||
done; echo '$ ' | done; echo '$ ' | ||
- | $ curl -s -4 http://ifconfig.co/ | + | $ 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 | 96.86.170.226 | ||
- | $ curl -s -6 http://ifconfig.co/ | + | $ curl -6 -m 15 -s http://ifconfig.co/ |
2001:470:67:76f::2 | 2001:470:67:76f::2 | ||
- | $ curl -s -4 https://ifconfig.co/ | + | $ curl -4 -m 15 -s https://ifconfig.co/ |
96.86.170.226 | 96.86.170.226 | ||
- | $ curl -s -6 https://ifconfig.co/ | + | $ curl -6 -m 15 -s https://ifconfig.co/ |
2001:470:67:76f::2 | 2001:470:67:76f::2 | ||
- | $ curl -s -4 http://icanhazip.com/ | + | $ curl -4 -m 15 -s http://whatismyip.akamai.com/ |
96.86.170.226 | 96.86.170.226 | ||
- | $ curl -s -6 http://icanhazip.com/ | + | $ 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 | 2001:470:67:76f::2 | ||
- | $ curl -s -4 https://icanhazip.com/ | + | $ curl -4 -m 15 -s https://icanhazip.com/ |
96.86.170.226 | 96.86.170.226 | ||
- | $ curl -s -6 https://icanhazip.com/ | + | $ curl -6 -m 15 -s https://icanhazip.com/ |
2001:470:67:76f::2 | 2001:470:67:76f::2 | ||
- | $ curl -s -4 http://ipinfo.io/ip | + | $ curl -4 -m 15 -s http://ipv4.icanhazip.com/ |
96.86.170.226 | 96.86.170.226 | ||
- | $ curl -s -4 https://ipinfo.io/ip | + | $ curl -4 -m 15 -s https://ipv4.icanhazip.com/ |
96.86.170.226 | 96.86.170.226 | ||
- | $ curl -s -4 http://ifconfig.me/ | + | $ 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 | 96.86.170.226 | ||
- | $ curl -s -4 https://ifconfig.me/ | + | $ 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 | 96.86.170.226 | ||
- | $ curl -s -4 http://api.ipify.org/ | + | $ 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 | 96.86.170.226 | ||
- | $ curl -s -4 https://api.ipify.org/ | + | $ curl -4 -m 15 -s http://wgetip.com/ |
96.86.170.226 | 96.86.170.226 | ||
- | $ curl -s -4 https://echoip.xyz/ | + | $ 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 | 96.86.170.226 | ||
- | $ curl -s -4 http://whatismyip.akamai.com/ | + | $ 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 | 96.86.170.226 | ||
- | $ curl -k -s -4 https://whatismyip.akamai.com/ | + | $ 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 | 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 | ||
$ | $ | ||
+ | </file> | ||
- | for ns_rr_t_t2 in \ | + | ==== DNS ==== |
- | 'ns1.google.com. o-o.myaddr.l.google.com. TXT' \ | + | |
- | 'resolver1.opendns.com. myip.opendns.com. A AAAA' \ | + | <file> |
- | 'dns.toys ip. TXT' | + | 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 | do | ||
- | set -- $ns_rr_t_t2; NS="$1"; RR="$2"; TYPE="$3"; TYPE2="$4" | + | set -- $ns_rr_class_types |
- | query="$RR $TYPE${TYPE2:+ $RR $TYPE2}" | + | NS="$1"; shift; RR="$1"; shift; CLASS="$1"; shift; TYPES="$*" |
- | for v in 4 6 | + | for TYPE in $TYPES |
do | do | ||
- | r=$(dig @"$NS" +short +norecurse -"$v" $query 2>>/dev/null) && | + | query="$RR $TYPE $CLASS" |
- | [ -n "$r" ] && { | + | for v in 4 6 |
- | echo \$ dig @"$NS" +short +norecurse -"$v" $query | + | do |
- | echo $r | + | 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 | ||
- | : | ||
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 @dns.toys +short +norecurse -4 ip. 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. +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" | ||
+ | $ | ||
+ | </file> | ||
+ | |||
+ | ==== ssh ==== | ||
+ | |||
+ | <file> | ||
+ | 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 | ||
+ | $ | ||
+ | </file> | ||
+ | |||
+ | ==== telnet ==== | ||
+ | |||
+ | <file> | ||
+ | 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 | ||
$ | $ | ||
</file> | </file> |