IPMG (IP Management Tool) is a modern, modular, enterprise-ready network scanner and monitoring utility.
It replaces the legacy ip_pinger.py script with a clean package architecture, CLI tooling, and automated workflows.
Designed for:
- Network administrators
- Systems engineers
- Cybersecurity teams
- DevOps and SREs
IPMG supports:
- Subnet auto-discovery
- Parallel pinging with thread pools
- Hostname resolution
- Multi-format reporting (XLSX/CSV/JSON)
- Scheduled recurrent scans
- Auto-generated sample Excel input
- Colorized CLI output
- Modular testable architecture
Do NOT use this tool on networks without explicit authorization. Always obtain written approval from your organization's Cybersecurity / Network Security team. Unauthorized scanning may violate internal policies or law.
IPMG includes a built-in disclaimer shown at runtime (security.py).
Not a single script anymore — now a clean, testable package.
Installed system-wide or via uv.
Scan your /24 instantly:
ipmg --discover
Scans hundreds of hosts in seconds.
If the input file is missing:
ip_list.xlsx
is created automatically.
--formats xlsx csv json
--resolve
--interval 5
Runs every 5 minutes.
uv tool install git+https://github.com/sameeralam3127/IP_Management.git
Test:
ipmg --help
git clone https://github.com/sameeralam3127/IP_Management.git
cd IP_Management
pip install -e .Now:
ipmg --help
curl -sSL https://raw.githubusercontent.com/sameeralam3127/IP_Management/main/install.sh | bashThis script:
- Installs uv if missing
- Installs ipmg globally into uv
ipmg --help
ipmg
If ip_list.xlsx does not exist → it will be created with sample IPs.
ipmg --input network_devices.xlsx
ipmg --discover
ipmg --formats csv xlsx
ipmg --resolve
ipmg --interval 10
IP_Management/
├── install.sh
├── pyproject.toml
├── src/
│ └── ipmg/
│ ├── cli.py
│ ├── ping.py
│ ├── discover.py
│ ├── io_handlers.py
│ ├── reporting.py
│ ├── utils.py
│ ├── security.py
│ └── __init__.py
└── tests/
├── test_ping.py
├── test_utils.py
└── test_discover.py
Run all tests:
uv run pytest
uv run ruff check . --fix
uv run ruff format .
uv run black .
Install:
uv run pre-commit install
Run manually:
uv run pre-commit run --all-files
=== IPMG Summary ===
Active: 132
Inactive: 12
Unreachable: 4
Timeout: 2
Success Rate: 88.00%
Example:
| IP Address |
|---|
| 192.168.1.1 |
| 10.0.0.1 |
| 8.8.8.8 |
| IP Address | Status | Latency | Hostname | Timestamp |
|---|---|---|---|---|
| 8.8.8.8 | Active | 12.5 ms | dns.google | 2025-10-12 18:40:15 |
Solution:
pip install -e .
Run inside a writeable directory or use:
sudo ipmg ...
Likely missing DNS PTR records.
A native macOS interface for IPMG is under active development.
Download Beta:
👉 https://github.com/sameeralam3127/IP_Management/releases/tag/macOS
MIT License — free for commercial and personal use.
Made with ❤️ using Python & uv.