blob: bc7bbb38072ac812ef51f0eeef73beb2a9495e03 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#!/bin/bash
cd "$(dirname "$(readlink -e "$0")")"
. ./arp-ddns.conf
nmap -sn $(
sipcalc $(
for dev in "${devs[@]}"; do
ip -4 -o addr show dev "$dev"
done \
| awk '{print $4}'
) \
| awk '
$1 == "Network" && $2 == "address" && $3 == "-" {print $4}
$1 == "Network" && $2 == "mask" && $3 == "(bits)" && $4 == "-" {print $5}
' \
| sed '
N
s,\n,/,
'
) >/dev/null
join -1 1 -2 2 -o 1.2,2.1,1.3 <(
printf '%s\n' "${hosts[@]}" \
| sort -k1,1
) <(
arp -a \
| cut -d' ' -f2,4 \
| sort -k2,2 \
| tr -d '()'
) \
| while read -r host ip key; do
if dig +short ${host}.ddns.eckner.net A | grep -qxF "${ip}"; then
continue
fi
curl -Ss 'https://eckner.net/ddns.php?i='"${key}"'&address='"${ip}"
done
|