le probleme est simple ce situe juste après la première boucle : echo $Ad ne revoiye rien alors que cela ne devrai pas être le cas!
#!/bin/sh
p=0
Ad=0
TbStat=(ESTABLISHED LISTEN SYN_SENT SYN_RECV FIN_WAIT1 FIN_WAIT2 TIME_WAIT CLOSE CLOSE_WAIT LAST_ACK CLOSING UNKNOWN)
netstat -laputen 2>/dev/null | while read a b c d e f g h i ; do case $d in *.*.*)
Wh1=0
while [ $Wh1 -lt 10 ];do
Buff="${f#"${TbStat[$Wh1]}"}"
if [ "${f%$Buff}" = "${TbStat[$Wh1]}" ] ; then
# echo "OUI " "${f%$Buff}" " <===>" "${TbStat[$Wh1]}"
TbEnd[$Ad]="${TbStat[$Wh1]}"
Ad=$(($Ad+1))
fi
Wh1=$(($Wh1+1))
done
sleep $p
esac
done
echo $Ad
if [ $Ad != "0" ];then
while [ $Wh2 -lt $Ad ];do
echo ${TbEnd[$Wh2]}
Wh2=$(($Wh2+1))
sleep $p
done
fi
#IP=$(/sbin/ifconfig | grep "inet adr:192" | cut -d ":" -f2 |cut -d " " -f1)
#echo $IP
exit 0