>>FIRST MISSION//LOGS//dig//find-public-ip-in-linux-using-cli.MD
[ + ] TARGET_LOCKED200 OK
APR 13, 2020timer 3 MIN READSYS_TAG: dig STATUS: VERIFIED_WORKING

Find Public IP in Linux Using CLI

ENGINE: KERNEL // STABLE
BASE_ARCH: x86_64
HOST: VASTORIGINS.COM
GPG: OKSIG_ID: 0x4EB27DB0
Find Public IP in Linux Using CLI
SPEC_IMAGE // PROVENANCE_VERIFIED

A musician must make music, an artist must paint, a poet must write, if he is to be ultimately at peace with himself. What a man can be, he must be

~ Abraham Maslow.

Hey guys, ever been in a situation where you need to query your public WAN IP without any browser? It happens more often than you would think: a headless server, an SSH session, a firewall you are debugging, and the only thing you need is the IP that the rest of the world sees when it talks to you. Glad you came to the right post.

✅ Prerequisites

Before we continue, let us make sure the tools are in place. All three of these are common on most Linux distros, and at least one of them is almost always installed by default.

  • dig: Dig stands for (Domain Information Groper) is a network administration command-line tool for querying Domain Name System (DNS) name servers. It is useful for verifying and troubleshooting DNS problems and also to perform DNS lookups and displays the answers that are returned from the name server that were queried.
  • curl: cURL is a computer software project providing a library and command-line tool for transferring data using various network protocols. The name stands for “Client URL”, which was first released in 1997.
  • wget: GNU Wget is a computer program that retrieves content from web servers. It is part of the GNU Project. Its name derives from World Wide Web and get. It supports downloading via HTTP, HTTPS, and FTP. Its features include recursive download, conversion of links for offline viewing of local HTML, and support for proxies.

🌐 What are the ways to find my IP?

Here are ways to find your own public IP from the terminal, each with its own personality.

First is using OpenDNS servers. The OpenDNS servers are always free and a toolkit for a network engineer:

dig +short myip.opendns.com @resolver1.opendns.com

If resolver1 isn’t responding, try the resolver2 to get your query.
Also, you could achieve this query using Google’s nameservers:

dig TXT +short o-o.myaddr.l.google.com @ns1.google.com

The DNS approach is fast, because it is just a type of DNS query, no HTTP involved, and that makes it the handiest one when you are on a restricted network.

The second is using curl or wget, which is more common on many distros without installing any other packages. While this is much slower in resolving, the tools used are much more common:

curl https://ipinfo.io/ip

For wget command just replace the curl word above. The ipinfo.io service returns only the IP itself with no extra text, which makes it perfect for scripting.

🧠 Final Thoughts

I haven’t listed all the ways, as there are many ways to achieve this. But all these commands have been tested and used by me several times, and it always saves my ass when there’s a problem. Bookmark the ones that feel natural to you, and the next time you are staring at a headless server wondering what IP the world sees, the answer is one command away. If you have additional commands that you want to share, DM me at @ffimnsr.

[ SIGNATURE VERIFIED // GPG 0x4EB27DB0 // PROVENANCE SECURE ]
➔ RETURN TO LOGS