LANScan24
Tool guide · Free & open source

Angry IP Scanner: install, scan and export a full LAN inventory

Reviewed 15 September 2026 · version 3.9.x · Windows, macOS, Linux

Angry IP Scanner is the fastest way to answer "what is actually on this subnet?" on any operating system. This guide walks the whole workflow — install, range, fetchers, scan, export — using the project's own screenshots, and explains what every column and marker means.

Download Angry IP Scanner Free · Windows, macOS, Linux

What it does

Angry IP Scanner (often written "ipscan") pings every address in a range you give it, and for each address that answers it runs a set of small plugins called fetchers — reverse DNS, MAC address, MAC vendor, open TCP ports, HTTP server banner, and more. The result is a flat table, one row per address, that you can sort and export. It is deliberately not a monitoring platform: there is no database, no agent and no scheduler.

It is released under GPLv2 and distributed as a portable executable, so it can run from a USB stick on a machine where you have no administrator rights.

Angry IP Scanner 3.9 on Windows 10: IP range 195.80.116.0 to 195.80.116.255 scanned, results table showing IP, Ping, Hostname, Ports and Web detect columns
The complete Angry IP Scanner window on Windows. Screenshot: angryip.org.
Licence
Free, open source (GPLv2)
Platforms
Windows, macOS, Linux (Java-based)
Install
Portable binary or installer
Discovery
ICMP ping, ARP-assisted MAC lookup, TCP port connect, DNS/NetBIOS names

Step by step

  1. 1. Install it

    Download only from angryip.org/download or the project's GitHub releases page. Pick the package for your platform:

    • Windows — the .exe installer, or the portable ipscan-win64-*.exe that runs with no installation at all.
    • macOS — the .dmg. On first launch use right-click → Open to get past Gatekeeper, since the build is not notarised under an Apple developer account.
    • Linux.deb or .rpm, or the plain .jar if you prefer to supply your own runtime.
    If it will not start:

    the bare .jar and some Linux packages need Java 11 or newer installed separately. The Windows and macOS bundles already contain a runtime.

    Antivirus warnings are expected.

    Several engines classify any IP/port scanner as a "hacktool" or "riskware". That is a category judgement, not a malware detection. Verify the checksum published on the download page before you allow the file, and never take the binary from a third-party download portal.

  2. 2. Set the IP range

    The top strip of the window is the entire scan configuration. Type the first address of your subnet on the left, the last on the right, and leave the selector on IP Range.

    Two shortcuts save you the arithmetic:

    • The IP↑ button loads the address of your own network interface into the range.
    • The netmask list beside it (/24, /16, …) instantly rewrites the start and end addresses to cover that whole prefix.

    For a typical home or small-office LAN this means 192.168.1.0 to 192.168.1.255, i.e. a /24.

    Angry IP Scanner toolbar close-up: IP Range fields, range type selector, Hostname field, IP up button, netmask dropdown set to /24 and the green Start button
    The range controls: start and end address, range type, the IP↑ button, the netmask selector and Start. Screenshot: angryip.org.

    The selector also offers Random and IP List File. The list-file mode is the practical one: feed it a text file of addresses exported from DHCP and re-scan exactly the same hosts every week.

  3. 3. Choose the fetchers

    Out of the box the table is thin — IP, ping, hostname, ports. Open Tools → Fetchers and move the ones you need from the left list to the right. For inventory work the useful set is:

    • MAC Address — the hardware address, read from the local ARP cache after the ping. Works on the local segment only.
    • MAC Vendor — turns the MAC's OUI prefix into a manufacturer name, which is how you spot the Raspberry Pi or the unexpected phone.
    • Web detect — the HTTP server banner, so printers, cameras and NAS boxes identify themselves.
    • Ports — set the port list in Tools → Preferences → Ports; something like 22,80,443,445,3389,8080 is enough to classify most hosts.
    • NetBIOS info — computer name, workgroup and logged-in user on Windows hosts that have no DNS record.

    In Preferences → Scanning you also control the two settings that decide accuracy: the ping timeout (raise it to 1000–2000 ms on Wi-Fi or across a VPN) and the thread count (lower it if a cheap router starts dropping traffic mid-scan).

    Display setting worth changing.

    In Preferences → Display, switch from "Alive hosts only" to scanning everything but displaying only hosts with open ports when you are hunting for services rather than counting devices.

  4. 4. Run it and read the results

    Press Start. A /24 with default settings finishes in a few seconds on a wired network. Each row carries a coloured marker in the first column:

    • Red — dead. No reply to the ping.
    • Green — alive, and at least one scanned port is open.
    • Blue — alive, but none of the scanned ports answered.
    Angry IP Scanner results table with IP, Ping, Hostname, Ports and Web detect columns; rows show response times in milliseconds, ports 80 and 443 open and web server banners Apache and Resin
    Results table. [n/a] and [n/s] are not the same thing — see below. Screenshot: angryip.org.
    What each column and placeholder means
    Column / valueMeaning
    PingRound-trip time in milliseconds for the ICMP echo. A value here is the proof the host is alive.
    HostnameReverse DNS, or the NetBIOS name if that fetcher is enabled.
    Ports [n+]Open ports found. The number in the header is how many ports were tested.
    Web detectThe Server: header returned on port 80/443 — Apache, Resin/4.0.37, printer firmware strings.
    [n/a]The fetcher ran and found nothing. No reverse DNS record, no open port, no banner.
    [n/s]Not scanned. The host did not answer the ping, so the remaining fetchers were skipped.

    The status bar at the bottom is the summary you write down: how many hosts were alive, and the thread count still running.

    Angry IP Scanner status bar showing Ready, Display: All and Threads: 0
    Status bar: scan state, the current display filter and live thread count. Screenshot: angryip.org.
  5. 5. Export the inventory

    Scan → Export all writes every row; Export selection writes only the highlighted ones. Four formats are offered:

    Export formats and what to do with them
    FormatUse it for
    CSVSpreadsheets, and diffing this week's scan against last week's with diff or a pivot table.
    TXTA fixed-width readable snapshot to paste into a ticket.
    XMLFeeding a CMDB or a script.
    IP:Port listHand-off to another tool that expects a target list.

    Angry IP Scanner has no scheduler, but the command line takes the same arguments as the GUI, so a weekly baseline is a one-line scheduled task:

    ipscan.exe -f:range 192.168.1.1 192.168.1.254 -o inventory.csv -q

    Keep the CSVs. A new MAC address appearing between two scans is the cheapest rogue device alert there is.

