Public IP are used for communication between computers over internet. A computer running with public ip is accessible all over world using internet. So we can say that it is the identity of computer on internet. Now the question is how do we know our public ip. For computers having GUI can easily get there ips using web tools like this but how we get ips of computers having terminal access only. Solution is here – use one of the following commands to find public ip of your system using Linux terminal. These are also useful to use in shell script.
Get Public IP using Linux Terminal
Command 1. Using wget
# wget http://ipecho.net/plain -O - -q ; echo
Command 2: Using curl
# curl ipecho.net/plain; echo
Command 3: Using wget
# wget http://observebox.com/ip -O - -q ; echo
Command 4: Using curl
# curl icanhazip.com
Command 5: Using curl
# curl ifconfig.me
Get Public IP in Shell Script
We can simply use following commands in our shell script get our computers public ip and store them in a variable to use anywhere in shell script.
#!/bin/bash PUBLIC_IP=`wget http://ipecho.net/plain -O - -q ; echo` echo $PUBLIC_IP
You could use a DNS request instead of HTTP request to find out your public IP:
C:\> nslookup myip.opendns.com resolver1.opendns.com
It uses resolver1.opendns.com
dns server to resolve the magical myip.opendns.com
hostname to your ip address.
Unix version:
$ dig +short myip.opendns.com @resolver1.opendns.com