1

Я экспериментирую с блокировкой всего исходящего трафика по умолчанию с помощью брандмауэра Windows. Затем я хочу явно разрешить исходящий ICMPv4 программой PING.EXE. Следовательно, я явно создаю пользовательские правила, которые говорят, что если файл% systemroot%\system32\PING.EXE и протокол ICMPv4, это разрешено.

Однако, когда я запускаю PING.EXE 8.8.8.8, он говорит "Общий сбой", и мой журнал брандмауэра показывает, что трафик сброшен. Затем я использую dir ping.exe /s, чтобы найти все экземпляры PING.EXE (их 4, один в System32, один в SysWOW64, два в WinSxS) и явно разрешить все 4 из них. Я все еще встречался с "General Failure".

Я использовал ProcMon, чтобы проверить, вызывается ли C:\Windows\System32\PING.EXE. Похоже, что это так.

Однако, если я скажу, что ICMPv4 разрешен для "ALl-программ, соответствующих указанным условиям", то PING.EXE 8.8.8.8 будет успешным.

Может кто-нибудь помочь объяснить, почему это так?

1 ответ1

1

Причина, по которой он работает при выборе "Все программы", а не при использовании ping.exe, заключается в том, что брандмауэр не видит исходную / целевую программу для трафика ICMPv4, а видит только процесс "Система" и что "Системный" процесс относится к категории "Все программы".

Обратите внимание, что

  • В поле, где запрашивается полный путь к исполняемому файлу, вы можете просто написать: System
  • вам нужно будет применить ваши правила к правильному сетевому профилю домена, частного или общедоступного для вашего текущего подключения
  • Программа tracert особенно полезна для диагностики.

По умолчанию при добавлении нового правила ICMPv4 разрешены все типы и коды ICMPv4. Существует множество типов и кодов icmp, для получения полной информации см. Http://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml . Вы можете не захотеть разрешить все из них.

Чтобы пинг работал, ему как минимум нужен как исходящий, так и входящий трафик для

  • Эхо-запрос (пинг) ICMP тип 8
  • Эхо-ответ (понг) ICMP тип 0

Будучи РС, они пытались немного заглушить это и скрыть все детали. Если вы заглянете в «Область расширенного брандмауэра -> Свойства правила -> вкладка« Протокол и порты »-> Кнопка настройки», вы увидите область для типов и кодов. В моей системе, которая, по моему мнению, все еще находится в состоянии по умолчанию, она имеет

  • исходящий - ICMPv4 "Эхо-запрос"
  • прибывающий
    • ICMPv4 "Эхо-запрос" - (я предполагаю, что "Эхо-запрос" в микрософте означает либо запрос, либо ответ)
    • Код 4 ICMP (недостижимый пункт назначения) код 4 (Фрагментация необходима, а фрагмент не задан). Хотя я не уверен, почему только код 4 разрешен, когда другие коды типа 3 довольно полезно знать.

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