LinuxCommandLibrary

ipscan

Scan network for live hosts

TLDR

Scan a specific IP address

$ ipscan [192.168.0.1]
copy

Scan a range of IP addresses
$ ipscan [192.168.0.1-254]
copy

Scan a range of IP addresses and save the results to a file
$ ipscan [192.168.0.1-254] -o [path/to/output.txt]
copy

Scan IPs with a specific set of ports
$ ipscan [192.168.0.1-254] -p [80,443,22]
copy

Scan with a delay between requests to avoid network congestion
$ ipscan [192.168.0.1-254] -d [200]
copy

Display help
$ ipscan --help
copy

SYNOPSIS

java -jar ipscan.jar [options] <scan_range>

The ipscan command is typically executed by invoking the Java Runtime Environment with the Angry IP Scanner JAR file. The <scan_range> argument specifies the IP addresses or CIDR block to scan, for example, 192.168.1.1-192.168.1.254 or 10.0.0.0/24.

PARAMETERS

-f <mode>
    Sets the scan mode. Common modes include 'range' for IP ranges, 'file' for scanning IPs from a file, and 'random' for a random range.

-r <range>
    Specifies the IP range to scan. Can be a hyphenated range (e.g., 192.168.1.1-254), a CIDR block (e.g., 10.0.0.0/24), or a single IP address.

-p <ports>
    Defines the ports to scan. Ports can be specified as a comma-separated list (e.g., 22,80,443), a hyphenated range (e.g., 1-1024), or a combination.

-o <file>
    Saves scan results to the specified file. The format is typically determined by the file extension (e.g., .txt, .csv, .xml).

-q
    Runs in quiet mode. Suppresses most console output, useful for scripting.

-s <scanner_list>
    Selects which data fetchers (scanners) to use. Examples include hostname, macaddress, http-server.

-x <exporter_list>
    Specifies which exporters to use for output. For example, TXT, CSV, XML.

-v
    Displays the version information of Angry IP Scanner.

-h
    Shows the help message and available command-line options.

DESCRIPTION

The ipscan command, often associated with Angry IP Scanner, is a widely used cross-platform network scanning utility. It's primarily known for its speed and simplicity in discovering active hosts and open ports within specified IP ranges.

Unlike many native Linux commands, ipscan (or Angry IP Scanner) is a Java-based application, meaning it requires a Java Runtime Environment (JRE) to run. It functions by concurrently pinging hosts to check for live systems and then attempting to connect to specified ports to determine their status (open, closed, or filtered).

Key features include customizable scan ranges, the ability to scan specific port lists, fetch hostnames, MAC addresses, and provide various export options for scan results. While a powerful graphical user interface (GUI) is available, it also offers a command-line interface for scripting and automated tasks.

CAVEATS

The primary caveat is that ipscan (as Angry IP Scanner) is a Java application, not a native Linux binary.
- It requires a Java Runtime Environment (JRE) to be installed and configured on the system.
- Its command-line interface might be less feature-rich or standardized compared to dedicated native tools like Nmap.
- Performance can sometimes be influenced by JRE version and system resources.
- Network firewalls, IDS/IPS systems, or host-based firewalls may detect and block its scanning activity, leading to incomplete or inaccurate results.

INSTALLATION AND USAGE NOTES

Since ipscan is distributed as a .jar file, installation typically involves downloading the executable .jar from the official Angry IP Scanner website. No traditional installation via package managers (like apt or yum) is usually required for the command-line version.

To run it from the command line, ensure Java is installed and then execute it using the command: java -jar /path/to/ipscan.jar. You can then append the command-line options and scan ranges as described in the synopsis and parameters sections.

OUTPUT FORMATS

Angry IP Scanner supports several output formats for scan results, making it versatile for integration with other tools or for various reporting needs. Common output formats include TXT (plain text), CSV (comma-separated values) for easy spreadsheet import, and XML (Extensible Markup Language) for structured data parsing.

HISTORY

The ipscan utility is most commonly recognized as Angry IP Scanner, originally created by Anton Kachalov. It began as a hobby project aiming to provide a fast and user-friendly IP scanner.

Its development has been focused on cross-platform compatibility, leading to its implementation in Java. Over the years, it has gained popularity among network administrators, security professionals, and casual users due to its intuitive graphical interface and efficient scanning capabilities, making it a go-to tool for quick network reconnaissance.

SEE ALSO

nmap(1), ping(8), netcat(1) (nc), fping(8)

Copied to clipboard