Как бы вы исследовали первые несколько портов на TCP/UDP, чтобы увидеть, что хост жив, как Angryipscanner, но только на ipv6?Слишком ли живы хосты без ICMPv6?Я на Windows.

1 ответ1

1

Технически говоря, хост может быть "живым" (определить живым?) без ответа на запросы проверки связи ICMP. Например, вы можете блокировать трафик ICMPv4 и ICMPv6 в брандмауэре (выборочно, все еще позволяя такие важные вещи, как обнаружение PMTU), без каких-либо неблагоприятных последствий.

То же самое с попытками TCP-соединения. Если вы пытаетесь подключиться к произвольному порту, вы можете получить 3 разных результата:

  1. Соединение успешно. Хост жив.

  2. В соединении отказано. Хост жив.

  3. Время соединения истекло. Хост либо находится в автономном режиме, либо блокирует попытки подключения к этому порту, либо подключение не удалось из-за какой-либо другой проблемы с сетью.

Как вы можете различить 3 разных варианта в # 3?

Способ "пинговать" через TCP или UDP

Вы можете "заставить" traceroute выполнить "пинг" через TCP или UDP:

traceroute -6 -f 30 -T ipv6.google.com

трассировка до ipv6.google.com (2001:4860:8005::69), максимум 30 прыжков, 80-байтовые пакеты
30 pz-in-x69.1e100.net (2001:4860:8005::69) 87,299 мс 87,257 мс 87,208 мс

Тот же запрос, только через UDP, потерпит неудачу:

traceroute -6 -f 30 -U ipv6.google.com

трассировка до ipv6.google.com (2001:4860:8005::63), максимум 30 прыжков, 80-байтовые пакеты
30 * * *

Вам нужно будет только передать результаты в grep, если вам это нужно в скрипте.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .