Knowing who is connected to your network can be helpful at times. For instance, you may need to check the status of certain devices (whether they're up or down), find spare static IP addresses, or make an inventory of devices. Furthermore, this information can also help you identify any unauthorized access to your network and shared resources.

While you can check the connected IPs from your router’s configuration page, it does not show the static IP addresses. Luckily, there are several other ways that let you find all the IP addresses on a network. Let’s explore some of them.

Finding IP Addresses on a Network Using arp

arp is a built-in command line utility used to view and modify a system’s ARP cache. It is also used to find the MAC address of a system for a given IP address as the ARP cache stores IP to MAC address mapping for the system it communicates with.

Using the arp command, you can also find all IP addresses on your network. If arp is not pre-installed on your Linux machine or is mistakenly removed, you can install it with the following simple command:

On Debian-based distributions including Ubuntu:

        sudo apt install net-tools
    

On RHEL-based distributions:

        sudo dnf install net-tools
    

On Arch-based distributions:

        sudo pacman -S net-tools
    

To find all IP addresses on your network, use the arp command without any arguments:

        arp
    
arp command running on linux

On Windows, you can get the same information using the -a flag:

        arp -a
    

Finding IP Addresses on a Network Using Nmap

Nmap is a free and open-source tool used for network scanning and mapping. Using Nmap, you can find out who is connected to your network, their IP and MAC addresses, operating system details, and the services they are running. It is a cross-platform tool available for both Linux and Windows.

To find all IP addresses on a network, use the nmap command:

        sudo nmap -sn <network-ID>/<network-prefix>
    

Let's say to find all IP addresses on the network 192.168.22.0/24, you need to run:

        sudo nmap -sn 192.168.22.0/24
    

The -sn option tells Nmap to perform only host scan (not probe the ports).

nmap host scan for ip addresses

To print only the IP addresses and remove other information, use the command below.

        sudo nmap -sn <network-ID>/<network-prefix> | grep report | awk '{ print $5 }'
    

The above command (with the -sn flag) only works on Linux.

You can also find the OS information associated with these IP addresses using the following command:

        sudo nmap -sT -O <network-ID>/<network prefix>
    
nmap with OS detection

Using Angry IP Scanner

Angry IP Scanner is an open-source and cross-platform IP address and port scanner that pings each IP address in the defined range to check if it’s alive and responding. For each alive host, it determines its hostname, MAC address, hardware manufacturer, and open ports.

You can also export the scanned results in a CSV, TXT, and XML file. Angry IP Scanner is available for Linux, Windows, and macOS.

Installing Angry IP Scanner on Linux

On Linux distributions such as Ubuntu, Debian, and Fedora, you can easily install Angry IP Scanner by downloading its DEB or RPM package, either from the GitHub Releases page or using the wget command.

Download: Angry IP Scanner

On Debian-based distributions:

        wget https://github.com/angryip/ipscan/releases/download/3.9.1/ipscan_3.9.1_amd64.deb
    

Install the package using APT:

        sudo apt install ./ipscan*.deb
    

On RHEL-based distributions:

        wget https://github.com/angryip/ipscan/releases/download/3.9.1/ipscan-3.9.1-1.x86_64.rpm
    

Then, use DNF to perform a local package installation:

        sudo yum localinstall ipscan*.rpm
    

A manual download from the GitHub page is recommended if you want the latest version of the software.

On Arch Linux, you can install Angry IP Scanner from the Arch User Repository (AUR) using yay:

        yay -S ipscan
    

Installing Angry IP Scanner on Windows

To install Angry IP Scanner on Windows, download the installer file from the GitHub Releases page. Once downloaded, double-click the installer file to install it.

Download: Angry IP Scanner (Windows)

To find all the IP addresses on your network, launch Angry IP Scanner and specify the IP range (starting and ending IP address) or the network ID with prefix. You can also scan IP addresses from a text file. Then, click the Start button to start the scanning process.

Once the scanning is complete, it will display all the IP addresses scanned in the defined range. You can also include additional details like MAC address, MAC vendor, ports, etc. in the results from the Tools > Fetchers option.

angry IP scanner running on windows

From Tools > Preferences, you can configure further settings such as scanning dead hosts, enabling port scan, and changing the pinging method and display settings.

Listing IP Addresses in a Network Using Netdiscover

Netdiscover is another useful command-line network exploration utility that can discover all active hosts on a network using ARP requests. For all the discovered hosts, it displays their IP addresses, MAC addresses, and hardware manufacturer.

You can also use the Netdiscover utility to find all the IP addresses on your network. However, the Netdiscover tool is only available for Linux.

On Linux distributions, you can install Netdiscover using the following commands:

On Debian-based distributions:

        sudo apt install netdiscover
    

To install Netdiscover from the Snap Store, install snap on your system first and then run the following command:

        sudo snap install netdiscover-ondra
    

On Arch Linux, you'll first need to install and set up yay. Then, install Netdiscover by running:

        yay -S netdiscover
    

Once installed, you can use the netdiscover command to discover all IP addresses on your network as follows:

        netdiscover -r <network-ID>/<network-prefix>
    
netdiscover finding ip addresses on a network

Discovering All IP Addresses on Your Network

Knowing all IP addresses on a network can help you identify potential security risks and troubleshoot connectivity issues. Basic commands like arp and netdiscover can provide a list of connected devices by their IP and MAC addresses, while tools such as Nmap and Angry IP Scanner can give you further insights into live hosts.

Once you are aware of who is connected to your network, finding who and what is using the network's bandwidth can further enhance your network's security and efficiency.