An IP (Internal Protocol) address is a unique identifier that identifies a device on the internet-connected to the TCP/IP protocol and enabled communication over it. One of the most common and popular examples of a network built on IP addresses is World Wide Web and Internet.
The address of each device in an IP subnet (a kind of subset of complete IP range) should always be unique means no two devices on the same subnet can have the same IP address, otherwise, it will cause an IP address conflict.
For IPv4, its format can be 4 octets like
x.x.x.x where each octet is 8 bits or 0 to 255 in decimal. Eg.
220.127.116.11. IPv6 addresses support a much larger range and are formatted like
y:y:y:y:y:y:y:y where each y is a segment that can range between 0 and FFFF in hexadecimal like
An IP address helps in location addressing of the connected device and for network interface identification.
Also, we need to remember that each connected device can have two types of IP addresses:
- A private or Internal IP address
- A public or External IP address
Internal IP addresses are for messaging and connectivity within the internal network. Devices with these addresses are not reachable globally and are accessible within the LAN only. Additionally, the same internal IP can be used across two different network subnets, so they are not necessarily unique identifiers.
Whereas external IP addresses are globally accessible on the internet. Since addresses are unique across the Internet, it also determines the location of the devices from where it is connecting to. Because IANA (Internet Assigned Number Authority) assigns a unique range of addresses across different countries.
Using Command Prompt
When you run the command
ipconfig on Windows'
Command Prompt, it will list down all the network adapters found on your Windows system. There could be multiple IP addresses in that list based on your connectivity like ethernet, Wi-Fi, etc.
Here's an example:
Network and Sharing Center
Another method by which you can find your system's/network adapter's IP address is by opening
Network and Sharing Center. For this, open the Control Panel and go to
Network and Internet ->
Network and Sharing Center ->
Connections: <Wi-Fi>/<Ethernet> ->
Here's what it looks like:
Settings app from
Start menu. Then go to
Network & Internet -> Select your connection type (here it is Wi-Fi) ->
Hardware Properties. Below is a screenshot showing network details from
Linux offers a range of options to check your system's IP address. Besides GUI network manager based on the Linux distribution, there is a set of common CLI commands that are mostly supported across different distributions by default. So, we'll be covering such commands.
ip command has a lot of options. To list all network interfaces, use ip a command or specify the name of the network interface as shown below.
$ ip addr show eth0 6: eth0: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:15:5d:8c:b4:c4 brd ff:ff:ff:ff:ff:ff inet 172.23.120.4/20 brd 172.23.127.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::215:5dff:fe8c:b4c4/64 scope link valid_lft forever preferred_lft forever $
hostname command with
-I flag can list down all IPs attached to your different network interfaces.
$ hostname -I 172.23.120.4 10.42.0.0 10.42.0.1 $
ifconfig used to be the default command for viewing/modifying network parameters in a Linux system though it is still supported by a lot of distributions. You can use
ifconfig -a to view all network adapters and their IPs or to specify a specific network interface with
$ ifconfig eth0 eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.23.120.4 netmask 255.255.240.0 broadcast 172.23.127.255 inet6 fe80::215:5dff:fe8c:b4c4 prefixlen 64 scopeid 0x20<link> ether 00:15:5d:8c:b4:c4 txqueuelen 1000 (Ethernet) RX packets 1339936 bytes 1152733066 (1.1 GB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 393472 bytes 333379281 (333.3 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 $
All the above methods will show you the internal IP of your network adapter. To view the external or public IP address from the Linux terminal, you can try any of the below common tools (do note that all these commands communicate with an external service to fetch your public IP):
$ curl ifconfig.me $ curl ident.me $ curl ipinfo.io/ip $ dig +short myip.opendns.com @resolver1.opendns.com $ host myip.opendns.com resolver1.opendns.com
On Mac, you can either follow GUI or terminal method to get your IP address.
Viewin top menu and select
- Choose the right network connection from left menu.
- On the right, you'll be able to see the IP address of your Mac.
- Open the terminal on your Mac.
- Now, for ethernet connection you can use
ipconfig getifaddr en1command to get the IP address.
[email protected] ~ % ipconfig getifaddr en1 192.168.1.117 [email protected] ~ %
IP of Websites
Besides your system's private and public IPs, there's public IP of websites on the Internet that you communicate over web browsers or other applications. Though you use DNS names to open a website or talk to it, computers use IP addresses in the backend to make this communication work.
We can query the IP of a website using some commonly available utilities on any system like
ping is not something exclusively used to fetch IP, it does fetch the IP in the process and it can be viewed in the output. Further, it's a common utility available across the different OS. Here are all these commands in action:
$ ping -c4 wikipedia.com PING wikipedia.com (18.104.22.168) 56(84) bytes of data. 64 bytes from ncredir-lb.esams.wikimedia.org (22.214.171.124): icmp_seq=1 ttl=57 time=7.53 ms 64 bytes from ncredir-lb.esams.wikimedia.org (126.96.36.199): icmp_seq=2 ttl=57 time=7.58 ms 64 bytes from ncredir-lb.esams.wikimedia.org (188.8.131.52): icmp_seq=3 ttl=57 time=7.56 ms 64 bytes from ncredir-lb.esams.wikimedia.org (184.108.40.206): icmp_seq=4 ttl=57 time=7.59 ms --- wikipedia.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 7.532/7.564/7.591/0.022 ms $
You can explore more ping command examples.
$ nslookup wikipedia.com Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: Name: wikipedia.com Address: 220.127.116.11 Name: wikipedia.com Address: 2620:0:862:ed1a::3 $
$ dig +short wikipedia.com 18.104.22.168 $
If you don't have a terminal handy or in case, you're not comfortable using it, fear not. There are numerous
whois tools available that can get you the IP details of a website right from the browser.
One such great
whois utility can be accessed from Geekflare Tools.
You can simply enter the domain name of the website you are looking to find the IP and click on
Find Host button and the tool will show you the website's IP as well as some other cool information like location and hosting details about it.
IP address is an intrinsic part of how the Internet works today. In this article, we've covered how private and public IP is different and how we can identify the IP address assigned to a network interface covering Windows, Linux, and Mac systems.
More great readings on Sysadmin
How to Scan and Fix Log4j Vulnerability?Amrita Pathak on May 10, 2022
What is Network Latency and How to Improve It? Hitesh Sant on May 6, 2022
8 Best NetFlow Analyzers and Collector Tools for Your NetworkAshlin Jenifa on May 7, 2022
How to Enable ‘God Mode’ in Windows 10/11Dhruv Parmar on May 5, 2022
7 Online CCNA Certification Courses for Network AdministratorsAmrita Pathak on May 5, 2022
Looking for telnet on RHEL 8? Try ncAbhishek Nair on May 2, 2022
Join Geekflare Newsletter
Every week we share trending articles and tools in our newsletter. More than 10,000 people enjoy reading, and you will love it too.