add nmap service
This commit is contained in:
parent
de76c52a91
commit
f4c8def294
@ -102,4 +102,46 @@
|
|||||||
|
|
||||||
system.stateVersion = "25.05";
|
system.stateVersion = "25.05";
|
||||||
|
|
||||||
|
systemd.timers."scan" = {
|
||||||
|
wantedBy = [ "timers.target" ];
|
||||||
|
timerConfig = {
|
||||||
|
OnBootSec = "5m";
|
||||||
|
OnCalendar = "*:0/5";
|
||||||
|
Unit = "scan.service";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services."scan" = {
|
||||||
|
script = ''
|
||||||
|
/run/current-system/sw/bin/nmap -sn 192.168.1.0/24 \
|
||||||
|
| /run/current-system/sw/bin/awk '
|
||||||
|
/Nmap scan report for/ {
|
||||||
|
if (match($0, /\(([^)]+)\)/)) {
|
||||||
|
ip = substr($0, RSTART+1, RLENGTH-2)
|
||||||
|
host = $5
|
||||||
|
} else {
|
||||||
|
ip = $NF
|
||||||
|
host = ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/MAC Address:/ {
|
||||||
|
mac = $3
|
||||||
|
vendor = $0
|
||||||
|
sub(/^.*\(/, "", vendor)
|
||||||
|
sub(/\).*$/, "", vendor)
|
||||||
|
|
||||||
|
print ip "," host "," vendor "," mac
|
||||||
|
}
|
||||||
|
' > "/data/nmap/$(date +%F_%H-%M-%S)-nmap.csv"
|
||||||
|
'';
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
User = "root";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d /data 777 root root"
|
||||||
|
"d /data/nmap 777 root root"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user