generated from Dicken/dickendock
round48: masscan/httpx-Fehlermeldungen im Scan-Log sichtbar machen, masscan-Status nur bei vollstaendigem Portscan anzeigen
This commit is contained in:
@@ -21,6 +21,33 @@ import {
|
||||
} from "../scanJobs.js";
|
||||
import type { Device } from "@launchpad/shared";
|
||||
|
||||
/**
|
||||
* Formatiert den masscan/httpx-Status für die Scan-Log-Zeile. Zeigt bei
|
||||
* masscan "nicht relevant" statt "nicht genutzt", wenn es bei diesem Scan
|
||||
* gar nicht versucht wurde (masscan läuft nur beim vollständigen Portscan,
|
||||
* siehe networkScanner.ts) - und hängt bei echten Fehlschlägen die konkrete
|
||||
* Fehlermeldung an, statt nur "nicht genutzt/verfügbar" ohne Erklärung.
|
||||
*/
|
||||
function formatToolsUsed(toolsUsed: {
|
||||
masscan: boolean;
|
||||
masscanAttempted: boolean;
|
||||
masscanError: string | null;
|
||||
httpx: boolean;
|
||||
httpxError: string | null;
|
||||
}): string {
|
||||
const masscanPart = !toolsUsed.masscanAttempted
|
||||
? "masscan: nicht relevant (kein Volltest)"
|
||||
: toolsUsed.masscan
|
||||
? "masscan: ✓ genutzt"
|
||||
: `masscan: ✗ fehlgeschlagen${toolsUsed.masscanError ? ` (${toolsUsed.masscanError})` : " (Grund unbekannt)"}`;
|
||||
|
||||
const httpxPart = toolsUsed.httpx
|
||||
? "httpx: ✓ genutzt"
|
||||
: `httpx: ✗ fehlgeschlagen${toolsUsed.httpxError ? ` (${toolsUsed.httpxError})` : " (Grund unbekannt)"}`;
|
||||
|
||||
return `${masscanPart}, ${httpxPart}`;
|
||||
}
|
||||
|
||||
/**
|
||||
* Scannt EIN Gerät (Ports, Titel/Favicon, Softwareerkennung) und schreibt die
|
||||
* Ergebnisse in die Datenbank. Ausgelagert aus der Route, damit sowohl der
|
||||
@@ -113,7 +140,7 @@ async function performDeviceScan(device: Device, fullScan = false) {
|
||||
type: "device",
|
||||
targetId: device.id,
|
||||
level: "info",
|
||||
message: `${device.hostname} (${device.ip}): ${discovered.length} Dienst(e) gefunden (Ports: ${ports.join(", ") || "keine"}), ${created} neu, ${updated} aktualisiert${staleServices.length > 0 ? `, ${staleServices.length} nicht mehr gefunden` : ""}${nameChanges.length > 0 ? `, ${nameChanges.length} Namensänderung(en) vorgeschlagen` : ""} [masscan: ${toolsUsed.masscan ? "✓ genutzt" : "nicht genutzt/verfügbar"}, httpx: ${toolsUsed.httpx ? "✓ genutzt" : "nicht genutzt/verfügbar"}]`,
|
||||
message: `${device.hostname} (${device.ip}): ${discovered.length} Dienst(e) gefunden (Ports: ${ports.join(", ") || "keine"}), ${created} neu, ${updated} aktualisiert${staleServices.length > 0 ? `, ${staleServices.length} nicht mehr gefunden` : ""}${nameChanges.length > 0 ? `, ${nameChanges.length} Namensänderung(en) vorgeschlagen` : ""} [${formatToolsUsed(toolsUsed)}]`,
|
||||
});
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user