nmapui 3.0.0__py3-none-any.whl

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.
@@ -0,0 +1,216 @@
1
+ Metadata-Version: 2.4
2
+ Name: nmapui
3
+ Version: 3.0.0
4
+ Summary: A modern, learnable GUI for nmap — scan profiles, vuln highlighting, scan diff, a built-in flag explainer, and guided lessons.
5
+ Home-page: https://github.com/shivduttchoubey/nmapui
6
+ Author: Your Name
7
+ Author-email: Shiv Dutt Choubey <shivduttchoubey@gmail.com>
8
+ License: MIT
9
+ Project-URL: Homepage, https://github.com/shivduttchoubey/nmapui
10
+ Project-URL: Issues, https://github.com/shivduttchoubey/nmapui/issues
11
+ Project-URL: Changelog, https://github.com/shivduttchoubey/nmapui/blob/main/CHANGELOG.md
12
+ Keywords: nmap,network,scanner,security,gui,tkinter,learning
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.9
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: License :: OSI Approved :: MIT License
20
+ Classifier: Operating System :: OS Independent
21
+ Classifier: Topic :: System :: Networking
22
+ Classifier: Topic :: Security
23
+ Classifier: Environment :: X11 Applications
24
+ Classifier: Intended Audience :: System Administrators
25
+ Classifier: Intended Audience :: Education
26
+ Requires-Python: >=3.9
27
+ Description-Content-Type: text/markdown
28
+ License-File: LICENSE
29
+ Provides-Extra: dev
30
+ Requires-Dist: pytest>=7.0; extra == "dev"
31
+ Dynamic: author
32
+ Dynamic: home-page
33
+ Dynamic: license-file
34
+ Dynamic: requires-python
35
+
36
+ # nmapui
37
+
38
+ **A modern, learnable GUI for nmap.** Replaces Zenmap with a dark-themed
39
+ interface that teaches you nmap as you use it — no command memorization,
40
+ no manual lookups, persistent settings across sessions.
41
+
42
+ ```bash
43
+ pip install nmapui
44
+ nmapui
45
+ ```
46
+
47
+ [![tests](https://github.com/shivduttchoubey/nmapui/actions/workflows/tests.yml/badge.svg)](https://github.com/shivduttchoubey/nmapui/actions)
48
+ ![License](https://img.shields.io/badge/license-MIT-blue)
49
+
50
+ ---
51
+
52
+ ## Why this exists
53
+
54
+ Zenmap (the official nmap GUI) hasn't meaningfully changed in over a decade.
55
+ Using it well still means knowing `-sV`, `-T4`, `--script vuln`, etc. by heart.
56
+ nmapui keeps the real power of nmap but removes the memorization requirement —
57
+ and adds the pieces a learner or a day-to-day sysadmin actually wants:
58
+ favorites, history that survives a restart, vulnerability triage, and a
59
+ built-in tutorial.
60
+
61
+ | | Zenmap | nmapui |
62
+ |---|---|---|
63
+ | Dark, modern UI | ✗ | ✓ |
64
+ | Plain-English scan profiles | partial | ✓ 10 profiles |
65
+ | Live command preview | ✗ | ✓ |
66
+ | Flag-by-flag command explainer | ✗ | ✓ |
67
+ | Guided lessons / practice mode | ✗ | ✓ |
68
+ | Vulnerability tab (CVE + severity) | ✗ | ✓ |
69
+ | Scan diff / compare | ✗ | ✓ |
70
+ | Favorite targets | ✗ | ✓ |
71
+ | Settings/history persist across restarts | ✗ | ✓ (`~/.nmapui/`) |
72
+ | Export CSV / JSON | ✗ | ✓ |
73
+ | Searchable cheatsheet | ✗ | ✓ |
74
+ | Zero third-party dependencies | ✓ | ✓ |
75
+
76
+ ---
77
+
78
+ ## Requirements
79
+
80
+ - Python 3.9+ (tkinter ships with most standard installs)
81
+ - The `nmap` binary on your PATH
82
+ - macOS: `brew install nmap`
83
+ - Ubuntu/Debian: `sudo apt install nmap`
84
+ - Windows: [nmap.org/download](https://nmap.org/download) (check "Add to PATH" during install)
85
+ - Winget on Windows: winget install -e --id Insecure.Nmap
86
+
87
+
88
+ ---
89
+
90
+ ## Features
91
+
92
+ ### Scanner
93
+ 10 plain-English scan profiles (Quick Ping, Common Ports, Full Port Scan,
94
+ Service Detection, OS Detection, Intense, Stealth SYN, UDP, Vuln Scripts,
95
+ Custom), a live command preview that updates as you adjust options, and a
96
+ results view split into Summary / Ports / Raw Output / Export tabs.
97
+
98
+ ### Favorites
99
+ Save a target with a name ("Home Router", "Lab Server") from the Scanner
100
+ tab. Favorites persist in `~/.nmapui/favorites.json` and show up in a
101
+ dropdown next to the target field — no more retyping IPs.
102
+
103
+ ### Explain
104
+ Paste any nmap command — your own, or one you copied from a forum post —
105
+ and get a flag-by-flag plain-English breakdown before you run it, including
106
+ a warning note on flags that are noisy, intrusive, or privileged.
107
+
108
+ ```
109
+ Input: nmap -sS -T4 -A --script vuln 192.168.1.0/24
110
+
111
+ -sS → TCP SYN scan ("stealth" scan)... [Note: Requires root/admin privileges]
112
+ -T4 → Aggressive timing...
113
+ -A → Aggressive scan, shorthand for -O -sV -sC --traceroute... [Note: noisy]
114
+ --script vuln → Run NSE vulnerability-category scripts... [Note: intrusive]
115
+ ```
116
+
117
+ ### Learn
118
+ A short guided curriculum: what a port scan actually is, how to pick the
119
+ right scan for a situation, how to read the results, and how to scan
120
+ responsibly. Each lesson has a "Try it" button that loads a real command
121
+ against `scanme.nmap.org` — the official Nmap project practice host — so
122
+ you can learn without needing your own server or anyone's permission.
123
+
124
+ ### Vulns
125
+ After any scan using `--script vuln` (or the Vuln Scripts profile), NSE
126
+ output is automatically parsed into a sortable, filterable table:
127
+ severity (CRITICAL/HIGH/MEDIUM/LOW/INFO), CVE numbers, CVSS scores, and a
128
+ detail panel with the full script output for each finding.
129
+
130
+ ### Diff
131
+ Run two scans — say, before and after a firewall change — then compare
132
+ them. See exactly which hosts appeared or vanished, which ports opened or
133
+ closed, and which service versions changed.
134
+
135
+ ### History
136
+ Every scan is logged with timestamp, target, command, and result counts.
137
+ Summary metadata (not full raw output) persists to disk in
138
+ `~/.nmapui/history.json`, so your log survives closing the app.
139
+
140
+ ### Cheatsheet
141
+ 24 common nmap flags with plain-English descriptions, instant search
142
+ filter, click-to-copy.
143
+
144
+ ---
145
+
146
+ ## CLI
147
+
148
+ ```bash
149
+ nmapui # launch the GUI
150
+ nmapui --version # print version
151
+ nmapui --config-dir # print where settings/history/favorites live
152
+ nmapui --reset-config # reset saved settings to defaults
153
+ ```
154
+
155
+ ---
156
+
157
+ ## Project layout
158
+
159
+ ```
160
+ nmapui/
161
+ ├── nmapui/
162
+ │ ├── __init__.py # package root (lazy-imports the GUI)
163
+ │ ├── __main__.py # CLI entry point
164
+ │ ├── gui.py # Tkinter application (UI layer)
165
+ │ ├── vuln_parser.py # NSE output parsing + severity classification
166
+ │ ├── diff.py # Scan comparison engine
167
+ │ ├── explainer.py # Flag-by-flag command explanations
168
+ │ ├── lessons.py # Content for the Learn tab
169
+ │ └── storage.py # Persistent settings/favorites/history
170
+ ├── tests/ # Unit tests (no tkinter required to run)
171
+ ├── .github/workflows/ # CI
172
+ ├── pyproject.toml
173
+ ├── LICENSE
174
+ ├── CHANGELOG.md
175
+ └── CONTRIBUTING.md
176
+ ```
177
+
178
+ The logic modules (`diff.py`, `vuln_parser.py`, `explainer.py`, `storage.py`)
179
+ have no tkinter dependency and are independently unit tested — `gui.py` is
180
+ the only file that needs a display.
181
+
182
+ ---
183
+
184
+ ## Running tests
185
+
186
+ ```bash
187
+ pip install -e ".[dev]"
188
+ pytest
189
+ ```
190
+
191
+ 33 tests, no `nmap` binary or display required.
192
+
193
+ ---
194
+
195
+ ## Publishing to PyPI
196
+
197
+ ```bash
198
+ pip install build twine
199
+ python -m build
200
+ twine upload dist/*
201
+ ```
202
+
203
+ ---
204
+
205
+ ## Legal note
206
+
207
+ nmapui is a GUI front-end only — all scanning is performed by the `nmap`
208
+ binary on your system. Only scan networks and hosts you own or have
209
+ explicit permission to test. Unauthorized network scanning may be illegal
210
+ in your jurisdiction. The Learn tab's practice exercises use
211
+ `scanme.nmap.org`, a host the Nmap project explicitly maintains for this
212
+ purpose — be reasonable with it (light scans only).
213
+
214
+ ## License
215
+
216
+ MIT — see [LICENSE](LICENSE).
@@ -0,0 +1,6 @@
1
+ nmapui-3.0.0.dist-info/licenses/LICENSE,sha256=Dv4WyGcPtHzHKRy3rPPcLViz5dunOaHjSoXti7s3XgM,1074
2
+ nmapui-3.0.0.dist-info/METADATA,sha256=MEpgs70ZruJvpYVzbrZ7iHAiXjrZAlXHJH_GRAR2v7M,7649
3
+ nmapui-3.0.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
4
+ nmapui-3.0.0.dist-info/entry_points.txt,sha256=FoeD0vDdTluMNivb0bCh8vRmELgurURgN1F-bBXDtX4,48
5
+ nmapui-3.0.0.dist-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
6
+ nmapui-3.0.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (82.0.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ nmapui = nmapui.__main__:main
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Shiv Dutt Choubey
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+