С пингам - гнилой сканер, ибо они могут быть закрыты на некоторых машинах.
В PHP есть куча средств для реализации подобной задачи.
ftp_connect() - как самый простой вариант
fsockopen()
socket-функции, позволяющие работать на более низком уровне.
-~{}~ 04.08.05 19:02:
Если машина линуксовая, то лучший вариант для тебя будет использование nmap
ему можно скормить файлик со списком айпишников, которые тебе нужно проверить и задать формат выходного потока. Распарсить с помощью пхп проблем возникать не должно, все просто.
-bash-2.05b$ nmap -sT -p 21 10.4.28.15 -T insane -P0
Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2005-08-04 18:58 MSD
Interesting ports on yuriy.home.sbor.net (10.4.28.15):
PORT STATE SERVICE
21/tcp open ftp
Nmap finished: 1 IP address (1 host up) scanned in 0.045 seconds
0.045 секунды затрачено на сканирование одной машины.
Пробовал сканить 2500 машин в 7 потоков - меньше минуты.
Так что исользуй nmap.