No description
Find a file
2026-04-04 01:10:11 -04:00
screenshots add screenshots 2026-04-04 00:55:11 -04:00
.gitignore included build spec and updated README 2026-04-04 00:16:57 -04:00
LanTopoMap.py UI: Added version to titlebar for better visibility. 2026-04-04 01:10:11 -04:00
LanTopoMap.spec included build spec and updated README 2026-04-04 00:16:57 -04:00
README.md add screenshots 2026-04-04 00:55:11 -04:00
requirements.txt Initial commit: LanTopoMap core logic 2026-04-04 00:05:31 -04:00
version_info_generated.txt UI: Added version to titlebar for better visibility. 2026-04-04 01:10:11 -04:00
version_template.txt Initial commit: LanTopoMap core logic 2026-04-04 00:05:31 -04:00

LanTopoMap

LanTopoMap is a lightweight, multi-vendor network discovery and topology mapping tool. It uses SNMP to crawl network devices, identify neighbors via LLDP/CDP, and generate visual infrastructure maps.

Features

  • Device Discovery: Scan via CIDR ranges, seed IPs, or individual hosts.
  • Multi-Vendor Support: Leverages standard MIBs for broad compatibility (Cisco, HP, Aruba, Ubiquiti, etc.).
  • Layer 2/3 Visualization: Automatically generates topology diagrams using NetworkX and Matplotlib.
  • Data Export: Export discovered device data and port mappings to CSV or PNG.
  • Portable: Can be compiled into a single, standalone Windows executable.

Requirements

  • Python: 3.10+
  • SNMP Library: pysnmp (v7.1.16+ recommended)
  • Graphing: networkx, matplotlib

Installation

  1. Clone the repository:

    git clone https://git.techish.net/rjkreider/LanTopoMap.git
    cd LanTopoMap
    
  2. Create a virtual environment:

    python -m venv .venv
    

    On Windows:

    .venv\Scripts\activate
    
  3. Install dependencies:

    pip install pysnmp==7.1.16 networkx matplotlib
    

    or

    pip install -r requirements.txt
    

Building a Portable EXE

To create a standalone .exe for Windows, use PyInstaller. To optimize file size and ensure all SNMP modules are included, use the following command:

pyinstaller LanTopoMap.spec

or

pyinstaller --noconfirm --onefile --windowed --collect-all pysnmp --collect-all pyasn1 --name "LanTopoMap" LanTopoMap.py

Note: Using the --upx-dir flag with UPX installed is highly recommended to reduce the final 40MB size to approximately 20MB.

Usage

  1. Run the application: python main.py
  2. Enter your SNMP Community String (default is public).
  3. Select SNMP Version (v2c is standard for most LANs).
  4. Enter a CIDR (e.g., 10.0.0.0/24) and click Scan CIDR.
  5. Once the scan completes, use View Topology to see the generated map.

License

MIT