IPMG
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 --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
Automatically detect and scan local network ranges, or pass a single IP, text file, CSV, Excel file, or CIDR block.
Thread-pool pinging keeps large scans moving while recording failures as structured results instead of stopping the run.
Generate XLSX, CSV, and JSON outputs with batch timestamps, duration, latency, hostname, and status metadata.
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.