| Line 16... |
Line 16... |
| 16 |
if [ -e $tmp_file ]; then
|
16 |
if [ -e $tmp_file ]; then
|
| 17 |
cat $tmp_file | while read noresponse
|
17 |
cat $tmp_file | while read noresponse
|
| 18 |
do
|
18 |
do
|
| 19 |
noresponse_ip=`echo $noresponse | cut -d" " -f1`
|
19 |
noresponse_ip=`echo $noresponse | cut -d" " -f1`
|
| 20 |
noresponse_mac=`echo $noresponse | cut -d" " -f2`
|
20 |
noresponse_mac=`echo $noresponse | cut -d" " -f2`
|
| 21 |
arp_reply=`/usr/sbin/arping -b -I$INTIF -s$PRIVATE_IP -c1 $noresponse_ip|grep response|cut -d" " -f2`
|
21 |
arp_reply=`/usr/sbin/arping -b -I$INTIF -s$PRIVATE_IP -c1 -w4 $noresponse_ip|grep response|cut -d" " -f2`
|
| 22 |
if [[ $(expr $arp_reply) -eq 0 ]]
|
22 |
if [[ $(expr $arp_reply) -eq 0 ]]
|
| 23 |
then
|
23 |
then
|
| 24 |
logger "alcasar-watchdog $noresponse_ip ($noresponse_mac) reste muette. On déconnecte."
|
24 |
logger "alcasar-watchdog $noresponse_ip ($noresponse_mac) reste muette. On déconnecte."
|
| 25 |
/usr/sbin/chilli_query logout $noresponse_mac
|
25 |
/usr/sbin/chilli_query logout $noresponse_mac
|
| 26 |
fi
|
26 |
fi
|
| Line 31... |
Line 31... |
| 31 |
for system in `/usr/sbin/chilli_query list`
|
31 |
for system in `/usr/sbin/chilli_query list`
|
| 32 |
do
|
32 |
do
|
| 33 |
active_ip=`echo $system |cut -d" " -f2`
|
33 |
active_ip=`echo $system |cut -d" " -f2`
|
| 34 |
active_session=`echo $system |cut -d" " -f5`
|
34 |
active_session=`echo $system |cut -d" " -f5`
|
| 35 |
active_mac=`echo $system | cut -d" " -f1`
|
35 |
active_mac=`echo $system | cut -d" " -f1`
|
| 36 |
# on ne traite que les équipements exploitées par un usager authentifié
|
36 |
# on ne traite que les équipements exploitées par un usager authentifié (test de 2 réponses en 4 secondes)
|
| 37 |
if [[ $(expr $active_session) -eq 1 ]]
|
37 |
if [[ $(expr $active_session) -eq 1 ]]
|
| 38 |
then
|
38 |
then
|
| 39 |
arp_reply=`/usr/sbin/arping -b -I$INTIF -s$PRIVATE_IP -c2 $active_ip|grep response|cut -d" " -f2`
|
39 |
arp_reply=`/usr/sbin/arping -b -I$INTIF -s$PRIVATE_IP -c2 -w4 $active_ip|grep response|cut -d" " -f2`
|
| 40 |
# on stocke les adresses IP des stations muettes
|
40 |
# on stocke les adresses IP des stations muettes
|
| 41 |
if [[ $(expr $arp_reply) -eq 0 ]]
|
41 |
if [[ $(expr $arp_reply) -eq 0 ]]
|
| 42 |
then
|
42 |
then
|
| 43 |
echo "$active_ip $active_mac" >> $tmp_file
|
43 |
echo "$active_ip $active_mac" >> $tmp_file
|
| 44 |
fi
|
44 |
fi
|