Разное

Icmp как включить: Настройка протокола ICMP в Firewall.

Содержание

Настройка протокола ICMP в Firewall.

Часто в целях проверки работоспособности канала, а так же (что, скорее, является самым важным) для проверки качества связи, требуется разрешение «хождения» ICMP-пакетов. Чаще всего препятствием становится включенный встроенный брандмауэр WIndows XP. Все нижеприведенные действия относятся к ОС Windows XP с установленным Service Pack 2. Если у Вас все еще не установлен Service Pack 2 — мы настоятельно рекомендуем это сделать !!!

Для включения ICMP-пакетов требуется:

  • Включить брандмауэр (хотя мы все же рекомендуем выключить этот брандмауэр и поставить Agnitum Outpost Firewall, настройка последнего приведена ниже):

  • Установить галочку на опции Разрешать запрос входящего эха, Разрешать запрос входящего штампа времени, Разрешать запрос входящей маски:

Так же практически любой фаервол блокирует ICMP-пакеты. Ниже приведена инструкция по включения в фаерволе Agnutum Outpost:

Включение с (internet control message protocol) в Windows Vista

1. Для начала настройки ICMP Нажмите Пуск —> Панель управления

2.Найдите ярык Администрирование и кликните по нему мышкой.

3. Найдите ярык Брандмауэр Windows в режиме повышенной безопасности и кликните по нему мышкой.

4. В появившемся окне в левой части нажмите на Правила для входящих подключений Далее в правой части окна в Действиях — Новое правило…

5. В окне Тип правила отвечаем на вопрос Правило какого типа вы хотите создать№ — ставим точку напротив Для порта Жмём Далее

 

6. В окне: Протокол и порты указываем протокол: Протокол TCP, Применяем: Все локальные порты Жмём Далее…

7. В окне: Профиль применяем все правила. Жмём Далее…

8. В окне: Имя вводим имя: ICMP . Жмём Готово…

9. В консоле управлениями правил, появится новое правило с названием:: ICMP В правой части окна: Действие жмём на: Свойства…

10. В Свойствах:ICMP находим закладку: Протоколы и порты — Нажимаем…

11. В выплывающем меню выбираем Тип протокола: ICMPv4 !!!. Всё! Настройка завершена можно нажать Применить и Ок

Обратите Ваше внимание!

Если после нажатия Применить и Ок появилось такое сообщение:

 

Перейдите в окно ( Нажав на сообщение ) — Центр обеспечения безопастности Windows

 

 

И нажмите Включить сейчас Но после этого Вам придётся настроить всё заново.

Если такое сообщение будет появлятся, значит Вы на каком то шаге настройки не сделали всё правильно.

Работоспособность протокола ICMP в Windows Server 2016 — 🖧 Полигон 218

Одним из часто используемых инструментов у сетевых администраторов стала сетевая утилита Ping. Однако, ее использование на компьютере с только что установленной операционной системой Windows Server 2016 оказывается не возможным. Причиной этого является тот факт, что по умолчанию встроенный в серверную ОС брандмауэр блокирует пакеты принимаемые по протоколу ICMP.

Решение этого вопроса довольно простое.

В случае если установлена Windows Serverс графическим интерфейсом, то можно открыть управление правилами с помощью панели управления: Control Panel — System and Security — Windows Defender Firewall и открыть пункт Adwanced Settings.

Кстати, добраться до расширенных настроек можно ведя команду wf.msc, которая откроет соответствующую оснастку.

В расширенных настройках правил файрвола нужно выбрать подпункт Inbound Rules и открыть правило File and Printer Sharing (Echo Reuest — ICMPv4-In)

В окне свойств правило ставим галочку в чекбоксе Enabled.

В случае если серверная «операционка» установлена без графического интерфейса можно воспользоваться командой netsh и попытаться ввести что-то вроде.

netsh advfirewall firewall add rule name=»ICMP Allow incoming V4 echo request» protocol=icmpv4:8,any dir=in action=allow

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

Гораздо проще можно решить задачу разрешения ICMP-трафика с использованием Windows PowerShell выполнив командлет:

Set-NetFirewallRule -Name FPS-ICMP4-ERQ-In -Enabled True

Как разрешить эхо-ответ ICMP на Windows Server 2019?

По умолчанию брандмауэр Windows Server блокирует ICMP.

Это означает, что Сервер никогда не будет отвечать на пинг-пакеты с других хостов, даже внутри вашей локальной сети.

Здесь я покажу вам шаги, как разрешить эхо-ответ ICMP на Windows Server.

Разрешить echo-ответы ICMP на Windows Server 2019

Войдите в Windows Server 2019 с экрана входа в систему или через RDP и нажмите Server Manager:

Затем перейдите в:

Tools > Windows Defender Firewall with Advanced Security

Выберите Inbound Rules на левой панели и нажмите New Rule в разделе Actions на правой панели.

Выберите Custom rule для добавления и нажмите «Next».

Выберите All programs в следующем окне. затем нажмите Next.

Как тип протокола выберите ICMPv4.

Укажите исходный IP-адрес или сеть для приема пинга.

Вы можете использовать «Any IP address», чтобы принимать пинг с любого IP-адреса.

Примите соединение, соответствующее правилу.

Выберите профили, к которым будет применяться правило.

Дайте правилу имя и описание [ необязательно ], затем сохраните настройки, используя Finish.

Если вы используете IPv6, сделайте то же самое и выберите ICMPv6 в поле Protocol Type

Поделитесь статьей:

Как выполнить команду ping в windows

