Individual Project - Ben Molloy - Capstone

NetTower

Local-first network situational awareness for small, ad-hoc, and disrupted environments.

8

Core System Features

Local

Runs Without Cloud Dependency

4/27/2026

Final Presentation

Project Overview

NetTower helps moderately technical users quickly understand what devices are reachable and how they are generally connected, without requiring enterprise-scale monitoring infrastructure.

Problem Domain

Small or disrupted networks often lack a practical way to map active devices and connection relationships. Existing tooling is frequently too complex, too heavy, or designed for enterprise teams.

Solution Direction

NetTower provides quick discovery, high-level relationship inference, and intuitive topology visualization, prioritizing clarity and deployability over deep packet analytics.

Core Features

Topology View (2D + Optional 3D)

Discovered devices are rendered as a network topology with a 2D default and optional 3D view.

Node-Centric Exploration

Each host is a selectable node that can be expanded to inspect device-level details.

Host Classification

Nodes are visually differentiated using inferred characteristics such as OS family or device type.

Connectivity Representation

Observed and inferred relationships are shown as links between related hosts.

Heat Mapping Overlay

Optional activity or density overlays highlight where network concentration is strongest.

Dynamic State Updates

Visualization updates reflect changing host availability and status over time.

Interactive Navigation

Users can pan, zoom, and adjust perspective for focused network inspection.

User-Controlled Scanning

Discovery targets and scan behavior are adjustable to match local network constraints.

Demo

This is a frontend simulation of the NetTower interface for GitHub Pages. It mirrors app behavior and visual style, but does not run real network scans from the browser.

NetTower Session

NetTower Session Running

2D mode shows active topology layout optimized for analysis. Drag to pan.

Session is running. Hosts: 0/0 | Edges: 0/0 Last update: --

System Architecture

NetTower is designed for local or self-hosted deployment with no external cloud dependency for core operation.

Discovery Component

Scans for reachable hosts and gathers basic network observations.

Data Modeling Layer

Stores device entities, inferred links, and evolving network state.

Visualization Layer

Renders interactive topology views, status indicators, and overlays.

Control Interface

Allows users to adjust target ranges and discovery cadence.

Project Structure

backEnd

  • DIRmodels
    • PY__init__.py
    • PYentities.py
    • PYevents.py
    • PYtypes.py
  • DIRpipeline
    • PYevent_bus.py
  • DIRprocessors
    • PYcorrelation.py
    • PYenrichment.py
    • PYextractors.py
  • DIRresources
    • JSONdevice_hints.json
    • JSONoui_vendors.json
  • DIRruntime
    • PY__init__.py
    • PYbinary_resolver.py
    • PYconfig.py
    • PYmongo_runtime.py
    • PYpaths.py
    • PYruntime_state.py
    • PYsession_config.py
    • PYsession_manager.py
    • PYsettings.py
    • PYshutdown.py
    • PYsupervisor.py
  • DIRsensors
    • PYactive_discovery.py
    • PYpassive_listener.py
  • DIRstorage
    • PYlibrarian.py
    • PYmongo_client.py
  • DIRutils
    • PYlogging.py
    • PYnet.py
  • PY__init__.py
  • PYmain.py

frontEnd

  • DIRcss
    • CSSstyles.css
  • DIRjs
    • JSlaunch_controller.js
    • JSmain_controller.js
  • DIRwindows
    • HTMLlaunch.html
    • HTMLmain.html
  • JSmain.js
  • PNGNetTowerIcon-square.png
  • PNGNetTowerIcon.png
  • LOCKpackage-lock.json
  • NPMpackage.json
  • JSpreload.js
  • PYsupervisor_bridge.py

Tools and Technologies

Core Build

  • Python for discovery and modeling logic
  • JavaScript, HTML, and CSS for visualization interface
  • REST-style APIs with JSON data exchange
  • MongoDB (subject to refinement)

Network Tooling

  • tcpdump for packet-level observation
  • ICMP and traceroute utilities for reachability and path inference
  • ARP utilities for local host resolution
  • nmap for supplemental discovery context

Testing Approach

  • Unit testing for discovery and inference logic
  • Integration testing between scanner and visualization layers
  • Functional validation in lab-scale network scenarios
  • Performance checks under varying host and edge counts

Operational Risks

  • Incomplete or misleading network data
  • Inference uncertainty under constrained visibility
  • Segmented network boundaries and restricted hosts
  • Balancing detail, clarity, and deployment simplicity

Download the Code

Grab the latest project snapshot directly from GitHub.