The same program on macOS and Linux

Angry IP Scanner is a Java application with a native SWT interface, so the layout, fetchers and shortcuts are identical on all three platforms — only the window chrome changes. Scans and exports made on one platform read correctly on the others.

Angry IP Scanner running on macOS, scanning the 172.28.43.x range with Canon HTTP Server banners detected on two hosts
macOS build. Note the Canon HTTP banners — networked printers found by the Web detect fetcher. Screenshot: angryip.org.
Angry IP Scanner running on Ubuntu Linux with the GTK interface
Linux build (GTK). Same fetchers, same export options. Screenshot: angryip.org.

Troubleshooting

Common failures and what actually fixes them
SymptomCauseFix
Everything is red although hosts are reachable Host firewalls drop ICMP echo Add ports to the Ports fetcher so TCP proves liveness; raise the ping timeout
MAC Address column is empty The target is behind a router, so it never enters your ARP cache MAC lookup only works on your own broadcast domain — run the scan from inside that VLAN
Scan finds far fewer hosts on Wi-Fi Client isolation / AP isolation is enabled Disable isolation on the access point, or scan from a wired port
Router becomes unresponsive during the scan Thread count exhausts the NAT/ARP table of consumer hardware Preferences → Scanning: drop threads to 20–30
Hostnames all show [n/a] No reverse DNS zone for the subnet Enable the NetBIOS info fetcher, which names most Windows and NAS devices
Program will not launch Missing Java runtime Install Java 11+ or switch to the bundled Windows/macOS package

FAQ

Is Angry IP Scanner safe to download?

Yes, when taken from the official site angryip.org or the project's GitHub releases. It is open source under GPLv2. Some antivirus engines flag any network scanner as a hacktool; verify the SHA-256 published on the download page rather than trusting a mirror.

Does Angry IP Scanner need Java?

The Windows and macOS packages bundle a Java runtime. The plain .jar and some Linux packages require Java 11 or newer to be installed separately.

Why do hosts show [n/a] in the Hostname column?

[n/a] means the fetcher ran and found nothing — typically no reverse DNS record and no NetBIOS reply. [n/s] means the fetcher was not scanned because the host did not answer the ping at all.

Can it scan more than one subnet at a time?

Not in a single range. Either widen the mask (a /16 covers 256 consecutive /24s, but takes far longer), or build an IP list file containing the addresses from every subnet and scan that.

Next step

Angry IP Scanner gives you the inventory. To turn that inventory into a diagram that shows which switch port each device is in, see how to map a local network, or go straight to Engineer's Toolset.