nmaping 1.8__tar.gz → 2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
nmaping-2.0/PKG-INFO ADDED
@@ -0,0 +1,105 @@
1
+ Metadata-Version: 2.4
2
+ Name: nmaping
3
+ Version: 2.0
4
+ Summary: An automation and network scanning utility tool.
5
+ Author-email: "Mr. Tan" <mrtanvai@gmail.com>
6
+ License: Custom License
7
+ Project-URL: Homepage, https://github.com/Mr74nX/nmaping
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Operating System :: POSIX :: Linux
10
+ Requires-Python: >=3.9
11
+ Description-Content-Type: text/markdown
12
+ Requires-Dist: requests
13
+
14
+ # 🚀 Nmaping - Python Nmap Automation Tool
15
+
16
+ A powerful, safe-by-default **Nmap scanning toolkit** built with Python for network reconnaissance, port scanning, and security auditing.
17
+
18
+ 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.
19
+
20
+ ---
21
+
22
+ ## ⚡ Key Features
23
+
24
+ - 🧠 **20+ Automated Nmap Scan Modes** — SYN, TCP connect, version, OS, vuln, firewall, Xmas, FIN, Null, and more
25
+ - ⚡ **Timing Control** (`-T0` to `-T5`) for stealth vs. speed
26
+ - 🚀 **Parallel Batch Scanning** — scan multiple targets concurrently (up to 10 workers) with `--min-rate` tuning for speed
27
+ - 🗂️ **Scan History Log** — every scan is recorded (target, type, timestamp, output file) for later review
28
+ - 🔁 **Scan Comparison / Diff** — compare two saved scans to see exactly what changed between runs
29
+ - 🧩 **Custom NSE Script Runner** — run any Nmap script by name (e.g. `http-title`, `ssl-cert`) with input validation
30
+ - 🌐 **CIDR Subnet Discovery** — quick host-discovery sweep across a whole subnet
31
+ - 🧠 **Smart Result Caching** — warns before re-scanning a target scanned in the last 30 minutes
32
+ - 🔐 **Authorization Gate** — requires explicit confirmation of ownership/permission before every scan
33
+ - 🛡️ **Hardened Execution** — targets and ports are validated and scans run via `subprocess` (no shell injection risk)
34
+ - 🎨 Interactive colorful CLI interface
35
+ - 🔄 Auto Update Checker (GitHub Sync)
36
+ - 🌐 Cross-platform (Linux & Windows)
37
+
38
+ ---
39
+
40
+ ## 🔍 Supported Scan Types
41
+
42
+ - SYN Scan
43
+ - TCP Connect Scan
44
+ - Version Detection
45
+ - OS Detection
46
+ - Aggressive Scan
47
+ - Vulnerability Scan (`--script vuln`)
48
+ - Custom NSE Script Scan
49
+ - Firewall Detection / ACK Scan
50
+ - Xmas / FIN / Null Scans
51
+ - Ping / No-Ping Scans
52
+ - Traceroute
53
+ - Top 1000 Ports / All Ports / Specific Port / UDP Ports
54
+ - Batch Scan (multiple targets, parallel)
55
+ - CIDR Subnet Host Discovery
56
+ - Full Combined Scan
57
+
58
+ ---
59
+
60
+ ## ⏱️ Timing Levels
61
+
62
+ | Mode | Flag | Description |
63
+ |------|------|-------------|
64
+ | Paranoid | `-T0` | Maximum stealth |
65
+ | Sneaky | `-T1` | Low detection risk |
66
+ | Polite | `-T2` | Light usage |
67
+ | Normal | `-T3` | Default mode |
68
+ | Aggressive | `-T4` | Fast scanning |
69
+ | Insane | `-T5` | Very fast (lab only) |
70
+
71
+ ---
72
+
73
+ ## ⚙️ Requirements
74
+
75
+ - Python 3.8+
76
+ - [Nmap](https://nmap.org/download.html) installed and available on your system `PATH`
77
+ - `requests` (for update checks)
78
+
79
+ ```bash
80
+ pip install nmaping
81
+ ```
82
+
83
+ ---
84
+
85
+ ## 🖥️ Usage
86
+
87
+ ```bash
88
+ python3 -m nmaping
89
+ ```
90
+
91
+ 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/`.
92
+
93
+ ---
94
+
95
+ ## ⚠️ Legal & Ethical Use
96
+
97
+ 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.
98
+
99
+ 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.**
100
+
101
+ ---
102
+
103
+ ## 📜 License
104
+
105
+ Educational and ethical use only. See `LICENSE` for details.
nmaping-2.0/README.md ADDED
@@ -0,0 +1,92 @@
1
+ # 🚀 Nmaping - Python Nmap Automation Tool
2
+
3
+ A powerful, safe-by-default **Nmap scanning toolkit** built with Python for network reconnaissance, port scanning, and security auditing.
4
+
5
+ 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.
6
+
7
+ ---
8
+
9
+ ## ⚡ Key Features
10
+
11
+ - 🧠 **20+ Automated Nmap Scan Modes** — SYN, TCP connect, version, OS, vuln, firewall, Xmas, FIN, Null, and more
12
+ - ⚡ **Timing Control** (`-T0` to `-T5`) for stealth vs. speed
13
+ - 🚀 **Parallel Batch Scanning** — scan multiple targets concurrently (up to 10 workers) with `--min-rate` tuning for speed
14
+ - 🗂️ **Scan History Log** — every scan is recorded (target, type, timestamp, output file) for later review
15
+ - 🔁 **Scan Comparison / Diff** — compare two saved scans to see exactly what changed between runs
16
+ - 🧩 **Custom NSE Script Runner** — run any Nmap script by name (e.g. `http-title`, `ssl-cert`) with input validation
17
+ - 🌐 **CIDR Subnet Discovery** — quick host-discovery sweep across a whole subnet
18
+ - 🧠 **Smart Result Caching** — warns before re-scanning a target scanned in the last 30 minutes
19
+ - 🔐 **Authorization Gate** — requires explicit confirmation of ownership/permission before every scan
20
+ - 🛡️ **Hardened Execution** — targets and ports are validated and scans run via `subprocess` (no shell injection risk)
21
+ - 🎨 Interactive colorful CLI interface
22
+ - 🔄 Auto Update Checker (GitHub Sync)
23
+ - 🌐 Cross-platform (Linux & Windows)
24
+
25
+ ---
26
+
27
+ ## 🔍 Supported Scan Types
28
+
29
+ - SYN Scan
30
+ - TCP Connect Scan
31
+ - Version Detection
32
+ - OS Detection
33
+ - Aggressive Scan
34
+ - Vulnerability Scan (`--script vuln`)
35
+ - Custom NSE Script Scan
36
+ - Firewall Detection / ACK Scan
37
+ - Xmas / FIN / Null Scans
38
+ - Ping / No-Ping Scans
39
+ - Traceroute
40
+ - Top 1000 Ports / All Ports / Specific Port / UDP Ports
41
+ - Batch Scan (multiple targets, parallel)
42
+ - CIDR Subnet Host Discovery
43
+ - Full Combined Scan
44
+
45
+ ---
46
+
47
+ ## ⏱️ Timing Levels
48
+
49
+ | Mode | Flag | Description |
50
+ |------|------|-------------|
51
+ | Paranoid | `-T0` | Maximum stealth |
52
+ | Sneaky | `-T1` | Low detection risk |
53
+ | Polite | `-T2` | Light usage |
54
+ | Normal | `-T3` | Default mode |
55
+ | Aggressive | `-T4` | Fast scanning |
56
+ | Insane | `-T5` | Very fast (lab only) |
57
+
58
+ ---
59
+
60
+ ## ⚙️ Requirements
61
+
62
+ - Python 3.8+
63
+ - [Nmap](https://nmap.org/download.html) installed and available on your system `PATH`
64
+ - `requests` (for update checks)
65
+
66
+ ```bash
67
+ pip install nmaping
68
+ ```
69
+
70
+ ---
71
+
72
+ ## 🖥️ Usage
73
+
74
+ ```bash
75
+ python3 -m nmaping
76
+ ```
77
+
78
+ 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/`.
79
+
80
+ ---
81
+
82
+ ## ⚠️ Legal & Ethical Use
83
+
84
+ 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.
85
+
86
+ 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.**
87
+
88
+ ---
89
+
90
+ ## 📜 License
91
+
92
+ Educational and ethical use only. See `LICENSE` for details.
@@ -0,0 +1,5 @@
1
+ __version__ = "2.0"
2
+
3
+ from .nmap import main
4
+
5
+ __all__ = ["main"]
@@ -0,0 +1,285 @@
1
+ #!/usr/bin/env python3
2
+ # NmapEasy - Powerful Nmap wrapper toolkit
3
+ # Author: Mr Tan | https://github.com/Mr74nX
4
+
5
+ import os
6
+ import re
7
+ import sys
8
+ import time
9
+ import shutil
10
+ import platform
11
+ import argparse
12
+ import subprocess
13
+ from datetime import datetime
14
+
15
+ try:
16
+ import requests
17
+ except ImportError:
18
+ requests = None
19
+
20
+ # ------------------------- Colors -------------------------
21
+ red = "\x1b[38;5;196m"
22
+ green = "\033[38;5;156m"
23
+ blue = "\033[38;5;75m"
24
+ white = "\033[38;5;231m"
25
+ orange = "\033[38;5;208m"
26
+ cyan = "\033[1;36m"
27
+ reset = "\033[0m"
28
+
29
+ # ------------------------- Paths -------------------------
30
+ BASE_DIR = os.path.join(os.path.expanduser("~"), ".nmapeasy")
31
+ RESULTS_DIR = os.path.join(BASE_DIR, "results")
32
+ HISTORY_FILE = os.path.join(BASE_DIR, "history.log")
33
+
34
+ os.makedirs(RESULTS_DIR, exist_ok=True)
35
+
36
+ # ------------------------- Version -------------------------
37
+ def get_version():
38
+ if requests is None:
39
+ return "1.0"
40
+ try:
41
+ return requests.get(
42
+ "https://raw.githubusercontent.com/Mr74nX/Nmap-scaning/main/version.txt",
43
+ timeout=5,
44
+ ).text.strip()
45
+ except Exception:
46
+ return "1.0"
47
+
48
+ version = get_version()
49
+
50
+ def clear():
51
+ os.system("cls" if platform.system() == "Windows" else "clear")
52
+
53
+ author_data = f"{orange}Author{white}: {green}Mr Tan\n{orange}GitHub{white}: {blue}https://github.com/Mr74nX"
54
+ logo = f"""{red}
55
+ ███▄ █ ███▄ ▄███▓ ▄▄▄ ██▓███
56
+ ██ ▀█ █ ▓██▒▀█▀ ██▒▒████▄ ▓██░ ██▒
57
+ ▓██ ▀█ ██▒▓██ ▓██░▒██ ▀█▄ ▓██░ ██▓▒
58
+ ▓██▒ ▐▌██▒▒██ ▒██ ░██▄▄▄▄██ ▒██▄█▓▒ ▒
59
+ ▒██░ ▓██░▒██▒ ░██▒ ▓█ ▓██▒▒██▒ ░ ░
60
+ ░ ▒░ ▒ ▒ ░ ▒░ ░ ░ ▒▒ ▓▒█░▒▓▒░ ░ ░
61
+ ░ ░░ ░ ▒░░ ░ ░ ▒ ▒▒ ░░▒ ░
62
+ ░ ░ ░ ░ ░ ░ ▒ ░░
63
+ ░ ░ ░ ░
64
+ {cyan}v{white}={orange}{version}
65
+ {author_data}
66
+
67
+ """
68
+
69
+ # ------------------------- Validation -------------------------
70
+ IP_RE = re.compile(r"^(\d{1,3}\.){3}\d{1,3}(/\d{1,2})?$")
71
+ HOSTNAME_RE = re.compile(r"^[a-zA-Z0-9]([a-zA-Z0-9\-\.]{0,253})[a-zA-Z0-9]$")
72
+
73
+ def validate_target(target: str) -> bool:
74
+ target = target.strip()
75
+ if not target:
76
+ return False
77
+ if IP_RE.match(target):
78
+ parts = target.split("/")[0].split(".")
79
+ return all(0 <= int(p) <= 255 for p in parts)
80
+ return bool(HOSTNAME_RE.match(target)) or target == "localhost"
81
+
82
+ def prompt_target() -> str:
83
+ while True:
84
+ target = input(f"{orange}=>{green} Enter the target IP or domain{white}:{blue} ").strip()
85
+ if validate_target(target):
86
+ return target
87
+ print(f"{red}=> Invalid target. Try again (e.g. 192.168.1.1 or example.com)")
88
+
89
+ def check_nmap_installed() -> bool:
90
+ return shutil.which("nmap") is not None
91
+
92
+ def authorization_gate(target: str) -> bool:
93
+ print(f"\n{orange}=>{red} LEGAL WARNING{white}: Only scan systems you own or have explicit permission to test.")
94
+ ans = input(f"{orange}=>{green} Confirm you are authorized to scan {blue}{target}{green} (y/n){white}: ").strip().lower()
95
+ return ans == "y"
96
+
97
+ # ------------------------- History / Output -------------------------
98
+ def log_history(target: str, scan_name: str, cmd: str, duration: float):
99
+ ts = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
100
+ with open(HISTORY_FILE, "a", encoding="utf-8") as f:
101
+ f.write(f"[{ts}] target={target} scan={scan_name} duration={duration:.1f}s cmd={cmd}\n")
102
+
103
+ def output_path(target: str, scan_name: str) -> str:
104
+ ts = datetime.now().strftime("%Y%m%d_%H%M%S")
105
+ safe_target = re.sub(r"[^a-zA-Z0-9_.-]", "_", target)
106
+ safe_scan = re.sub(r"[^a-zA-Z0-9_.-]", "_", scan_name)
107
+ return os.path.join(RESULTS_DIR, f"{safe_target}_{safe_scan}_{ts}.txt")
108
+
109
+ def get_timing_template() -> str:
110
+ print(f"\n{orange}==={green} Select Nmap Timing Template {orange}===")
111
+ print(f"{orange}0{white}.{green} Paranoid {red}({orange}0 {white}-{green} Very Slow, bypass IDS{red}){white}")
112
+ print(f"{orange}1{white}.{green} Sneaky {red}({orange}1 {white}- {green}Slow{red}){white}")
113
+ print(f"{orange}2{white}.{green} Polite {red}({orange}2 {white}- {green}Moderate{red}){white}")
114
+ print(f"{orange}3{white}.{green} Normal {red}({orange}3 {white}- {green}Default Speed{red}){white}")
115
+ print(f"{orange}4{white}.{green} Aggressive {red}({orange}4 {white}- {green}Fast & Recommended{red}){white}")
116
+ print(f"{orange}5{white}.{green} Insane {red}({orange}5 {white}- {green}Extremely Fast{red}){white}")
117
+ t_choice = input(f"\n{orange}=>{green} Choose Speed {red}({green}0-5, Default is 3{red}){white}:{green} ").strip()
118
+ return f"-T{t_choice}" if t_choice in "012345" else "-T3"
119
+
120
+ # ------------------------- Scan Profiles -------------------------
121
+ # name : nmap args template ({port} substituted if present)
122
+ SCAN_PROFILES = {
123
+ "1": ("SYN Scan", "-sS"),
124
+ "2": ("Version Detection", "-sV"),
125
+ "3": ("Vulnerability Scan", "--script vuln"),
126
+ "4": ("OS Detection", "-O"),
127
+ "5": ("No Port (Host Discovery)", "-sn"),
128
+ "6": ("Specific Port", "-p {port}"),
129
+ "7": ("Top 1000 Ports", "--top-ports 1000"),
130
+ "8": ("UDP Scan", "-sU"),
131
+ "9": ("Aggressive Scan", "-A"),
132
+ "10": ("Firewall/ACK Detection", "-sA"),
133
+ "11": ("Default Script Scan", "-sC"),
134
+ "12": ("Traceroute", "--traceroute"),
135
+ "13": ("All Ports", "-p-"),
136
+ "14": ("Ping Scan", "-sP"),
137
+ "15": ("No Ping Scan", "-Pn"),
138
+ "16": ("TCP Connect", "-sT"),
139
+ "17": ("Xmas Scan", "-sX"),
140
+ "18": ("FIN Scan", "-sF"),
141
+ "19": ("Null Scan", "-sN"),
142
+ "20": ("Custom (enter your own flags)", None),
143
+ "21": ("Full Deep Scan (slow, everything)",
144
+ "-A -sS -sV --script vuln -O --top-ports 1000 -sU -sC --traceroute -p-"),
145
+ }
146
+
147
+ # ------------------------- Core Runner -------------------------
148
+ def run_scan(target: str, scan_id: str, timing: str, save: bool = True):
149
+ name, args_template = SCAN_PROFILES[scan_id]
150
+
151
+ if args_template is None:
152
+ args_template = input(f"{orange}=>{green} Enter custom nmap flags{white}: ").strip()
153
+
154
+ if "{port}" in args_template:
155
+ port = input(f"{orange}=>{green} Enter the port number/range{white}:{blue} ").strip()
156
+ args_template = args_template.format(port=port)
157
+
158
+ cmd = f"nmap {args_template} {timing} {target}"
159
+ print(f"\n{orange}=>{green} Running {blue}{name}{green} on {blue}{target}{green} | {orange}{timing}{white}")
160
+ print(f"{orange}=>{white} {cmd}\n")
161
+
162
+ start = time.time()
163
+ try:
164
+ result = subprocess.run(cmd, shell=True, capture_output=True, text=True)
165
+ output = result.stdout + result.stderr
166
+ except Exception as e:
167
+ output = f"Error running scan: {e}"
168
+ duration = time.time() - start
169
+
170
+ print(output)
171
+ print(f"{orange}=>{green} Done in {orange}{duration:.1f}s{white}")
172
+
173
+ log_history(target, name, cmd, duration)
174
+
175
+ if save:
176
+ path = output_path(target, name)
177
+ with open(path, "w", encoding="utf-8") as f:
178
+ f.write(f"Command: {cmd}\nDuration: {duration:.1f}s\n\n{output}")
179
+ print(f"{orange}=>{green} Saved to {blue}{path}{white}")
180
+
181
+ def show_history(limit: int = 15):
182
+ clear()
183
+ print(logo)
184
+ if not os.path.exists(HISTORY_FILE):
185
+ print(f"{red}=> No scan history yet.")
186
+ else:
187
+ with open(HISTORY_FILE, encoding="utf-8") as f:
188
+ lines = f.readlines()[-limit:]
189
+ for line in lines:
190
+ print(f"{green}{line.strip()}{white}")
191
+ input(f"\n{orange}=>{green} Press Enter to menu...")
192
+
193
+ # ------------------------- Interactive Menu -------------------------
194
+ def print_menu():
195
+ clear()
196
+ print(logo)
197
+ print(f"{orange}=> {green}Welcome to NmapEasy")
198
+ for key in [str(i) for i in range(1, 22)]:
199
+ name = SCAN_PROFILES[key][0]
200
+ print(f"{orange}{key}{white}.{green} {name}")
201
+ print(f"{orange}H{white}.{green} View Scan History")
202
+ print(f"{orange}0{white}.{green} Exit")
203
+
204
+ def menu():
205
+ if not check_nmap_installed():
206
+ print(f"{red}=> Nmap is not installed or not in PATH. Install it first (e.g. apt install nmap).")
207
+ sys.exit(1)
208
+
209
+ while True:
210
+ print_menu()
211
+ choice = input(f"{orange}=>{green} Enter your choice{white}:{green} ").strip().upper()
212
+
213
+ if choice == "0":
214
+ print(f"{red}Exiting...")
215
+ sys.exit()
216
+ elif choice == "H":
217
+ show_history()
218
+ continue
219
+ elif choice in SCAN_PROFILES:
220
+ clear()
221
+ print(logo)
222
+ target = prompt_target()
223
+ if not authorization_gate(target):
224
+ print(f"{red}=> Authorization not confirmed. Aborting scan.")
225
+ time.sleep(2)
226
+ continue
227
+ timing = get_timing_template()
228
+ run_scan(target, choice, timing)
229
+ input(f"\n{orange}=>{green} Press Enter to menu...")
230
+ else:
231
+ print(f"{red}Invalid choice. Please try again.")
232
+ time.sleep(1.5)
233
+
234
+ # ------------------------- CLI Mode -------------------------
235
+ def cli_main():
236
+ parser = argparse.ArgumentParser(description="NmapEasy - Powerful Nmap wrapper toolkit")
237
+ parser.add_argument("-t", "--target", help="Target IP or domain")
238
+ parser.add_argument("-s", "--scan", help="Scan profile ID (see --list)")
239
+ parser.add_argument("-T", "--timing", default="-T3", help="Timing template, e.g. -T4 (default -T3)")
240
+ parser.add_argument("-p", "--port", help="Port(s) for scan profile 6")
241
+ parser.add_argument("--no-save", action="store_true", help="Don't save output to a file")
242
+ parser.add_argument("--list", action="store_true", help="List all scan profiles and exit")
243
+ parser.add_argument("-y", "--yes", action="store_true", help="Skip authorization confirmation prompt")
244
+ args = parser.parse_args()
245
+
246
+ if args.list:
247
+ print(logo)
248
+ for key, (name, _) in SCAN_PROFILES.items():
249
+ print(f"{orange}{key}{white}: {green}{name}")
250
+ return
251
+
252
+ if not args.target or not args.scan:
253
+ menu()
254
+ return
255
+
256
+ if not check_nmap_installed():
257
+ print(f"{red}=> Nmap is not installed or not in PATH.")
258
+ sys.exit(1)
259
+
260
+ if not validate_target(args.target):
261
+ print(f"{red}=> Invalid target.")
262
+ sys.exit(1)
263
+
264
+ if args.scan not in SCAN_PROFILES:
265
+ print(f"{red}=> Unknown scan profile. Use --list to see options.")
266
+ sys.exit(1)
267
+
268
+ if not args.yes and not authorization_gate(args.target):
269
+ print(f"{red}=> Authorization not confirmed. Aborting.")
270
+ sys.exit(1)
271
+
272
+ name, template = SCAN_PROFILES[args.scan]
273
+ if template and "{port}" in template:
274
+ if not args.port:
275
+ print(f"{red}=> This profile needs --port.")
276
+ sys.exit(1)
277
+ SCAN_PROFILES[args.scan] = (name, template.format(port=args.port))
278
+
279
+ run_scan(args.target, args.scan, args.timing, save=not args.no_save)
280
+
281
+ if __name__ == "__main__":
282
+ if len(sys.argv) > 1:
283
+ cli_main()
284
+ else:
285
+ menu()
@@ -0,0 +1,105 @@
1
+ Metadata-Version: 2.4
2
+ Name: nmaping
3
+ Version: 2.0
4
+ Summary: An automation and network scanning utility tool.
5
+ Author-email: "Mr. Tan" <mrtanvai@gmail.com>
6
+ License: Custom License
7
+ Project-URL: Homepage, https://github.com/Mr74nX/nmaping
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Operating System :: POSIX :: Linux
10
+ Requires-Python: >=3.9
11
+ Description-Content-Type: text/markdown
12
+ Requires-Dist: requests
13
+
14
+ # 🚀 Nmaping - Python Nmap Automation Tool
15
+
16
+ A powerful, safe-by-default **Nmap scanning toolkit** built with Python for network reconnaissance, port scanning, and security auditing.
17
+
18
+ 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.
19
+
20
+ ---
21
+
22
+ ## ⚡ Key Features
23
+
24
+ - 🧠 **20+ Automated Nmap Scan Modes** — SYN, TCP connect, version, OS, vuln, firewall, Xmas, FIN, Null, and more
25
+ - ⚡ **Timing Control** (`-T0` to `-T5`) for stealth vs. speed
26
+ - 🚀 **Parallel Batch Scanning** — scan multiple targets concurrently (up to 10 workers) with `--min-rate` tuning for speed
27
+ - 🗂️ **Scan History Log** — every scan is recorded (target, type, timestamp, output file) for later review
28
+ - 🔁 **Scan Comparison / Diff** — compare two saved scans to see exactly what changed between runs
29
+ - 🧩 **Custom NSE Script Runner** — run any Nmap script by name (e.g. `http-title`, `ssl-cert`) with input validation
30
+ - 🌐 **CIDR Subnet Discovery** — quick host-discovery sweep across a whole subnet
31
+ - 🧠 **Smart Result Caching** — warns before re-scanning a target scanned in the last 30 minutes
32
+ - 🔐 **Authorization Gate** — requires explicit confirmation of ownership/permission before every scan
33
+ - 🛡️ **Hardened Execution** — targets and ports are validated and scans run via `subprocess` (no shell injection risk)
34
+ - 🎨 Interactive colorful CLI interface
35
+ - 🔄 Auto Update Checker (GitHub Sync)
36
+ - 🌐 Cross-platform (Linux & Windows)
37
+
38
+ ---
39
+
40
+ ## 🔍 Supported Scan Types
41
+
42
+ - SYN Scan
43
+ - TCP Connect Scan
44
+ - Version Detection
45
+ - OS Detection
46
+ - Aggressive Scan
47
+ - Vulnerability Scan (`--script vuln`)
48
+ - Custom NSE Script Scan
49
+ - Firewall Detection / ACK Scan
50
+ - Xmas / FIN / Null Scans
51
+ - Ping / No-Ping Scans
52
+ - Traceroute
53
+ - Top 1000 Ports / All Ports / Specific Port / UDP Ports
54
+ - Batch Scan (multiple targets, parallel)
55
+ - CIDR Subnet Host Discovery
56
+ - Full Combined Scan
57
+
58
+ ---
59
+
60
+ ## ⏱️ Timing Levels
61
+
62
+ | Mode | Flag | Description |
63
+ |------|------|-------------|
64
+ | Paranoid | `-T0` | Maximum stealth |
65
+ | Sneaky | `-T1` | Low detection risk |
66
+ | Polite | `-T2` | Light usage |
67
+ | Normal | `-T3` | Default mode |
68
+ | Aggressive | `-T4` | Fast scanning |
69
+ | Insane | `-T5` | Very fast (lab only) |
70
+
71
+ ---
72
+
73
+ ## ⚙️ Requirements
74
+
75
+ - Python 3.8+
76
+ - [Nmap](https://nmap.org/download.html) installed and available on your system `PATH`
77
+ - `requests` (for update checks)
78
+
79
+ ```bash
80
+ pip install nmaping
81
+ ```
82
+
83
+ ---
84
+
85
+ ## 🖥️ Usage
86
+
87
+ ```bash
88
+ python3 -m nmaping
89
+ ```
90
+
91
+ 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/`.
92
+
93
+ ---
94
+
95
+ ## ⚠️ Legal & Ethical Use
96
+
97
+ 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.
98
+
99
+ 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.**
100
+
101
+ ---
102
+
103
+ ## 📜 License
104
+
105
+ Educational and ethical use only. See `LICENSE` for details.
@@ -1,7 +1,7 @@
1
1
  README.md
2
2
  pyproject.toml
3
3
  nmaping/__init__.py
4
- nmaping/nmap.cpython-313-x86_64-linux-gnu.so
4
+ nmaping/nmap.py
5
5
  nmaping.egg-info/PKG-INFO
6
6
  nmaping.egg-info/SOURCES.txt
7
7
  nmaping.egg-info/dependency_links.txt
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ nmaping = nmaping.nmap:main
@@ -4,13 +4,13 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "nmaping"
7
- version = "1.8"
7
+ version = "2.0"
8
8
  authors = [
9
- { name="Abu Tanim", email="mrtanvai@gmail.com" },
9
+ { name="Mr. Tan", email="mrtanvai@gmail.com" },
10
10
  ]
11
11
  description = "An automation and network scanning utility tool."
12
12
  readme = "README.md"
13
- requires-python = ">=3.13"
13
+ requires-python = ">=3.9"
14
14
  dependencies = [
15
15
  "requests",
16
16
  ]
@@ -22,14 +22,11 @@ classifiers = [
22
22
  ]
23
23
 
24
24
  [project.urls]
25
- Homepage = "https://github.com/mrtan-official/nmaping"
25
+ Homepage = "https://github.com/Mr74nX/nmaping"
26
26
 
27
27
  [tool.setuptools.packages.find]
28
28
  where = ["."]
29
29
  include = ["nmaping*"]
30
30
 
31
- [tool.setuptools.package-data]
32
- nmaping = ["*.so"]
33
-
34
31
  [project.scripts]
35
- nmaping = "nmaping.nmap:menu"
32
+ nmaping = "nmaping.nmap:main"
nmaping-1.8/PKG-INFO DELETED
@@ -1,84 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: nmaping
3
- Version: 1.8
4
- Summary: An automation and network scanning utility tool.
5
- Author-email: Abu Tanim <mrtanvai@gmail.com>
6
- License: Custom License
7
- Project-URL: Homepage, https://github.com/mrtan-official/nmaping
8
- Classifier: Programming Language :: Python :: 3
9
- Classifier: Operating System :: POSIX :: Linux
10
- Requires-Python: >=3.13
11
- Description-Content-Type: text/markdown
12
- Requires-Dist: requests
13
-
14
- # 🚀 Nmaping - Python Nmap Automation Tool
15
-
16
- A powerful and automated **Nmap scanning toolkit** built with Python for network reconnaissance, port scanning, and security auditing.
17
-
18
- Developed by **Mr Tan**, this tool converts complex Nmap commands into a simple interactive CLI interface for ethical hackers, penetration testers, and cybersecurity learners.
19
-
20
- ---
21
-
22
- ## ⚡ Key Features
23
-
24
- - 🧠 16+ Automated Nmap Scan Modes
25
- - ⚡ Timing Control (`-T0` to `-T5`) for stealth & speed
26
- - 🎨 Interactive Colorful CLI Interface
27
- - 🔄 Auto Update Checker (GitHub Sync)
28
- - 🌐 Cross-platform (Linux & Windows)
29
- - 🛡️ Security & penetration testing tool
30
-
31
- ---
32
-
33
- ## 🔍 Supported Scan Types
34
-
35
- - SYN Scan
36
- - TCP Connect Scan
37
- - Version Detection
38
- - OS Detection
39
- - Aggressive Scan
40
- - Vulnerability Scan (`--script vuln`)
41
- - Firewall / IDS Evasion
42
- - Fast Scan Modes
43
-
44
- ---
45
-
46
- ## ⏱️ Timing Levels
47
-
48
- | Mode | Flag | Description |
49
- |------|------|-------------|
50
- | Paranoid | `-T0` | Maximum stealth |
51
- | Sneaky | `-T1` | Low detection risk |
52
- | Polite | `-T2` | Light usage |
53
- | Normal | `-T3` | Default mode |
54
- | Aggressive | `-T4` | Fast scanning |
55
- | Insane | `-T5` | Very fast (lab only) |
56
-
57
- ---
58
-
59
- ## ⚙️ Requirements
60
-
61
- - Python 3.x
62
- - Nmaping installed
63
- ```bash
64
- pipx install nmaping
65
- ```
66
-
67
- ---
68
-
69
- # 🚀 2. PyPI DESCRIPTION (paste this in setup / PyPI long description)
70
-
71
- txt id="pypi_desc"
72
- Nmaping is a powerful Python-based Nmap automation toolkit designed for network scanning, port analysis, and security auditing.
73
-
74
- It simplifies complex Nmap commands into an interactive CLI interface, making it easier for ethical hackers, penetration testers, and cybersecurity learners to perform advanced scans.
75
-
76
- Features:
77
- - 20+ automated scan modes
78
- - Nmap timing control (-T0 to -T5)
79
- - Vulnerability scanning support
80
- - OS and service detection
81
- - Fast and aggressive scan options
82
- - Cross-platform support (Linux & Windows)
83
-
84
- This project is intended for educational and ethical use only.
nmaping-1.8/README.md DELETED
@@ -1,71 +0,0 @@
1
- # 🚀 Nmaping - Python Nmap Automation Tool
2
-
3
- A powerful and automated **Nmap scanning toolkit** built with Python for network reconnaissance, port scanning, and security auditing.
4
-
5
- Developed by **Mr Tan**, this tool converts complex Nmap commands into a simple interactive CLI interface for ethical hackers, penetration testers, and cybersecurity learners.
6
-
7
- ---
8
-
9
- ## ⚡ Key Features
10
-
11
- - 🧠 16+ Automated Nmap Scan Modes
12
- - ⚡ Timing Control (`-T0` to `-T5`) for stealth & speed
13
- - 🎨 Interactive Colorful CLI Interface
14
- - 🔄 Auto Update Checker (GitHub Sync)
15
- - 🌐 Cross-platform (Linux & Windows)
16
- - 🛡️ Security & penetration testing tool
17
-
18
- ---
19
-
20
- ## 🔍 Supported Scan Types
21
-
22
- - SYN Scan
23
- - TCP Connect Scan
24
- - Version Detection
25
- - OS Detection
26
- - Aggressive Scan
27
- - Vulnerability Scan (`--script vuln`)
28
- - Firewall / IDS Evasion
29
- - Fast Scan Modes
30
-
31
- ---
32
-
33
- ## ⏱️ Timing Levels
34
-
35
- | Mode | Flag | Description |
36
- |------|------|-------------|
37
- | Paranoid | `-T0` | Maximum stealth |
38
- | Sneaky | `-T1` | Low detection risk |
39
- | Polite | `-T2` | Light usage |
40
- | Normal | `-T3` | Default mode |
41
- | Aggressive | `-T4` | Fast scanning |
42
- | Insane | `-T5` | Very fast (lab only) |
43
-
44
- ---
45
-
46
- ## ⚙️ Requirements
47
-
48
- - Python 3.x
49
- - Nmaping installed
50
- ```bash
51
- pipx install nmaping
52
- ```
53
-
54
- ---
55
-
56
- # 🚀 2. PyPI DESCRIPTION (paste this in setup / PyPI long description)
57
-
58
- txt id="pypi_desc"
59
- Nmaping is a powerful Python-based Nmap automation toolkit designed for network scanning, port analysis, and security auditing.
60
-
61
- It simplifies complex Nmap commands into an interactive CLI interface, making it easier for ethical hackers, penetration testers, and cybersecurity learners to perform advanced scans.
62
-
63
- Features:
64
- - 20+ automated scan modes
65
- - Nmap timing control (-T0 to -T5)
66
- - Vulnerability scanning support
67
- - OS and service detection
68
- - Fast and aggressive scan options
69
- - Cross-platform support (Linux & Windows)
70
-
71
- This project is intended for educational and ethical use only.
@@ -1 +0,0 @@
1
- from .nmap import *
@@ -1,84 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: nmaping
3
- Version: 1.8
4
- Summary: An automation and network scanning utility tool.
5
- Author-email: Abu Tanim <mrtanvai@gmail.com>
6
- License: Custom License
7
- Project-URL: Homepage, https://github.com/mrtan-official/nmaping
8
- Classifier: Programming Language :: Python :: 3
9
- Classifier: Operating System :: POSIX :: Linux
10
- Requires-Python: >=3.13
11
- Description-Content-Type: text/markdown
12
- Requires-Dist: requests
13
-
14
- # 🚀 Nmaping - Python Nmap Automation Tool
15
-
16
- A powerful and automated **Nmap scanning toolkit** built with Python for network reconnaissance, port scanning, and security auditing.
17
-
18
- Developed by **Mr Tan**, this tool converts complex Nmap commands into a simple interactive CLI interface for ethical hackers, penetration testers, and cybersecurity learners.
19
-
20
- ---
21
-
22
- ## ⚡ Key Features
23
-
24
- - 🧠 16+ Automated Nmap Scan Modes
25
- - ⚡ Timing Control (`-T0` to `-T5`) for stealth & speed
26
- - 🎨 Interactive Colorful CLI Interface
27
- - 🔄 Auto Update Checker (GitHub Sync)
28
- - 🌐 Cross-platform (Linux & Windows)
29
- - 🛡️ Security & penetration testing tool
30
-
31
- ---
32
-
33
- ## 🔍 Supported Scan Types
34
-
35
- - SYN Scan
36
- - TCP Connect Scan
37
- - Version Detection
38
- - OS Detection
39
- - Aggressive Scan
40
- - Vulnerability Scan (`--script vuln`)
41
- - Firewall / IDS Evasion
42
- - Fast Scan Modes
43
-
44
- ---
45
-
46
- ## ⏱️ Timing Levels
47
-
48
- | Mode | Flag | Description |
49
- |------|------|-------------|
50
- | Paranoid | `-T0` | Maximum stealth |
51
- | Sneaky | `-T1` | Low detection risk |
52
- | Polite | `-T2` | Light usage |
53
- | Normal | `-T3` | Default mode |
54
- | Aggressive | `-T4` | Fast scanning |
55
- | Insane | `-T5` | Very fast (lab only) |
56
-
57
- ---
58
-
59
- ## ⚙️ Requirements
60
-
61
- - Python 3.x
62
- - Nmaping installed
63
- ```bash
64
- pipx install nmaping
65
- ```
66
-
67
- ---
68
-
69
- # 🚀 2. PyPI DESCRIPTION (paste this in setup / PyPI long description)
70
-
71
- txt id="pypi_desc"
72
- Nmaping is a powerful Python-based Nmap automation toolkit designed for network scanning, port analysis, and security auditing.
73
-
74
- It simplifies complex Nmap commands into an interactive CLI interface, making it easier for ethical hackers, penetration testers, and cybersecurity learners to perform advanced scans.
75
-
76
- Features:
77
- - 20+ automated scan modes
78
- - Nmap timing control (-T0 to -T5)
79
- - Vulnerability scanning support
80
- - OS and service detection
81
- - Fast and aggressive scan options
82
- - Cross-platform support (Linux & Windows)
83
-
84
- This project is intended for educational and ethical use only.
@@ -1,2 +0,0 @@
1
- [console_scripts]
2
- nmaping = nmaping.nmap:menu
File without changes