Hi,
To use ICMP you must have access to low-level network data (e.g. raw sockets in C). In java, Sockets are assumed be either TCP or UDP sockets and you don't have access to a packet level data. You could use implement ping with C and add it to your java application using JNI. Or you could use pure java and perform ping in command line using Runtime.exec()...
-Vepo