СООБЩИ МНЕ ОБ ОШИБКАХ

Спецвыпуск Xakep, номер #021, стр. 021-046-1


как работает протокол ICMP

Матушка Лень (MLen@mail.ru)

Предупреждение

При создании этой статьи ни одна бабуля не пострадала.

Внимание: Не пробуйте повторить! Посылать бабушек к чертовой матери не гуманно, аморально, к тому же это преследуется!

Чтобы стать настоящим хакером, недостаточно тупо использовать чужие рецепты взлома. Нужно еще хорошо понимать, что происходит. Я не говорю, что использовать чужие рецепты плохо. Конечно, это сильно экономит время, да и велосипед изобретать не нужно. Но ты обязательно должен понимать суть работы хакерского рецепта, иначе тебя подставят.

Начинающие хакеры без продыху качают вредоносные программки из сети, с этими программами приходят троянцы и прочая нечисть. Так что береги здоровье - пользуйся презервативом. Хорошие знания сетевых стандартов и технологий - надежная резинка (но и с ней залетают ;)). ICMP - протокол, с которым так или иначе связаны примерно 70% всех DoS-атак. Так что его надо знать обязательно - этим мы сейчас и заморочимся.

ПРОТОКОЛ

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

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

Безобразие, когда один протокол используют для передачи другого протокола, называют инкапсуляцией. То есть мат, адресованный бабуле на другом конце провода, инкапсулируется в электрические колебания. Происходит дело так: у тебя рождаются мысли, и твой рот упаковывает их в пакеты протокола "Великий Могучий Русский Язык" (ВМРЯ). Потом телефон упаковывает пакеты ВМРЯ в кадры протокола "Электричество Колбасит в Проводе" (ЭКП). В таком виде твои нежности доходят до бабулиного телефона, телефон распаковывает пакеты ВМРЯ из кадров ЭКП. Бабулины уши достают твои мысли из кадров ВМРЯ.

Такая же штука происходит, если твой комп и комп твоей продвинутой бабули находятся в одной локальной сети. Пакеты протокола IP (Internet Protocol) инкапсулируются в кадры локальной сетки, проходят по сетке и распаковываются на другом компе.

КАК УСТРОЕН ПРОТОКОЛ?

Как ты понял, протокол нужен для того, чтобы передавать информацию между разными системами. Это и есть основная задача протокола. Протокол передает инфу в специальных контейнерах (пакетах или кадрах). Контейнер состоит из передаваемой информации (данных) и заголовка. Заголовок нужен для того, чтобы выяснить, какие данные внутри, чтобы написать там адрес, чтобы поставить контрольную сумму данных, чтобы правильно собрать несколько кусков данных. Вот, например, звонишь ты по телефону и говоришь заголовок: "Привет, я буду говорить на русском, позовите бабу Зину, я звонил вам вчера". После ты передаешь поле с данными: "Пошла к такой-то матери!".

Содержание  Вперед на стр. 021-046-2