About | Features | Quick Start | Manual Installation | Specific Usage | Logs | Troubleshooting | seperet.com
A Python tool for quick network and host security assessment.
- Main Menu
- Launch without flags or arguments to access a user-friendly menu.
- Wi-Fi scanning
- Lists visible networks, channels, BSSIDs, signal strength, and optional BSSID/IP geolocation.
- Port scanning
- Top TCP (Fast), Full Connect, and UDP (Payload Probe) modes.
- Bluetooth scanning
- Discovers nearby BLE devices with RSSI signal strength and metadata (using
bleak).
- Discovers nearby BLE devices with RSSI signal strength and metadata (using
- OS security checks
- Detects Firewall status and Antivirus presence on Windows, Linux, and macOS.
- Network metadata scanning
- Identifies connection type (Wired/Wi-Fi), local identity, public IP, ISP, ASN, and geographic info.
- Outbound testing (Web/DNS)
- Safe by default with very low request rate; optional active probing with explicit warning/acknowledgement.
- External OSINT (RDAP, DNS-over-HTTPS, GeoIP) only when
--externalis enabled.
- Full Scan mode
- One-click execution of all modules with intelligent defaults.
Run:
git clone https://github.com/denv3rr/network-explorer.git
cd network-explorer
python run.py-
Python 3.9+
-
Modules auto-installed at runtime via
requirements.txt(you may be prompted). See Quick Start above.- Set
NEX_AUTO_INSTALL=1to allow auto-install without prompts. requestsifaddrtexttablebleakcolorama
- Set
-
or install with this command before running:
pip install -r requirements.txt-
Clone
-
git clone https://github.com/denv3rr/network-explorer.git cd network-explorer
-
-
Download
.zip: network-explorer-main
python run.py| Action | Command |
|---|---|
| Quick Start | python run.py |
| Run all modules | python run.py --all |
| Wi-Fi scan only | python run.py --wifi |
| Port scan (top) | python run.py --ports |
| Port scan (custom range) | python run.py --ports 1-2000 |
| Port scan profile | python run.py --ports --profile aggressive |
| Port scan rate limit | python run.py --ports --rate 200 |
| Network metadata (wired support) | python run.py --network |
| OS security check | python run.py --os |
| Bluetooth scan | python run.py --bluetooth |
| Outbound testing (safe, low-rate) | python run.py --outbound example.com |
| Outbound testing with OSINT | python run.py --outbound example.com --external |
| Outbound testing (active) | python run.py --outbound example.com --outbound-active --active-ok |
| Outbound testing with rate limit | python run.py --outbound example.com --outbound-rate 5 |
| Outbound active requires ack | --active-ok must be supplied to proceed |
| Allow external lookups | python run.py --network --external |
| Skip confirmation prompts | python run.py --all --yes |
| Wi-Fi diagnostic dump | python run.py --wifi --wifi-diag |
| Specify Wi-Fi interface | python run.py --wifi --wifi_interface "Wi-Fi" |
- Safe mode: Minimal, low-rate requests and passive checks only.
- Active mode: Sends additional probes (paths/methods); requires
--outbound-activeand--active-ok.
Does safe mode avoid touching the target?
Safe mode still makes low-rate HTTP/DNS requests to the target; it is designed to be low-impact, not invisible.
How do I enable external OSINT?
Use --external to allow RDAP, DNS-over-HTTPS, and GeoIP lookups.
Why do I need --active-ok?
Active probing can trigger alerts or violate acceptable use; explicit acknowledgement is required.
--external: Allow external lookups (public IP, MAC vendor, OSINT).--yes: Skip confirmation prompts.--json <file>: Write full results to a JSON file.
--ports [start-end]: Run port scan (default1-1024when provided).--profile safe|normal|aggressive: Port scan profile.--rate <ports/sec>: Rate limit ports/sec per host.--timeout <seconds>: Socket timeout.--workers <count>: Worker threads.--no-banner: Skip banner grabbing.
--wifi: Run Wi-Fi scan.--wifi_interface "<name>": Specify Wi-Fi interface.--wifi-diag: Print diagnostic netsh output.--geo: Enable Wi-Fi geolocation (requires--external).
--outbound [target]: Run outbound testing (safe by default).--outbound-active: Enable active outbound probing (requires acknowledgement).--active-ok: Acknowledge active probing risk to proceed.--outbound-rate <req/sec>: Rate limit outbound requests (defaults to low-rate safe mode).
- Logs are automatically written to the
logs/directory. - Files follow timestamp format:
NEX_YYYYMMDD_HHMMSS.log - Old logs (>7 days) are automatically pruned.
| Issue | Fix |
|---|---|
| Wi-Fi scan shows “No Wi-Fi data.” | Ensure Wi-Fi adapter is enabled and, on Windows, run as Administrator with Location Services ON. |
| No results on wired connection | Use --network to retrieve public IP and geolocation via IP-based lookup. |
| Permission errors (Linux/macOS) | Run with sudo if needed for raw socket access. |