It's one of those moments when you have to find a particular device on your network but have no idea what IP address to use to reach it. Or maybe you are troubleshooting connectivity issues and want to see what devices are online (and which are not). Or just want to know who is connected to your home Wi-Fi…for whatever reason, being able to see all IP addresses on a network is a useful skill to have in IT (and even for home users).
IP addresses are the "mailing addresses" of the internet. Packets need to know where to go or they'll just get lost. But, unlike snail-mail envelopes, IP addresses are not usually visible "outside" of devices, making them effectively invisible until you know how to uncover them.
In this guide, I'll cover everything you need to know about finding all IP addresses on a network. From command line methods to advanced network scanning tools, I'll show you step-by-step techniques to uncover all IP addresses in any situation - whether you are working with Windows, macOS, Linux, or even larger enterprise networks.
Before we jump into how to find all IP addresses on a network, let's quickly recap some networking basics that will help you understand the different methods you can use to do so.
An IP address is a logical address that uniquely identifies a device on a network. IPv4 addresses (like 192.168.1.100) are the most common, but IPv6 addresses (such as fe80::192.168.1.100) are slowly gaining adoption as well. These IP addresses are typically assigned by a DHCP server on your network (generally the router) and the DHCP server will keep track of which IP addresses have been assigned to which devices.
A subnet (short for "subnetwork") is a network identified by a subnet mask. Subnets break up larger networks into smaller pieces. The most common subnet mask for home and office networks is 255.255.255.0. The subnet mask determines how many of the bits in an IP address are for the network identifier and how many bits are for the host identifier.
The Address Resolution Protocol (ARP) is a networking protocol that helps in IP discovery. ARP maps an IP address to a MAC address (a physical hardware address unique to a device's network interface). All computers and servers keep an ARP table in memory of IP-to-MAC mappings for all devices they have recently communicated with.
Ok, now that we understand the basic building blocks of networking, let's start uncovering those hidden IP addresses. There are several methods and tools we can use depending on your situation and environment.
Windows has a number of built-in tools for IP discovery, from simple Command Prompt commands to more advanced scripting options.
The easiest way is to use the built-in Command Prompt:
cmd
, and press Enter to open Command Promptipconfig
and press Enter to see your own IP address, subnet mask, and default gateway (router)arp -a
and press EnterThis arp -a
command will show you the ARP table that contains a list of IP addresses and their resolved MAC addresses (you can find out more about ARP and its table on my other networking blog post). But your ARP table only contains devices that your computer has already talked to directly and is actively using. To see all devices (or at least most of them) on your local subnet, you can first ping your subnet broadcast address, which will wake up all devices and make them "talk to you":
for /L %i in (1,1,254) do ping -n 1 -w 100 192.168.1.%i
Copy and paste the above command into your Command Prompt window, hitting Enter at the end, and it will silently ping all addresses in your subnet one after the other. After running this "ping sweep", run arp -a
again and you should see a much longer list of devices.
Windows PowerShell is another powerful option with great networking capabilities:
Get-NetIPConfiguration
and press Enter1..254 | ForEach-Object {
$ip = "192.168.1.$_"
$ping = New-Object System.Net.NetworkInformation.Ping
$result = $ping.Send($ip, 100)
if ($result.Status -eq "Success") { $ip }
}
Replace "192.168.1" with your actual network prefix, and this PowerShell script will ping every single IP address and output the ones that respond to the screen.
If you are a more graphical person, Windows also has some GUI tools:
resmon
, and go to the "Network" tab. Here, you can see all your active network connections in the "TCP Connections" section.Of course, if you want to be more comprehensive, there are also free third-party tools like Advanced IP Scanner or Angry IP Scanner. These Windows applications have pretty intuitive user interfaces (as well as command-line versions). They not only help you see all IPs on a network, but also resolve hostnames, show MAC addresses, list open ports, perform ping sweeps, and export results to CSV, among other features.
macOS and Linux-based operating systems like Ubuntu provide some of the most powerful built-in command-line tools for network discovery.
To find out IP addresses on a Mac:
ifconfig
or ip addr
and press Enter to see your own IP configurationarp -a
and press Enter to see your ARP tableping
your subnet broadcast address: ping -c 1 192.168.1.255
(replace this with your actual broadcast address)brew install nmap
nmap -sn 192.168.1.0/24
to scan your subnet for all active devicesOn Linux systems, most of the commands are very similar:
ifconfig
or ip addr
to see your own IP configurationip neigh
or arp -a
to see your ARP tablenetstat -r
will show your routing table, useful for seeing your subnet, etc.You can also use nmap for scanning. First, install nmap with sudo apt-get install nmap
then scan your subnet for all active devices with: sudo nmap -sn 192.168.1.0/24
You can combine these commands with grep
to help filter results:
nmap -sn 192.168.1.0/24 | grep -B 1 "MAC Address"
This command will find all active devices and show their corresponding IP and MAC addresses.
Command-line tools are great, but if you want something more feature-rich and user-friendly for more comprehensive network discovery, dedicated network scanning tools are a better option.
Nmap (Network Mapper) is the de-facto standard for network scanning and is available for Windows, macOS, and Linux. It is extremely powerful, but has a steeper learning curve. It can do everything from basic host discovery to operating system and service detection:
nmap -sn 192.168.1.0/24
nmap -O 192.168.1.0/24
nmap -sV 192.168.1.0/24
For example, to find all devices and their hostnames on your network, you can use:
nmap -sn --dns-servers 192.168.1.1 192.168.1.0/24
Replace 192.168.1.1 with your DNS server IP address (usually the router).
If you prefer a more user-friendly option, Angry IP Scanner is a fast and cross-platform tool with a very simple GUI. Here's how to use it:
Advanced IP Scanner is similar but provides more features and requires Windows:
Your router is the central device that manages all network connections, and will typically also have a list of all devices connected to the network.
ipconfig
or ifconfig
)http://192.168.1.1
)Routers usually have a table with:
This is very convenient for home networks as most network management functions are handled by the router, so all this information is typically available in one place.
In larger networks with more staff involved in networking, more sophisticated methods for IP address management (IPAM) are necessary.
If you are running your own DHCP server:
DNS servers also have records that map hostnames to IP addresses:
There are a number of enterprise-grade network monitoring tools that have built-in IP address monitoring features, such as PRTG Network Monitor. These have a lot more advanced functionality than just finding all IP addresses, such as:
As an example of PRTG's IP address monitoring features, in addition to automatically discovering all devices on your network, PRTG can do all of the above and more. This is because PRTG's IP address monitoring features are designed for more than just discovery – it is also continuously monitoring all the addresses in your IP address space to proactively alert you to any changes or problems before they can become larger issues.
The reason why you would really want to be able to see all IP addresses on a network is when you are troubleshooting specific issues like:
Occasionally, two devices on a network can be assigned the same IP address and bad things can happen. Detection involves looking for duplicate IP warnings in system logs, arp -a
ing for duplicate IP addresses with different MACs, and of course using a network scanner.
Unauthorized DHCP servers on a network cause severe network disruption and can take a while to track down and fix. Detection involves Nmap scanning for DHCP servers (sudo nmap --script broadcast-dhcp-discover -e eth0
), then comparing to the list of authorized DHCP servers (usually just one). Anything else you find should be further investigated.
Unauthorized devices can cause a range of issues from security concerns to consuming network resources. Regular network scans can help identify new, unexpected devices appearing on the network. Once you have a baseline of approved devices and their MAC addresses, you can use a scheduled scanning process to help detect new devices. MAC addresses of new devices can then be looked up against vendor databases to try and determine what kind of device is connecting to the network.
In many cases, you won't want to do these network scans manually, but rather automate them. Scripting/programming is usually required, for example:
A simple bash script running in cron on Linux would look something like this:
#!/bin/bash
#Linux example
date >> /var/log/network_scan.log
nmap -sn 192.168.1.0/24 >> /var/log/network_scan.log
This script would be scheduled to run in cron and append to a log file the results of a network scan. On Windows, you can do the same with PowerShell and Task Scheduler.
A: This is much harder than just IP address discovery, but there are some things you can do to try and figure this out:
One simple approach is to use Nmap with its operating system detection, e.g. : nmap -O 192.168.1.100
would give you some hints about this machine.
A: Some devices are specifically configured to ignore ICMP ping requests for security reasons, so you can't simply ping-sweep the network to find them. However, you can:
nmap -sn -PR 192.168.1.0/24
nmap -sT -p 80,443,22,3389 192.168.1.0/24
A: Basic IP scanning just shows you all the active IP addresses, but you can gather more information using other methods:
PRTG Network Monitor will automatically identify and classify a wide variety of device types based on these and other factors.
Ok, so now you know how to see all IP addresses on a network using command line tools and various applications. But, the value doesn't come from just this step of discovery in and of itself, but from all the knowledge you gain from understanding and mapping out your entire network.
In many cases, for home users or small businesses, a periodic scan using the built-in tools or free applications like Angry IP Scanner are sufficient. This is especially true if you are only manually troubleshooting specific problems.
But, in many cases, particularly as your network scales up, the stakes are much higher. Network problems cause major productivity issues, lost revenue, and security risks in these environments. That's why more comprehensive solutions are required, and a tool like PRTG Network Monitor really shines.
PRTG provides automatic, continuous visibility into your entire network. In addition to providing IP address monitoring as one of the basic building blocks, PRTG goes further to do the following:
PRTG Network Monitor provides much more than just IP address monitoring, but it's a critical part of your full network monitoring and management solution.
Ready to see what else you can do with PRTG? Try PRTG free for 30 days and experience how continuous network monitoring can revolutionize your network management.