mirror of
https://github.com/myronblair/jarvis
synced 2026-07-27 16:22:55 -05:00
Fix network map duplicate-device bug: drop nmap --send-ip (was causing MAC misattribution/stale ARP entries) and dedupe network_devices by MAC on every scan push so IP changes don't leave orphaned rows
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -12,7 +12,7 @@ fi
|
|||||||
SUBNET="10.48.200.0/24"
|
SUBNET="10.48.200.0/24"
|
||||||
|
|
||||||
TMPFILE=$(mktemp)
|
TMPFILE=$(mktemp)
|
||||||
nmap -sn --send-ip "$SUBNET" 2>/dev/null > "$TMPFILE"
|
nmap -sn "$SUBNET" 2>/dev/null > "$TMPFILE"
|
||||||
|
|
||||||
if [ ! -s "$TMPFILE" ]; then
|
if [ ! -s "$TMPFILE" ]; then
|
||||||
echo "$(date): nmap produced no output" >&2
|
echo "$(date): nmap produced no output" >&2
|
||||||
|
|||||||
@@ -35,6 +35,11 @@ foreach ($devices as $d) {
|
|||||||
if (!$ip) continue;
|
if (!$ip) continue;
|
||||||
|
|
||||||
$discoveredIPs[] = $ip;
|
$discoveredIPs[] = $ip;
|
||||||
|
if ($mac) {
|
||||||
|
// Device likely moved to a new IP (DHCP) — drop the stale row so it
|
||||||
|
// doesn't linger as an orphaned duplicate under the old address.
|
||||||
|
JarvisDB::execute('DELETE FROM network_devices WHERE mac=? AND ip<>?', [$mac, $ip]);
|
||||||
|
}
|
||||||
JarvisDB::execute(
|
JarvisDB::execute(
|
||||||
'INSERT INTO network_devices (ip, mac, hostname, status, last_seen)
|
'INSERT INTO network_devices (ip, mac, hostname, status, last_seen)
|
||||||
VALUES (?,?,?,?,NOW())
|
VALUES (?,?,?,?,NOW())
|
||||||
|
|||||||
Reference in New Issue
Block a user