██████╗ ███╗ ███╗ █████╗ ██████╗
██╔═══██╗████╗ ████║██╔══██╗██╔══██╗
██║ ██║██╔████╔██║███████║██████╔╝
██║▄▄ ██║██║╚██╔╝██║██╔══██║██╔═══╝
╚██████╔╝██║ ╚═╝ ██║██║ ██║██║
╚══▀▀═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝
Advanced Open-Source Network Mapping Tool
qmap is a lightweight, command-line network mapping and reconnaissance tool built for Windows with .NET Framework 4.8. It provides a clean interactive shell with an animated loading screen and a structured black-and-white terminal UI for network diagnostics, host discovery, port scanning, and more.
- ★ Animated loading screen with ASCII art logo and progress bar
- ★ Interactive REPL shell with inline command support
- ★ Parallel host discovery via ICMP ping sweep with optional full-range output
- ★ TCP port scanning with service identification and range validation
- ★ DNS resolution, traceroute, and WHOIS lookup
- ★ Local network interface enumeration
- ★ Structured, readable black-and-white console output
- ★ No external dependencies — pure .NET Framework 4.8
| Requirement | Detail |
|---|---|
| OS | Windows 7 / 10 / 11 |
| Runtime | .NET Framework 4.8 |
| Build Tools | Visual Studio 2019/2022 or MSBuild |
| Privileges | Administrator (recommended for ICMP) |
Visual Studio:
Open qmap.csproj and build with Ctrl+Shift+B.
MSBuild (CLI):
msbuild qmap.csproj /p:Configuration=Release
Output binary: bin\Release\qmap.exe
qmap.exe
Launches the REPL. Type commands interactively.
qmap.exe <command> [args]
Executes a single command and exits.
| Command | Syntax | Description |
|---|---|---|
scan |
scan <subnet> [-a] |
Discover live hosts (-a shows all) |
ping |
ping <host> [count] |
ICMP ping with optional repeat count |
port |
port <host> [range|port] |
TCP port scan — range or single port |
dns |
dns <host> |
Resolve IPv4, IPv6, and aliases |
trace |
trace <host> |
Traceroute up to 30 hops |
whois |
whois <domain> |
WHOIS query via whois.iana.org |
net |
net |
List local network interfaces |
version |
version |
Show version info |
clear |
clear |
Clear the screen |
help |
help |
Display all commands |
exit |
exit |
Quit qmap |
qmap.exe scan 192.168.1.0/24
qmap.exe scan 192.168.1.0/24 -a
qmap.exe ping 8.8.8.8 10
qmap.exe port 192.168.1.1 1-1024
qmap.exe port 192.168.1.1 443
qmap.exe dns example.com
qmap.exe trace example.com
qmap.exe whois example.com
qmap.exe net
qmap/
├── Program.cs Entry point — launches loading screen and shell
├── qmap.csproj .NET Framework 4.8 project file
│
├── Core/
│ ├── ICommand.cs Command interface
│ ├── CommandParser.cs Quote-aware input tokenizer
│ └── Shell.cs REPL loop and command dispatcher
│
├── Modules/
│ ├── Commands.cs scan, ping, port, dns, trace, whois, net, version, clear, help
│ └── SubnetParser.cs CIDR notation to IP list expander
│
└── UI/
├── LoadingScreen.cs ASCII logo, star field, animated progress bar
└── Renderer.cs Structured console output helpers
scanandportuseParallel.ForEachwith a configurableMaxDegreeOfParallelismfor speed.scan -aincludes unreachable hosts in output, marked asDOWN.portvalidates port bounds (1–65535) and enforces start ≤ end on ranges.whoisconnects directly towhois.iana.orgon TCP port 43 — no third-party libraries.traceusesPingOptions.Ttlincremented per hop to simulate traceroute.- ICMP operations may require Administrator privileges depending on Windows configuration.
- Built against C# 7.3 for full .NET Framework 4.8 compatibility.