🚀 Nmaping - Python Nmap Automation Tool
A powerful, safe-by-default Nmap scanning toolkit built with Python for network reconnaissance, port scanning, and security auditing.
Developed by Mr Tan, this tool wraps complex Nmap commands into a simple, interactive, colorful CLI — built for ethical hackers, penetration testers, and cybersecurity learners working on systems they own or are authorized to test.
⚡ Key Features
- 🧠 20+ Automated Nmap Scan Modes — SYN, TCP connect, version, OS, vuln, firewall, Xmas, FIN, Null, and more
- ⚡ Timing Control (
-T0to-T5) for stealth vs. speed - 🚀 Parallel Batch Scanning — scan multiple targets concurrently (up to 10 workers) with
--min-ratetuning for speed - 🗂️ Scan History Log — every scan is recorded (target, type, timestamp, output file) for later review
- 🔁 Scan Comparison / Diff — compare two saved scans to see exactly what changed between runs
- 🧩 Custom NSE Script Runner — run any Nmap script by name (e.g.
http-title,ssl-cert) with input validation - 🌐 CIDR Subnet Discovery — quick host-discovery sweep across a whole subnet
- 🧠 Smart Result Caching — warns before re-scanning a target scanned in the last 30 minutes
- 🔐 Authorization Gate — requires explicit confirmation of ownership/permission before every scan
- 🛡️ Hardened Execution — targets and ports are validated and scans run via
subprocess(no shell injection risk) - 🎨 Interactive colorful CLI interface
- 🔄 Auto Update Checker (GitHub Sync)
- 🌐 Cross-platform (Linux & Windows)
🔍 Supported Scan Types
- SYN Scan
- TCP Connect Scan
- Version Detection
- OS Detection
- Aggressive Scan
- Vulnerability Scan (
--script vuln) - Custom NSE Script Scan
- Firewall Detection / ACK Scan
- Xmas / FIN / Null Scans
- Ping / No-Ping Scans
- Traceroute
- Top 1000 Ports / All Ports / Specific Port / UDP Ports
- Batch Scan (multiple targets, parallel)
- CIDR Subnet Host Discovery
- Full Combined Scan
⏱️ Timing Levels
| Mode | Flag | Description |
|---|---|---|
| Paranoid | -T0 |
Maximum stealth |
| Sneaky | -T1 |
Low detection risk |
| Polite | -T2 |
Light usage |
| Normal | -T3 |
Default mode |
| Aggressive | -T4 |
Fast scanning |
| Insane | -T5 |
Very fast (lab only) |
⚙️ Requirements
- Python 3.8+
- Nmap installed and available on your system
PATH requests(for update checks)
pip install nmaping
🖥️ Usage
python3 -m nmaping
Follow the on-screen menu to pick a scan type, enter your target, confirm authorization, and choose a timing template. Results are saved automatically to scan_results/.
⚠️ Legal & Ethical Use
This tool is intended strictly for authorized security testing — scanning systems you own, or systems you have explicit written permission to test (e.g. a client engagement, CTF, or personal lab). Unauthorized scanning of networks or systems you don't control may violate computer-crime laws (such as the U.S. CFAA, UK Computer Misuse Act, or equivalent local laws) even when no exploit is used.
Nmaping includes a built-in authorization confirmation step before every scan, but that step relies on the user acting in good faith. You are solely responsible for ensuring you have permission before scanning any target.
📜 License
Educational and ethical use only. See LICENSE for details.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nmaping-2.1.tar.gz.
File metadata
- Download URL: nmaping-2.1.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80061ec4d3a992d9ec549951c508a94d61a090542b06aaecd7d924e74beac14d
|
|
| MD5 |
78a0430c430c641fca8b993b97906f13
|
|
| BLAKE2b-256 |
bd8956895ecbaf61bb262784ff465ad9e9c0fbea4939b61bc6cce8e948a411d9
|
Provenance
The following attestation bundles were made for nmaping-2.1.tar.gz:
Publisher:
publish.yml on Mr74nX/nmaping
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nmaping-2.1.tar.gz -
Subject digest:
80061ec4d3a992d9ec549951c508a94d61a090542b06aaecd7d924e74beac14d - Sigstore transparency entry: 2792540445
- Sigstore integration time:
-
Permalink:
Mr74nX/nmaping@0dca3dd9692f1199260ac4210d15264820a44249 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Mr74nX
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0dca3dd9692f1199260ac4210d15264820a44249 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file nmaping-2.1-py3-none-any.whl.
File metadata
- Download URL: nmaping-2.1-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86eadd35404db4ecb6d77634a2df1e9965537b44cb6da5b24235e5d62947f58d
|
|
| MD5 |
6ec65b9e1d7b2c06fb5e5855bc322ad6
|
|
| BLAKE2b-256 |
928a160ab7d81ca73401b4eac00956361b2a181310e45ab7a620191f2ed72c25
|
Provenance
The following attestation bundles were made for nmaping-2.1-py3-none-any.whl:
Publisher:
publish.yml on Mr74nX/nmaping
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nmaping-2.1-py3-none-any.whl -
Subject digest:
86eadd35404db4ecb6d77634a2df1e9965537b44cb6da5b24235e5d62947f58d - Sigstore transparency entry: 2792540458
- Sigstore integration time:
-
Permalink:
Mr74nX/nmaping@0dca3dd9692f1199260ac4210d15264820a44249 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Mr74nX
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0dca3dd9692f1199260ac4210d15264820a44249 -
Trigger Event:
workflow_dispatch
-
Statement type: