No description
- Python 100%
| screenshots | ||
| .gitignore | ||
| LanTopoMap.py | ||
| LanTopoMap.spec | ||
| README.md | ||
| requirements.txt | ||
| version_info_generated.txt | ||
| version_template.txt | ||
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
-
Clone the repository:
git clone https://git.techish.net/rjkreider/LanTopoMap.git cd LanTopoMap -
Create a virtual environment:
python -m venv .venvOn Windows:
.venv\Scripts\activate -
Install dependencies:
pip install pysnmp==7.1.16 networkx matplotlibor
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
- Run the application: python main.py
- Enter your SNMP Community String (default is public).
- Select SNMP Version (v2c is standard for most LANs).
- Enter a CIDR (e.g., 10.0.0.0/24) and click Scan CIDR.
- Once the scan completes, use View Topology to see the generated map.
License
MIT



