Со всеми возможностями для брандмауэров, блокирующих ICMP-пакеты или специальные порты, единственный способ гарантировать, что служба работает, чтобы сделать что-то, что использует эту услугу.
Например, если это сервер JDBC, вы можете выполнить неразрушающий SQL-запрос, например select * from sysibm.sysdummy1
для DB2. Если это HTTP-сервер, вы можете создать пакет GET для index.htm.
Если у вас фактически есть контроль над сервисом, просто создать специальную под-службу для обработки этих запросов (например, вы отправляете через пакет CHECK и возвращаете ответ OKAY).
Таким образом, вы избегаете всех возможных проблем с брандмауэром, и тест является истинным сквозным. PINGs и traceroutes смогут узнать, можете ли вы добраться до машины (разрешение брандмауэров), но они не скажут вам, работает ли ваша служба.
Возьмите это от кого-то, кто должен был бороться сетевыми богами в корпоративной среде, где машины заперты туго, как пословицы рыб ...
Какой язык, какие библиотеки? – Bernard 2008-12-13 08:05:10