Angry IP Scanner is a free, open-source network scanner for Windows, macOS and Linux. It checks a list of IP addresses to find which hosts are alive, then collects details about each one, such as its hostname, MAC address and open ports. It works on local networks and Internet addresses and is aimed mainly at network administrators. The program uses the GPLv2 license. Users can copy and run it without installation.
Choosing which addresses to scan
Every scan starts with a feeder, the component that produces the list of addresses. Angry IP Scanner offers three:
- IP Range scans everything from a start address to an end address. You can apply a netmask to cover a whole subnet and enter a hostname to fill in its address.
- Random generates a chosen number of addresses from a base IP and an IP mask.
- Text File reads any text file and picks out everything that looks like an IP address, so logs or notes can serve as input.
You can save frequently used ranges as favorites and recall them from a menu.
How live hosts are found
Angry IP Scanner pings each address first. It treats a host that does not reply as dead and skips it. This keeps scans of mostly empty ranges short. A preference can turn this off to scan dead hosts as well. This helps when a firewall drops ping traffic. The program can also skip addresses ending in .0 and .255, since they are usually unassigned.
You can select the pinging method because no single method works everywhere:
- ICMP echo works like the standard ping command and needs administrator rights; Windows has its own ICMP method.
- UDP packet sends a packet to a port that is almost certainly closed. The host’s ICMP reply shows it is up. The program automatically chooses this method without administrator rights. It can pass where ICMP is blocked.
- TCP port probe tries to connect to a port such as 80; a connection or a reset counts as a reply.
- Combined UDP+TCP, Java built-in and ARP (local network only) are also available.
The number of ping probes and the timeout are adjustable. Each address gets its own scanning thread, up to a configurable maximum. This keeps large ranges fast.
Data collected per host
Angry IP Scanner gathers information through fetchers. Each enabled fetcher adds a column to the results list:
- Ping, TTL and Packet Loss: round-trip time, the TTL of returned packets, and how many of the sent ping packets were lost.
- Hostname: a reverse DNS lookup of the address.
- MAC Address and MAC Vendor: the hardware address resolved over ARP on the local network, plus the likely manufacturer of the network card.
- NetBIOS Info: the workgroup or domain, logged-in user and computer name of Windows machines, unless their firewall blocks it.
- Web detect and HTTP Proxy: the name and version of the web server software, and whether a working HTTP proxy runs on the host.
- HTTP Sender: a customizable request for any text protocol, such as HTTP, SMTP or IMAP.
- Comments: notes entered in the IP Details window, saved and shown again when the host is scanned later.
Port scanning
The Ports fetcher checks a user-defined list of TCP ports, entered as single numbers or ranges. It lists those that are open. A separate Filtered Ports fetcher shows ports hidden behind a firewall or router. The connect timeout can adapt to each host’s ping time. This lets the program check nearby machines quickly and give distant ones more time. With a text file as input, Angry IP Scanner can also scan the ports listed in that file for each host.
Working with the results
The results list can show all scanned hosts, only hosts that answered pings, or only hosts with open ports. Right-clicking a host opens it in another program through openers. Built-in openers launch a web browser, FTP, Telnet or SSH session, trace route, Whois lookup, geolocation or Windows shares for the address. Custom openers can run any command, optionally in a terminal.
You can export scan results as plain text, CSV, XML, SQL or an IP:Port list. The IP:Port list writes one line per open port on each live host, ready for use in other tools.
Command-line scanning
You can also run Angry IP Scanner from the command line, which suits scheduled or scripted scans. A command names one feeder with its arguments and an output file. The program chooses the exporter from the file extension. Options start the scan automatically, quit once the program exports the results, and append to an existing file instead of overwriting it.
Plugins for new data
Because Angry IP Scanner is written in Java, users can extend it with plugins packaged as standard JAR files. A plugin can add a fetcher, a pinger, an exporter or a feeder. The program loads plugins at startup from its own folder or from the .ipscan folder in the user’s home directory.





