имхо подобные вещи нужно средствами системы организовывать а результаты уже пшп скармливать.
что-то в этом роде (работает для фри, в линуксе возможно формат и опции нетстата отличаются - не помню), пускаем по крону:
PHP:
#!/usr/local/bin/bash
NETPART=`netstat -nr -f inet | grep link | grep UC | awk '{print $1}' | cut -d . -f 1,2,3 | cut -d / -f 1`
FILE=alive.hosts
>${FILE}
for i in ${NETPART}; do
# echo ${i}.0/24
nmap -sP -n ${i}.0/24 | grep "appears to be up" | awk '{print $2}' >> ${FILE} 2>&1
done
ну а потом файлик alive.hosts пшп читаем и ... _что-то_делаем_
PS. извините за офтоп, хотел высказать свою точку зрения, тем более на сколько я понял сие требуется на местной лс