Иногда возникает необходимость проверить отправляются ли пакеты на ваш сайт и таким образом продиагностировать проблему с сайтом. Или же вам необходимо узнать IP-адрес на который направлен ваш сайт, например если вы хотите посмотреть сайт без домена после прописывания его в файл hosts и не уверены что правило сработало. Также если вы изменили А-запись для домена и хотите проверить обновилась ли уже DNS-зона. Все это можно сделать простой командой ping которая отправляет пакеты по протоколу ICMP. Практически на всех серверах этот протокол включен. У многих возникает вопрос, а как сделать команду пинг? На этот вопрос я попытаюсь ответить в сегодняшней статье.

Для того, чтобы узнать, как выполнить команду ping НЕ нужно много времени. Все довольно просто следуйте руководству  по пунктам:

  • Запускаем командную строку
  • Ввести команду ping ваш_домен
  • Скопировать результат

Каждый пункт расписан подробнее здесь:  

1) Вам необходимо запустить командную строку, это можно сделать несколькими способами. Я опишу эти способы.

[toggle_box title=”Первый способ запуска Командной строки:” width=”Width of toggle box”]

Вам необходимо вызвать меню “Пуск” нажав клавишу Win или просто навести курсор на кнопку в левом нижнем углу экрана и ввести в поиск поля “Найти программы и файлы” словосочетание “Командная строка” так как показано на скриншоте:

После появления результата поиска просто запускаете приложение “Командная строка” из меню.

[/toggle_box]

[toggle_box title=”Второй способ запуска Командной строки:” width=”Width of toggle box”]

Второй способ довольно прост, нажмите сочетание клавиш Win+R (Win – клавиша с логотипом Windows в левом нижнем углу клавиатуры, левее клавиши Alt) у вас должно появится такое окно:

В появившемся окне введите команду cmd и нажмите клавишу “Enter” на клавиатуре или кнопку “Ок”  в окошке.

[/toggle_box]

2) Итак мы запустили приложение “Командная строка” теперь осталось только ввести команду ping ваш_домен и нажмите клавишу “Enter” , например так как показано на скриншоте ниже:

Я для примера использовал домен mail.ru, вам необходимо заменить его на ваш домен или IP-адрес.

3) Для того чтобы скопировать результат выполнения команды вам необходимо нажать правой кнопкой мыши в левом верхнем углу приложения “Командная строка” и у вас появится меню. В меню выберите пункт Изменить – Пометить так как показано на скриншоте ниже:

После нажатия на пункт меню пометить протяните левой кнопкой мыши по тексту который необходимо выделить и нажмите Enter, таким образом результат вашей команды ping будет скопирован в буфер обмена, теперь вы можете его вставить куда угодно, в блокнот например.

[toggle_box title=”Интересно знать! Ключи команды ping.” width=”Width of toggle box”]Для того, чтобы команда ping отправляла неограниченное количество пакетов можете использовать ключ -t остановить такую команду можно простым сочетанием клавиш Ctrl+C. Эта команда может понадобится, когда вам нужно отследить проблемы в сети. Пример команды показан на скриншоте.

Также существуют еще такие ключи для команды ping: -n -l . Ключ -n указывает точное количество пакетов которое необходимо отправить. Ключ -l указывает точный размер пакета который будет отправлен. Примеры команд указаны ниже на скришотах.

Команда ping с ключом -n:

В команде я задал ping -n 7 novall.net то есть будет отправлено 7 пакетов.

Пример команды ping -l 700 novall.net :

В команде я задал размер пакета 700 байт.

Также команды можно комбинировать, так как на скриншоте:

[/toggle_box]

Результат команды ping можете использовать по своему усмотрению.

Включить ответ ОС WINDOWS 7 на входящие ping (ICMP) пакеты можно простой командой:



netsh firewall set icmpsetting 8

 Спасибо за внимание, если у вас возникнут вопросы, оставляйте их в комментариях.

(Просмотрено 13 627 раз, 1 просмотров сегодня)

ICMP Протокол Межсетевых Управляющих Сообщений и его Утилиты

Протокол ICMP (Internet Control Message Protocol) — протокол межсетевых управляющих сообщений. 

Протокол IP, который используется для передачи данных на сетевом уровне, обеспечивает сервис передачи данных без гарантии доставки. Если по пути передачи данных с пакетом что-то произойдет, то никаких действий не предпринимается, сообщения об ошибке не отправляются, попыток передать снова этот пакет не предпринимается. 

Информация о возникающих ошибках в сети передается по протоколу ICMP. А также протокол ICMP может использоваться для диагностики работы в сети даже, когда в ней не возникают ошибки. Так как IP предоставляет сервис без гарантии доставки, то сообщение об ошибках ICMP не обязаны обрабатываться ни протоколом ICMP ни протоколом IP.  

Формат заголовка ICMP

Рассмотрим формат пакета ICMP. Первое поле в заголовке тип сообщения. Оно говорит о том, что произошло в сети, какая ошибка или какое действие по диагностике пытаются выполнить.

Второе поле -код сообщения. В нем подробно описывается тип ошибки, её причина или диагностическое действие. Дальше идёт контрольная сумма, которая используется для проверки правильности доставки. Следующие 4 байта, служебная информация, которая зависит от типа и кода сообщения. В поле данных ICMP, как правило включается фрагмент пакета при передачи которого произошла ошибка. 

Типы ICMP — сообщений

