Этот вопрос конкретно связан с сообщением ICMPv4 Timestamp Request (Type 13).
Когда у меня есть брандмауэр WindowsнеполноценныйЯ могу отправить запрос временной метки с хоста, а клиент получит запрос и ответит ответом временной метки (тип 14).
Когда у меня есть брандмауэр WindowsвключеноЯ могу отправить запрос отметки времени с хоста, и клиент получит запрос, но никогда не ответит ответом отметки времени. Я предполагаю, что это происходит из-за того, что брандмауэр блокирует запрос. Однако я не вижу никаких конкретных правил, которые бы указывали мне, что это действительно так. Я также не смог найти никакой документации в Интернете, которая помогла бы мне понять, блокируется ли это конкретное сообщение по умолчанию (как ICMP Echo).
Кто-нибудь знает, блокирует ли брандмауэр Windows это сообщение по умолчанию? Где-то можно посмотреть/настроить этот параметр по умолчанию? Есть ли где-то документация, которую я просто пропустил?
Я использую Nping для отправки сообщений и Wireshark для наблюдения за приходящими и уходящими пакетами.
решение1
Брандмауэр Windows блокируетвсепо умолчанию. Полный порядок обработки документированна TechNet, но для простоты вы можете думать об этом так: «1) обрабатывать все запрещающие правила, 2) обрабатывать все разрешающие правила, 3) запрещать или разрешать все остальное, в зависимости от настроек профиля».
Когда вы открываете инструмент настройки брандмауэра (запустивwf.msc
, или открытие«Брандмауэр Windows с расширенной безопасностью»приложение или нажав ссылку « » на панели управления), вы увидите этот экран:
По умолчанию это означает «Входящие соединения, не соответствующие правилу, блокируются», и это действительно применимо квсепакеты, не связанные с существующим состоянием, включая запросы ICMP. Если вы не нашли никаких конкретных правил, связанных с запросами меток времени, это означает, что они будут отклонены в соответствии с конфигурацией по умолчанию.
Поэтому, чтобы разрешить определенные типы ICMP, вам, конечно, следует создать правила в разделе "Входящие правила" или включить те, которые уже существуют. Например, группа "Общий доступ к файлам и принтерам" имеет встроенные правила, разрешающие входящие запросы ICMP "Эхо":
Конкретные типы ICMP для каждого правила выбираются в разделе «Протоколы и порты → Параметры ICMP: Настроить». (Чтобы разрешить запрос временной метки, необходимо создать пользовательское правило; для встроенных правил список доступен только для чтения).
Наконец, обратите внимание, что даже если брандмауэрпозволяетпакеты пройдут, это не значит, что ОС на самом делеподдерживатьэтот конкретный тип запроса ICMP. Поскольку ICMPv4 "Timestamp Request" встречается довольно редко (достаточно редко, чтобы не иметь встроенного правила в брандмауэре Windows, и вообще не имеет эквивалента в ICMPv6), нет никакой реальной гарантии, что будущие версии Windows не "устареют" и не удалят код для ответа на такие запросы...
решение2
UDP
по своей сути "тупой", то есть простой -- не сложный. Чаще всего нет требования, чтобы запросы что-то возвращали или вообще были успешными. Это довольно сухое чтение, но вы, вероятно, найдетеRFC-792хорошее чтение в вашей ситуации. Что касается лечения; если бы это был я, я бы, вероятно, открылся echo req
и посмотрел, не получите ли вы лучшую отдачу от своих запросов.
Хотя это и не страница руководства Windows. Следующая страница руководства FreeBSD должна помочь лучше понять все деталиИКМП