Some checks failed
Build APK / build-apk (push) Failing after 11m29s
SvelteKit + Capacitor 6 Netzwerk-Diagnose-App: - Tool-Plattform (IP-Scan, Port, Ping, WLAN, DHCP, SNMP, Traceroute, Stresstest, iperf) - Offline-First SQLite-Cache + idempotenter Dolibarr-Sync - Natives Kotlin-Plugin NetDiagScanner (ARP, Ping, Ports, WLAN, DHCP, SNMP, Traceroute) - Backbutton-Single-Instance-Modul, Auto-Updater, Toast-System - Auftrags-/Kunden-Übersicht nach Baustellen-App-Muster - CI: [apk]-Tag → Forgejo Runner → Package Registry netdiag-apk Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
/**
|
|
* Tool: DHCP-Check — erkennt antwortende DHCP-Server.
|
|
* Mehr als ein Server deutet auf einen Rogue-DHCP hin (Warnung).
|
|
*/
|
|
|
|
import { scanner } from '../../scanner';
|
|
import type { MeasureStatus, Tool } from '../types';
|
|
|
|
export const dhcpCheckTool: Tool = {
|
|
id: 'dhcpcheck',
|
|
category: 'netzwerk',
|
|
name: 'DHCP-Check',
|
|
icon: 'server',
|
|
description: 'Findet DHCP-Server — erkennt unerwünschte Zweit-Server.',
|
|
scope: 'protocol',
|
|
params: [],
|
|
async run() {
|
|
const { servers } = await scanner.dhcpDiscover();
|
|
let status: MeasureStatus = 0;
|
|
if (servers.length === 0) status = 2; // kein DHCP-Server
|
|
if (servers.length > 1) status = 2; // Rogue-DHCP
|
|
return {
|
|
label:
|
|
servers.length === 1
|
|
? `1 DHCP-Server: ${servers[0].ip}`
|
|
: `${servers.length} DHCP-Server (!)`,
|
|
result: {
|
|
count: servers.length,
|
|
server: servers.map((s) => `${s.ip}${s.mac ? ' / ' + s.mac : ''}`),
|
|
hinweis: servers.length > 1 ? 'Mehrere DHCP-Server — Rogue-DHCP prüfen!' : '',
|
|
},
|
|
measureStatus: status,
|
|
};
|
|
},
|
|
};
|