A high-speed command-line network and port scanner with CIDR support, CSV/JSON export, colorful output, and concurrency.
- Scan single IPs, entire networks (CIDR), or a file of targets (one per line)
- Domain-aware scanning: resolve domains (A/AAAA) and scan the resulting IPs
- DNS record enumeration (A, AAAA, MX, NS, TXT) via
--dns - Subdomain discovery from a wordlist and scanning of discovered hosts via
--subdomainsand--sub-limit - Banner grabbing for open ports (
--banner) and TLS certificate retrieval (--tls) - Specify ports with ranges (e.g.
20-80), comma lists,autopresets, or a file of ports - CSV and JSON output, colored terminal output, and tunable concurrency/timeouts
Clone or fork the repository:
git clone https://github.com/Snyxex/Network_Scanner.gitcd Network_Scanner
Install dependencies:
npm install
Make the script executable (optional):
chmod +x netscanner.jsRun directly with Node.js (examples below):
node netscanner.js <target|file_of_targets> <ports|auto|ports_file.txt> [options]Common options:
--open-only: only print open ports--json <out.json>: write detailed JSON output--dns: gather DNS records (A/AAAA/MX/NS/TXT)--subdomains <wordlist>: discover subdomains using the provided wordlist--sub-limit N: stop after N discovered subdomains (default 100)--banner: attempt banner grabbing on open ports--tls: fetch TLS certificate info for open ports--timeout ms: per-connection timeout in milliseconds (default 3000)--concurrency N: number of concurrent workers (default 300)
If you prefer to install the CLI locally:
npm link
netscanner <target> <ports> [options]Scan a single domain with default auto ports:
node netscanner.js example.com autoScan a domain and collect DNS records and TLS info:
node netscanner.js example.com 80,443 --dns --tls --json out.jsonScan a list of targets from a file and discover subdomains with a wordlist:
node netscanner.js targets.txt auto --subdomains subwordlist.txt --sub-limit 200 --banner --json results.jsonScan an IP range using CIDR and a ports file:
node netscanner.js 192.168.1.0/24 ports.txt --concurrency 200- Terminal: live colored listing of open (and optionally closed) ports
- CSV:
results.csvwith fields including label, IP, port, status, domain, banner, and TLS info - JSON: when
--json out.jsonis provided, full structured results are written
- Subdomain discovery requires a wordlist file (not included). Use a focused wordlist to limit noisy scans.
- Always obtain authorization before scanning targets you do not own.
- Banner grabbing and TLS probes will increase scan duration; tune
--timeoutand--concurrencyappropriately.
This project is licensed under the MIT License - see the LICENSE file for details.