NetReco is a modular command-line security assessment tool designed for authorized network reconnaissance, service discovery, HTTP/HTTPS analysis, TLS inspection, security header analysis, and structured JSON reporting.
⚠️ Authorized Use OnlyNetReco is intended for security testing on systems and networks that you own or have explicit permission to assess. Do not use it against unauthorized targets.
- Host discovery and reachability detection
- IPv4/IPv6 target validation
- Reverse DNS resolution
- TCP port scanning
- Service identification
- HTTP/HTTPS fingerprinting
- HTTP response analysis
- Security header analysis
- TLS version detection
- TLS certificate inspection
- Certificate expiration checking
- Technology fingerprinting
- Quick, Standard, and Deep scan profiles
- Structured JSON report generation
- Automated test suite
- Modular Python architecture
- Python 3.10+
- Linux, macOS, or Windows
- Git
Recommended environment:
- Kali Linux
- Ubuntu
- Debian
git clone https://github.com/Hasibul-Hasan-Rafi/NetReco.git
cd NetRecopython3 -m venv .venv
source .venv/bin/activatepip install .Verify the installation:
netreco --versionExpected:
netreco 0.1.0
Display the help menu:
netreco --helpBasic scan:
netreco -t TARGETExample:
netreco -t 127.0.0.1NetReco provides three scanning profiles.
Fast reconnaissance of commonly used TCP ports.
netreco -t TARGET -p quickBroader reconnaissance with the standard port profile.
netreco -t TARGET -p standardExtended scanning profile for more comprehensive reconnaissance.
netreco -t TARGET -p deepFor detected HTTP or HTTPS services, NetReco can display:
- HTTP status code
- Server information
- Content-Type
- Page title
- Redirect information
- TLS availability
- Security headers
- TLS version
- Certificate subject
- Certificate issuer
- Certificate expiration
- Certificate validity
Example output:
HTTPS FINGERPRINT
──────────────────────────────────────────────────────────
Port : 443/tcp
Protocol : HTTPS
Status : 200
Server : Apache
Content-Type : text/html
Title : Example Website
TLS : Enabled
NetReco checks common HTTP security headers including:
| Header | Purpose |
|---|---|
| Strict-Transport-Security | Enforces HTTPS |
| Content-Security-Policy | Helps mitigate content injection |
| X-Content-Type-Options | Prevents MIME sniffing |
| X-Frame-Options | Helps prevent clickjacking |
| Referrer-Policy | Controls referrer information |
| Permissions-Policy | Controls browser capabilities |
Example:
SECURITY HEADERS
──────────────────────────────────────────────────────────
HSTS : ✓ Present
Content-Security-Policy : ✗ Missing
X-Content-Type-Options : ✓ Present
X-Frame-Options : ✓ Present
Referrer-Policy : ✓ Present
Permissions-Policy : ✗ Missing
A missing header is reported as an observation and does not automatically mean that the target is vulnerable.
For HTTPS services, NetReco reports:
TLS / CERTIFICATE
──────────────────────────────────────────────────────────
Port : 443/tcp
TLS Version : TLSv1.3
Certificate : example.com
Issuer : Let's Encrypt
Expires : 2026-11-25
Certificate State : ✓ Valid
Scan results can be exported as structured JSON:
netreco -t TARGET -p quick --jsonExample:
netreco -t 127.0.0.1 -p quick --jsonReports are stored in:
reports/
Example:
reports/127.0.0.1.json
The JSON report contains structured information about:
- Target
- Scanned ports
- Open ports
- Closed ports
- Filtered ports
- Services
- HTTP information
- Security headers
- TLS information
- Certificate information
| Command | Description |
|---|---|
netreco --help |
Display help |
netreco --version |
Display version |
netreco -t TARGET |
Scan target |
netreco -t TARGET -p quick |
Quick scan |
netreco -t TARGET -p standard |
Standard scan |
netreco -t TARGET -p deep |
Deep scan |
netreco -t TARGET -p quick --json |
Quick scan with JSON report |
NetReco/
├── docs/
├── examples/
├── screenshots/
├── src/
│ └── netreco/
│ ├── discovery/
│ ├── fingerprint/
│ ├── reporting/
│ ├── scanner/
│ ├── security/
│ ├── risk/
│ ├── vulnerabilities/
│ ├── utils/
│ ├── cli.py
│ └── __main__.py
├── tests/
├── .gitignore
├── pyproject.toml
├── README.md
└── LICENSE
Run the test suite:
pytest -vCompile the source:
python -m compileall -q srcRun static analysis:
ruff check .Current test suite:
20 passed
Clone the repository and create a development environment:
git clone https://github.com/Hasibul-Hasan-Rafi/NetReco.git
cd NetReco
python3 -m venv .venv
source .venv/bin/activate
pip install .Run tests before submitting changes:
pytest -v
ruff check .NetReco performs active network reconnaissance.
Scanning systems without authorization may violate:
- organizational policies
- terms of service
- network access policies
- local laws and regulations
Only scan systems that you own or have explicit authorization to test.
Contributions, bug reports, feature requests, and improvements are welcome.
Before submitting changes:
- Create a feature branch.
- Make your changes.
- Add or update tests where appropriate.
- Run the test suite.
- Run Ruff.
- Submit a pull request with a clear description.
MIT License
Copyright (c) 2026 Hasibul-Hasan-Rafi
Hasibul-Hasan-Rafi
GitHub:
https://github.com/Hasibul-Hasan-Rafi
Project: