PHPackages                             do1emu/module-netzwerk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. do1emu/module-netzwerk

ActiveLibrary

do1emu/module-netzwerk
======================

Netzwerk-Modul für die modulare Intranet-Plattform: Inventar und Karte des lokalen Netzwerks, erhoben von einem externen Collector (z. B. Raspberry Pi), gelesen aus einer MSSQL-Datenbank.

v1.1.0(today)03↑2900%MITPHP ^8.3

Since Jul 22Compare

[ Source](https://github.com/kleinebekele/intranet-module-netzwerk)[ Packagist](https://packagist.org/packages/do1emu/module-netzwerk)[ RSS](/packages/do1emu-module-netzwerk/feed)WikiDiscussions Synced today

READMEChangelogDependenciesVersions (3)Used By (0)

Netzwerk-Modul (`do1emu/module-netzwerk`)
=========================================

[](#netzwerk-modul-do1emumodule-netzwerk)

Modul für die modulare Intranet-Plattform: zeigt das **Inventar und die Karte des lokalen Netzwerks** – welche Geräte es gibt, wo sie hängen, ob sie online sind.

**Seiten:** *Karte* (Topologie-Baum aus LLDP-Daten: Switches mit Portanzahl, aktueller Rate, Fremd-Nachbarn und Redundanz-Querverbindungen; neu entdeckte, noch nicht abfragbare Geräte erscheinen amber mit Einbindungs-Anleitung) und *Geräte* (Endgeräte-Inventar aus dem Ping-Scan, je Netzsegment).

Das Modul **liest nur**. Erhoben werden die Daten von einem externen Collector (bei uns: ein Raspberry Pi im Netz, der per nmap und SNMP scannt) und in eine MSSQL-Datenbank geschrieben; das Intranet kennt keinerlei Zugangsdaten zu Netzwerkgeräten.

Installation
------------

[](#installation)

```
composer require do1emu/module-netzwerk
php artisan modules:sync
```

Danach in der `.env` die Datenquelle hinterlegen (ODBC-Weg, empfohlen):

```
NETZWERK_DB_DSN="Driver={ODBC Driver 18 for SQL Server};Server=host,1433;Database=meinedb;TrustServerCertificate=yes"
NETZWERK_DB_USERNAME=leser
NETZWERK_DB_PASSWORD=...
# optional (Standard: Ekkon3):
# NETZWERK_DB_SCHEMA=Ekkon3
```

Alternativ nativ über `pdo_sqlsrv` mit `NETZWERK_DB_HOST` / `NETZWERK_DB_PORT` / `NETZWERK_DB_DATABASE` – Details in [config/netzwerk.php](config/netzwerk.php).

Ohne Konfiguration zeigt das Modul einen Hinweis statt Fehlern.

**Sichtbarkeit:** Der Menüpunkt startet ohne Rollen-Freigabe (= nur Admins). Die Übersicht zeigt Netz-Interna (IPs, MACs, Hostnamen) – bewusst je Rolle freischalten unter *Verwaltung → Module → Netzwerk*.

Für die lokale Entwicklung ohne erreichbare MSSQL-Quelle zeigt `NETZWERK_DEMO=true`erfundene Beispieldaten auf der Karte (niemals auf einem Server setzen).

Datenmodell
-----------

[](#datenmodell)

Gelesen werden aus `{schema}`:

- `network_devices` – Endgeräte-Inventar (Ping-Scan): `mac, ip, segment, hostname, vendor, firstSeen, lastSeen`
- `network_nodes` – Infrastruktur (Switches, APs, Controller, Firewall) mit `status` (`aktiv` | `entdeckt` | `stumm`)
- `network_links` – LLDP-Kanten (inkl. Fremd-Nachbarn ohne eigenen Node)
- `network_ports` – Ports je Node mit Status, Speed und aktueller Rate (bit/s)

Das Schema samt Staging-Tabellen und MERGE liegt unter [pi/](pi/) beim Collector. „online" berechnet das Modul beim Lesen aus `lastSeen` (Standard: 15 Minuten, `NETZWERK_OFFLINE_AB_MINUTEN`), nicht aus gespeicherten Flags – fällt der Collector aus, zeigt die Übersicht ehrlich offline.

Ausbaustufen
------------

[](#ausbaustufen)

1. ✅ Geräte-Inventar
2. ✅ Netzwerkkarte aus LLDP-Daten (Topologie-Baum, Discovery unbekannter Switches)
3. Gerät-zu-Switchport-Zuordnung (FDB), WLAN (Controller/APs)
4. Traffic-Statistiken

Das Konzept samt Collector-Beschreibung liegt bei der betreibenden Instanz (Erst-Einsatz: Waldorfschule).

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance100

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

0d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/37b420578fb749b9cba48fbc4eb30fc8ebc63a12e4f607fbcba68041767f2cc2?d=identicon)[do1emu](/maintainers/do1emu)

---

Tags

laravelintranetsnmpмодульnetzwerkinventar

### Embed Badge

![Health badge](/badges/do1emu-module-netzwerk/health.svg)

```
[![Health](https://phpackages.com/badges/do1emu-module-netzwerk/health.svg)](https://phpackages.com/packages/do1emu-module-netzwerk)
```

###  Alternatives

[rtconner/laravel-likeable

Trait for Laravel Eloquent models to allow easy implementation of a 'like' or 'favorite' or 'remember' feature.

400396.7k5](/packages/rtconner-laravel-likeable)[slowlyo/owl-admin

基于 laravel、amis 开发的后台框架~

61315.0k26](/packages/slowlyo-owl-admin)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
