Если другой компьютер находится в той же локальной сети, он должен все еще ответить на запросы ARP даже при том, что он блокируется ping
. В этом случае Вы могли попытаться использовать что-то как arping
. Больше информации о Википедии.
По большей сети я не могу думать о надежном способе сказать, идет ли хост или не без его сотрудничества.
Если брандмауэр хорошо работает, нет никакого способа проверить на это. Смысл брандмауэра - то, что, если пакет Вы отправляете, отклоняется, Вы не получаете подсказок вообще относительно состояния сервера получения: центральная идея состоит в том, что Вы не добираетесь для сообщения между случаем
1) сервер не там, и
2) брандмауэр заблокировал Вас.
Чтобы сказать, работает ли удаленный сервер, необходимо выбрать некоторый порт, на котором сервер ответит и сделает соответствующую дыру в брандмауэре.
(недостаточно репутации все же для комментария, таким образом, я добавляю это как ответ),
Это - причина, что я обычно поощряю позволять по крайней мере несколько типов icmp (эхо-запрос, эхо-ответ и превышенное время приходит на ум) на всех машинах, потому что отбрасывание ICMP действительно не скрывает существование машины так или иначе (это могло бы для машин позади него, хотя), но главным образом препятствует контролю и сетевая отладка.
Если Вы действительно параноики о нападениях pingflood, своего рода ограничение уровня могло бы сделать (или фильтрует только на стороне границы сети).
Обратите внимание, которое, не отвечая на эхо-запрос не является знаком машины, не являющейся там, который обычно сообщается последним маршрутизатором, отвечающим с типом пакета 3, кодируйте 1 (разместите недостижимый), таким образом делание действительно невидимой машины более сложно, чем это появляется.
Что касается исходного вопроса, одно из сканирований nmap обычно делает задание (больше, чем часто так называемое "tcp проверяют с помощью ping-запросов" сканирование).
Способ, которым я делаю это, состоит в том, чтобы инициировать соединение TCP к известному открытому порту. Если это будет веб-сервер, то это ответит на порте 80 (или 443). Положительный ответ указывает, что машина жива. Отрицательный ответ указывает на одну из многих возможных проблем, таких как возможность соединения через сеть, неправильную конфигурацию брандмауэра, приостановку обслуживания или снижающуюся машину.
Если Вы настраиваете контроль и просто хотите знать, когда обратить внимание на машину, просто полагаться на известный открытый порт. По крайней мере, если это прекратит отвечать, то Вы будете знать, что что-то произошло.
Большинство современных брандмауэров может также прервать начальный SYN-SYN/ACK-ACK к hep, предотвращают атаки типа исчерпания ресурса (т.е. отправьте много SYNs то, чтобы вынуждать сервер поместить запись в ее таблицу соединений и затем никогда не продолжать соединение - для создания этого типа из нападения более агрессивным, эти соединения могут быть от имитировавших IP-адресов).
Вы, возможно, должны открыть соединение и на самом деле запросить данные, чтобы иметь больше обеспечения, что сервер на самом деле (конечно, кэширующий серверы, и другие вещи могли помешать даже этому).
Какой сервер - это? Тип соединения может быть приспособлен к услуге, предложенной сервером. Инструменты как nmap (http://nmap.org/) могут запросить http заголовок, например.
Разве это не вопрос о Windows? Windows является единственная ОС, это задержало достаточно к ping блока по умолчанию.
Я действительно ненавижу это. Интересно, сколько лет человека было потрачено впустую людьми, диагностирующими сеть просто, потому что ping не работал.
Можно сделать Ping ARP. Даже если брандмауэр препятствует тому, чтобы ping ICMP произошли, Ping ARP в основном спрашивает, использует ли кто-либо определенный IP. ARP используется, чтобы удостовериться, что нет коллизий IP, таким образом, машина должна ответить. После того как такой инструмент здесь.