Самое важно в пакете ICMP это тип сообщений. Именно тип, говорит о том, что произошло в сети. Есть 2 вида ICMP сообщений. Первый вид это запрос-ответ.

  • Например, тип 0 и тип 8 это эхо-ответ и эхо-запрос, которые используются для проверки доступности компьютера в сети. 
  • Тип 13 и 14 запрос и ответ отметки времени. Эти запросы используются для проверки быстродействия сети. Другой вид это сообщение без запроса. 
  • Тип 3 это сообщение об ошибке узел назначения недостижим. 
  • Тип 5 сообщение о новом маршруте, который позволяет быстрее попасть к необходимой сети. 
  • Тип 9 сообщение о маршрутизаторе. Маршрутизаторы в сети периодически рассылают такие сообщения, чтобы компьютеры, которые находятся в сети могли узнать, какие есть маршрутизаторы. 
  • Тип 10 запрос сообщения о маршрутизаторе, если компьютер только что подключился к сети, он может не дожидаться периодического сообщения от маршрутизаторов, отправить такой запрос и маршрутизатор сразу отправит ответ о себе. 
  • Сообщение с типом 11 используется если маршрутизатор отбросил пакет время жизни которого истекло, как правило такая ситуация возникает, если в сети появилась петля.
  • Сообщение с типом 12 — проблемы с параметрами, говорит о том, что в заголовке IP какая-то ошибка и маршрутизатор не может отправить такой пакет. 

Коды ICMP — сообщений 

Следующее поле в заголовке ICMP это код сообщения. Ниже представлено несколько возможных кодов для типа сообщения 3 — узел назначения недостижим. Какие могут быть причины? Причины перечислены ниже на картинке. 

Применение ICMP

Большая часть пакетов ICMP формируется и отправляется автоматически сетевым оборудованиям. Но некоторые типы сообщений формируются утилитами, которые применяются для диагностики сети. Рассмотрим утилиты ping и traceroute (в Windows tracert)

Утилита ping

Утилита ping используется, чтобы проверить доступность компьютера в сети. Возможно подключиться к этому компьютеру или нельзя. Ping использует это-протокол ICMP. Компьютер, который хочет проверить доступность другого, отправляет эхо-запрос (тип=8, код=0).

Компьютер, который получил такой запрос, в ответ отправляет эхо-ответ ICMP с типом 0, если эхо-ответ не пришел, значит установить с компьютером соединение по сети невозможно.

Пример использования утилиты ping для проверки возможности подключиться к сайту ВКонтакте. По умолчанию утилита ping запускает 4 эхо-запроса и для каждого эхо-запроса получен эхо-ответ. В ответе указывается некоторая диагностическая информация.

Утилита traceroute

Утилита traceroute позволяет определить маршрут от отправителя к получателю. Под маршрутом имеется в виду перечень всех маршрутизаторов через которые проходит пакет. 

Пример работы утилиты traceroute ее windows вариант tracert для определения маршрута к сайту ВКонтакте. 

Работа утилиты traceroute 

Как утилита traceroute узнает маршрутизатор? Для этого утилита использует ICMP сообщения время жизни истекло. Чтобы этого достичь, сначала отправляется сообщение у которого время жизни установлено в единицу TTL=1.

Пакет доходит до первого маршрутизатора, маршрутизатор уменьшает время жизни TTL=0 и маршрутизатор отбрасывает пакет.

И генерирует сообщение об ошибке ICMP с типом 11, код 0 время жизни истекло. Утилита traceroute из заголовка IP пакета в которого вложен ICMP извлекает IP-адрес маршрутизатора.

На следующем этапе отправляется пакет с временем жизни равным двум TTL=2. 

 

На первом маршрутизаторе время жизни уменьшается до единицы и пакет переходит на второй маршрутизатор.

Второй маршрутизатор снова уменьшает время на 1, время жизни становится нулем. Пакет отбрасывается и уже второй маршрутизатор отправляет сообщение время жизни истекло. Утилита traceroute извлекает адрес второго маршрутизатора из IP заголовка этого сообщения. 

И так происходит до тех пор пока пакет не дойдет до узла назначения. 

Заключение

Рассмотрели протокол ICMP протокол межсетевых управляющих сообщений. Протокол ICMP используется для сообщения об ошибках, которые происходят в сети  и для тестирования работоспособности сети. 

Zabbix: проверка доступности запросом ICMP Ping

В этой статье мы рассмотрим пошаговую настройку мониторинга сетевых устройств по протоколу ICMP в системе мониторинга Zabbix с помощью ping. Эта самая простая, но популярная задача безагентного мониторинга, когда вам нужно проверить доступность удаленного сервера, сайта или сетевого оборудования с сервера мониторинга. Zabbix может отправлять ICMP запросы до узла, и если ответ не получен, время ответа (response time) слишком большое или наблюдается большой % потери пакетов, вывести предупреждение в дашборде. Протокол ICMP в основном используется для проверки доступности сетевых узлов. Утилиты ping и traceroute/tracert также работают через ICMP.

Для начала нужно настроить файервол на узлах , которые будут мониториться (разрешить icmp ping запросы), а также убедиться, что на сервере Zabbix установлена и сконфигурирована утилита fping.

Открытие портов для ICMP ping в Windows Server и Linux

По умолчанию в Windows Server разрешен ICMP ping, но, если по каким-то причинам он был выключен, включить его можно через команду netsh или PowerShell. Запустите командную строку с правами администратора и введите:

netsh advfirewall firewall add rule name="ICMP Allow“ protocol=icmpv4:8,any dir=in action=allow

Или аналогичная команда в PowerShell (модуль NetSecurity):

Set-NetFirewallRule -Name FPS-ICMP-ERQ-In -Enabled True -Profile Any -Action Allow

Эти команды создадут в файерволе правило, которое разрешает входящие ICMP echo запросы.

В современных дистрибутивах Linux входящий ICMP также разрешен. Если по каким-то причинам он выключен, то добавьте эти правила в iptables. Выполните команды из-под root/sudo:

iptables -I INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -I OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

Таким образов вы добавите правила, разрешающие ICMP запросы в самое начало цепочки правил iptables.

Совет. Если вы производите настройку на боевом сервере, то имейте в виду, что в iptables уже могут существовать подобные правила. Для настройки iptables обратитесь к статье https://winitpro.ru/index.php/2019/08/05/nastrojka-fajrvola-iptables/

Если вы используете firewalld для управления правилами фаейрвола, разрешить ответ на icmp ping можно так:

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p icmp -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT

Установка fping, настройка путей в Zabbix

В Zabbix для ICMP проверок используется утилита fping. Во многих дистрибутивах Linux эта утилита предустановлена, поэтому для начала проверим её наличие в системе. Зайдите на ваш zabbix сервер и введите команду:

fping -v

Если такой команды нет, установите её с помощью пакетного менеджера:

По умолчанию утилита установится в /usr/bin/fping. В случае возникновения проблем с fping, убедитесь что утилита действительно лежит по пути /usr/bin/fping, и если она находится в другой директории, измените указанные ниже строки в zabbix_server.conf, указав корректный путь к fping.

FpingLocation=/usr/bin/fping
Fping6Location=/usr/bin/fping6

Шаблон ICMP Ping в Zabbix и его компоненты

В Zabbix по умолчанию есть шаблон Template Module ICMP Ping (может называться иначе, в зависимости от версии Zabbix). Именно его мы будем использовать для мониторинга сетевых узлов через ICMP ping. Шаблон включает в себя 3 проверки:

  • ICMP ping – доступность узла по ICMP;
  • ICMP loss – процент потерянных пакетов;
  • ICMP response time – время ответа ICMP ping, в миллисекундах;

Обратите внимание на колонку Key: icmpping, icmppngloss и icmppingsec, это встроенные в zabbix ключи. Они являются Simple checks, т.е. “простой проверкой”, в которой не участвует zabbix-agent.

Полный список Simple checks, для которых не нужно устанавливать агент zabbix на системы, которые нужно мониторить, можно посмотреть здесь https://www.zabbix.com/documentation/current/manual/config/items/itemtypes/simple_checks

В шаблоне находятся 3 триггера, которые следят за вышеописанными ключами и их значениями.

Некоторые триггеры, например, “High ICMP ping response time” используют макросы шаблона. Значения этих макросов можно изменить во вкладке Macros.

Значения, при которых сработает триггер.

  • Для ICMP Ping Loss процент потерь за последние 5 минут равняется 20.
  • Для Response Time за последние 5 минут значение равняется 150 миллисекундам.

Создание узла в Zabbix, подключение ICMP Ping шаблона

В этой статье я буду настраивать мониторинг узла с Windows Server. Перейдите в Configuration -> Hosts -> Create Host.

Введите Host name, выберите группу и укажите IP адрес вашего узла в Agent interfaces.

Заметка. Группы Zabbix нужны для сортировки узлов. Название группы не влияет на мониторинг.

Перейдите во вкладку Templates, нажмите Select и выберете Template Module ICMP Ping.

Нажмите Add в форме выбора шаблона и затем снова Add для завершения создания узла.

В колонке Templates отображаются все шаблоны, подключенные к узлу.

Теперь проверим работу мониторинга. Перейдите в Monitoring -> Latest data, нажмите на Select возле Hosts, и выберите узел, который вы только что создали.

В столбце Last Value отображаются последние данные, которые пришли с этого узла.

Также можно посмотреть на график по определенному значению, например, ICMP Response time. Нажмите ссылку Graph.

В случае возникновения проблем, вы сможете увидеть уведомления в дашборде Zabbix.

ICMP ping это самая простая и самая базовая проверка доступности для сетевых устройств. Если вы хотите получать больше данных о вашем устройстве, то вы можете настроить мониторинг устройств с помощью агентов Zabbix, по SNMP или другим протоколам.

Скрытый канал поверх ICMP

Скрытый канал поверх ICMP (ICMP-туннель) устанавливает скрытое соединение между двумя компьютерами с помощью пакетов эхо-запроса и эхо-ответа протокола ICMP. Данная техника позволяет, например, полностью туннелировать TCP-трафик через эхо-запросы и ответы (ping).

  Автор: Debasish Mandal

Введение и обзор

Скрытый канал поверх ICMP (ICMP-туннель) устанавливает скрытое соединение между двумя компьютерами с помощью пакетов эхо-запроса и эхо-ответа протокола ICMP. Данная техника позволяет, например, полностью туннелировать TCP-трафик через эхо-запросы и ответы (ping). Технически туннелирование через скрытый канал ICMP происходит посредством внедрения любых нужных данных в эхо-пакет и его пересылки на удаленный компьютер. Удаленный компьютер отвечает подобным образом, внедряя ответ в другой ICMP-пакет и отсылая этот пакет назад.

Некоторые ключевые моменты, касающиеся ICMP

В ICMP нет портов

Мы не можем пинговать порты. Когда кто-нибудь говорит о “пинге порта”, он на самом деле говорит об использовании протокола четвертого уровня (вроде TCP или UDP), чтобы выяснить, открыт ли порт. Если кто-либо пингует порт 80, это обычно значит, что он посылает на данную систему SYN-пакет по протоколу TCP. Настоящий ping работает через протокол ICMP, который не использует порты вовсе.

ICMP работает на третьем уровне.

Хотя ICMP находится “над” IP в стеке протоколов, он не является протоколом 4 уровня (считается еще одним протоколом третьего уровня).

На сетевом уровне пакеты маршрутизируются на основании уникального сетевого адреса. Маршрутизатор работает как отделение почты, и сетевой уровень штампует письма (данные) для передачи в определенном направлении. На сетевом уровне работают следующие протоколы: IP, ICMP, ARP, RIP, OSI, IPX и OSPF, а также следующие устройства: маршрутизатор, мост-маршрутизатор, коммутаторы Frame Relay и ATM.

Некоторые ключевые моменты, касающиеся файрволов

Файрволы работают на разных уровнях, чтобы иметь возможность применять различные критерии для ограничения трафика. Самый низкий уровень работы файрвола – третий. В модели OSI он называется сетевым. В стеке TCP/IP это уровень протокола межсетевого взаимодействия (Internet Protocol). Данный уровень занимается маршрутизированием пакетов к месту их назначения. На третьем уровне файрвол может определить, пришел ли пакет из надежного источника, но не может сказать, что он содержит и с какими другими пакетами связан. Файрволы, которые оперируют на транспортном уровне, знают о пакете немного больше и могут разрешить или запретить доступ на основе более сложных критериев. На прикладном уровне файрволы владеют большим количеством информации о том, что происходит, и могут быть очень избирательны в предоставлении доступа.

Могло показаться, что файрволы, функционирующие на более высоких уровнях стека протоколов, должны быть лучше во всем. Это не обязательно так. Чем ниже в стеке перехватывается пакет, тем большую безопасность обеспечивает файрвол. Если атакующий не может пройти третий уровень, он не сможет захватить контроль над операционной системой.

Использование скрытого ICMP-канала

ICMP-туннелирование можно использовать для обхода правил файрвола путем обфускации основного трафика. В зависимости от реализации ПО для ICMP-туннелирования этот тип соединения можно отнести и к категории зашифрованных соединений между двумя компьютерами. Без глубокого исследования пакетов или просмотра системных журналов сетевые администраторы не смогут обнаружить этот тип трафика в своей сети.

Внутри ICMP-пакета

Чтобы увидеть содержимое ICMP-пакета, мы будем посылать запросы на удаленный хост и прослушивать сетевой трафик.

Давайте взглянем на обычный ping.

Здесь мы посылаем обычные эхо-запросы протокола ICMP на удаленный хост 192.168.157.1.

Захватив трафик с помощью Wireshark, мы увидим следующее:

Поскольку мы использовали стандартную утилиту ping без опций, мы послали несколько последовательных ICMP-запросов к хосту. Это несколько затруднит нам анализ трафика. Поэтому давайте пошлем одиночный ICMP-пакет без нагрузки.

Для этой цели можно использовать следующую команду.

ping –c 1 –s 0

Теперь анализировать трафик будет проще.

В сниффере на удаленном хосте мы можем видеть, что получено 42 байта данных.

Типичная структура ICMP-пакета представлена на рисунке ниже.

Рисунок 1

Типичная структура ICMP-заголовка:

Анализируя те 42 байта данных, мы можем заключить, что первые 14 байтов представляют собой Ethernet-заголовок.

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

Следующие 20 байт полученной датаграммы – IP-заголовок (см. рисунок 1).

Структура IP-заголовка, представленная более подробно.

Далее следуют 8 байт ICMP-заголовка:

Структура ICMP-заголовка, представленная более подробно.

См. также рисунок 2.

Утилита ping, присутствующая в обычных Linux-системах, позволяет нам контролировать количество пакетов, их размер, но не позволяет сформировать эхо-запрос специального вида. Поскольку главной нашей целью является манипулирование данными в содержимом ICMP-пакета, использование стандартной утилиты ping – не лучший вариант.

HPING2

Hping – свободный генератор и анализатор пакетов для TCP/IP протоколов, распространяемый Salvatore Sanfilippo (также известным как Antirez). С помощью hping мы также можем манипулировать порцией данных одиночного ICMP-пакета. Используя hping, мы снова пошлем одиночный ICMP-пакет, но на этот раз добавим в него немного мусора.

На скриншоте можно заметить, что мы добавили в пакет 4 символа “A” и послали его на адрес 192.168.157.1.

Давайте прослушаем и проанализируем трафик.

Теперь вы можете видеть, что мы захватили 46(42+4) байтов данных. На скриншоте легко различить нашу нагрузку, состоящую из подсвеченных «41». Это hex-представление символа “A”.

PING своими руками: жизнь коротка, поэтому я предпочитаю Питон.

В вышеприведенных примерах мы использовали для посылки ICMP эхо-запросов на любой хост стандартную утилиту ping и утилиту hping. Теперь мы используем Питон для отсылки самодельного ICMP-пакета.

В данном случае мы формируем не только заголовок ICMP и начинку пакета, но и заголовки протоколов Ethernet и IP.

Переменная “dump” в вышеприведенном скрипте содержит всю датаграмму целиком, включая Ethernet-заголовок, IP-заголовок, ICMP-заголовок и начинку. Здесь в качестве начинки выступают четыре символа “A” (\x41\x 41\x 41\x 41).

Из сказанного выше ясно, что мы можем легко послать произвольные данные на произвольный хост путем внедрения данных в эхо-пакет. Теперь осталось запустить на удаленном хосте демон, который умеет отвечать подобным образом, внедряя ответ в другой ICMP-пакет и посылая пакет назад.

Собираем все вместе

Чтобы осуществить это, нам нужно программно реализовать следующие действия:

  1. Демон просматривает ICMP-пакеты

  2. После получения пакета производится извлечение его начинки (корректного запроса со стороны атакующего)

  3. На основании начинки делаются необходимые действия

  4. Отсылается обратный ICMP-пакет с ответом

