1 |
douglas |
869 |
#!/usr/local/bin/bash |
2 |
|
|
# Recon |
3 |
|
|
# |
4 |
|
|
# Douglas Thrift |
5 |
|
|
# |
6 |
|
|
# $Id$ |
7 |
|
|
|
8 |
|
|
declare -a interfaces locals remotes |
9 |
|
|
|
10 |
|
|
while read interface local remote; do |
11 |
|
|
interfaces[${#interfaces[@]}]=$interface |
12 |
|
|
locals[${#locals[@]}]=$local |
13 |
|
|
remotes[${#remotes[@]}]=$remote |
14 |
|
|
done < ~/recon.dat |
15 |
|
|
|
16 |
|
|
function address() |
17 |
|
|
{ |
18 |
|
|
host $1 | sed -Ee 's/^.* has address ([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})$/\1/p;d' |
19 |
|
|
} |
20 |
|
|
|
21 |
|
|
for ((index = 0; index != ${#interfaces[@]}; ++index)); do |
22 |
|
|
interface=${interfaces[$index]} |
23 |
|
|
|
24 |
|
|
eval `grep "^gifconfig_$interface=" /etc/rc.conf | sed -Ee "s/^gifconfig_$interface=\"([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}) ([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\"$/declare old_local=\1 old_remote=\2/p;d"` |
25 |
|
|
|
26 |
|
|
new_local=`address ${locals[$index]}` |
27 |
|
|
new_remote=`address ${remotes[$index]}` |
28 |
|
|
|
29 |
|
|
if [[ $old_local != $new_local ]] || [[ $old_remote != $new_remote ]]; then |
30 |
|
|
echo 'Here!' |
31 |
|
|
|
32 |
|
|
if [[ $old_remote != $new_remote ]]; then |
33 |
|
|
echo 'There!' |
34 |
|
|
fi |
35 |
|
|
fi |
36 |
|
|
done |