Enthält: - rdp_client.py: RDP Client mit GUI und Monitor-Auswahl - rdp.sh: Bash-basierter RDP Client - teamleader_test/: Network Scanner Fullstack-App - teamleader_test2/: Network Mapper CLI Subdirectories mit eigenem Repo wurden ausgeschlossen. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
44 lines
1.5 KiB
Markdown
44 lines
1.5 KiB
Markdown
# LAN Graph Explorer
|
|
|
|
A local LAN discovery service that pings every host on your primary subnet, optionally uses SSH key-based auth to query remote neighbors, and presents a Visio-style map via D3.
|
|
|
|
## Features
|
|
- Detects your default IPv4 network and gateway automatically.
|
|
- Pings each active host and performs reverse DNS lookup.
|
|
- Attempts passwordless SSH (honoring `SSH_USER`/`SSH_KEY_PATH`) to collect `ip neigh` data so we can draw edges between hosts.
|
|
- Serves a FastAPI backend and a D3-powered front-end that renders nodes/edges interactively.
|
|
|
|
## Getting started
|
|
1. Install dependencies (ideally inside a virtualenv):
|
|
```bash
|
|
pip install --upgrade pip
|
|
pip install fastapi uvicorn[standard] typer
|
|
```
|
|
2. Run a scan from the command line:
|
|
```bash
|
|
lan-graph scan --concurrency 64 --ssh-timeout 5
|
|
```
|
|
3. Start the UI server:
|
|
```bash
|
|
lan-graph serve --host 0.0.0.0 --port 8000
|
|
```
|
|
Open `http://localhost:8000` in a browser to see the topology.
|
|
|
|
## SSH key authentication
|
|
Set environment variables so the scanner uses your preferred SSH identity:
|
|
```bash
|
|
export SSH_USER=team
|
|
export SSH_KEY_PATH=~/.ssh/id_rsa
|
|
```
|
|
The tool runs `ssh -o BatchMode=yes` and will skip hosts where it cannot connect quickly.
|
|
|
|
## Testing
|
|
```bash
|
|
pip install pytest
|
|
pytest
|
|
```
|
|
|
|
## Notes
|
|
- The graph draws gateways, the scanning host, and any discovered neighbor relationships for hosts that allow `ssh`.
|
|
- It's designed to run on Linux machines with `ip`, `ping`, and `ssh` in place.
|