/** * 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, }; }, };