Я написал на Питоне простой сервер и клиент для ICMP-туннелирования, которые позволяют устанавливать скрытый канал между двумя хостами.

Код сервера:

http://pastebin.com/JLD6grb2

Код клиента:

http://pastebin.com/gh4zzHdQ

Данный демон скрытого канала по сути получает команды ОС из ICMP-пакетов и запускает эти команды на удаленном хосте, посылая ответные ICMP-пакеты с результатами выполнения команд. Как только демон запускается на хосте, он начинает прослушивать ICMP-пакеты. После получения команд с клиента он извлекает начинку из пакетов и запускает команду на своем хосте, посылая назад ICMP-пакет с результатом. Если вывод команды слишком длинный, демон пошлет его в нескольких пакетах.

Сниффер клиентской части получает ответные пакеты и извлекает вывод команды из начинки. После разбора он отображает вывод. Утилита Hping также может быть использована как клиент для данного демона. В этом случае начинку следует формировать по определенному шаблону так, чтобы демон смог распознать запрос. Тогда для разбора ответа следует использовать клиентский скрипт, либо Wireshark.

Видеодемонстрация данного скрытого канала:

Несколько других хорошо известных утилит для создания скрытых каналов:

LOKI

LOKI – программа для туннелирования информации. В качестве носителей полезной нагрузки она использует пакеты эхо-ответа.

NCovert

Производит скрытую передачу файлов за счет сокрытия передаваемых файлов в безвредных на вид данных с помощью подделки пакетов. В некоторых случаях позволяет спрятать реальный IP-адрес пользователей.

007 Shell

007 Shell – простая клиент-серверная программа, написанная на C, для удаленного администрирования системы по сети с помощью техник, схожих с теми, что использует Loki. Команды и ответные сообщения инкапсулируются в полезную нагрузку пакетов ICMP ECHO_REPLY (пакеты эхо-ответа).

ICMPTX (IP-over-ICMP):

ICMPTX – программа, позволяющая пользователю с правами root создавать виртуальное сетевое соединение между двумя компьютерами, скрывая данные внутри ICMP-пакетов.

Способы борьбы

Попытка предотвращения скрытых каналов напоминает преследование кошки собакой. Вы можете предотвратить определенные каналы, только если осведомлены о них, можете анализировать генерируемый ими трафик и затем соответствующим образом настраивать вашу IDS (например, прописать правила Snort). Тем не менее, когда скрытые каналы генерируют разный трафик с каждым пакетом (например, с помощью bit-flipping) или используют продвинутые техники тайминга, предотвратить их становится невозможно.

Хотя единственным способом предотвращения туннелирования такого типа является полное блокирование ICMP-трафика, это неосуществимо для производственных сред из реального мира. Один из методов борьбы с данным видом атак заключается в пропускании через файрвол ICMP-пакетов лишь фиксированного размера, чтобы практически исключить данный тип поведения. IDS может считать большие ICMP-пакеты подозрительными и поднимать тревогу. Тем не менее, поскольку существуют легальные способы использования больших ICMP-пакетов, сложно определить, является ли большой ICMP-пакет вредоносным на самом деле. Например, большие ICMP-пакеты используются для проверки возможности передачи больших пакетов по сети. Отличить легальные пакеты от негальных еще сложнее, если скрытый канал шифруется. IDS должна уметь определять, зашифрован ли пакет. Различение зашифрованных от незашифрованных пакетов все еще остается открытой для иследований проблемой.

Snort предоставляет одно или два правила, которые могут помочь в обнаружении скрытых ICMP-каналов. Другая возможность – обнаруживать бит «Dont Fragment» в скрытом канале и так далее. Это простые примеры. Тем не менее, snort не предоставляет таких правил непосредственно, и кому-то нужно подстраивать их под себя. Кроме того, существуют некоторые умные скрытые каналы, которые очень сложно обнаружить (например, скрытый канал ISN или скрытый канал на основе временных задержек).

Источники:

http://danielmiessler.com/study/icmp/


http://en.wikipedia.org/wiki/Covert_channel


http://en.wikipedia.org/wiki/Firewall_(computing)


http://www.2factor.us/icmp.pdf

Как включить и отключить PING ICMP в брандмауэре Windows 10

Здравствуйте! На этот раз я собираюсь поговорить с вами о безопасности в Windows 10. Хорошо известно, что система предлагает несколько уровней безопасности для сохранения конфиденциальности нашей информации. Безусловно, это влечет за собой контроль сетевых подключений. Они действительно полезны для обмена информацией и отправки данных. Однако иногда эти соединения могут не работать, и поэтому необходимо обязательно получить ошибку. Одним из ресурсов, используемых для этой задачи, является PING.Это базовая Интернет-программа, которая позволяет пользователю проверять, существует ли конкретный IP-адрес и может ли он принимать запросы. Это приложение проверяет, работает ли IP-адрес хоста в настоящий момент и сколько времени требуется для ответа. Ping работает, отправляя эхо-запрос протокола управляющих сообщений Интернета (ICMP) на указанный интерфейс в сети и ожидая ответа.

Кроме того, его можно использовать для устранения неполадок, чтобы проверить возможность подключения и определить время отклика. Однако большинство администраторов считают протокол ICMP потенциально небезопасным и предпочитают блокировать эти вызовы.По этой причине брандмауэр Windows 10 по умолчанию имеет политику безопасности, блокирующую такие запросы. Это легко проверить, попробовав проверить связь с нашим компьютером с удаленного компьютера, мы увидим следующее сообщение:

не удалось выполнить эхо-запрос с удаленного компьютера

