Skip to content

IPMG

📡 IPMG Network Scanner

Enterprise IP management and ping monitoring

Find live hosts, resolve networks, and export clean reports in minutes.

IPMG is a modern Python CLI for network administrators, cybersecurity teams, DevOps engineers, and SREs who need fast, repeatable visibility across IP ranges, spreadsheets, CIDR blocks, and local subnets.

ipmg scan
$ ipmg --discover --resolve --formats csv xlsx
Discovering local subnet... 192.168.1.0/24
Scanning 254 hosts with parallel workers

Status        Count
Active        132
Inactive      12
Unreachable   4
Timeout       2

Active Rate: 88.00%
Scan Duration: 6.24s

Authorized networks only

Do not use IPMG on networks without explicit authorization. Always obtain written approval from your organization's Cybersecurity or Network Security team before scanning.

Why Teams Use IPMG

Fast subnet discovery

Automatically detect and scan local network ranges, or pass a single IP, text file, CSV, Excel file, or CIDR block.

Parallel monitoring

Thread-pool pinging keeps large scans moving while recording failures as structured results instead of stopping the run.

Report-ready exports

Generate XLSX, CSV, and JSON outputs with batch timestamps, duration, latency, hostname, and status metadata.

Built for automation

Use scheduled recurrent scans, CLI flags, and CI-friendly project structure for repeatable network checks.

Best fit

IPMG is ideal for network admins, systems engineers, cybersecurity teams, DevOps teams, and SREs who need clear status reporting without building a custom scanner.

Product Highlights

  • Subnet auto-discovery
  • Parallel pinging with thread pools
  • Hostname resolution through PTR lookups
  • Multi-format reporting in XLSX, CSV, and JSON
  • Flexible target input from .xlsx, .csv, .txt, .list, literal IPs, and CIDR blocks
  • Scheduled recurrent scans with --interval
  • Auto-generated sample input files
  • Colorized CLI output with rich console panels, progress bars, and status summaries
  • Batch-level scan timestamps and duration tracking
  • Modular, testable Python package architecture

Installation

Option 1 — Install from PyPI

pip install ipmg
ipmg --help

Option 2 — Install with uv

uv tool install git+https://github.com/sameeralam3127/ipmg.git
ipmg --help

Option 3 — Development install

git clone https://github.com/sameeralam3127/ipmg.git
cd ipmg
pip install -e .
ipmg --help

Option 4 — Install with curl

curl -sSL https://raw.githubusercontent.com/sameeralam3127/ipmg/main/install.sh | bash
ipmg --help

Installer behavior

The installer checks for uv, installs it when needed, and installs IPMG globally through uv.

Common Commands

Use Case Command Description
Basic scan ipmg Runs with default config and creates a sample input file if missing.
Excel scan ipmg --input network_devices.xlsx Scans IPs from an Excel file with an IP Address column.
CSV scan ipmg --input network_devices.csv Scans IPs from a CSV file with an IP Address column.
Text scan ipmg --input targets.txt Scans one target per line. Blank lines and comments are ignored.
Single host ipmg --input 8.8.8.8 Scans a literal IP address.
CIDR range ipmg --input 192.168.1.0/24 Expands the CIDR block into host IPs and scans them.
LAN discovery ipmg --discover Automatically detects and scans devices in the local subnet.
CSV + XLSX export ipmg --formats csv xlsx Exports scan results in CSV and Excel formats.
Hostname lookup ipmg --resolve Performs reverse DNS lookups for hostnames.
Scheduled scan ipmg --interval 10 Repeats the scan every 10 minutes.

Sample Output

IPMG Summary

Status        Count
Active        132
Inactive      12
Unreachable   4
Timeout       2

Batch Timestamp: 2026-04-09 11:42:13
Total Hosts: 150
Active Rate: 88.00%
Completion Rate: 90.67%
Scan Duration: 6.24s

Input Formats

IPMG accepts targets from Excel files, CSV files, plain text files, literal IPs, and CIDR blocks.

For Excel and CSV inputs, include an IP Address column:

IP Address
192.168.1.1
10.0.0.1
10.0.1.0/30

Text files can contain one target per line:

# Production DNS
8.8.8.8
1.1.1.1
192.168.1.0/30

Output Format

Each exported row includes batch-level metadata so a single scan can be grouped reliably in downstream tools.

IP Address Status Latency Hostname Batch Timestamp Scan Duration (s)
8.8.8.8 Active 12.5 dns.google 2026-04-09 11:42:13 6.24

Possible status values include Active, Inactive, Timeout, Unreachable, Invalid IP, and Error.

Troubleshooting

Command not found: ipmg

Install IPMG with pip install ipmg, or use pip install -e . inside a cloned development checkout.

Permission denied output folder

Run IPMG inside a writable directory, choose a writable output path, or use elevated permissions only when your organization allows it.

Hostname unresolvable

The target may not have a DNS PTR record. The scan can still complete without hostname data.

One host crashes the scan

IPMG records unexpected per-host failures as Error and continues scanning the remaining targets.

macOS GUI Beta

A native macOS interface for IPMG is under active development.

Download the PingMonitorApp beta

License

MIT License. Free for commercial and personal use.

Made with Python and uv.