Es ist nicht so einfach, wie Sie denken. Wirklich können Sie ICMP-Paket nicht auf dem Anwendungsniveau abfangen. Vermutlich müssen Sie einen Netzfahrer (ihn kann nicht in Delphi getan werden, benötigen Sie C/C++ und Fahrer-Entwicklungs-Installationssatz) schreiben.
Oder Sie können einen aus dritter Quellefahrer, wie Paket-Sauganleger SDK benutzen:
http://www.microolap.com/products/network/pssdk/Auch Sie können ein freies Dienstprogramm, wie ICMP-Auffänger verwenden:
http://www.sabronet.com/icmpinterceptor/icmpinterceptor.html