Однако полностью блокировать эти вызовы не рекомендуется. Поэтому здесь я покажу вам, как включать и отключать пинг в Windows 10.

Включить ping в windows 10. Режим командной строки.

Первое, что нам нужно сделать, это открыть командную строку как администраторы.Оказавшись там, мы должны создать правило для адресации IPv4 и другое для IPv6. Хорошо, чтобы создать первое правило, вам просто нужно ввести в консоли следующую команду:

 netsh advFirewall Firewall add rule name = "OSRadar Rule PING IPv4" protocol = icmpv4: 8, any dir = in action = allow 

Если все было сделано правильно, CMD должна выглядеть так:

Создание исключения для адресации IPv4

Далее мы создадим правило для адресации IPv6:

 netsh advFirewall Firewall add rule name = "OSRadar Rule PING IPv6" protocol = icmpv6: 8, any dir = in action = allow 

Создание исключения для IPv6-адресации

Мы правильно применили правила для команды ping.Мы можем проверить, что он работает, пингуя с удаленного компьютера:

Пинг успешно

Чтобы отключить исключение для адресов IPv4, просто введите следующую команду в CMD:

 netsh advFirewall Firewall add rule name = "OSRadar Rule PING IPv4" protocol = icmpv4: 8, any dir = in action = block 

В случае адресации IPv6 команда на запись будет следующей:

 netsh advFirewall Firewall add rule name = "OSRadar Rule IPv6" protocol = icmpv6: 8, any dir = in action = block 

Обратите внимание, что вы можете выбрать любое имя для правил.Если вы хотите подробно ознакомиться с каждым правилом в системе, просто напишите в терминале следующее:

 netsh advFirewall Firewall показать имя правила = все 

CMD показывает правила брандмауэра

Включить эхо-запрос в Windows 10. Графический режим.

Также можно создать определенные правила для включения и отключения ping, войдя в расширенную конфигурацию безопасности брандмауэра Windows 10. Для этого просто введите Firewall в строке поиска:

Откройте брандмауэр с повышенной безопасностью

Сразу отобразятся параметры брандмауэра.Как и раньше, нам нужно создать одно правило для IPv4 и другое для IPv6.

Брандмауэр Windows с расширенными параметрами безопасности

Итак, сначала выберите параметр «Правила для входящих подключений» в левом столбце и щелкните правой кнопкой мыши, чтобы создать новое правило :

Создание нового правила брандмауэра

Запустится мастер создания правила. Выберите Custom в типе правила и нажмите Далее, чтобы продолжить.

Выберите собственное правило

. На следующем экране выберите Все программы и нажмите Далее, чтобы продолжить.

Выберите «Все программы».

В типе протокола выберите ICMPv4 , а затем нажмите « настроить».

Определение протокола и портов

На всплывающем экране активируйте поле Specific ICMP types и перемещайтесь, пока не активируете опцию Echo Reques t. Нажмите «Принять», чтобы применить изменения.

Выберите эхо-запрос в определенных типах ICMP

Затем мы можем определить, к каким конкретным IP-адресам будет применяться это правило, наоборот, мы разрешим запросы всех адресов.После того, как выбор сделан, нажмите «Далее», чтобы продолжить.

Определите IP-направление для применения правила

Теперь выберите Разрешить соединение и нажмите Далее, чтобы продолжить

Выберите Разрешить соединение.

На следующем экране мы должны выбрать, когда будет применяться новое правило. Пожалуйста, проверьте 3 доступных варианта и нажмите «Далее», чтобы продолжить.

Выберите профиль для применения правила

Наконец, нам нужно только назначить имя правилу и нажать Finish, чтобы закрыть мастер.

Устанавливает имя правила

Наконец, мы видим, что правило создано правильно.Чтобы создать исключение для адресации IPv6, мы должны повторить тот же процесс, но в окне протокола и портов мы должны выбрать ICMPv6.

Правило для входящих подключений создано правильно

Чтобы отключить любое из созданных правил, просто щелкните его правой кнопкой мыши и выберите Отключить правило .

Отключить правило в брандмауэре Windows

Заключение

Наконец, мы увидели, как включать и отключать ping в Windows 10. Это позволит нам управлять и администрировать наши соединения с помощью этой команды.Наконец, мы увидели, как включать и отключать ping в Windows 10. Это позволит нам управлять и администрировать наши соединения с помощью этой команды. Следовательно, мы сможем отслеживать уровни безопасности и защиты данных на наших компьютерах. На этом пока все, прежде чем попрощаться, я предлагаю вам ознакомиться с нашим руководством по bash в Windows 10

.
.

Как включить ICMP (PING) через брандмауэр Windows в режиме повышенной безопасности с помощью групповой политики

Предварительные требования

Вам потребуются инструменты управления групповой политикой в ​​Windows 7, Windows 8, Windows Server 2008, Windows или Server 2012. Они являются частью инструментов удаленного администрирования сервера (RSAT), доступных на веб-сайте Microsoft.

Инструкции

