Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NetReco

Advanced Network Reconnaissance & Vulnerability Assessment

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 Only

NetReco 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.


Features

  • 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

Requirements

  • Python 3.10+
  • Linux, macOS, or Windows
  • Git

Recommended environment:

  • Kali Linux
  • Ubuntu
  • Debian

Installation

Clone the Repository

git clone https://github.com/Hasibul-Hasan-Rafi/NetReco.git
cd NetReco

Create Virtual Environment

python3 -m venv .venv
source .venv/bin/activate

Install NetReco

pip install .

Verify the installation:

netreco --version

Expected:

netreco 0.1.0

Usage

Display the help menu:

netreco --help

Basic scan:

netreco -t TARGET

Example:

netreco -t 127.0.0.1

Scan Profiles

NetReco provides three scanning profiles.

Quick

Fast reconnaissance of commonly used TCP ports.

netreco -t TARGET -p quick

Standard

Broader reconnaissance with the standard port profile.

netreco -t TARGET -p standard

Deep

Extended scanning profile for more comprehensive reconnaissance.

netreco -t TARGET -p deep

HTTP / HTTPS Analysis

For 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

Security Header Analysis

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.


TLS / Certificate Inspection

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

JSON Reporting

Scan results can be exported as structured JSON:

netreco -t TARGET -p quick --json

Example:

netreco -t 127.0.0.1 -p quick --json

Reports 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 Reference

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

Project Structure

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

Testing

Run the test suite:

pytest -v

Compile the source:

python -m compileall -q src

Run static analysis:

ruff check .

Current test suite:

20 passed

Development

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 .

Security Considerations

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.


Contributing

Contributions, bug reports, feature requests, and improvements are welcome.

Before submitting changes:

  1. Create a feature branch.
  2. Make your changes.
  3. Add or update tests where appropriate.
  4. Run the test suite.
  5. Run Ruff.
  6. Submit a pull request with a clear description.

License

MIT License

Copyright (c) 2026 Hasibul-Hasan-Rafi


Author

Hasibul-Hasan-Rafi

GitHub:

https://github.com/Hasibul-Hasan-Rafi

Project:

https://github.com/Hasibul-Hasan-Rafi/NetReco

Releases

Packages

Contributors

Languages