En absolu, c'est impossible : le ping te dis seulement si la machine est active, et encore, à condition d'avoir autorisé le départ de trames ICMP depuis la carte réseau.
Tu peux éventuellement deviner à quoi tu as affaire en supposant que tes 'postes informatiques' ( sous entendu : PC sous windows vu qu'il existe un C$ ) offrent un certain nombres de services réseaux qui permettent de les distinguer les uns des autres : les serveurs sous UNIX offrent un service ssh que n'offrent pas les PC sous windows...
Bref, tout ceci dépend principalement de ce qui existe sur ton réseau. La meilleure méthode consiste à tenir un inventaire du parc informatique
Sinon, pour la méthode que tu as retenu : je ne crois pas que tu puisses changer le timeout en cas de non-réponse...
Par contre, tu pourrais tenter d'écrire un programme qui se forke en autant de sous-programmes qui tournent en // et qui auscultent chacun un nom de machine ( avec des limites sur le nombre de forks ), en te basant sur ceci :
[Ex] Script réentrant