Чтобы включить ICMP на компьютерах с брандмауэром Windows в режиме повышенной безопасности (Windows Vista, Windows 7, Windows 8, Windows Server 2008, Windows Server 2012), следуйте этим инструкциям.

  1. Измените существующий объект групповой политики или создайте новый с помощью инструмента управления групповой политикой.
  2. Разверните Конфигурация компьютера / Политики / Параметры Windows / Параметры безопасности / Брандмауэр Windows в режиме повышенной безопасности / Брандмауэр Windows в режиме повышенной безопасности / Правила для входящего трафика .
  3. Установите переключатель Custom и нажмите Next
  4. Установите флажок Все программы и нажмите Далее
  5. В раскрывающемся списке Тип протокола: выберите ICMPv4 и нажмите Настроить…
  6. Отметьте Все типы ICMP радиоботон и нажмите ОК.
    Примечание: Если вы хотите ограничить ICMP определенными типами, Echo Request должен быть разрешен как минимум.
  7. Вы можете ограничить, какие IP-адреса разрешены для ICMP, или установить переключатель Любой IP-адрес , чтобы разрешить все, затем нажмите Далее .
  8. Установите флажок Разрешить подключение и нажмите Далее .
  9. Выберите, к каким профилям будет применяться правило. Установите как минимум флажок Domain profile и нажмите Next .
  10. Добавьте значимое имя для правила в поле Name: . При необходимости добавьте описание и нажмите Finish , чтобы выйти и сохранить новое правило.
  11. Убедитесь, что объект групповой политики применен к соответствующим компьютерам с помощью инструмента управления групповой политикой.

.

Отключить ICMP / Включить ICMP

Сегодня я покажу вам, как навсегда отключить ICMP / включить запросы ICMP ping к вашей машине Ubuntu. Я также расскажу, как временно отключить ICMP / включить ICMP

.

Итак, позвольте мне показать вам, как:
1. Откройте терминал, нажав ctrl + alt + t
2. Теперь введите следующую команду, чтобы показать ваш текущий IP-адрес, и нажмите ввод

ip адрес показать

Поищите что-нибудь похожее на inet xxx.xx.xx.xx (x обозначает ваши IP-адреса) под eth0 при использовании кабеля локальной сети и wlan0 для беспроводной сети

3. Теперь введите ping, а затем ваш IP-адрес, и вы должны получить ответ, похожий на следующий

64 байта из 172.20.28.97: icmp_seq = 1 ttl = 64 time = 0,033 мс

Это означает, что ICMP в настоящее время включен

4. Давайте переключим пользователя на привилегированного пользователя, чтобы мы могли внести изменения, набрав следующее и нажав Enter

судо su

5.Теперь мы немедленно, но временно (после перезагрузки компьютера он будет отменен) отключим ICMP, набрав следующий

эхо 1> / proc / sys / net / ipv4 / icmp_echo_ignore_all

6. Если вы пропингуете свой IP-адрес сейчас, вы не получите ответа, что означает, что ICMP отключен.

7. Чтобы сделать изменение постоянным, вам нужно будет изменить файл sysctl.conf, набрав следующий

судо gedit /etc/sysctl.conf

8.Добавьте следующую строку под # net.ipv6.conf.all.forwarding = 1

net.ipv4.icmp_echo_ignore_all = 1

Это гарантирует, что параметр будет включен после перезапуска компьютера.

9. Если вы хотите снова включить ICMP , вы можете использовать следующую команду

эхо 0> / proc / sys / net / ipv4 / icmp_echo_ignore_all

10. Также вы должны удалить net.ipv4.icmp_echo_ignore_all = 1 из sysctl.conf на включить его постоянно

Пожалуйста, оцените руководство, если оно было полезным, а также понравилось видео. Если вы хотите увидеть больше видеороликов, связанных с Ubuntu, подпишитесь на мой канал на YouTube.

Если это было полезно, рассмотрите возможность пожертвования

Спасибо, что следуете моему руководству. Вы можете щелкнуть здесь, чтобы увидеть больше руководств по Ubuntu.

.

Команда Ping | Сетевая диагностика в Windows

Чтобы проверить доступность компьютера, ping отправляет в настройках по умолчанию четыре пакета эхо-запроса ICMP по 32 байта каждый на адрес, назначенный в качестве параметра.

ICMP (Internet Control Message Protocol) — это протокол, который позволяет обмениваться информацией и уведомлениями об ошибках в сетях IPv4. Для компьютерных сетей, использующих IPv6, у ICMPv6 есть протокол-преемник, который можно использовать для этой цели.

Теоретически и в соответствии со спецификацией протокола компьютеры, поддерживающие ICMP и / или ICMPv6, должны автоматически отвечать на входящие эхо-запросы эхо-ответом ICMP.На практике это не всегда работает, поскольку многие администраторы из соображений безопасности настраивают компьютеры, которыми они управляют, таким образом, что пакеты ICMP отклоняются без ответа. В результате недоступность целевого компьютера не может быть выведена из неотвеченного запроса ICMP.

Если адресованный целевой компьютер не отвечает, ICMP отправляет уведомление от соответствующего шлюза. Обычно в этом случае маршрутизатор отвечает, что сеть или соответствующий хост недоступны.

Если нет ответа от маршрутизатора, можно предположить, что компьютер действительно доступен, но не отвечает автоматически на эхо-запрос из-за своей конфигурации.

Команда ping предоставляет в качестве выходных данных следующую информацию:

  • Время ответа в миллисекундах (мс)
  • Срок действия для пакетов ICMP (время жизни, TTL) (только с IPv4)

Время ответа указывает сколько времени требуется для отправки пакета данных на целевой компьютер и обратно.Срок действия, указанный как TTL, соответствует истекшему времени пакета данных. Начальное значение составляет максимум 255. Обычно реализации имеют начальный TTL 31, 63 или 127. TTL уменьшается на 1 на каждый сетевой узел, который проходит пакет данных. Это называется хмелем. Если TTL упадет до 0, пакет данных будет отклонен.

TTL, который вы получаете как выходные данные, обычно соответствует начальному значению отвечающего компьютера за вычетом количества переходов на маршруте.

При TTL 58, например, вы можете предположить, что ответный пакет был отправлен с начальным значением 63 и прошел пять сетевых узлов на обратном пути.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *