(profile)
| 7318 | await postAPI('/api/net/ipv6-baseline', { action: 'reset' }); |
| 7319 | addConsoleMessage('IPv6 baseline reset — re-learning current RA router(s) / DHCPv6 server(s)', 'info'); |
| 7320 | await runIpv6Watch(); |
| 7321 | } catch (e) { |
| 7322 | addConsoleMessage('Failed to reset IPv6 baseline: ' + e.message, 'error'); |
| 7323 | } |
| 7324 | } |
| 7325 | |
| 7326 | // ---- NDP Watch (passive IPv6 neighbor-discovery spoofing) ------------------ |
| 7327 | const _NDP_VERDICT_STYLE = { |
| 7328 | clean: ['bg-green-950/40 border-green-900 text-green-400', '✓ No NDP spoofing — neighbour bindings consistent'], |
| 7329 | 'dad-dos': ['bg-amber-950/50 border-amber-800 text-amber-300', '⚠ dos-new-ip6 — a MAC is defending every DAD claim (SLAAC DoS)'], |
| 7330 | storm: ['bg-red-950/60 border-red-800 text-red-300', '🛑 Neighbor Advertisement flood (NDP DoS)'], |
| 7331 | spoofed: ['bg-red-950/60 border-red-800 text-red-300', '🛑 NDP spoofing — forged Neighbor Advertisement / router poisoning (IPv6 MITM)'], |
| 7332 | unknown: ['bg-slate-800 border-slate-700 text-slate-400', '— Could not determine'], |
| 7333 | }; |
| 7334 | function _ndpFillIfaces() { |
no outgoing calls
no test coverage detected