netcheck is a minimalist network port scanner implementing basic TCP scanning functionality. Created for educational purposes and to demonstrate network programming principles in Go.
- 📡 TCP Connect port scanning
- 🔢 Port range support (
80,443,1000-2000) - ⚡ Parallel scanning with thread limiting
The tool supports exporting scan results in multiple formats for further analysis:
- JSON: Structured format for programmatic processing
- CSV: Tabular format for spreadsheets and databases
To generate reports:
# JSON report
netcheck example.com -o json
# CSV report
netcheck example.com -o csvReport files are automatically named using the timestamp pattern YYYY-MM-DD HH-MM.format
Key features:
-
Preserves all scan metadata (target, timestamps, scanner version)
-
Retains service banners and port statuses
-
Compatible with SIEM systems and data analysis tools
-
Clone the repository:
git clone https://github.com/Ademun/netcheck.git cd netcheck -
Build the binary:
go build
Basic syntax:
netcheck [FLAGS] TARGETScan specific ports:
netcheck -p 80,443,8080 example.com Scan port range:
netcheck -p 1-100 example.comScan all ports showing closed ones:
netcheck -v example.com| Flag | Description | Default |
|---|---|---|
-p, --ports |
Ports to scan | All (0-65535) |
-v, --verbose |
Show closed ports | false |
- Only TCP Connect scanning method implemented
- No service detection
Planned improvements:
- Implement SYN scanning
- Add UDP protocol support
- Service version detection
- Configurable timeouts via flags
Project distributed under MIT license. See LICENSE for details.
Note: This tool is intended for legal use only. Always obtain explicit permission before scanning networks.