.RU

Протокол ICMP - Учебное пособие Санкт-Петербург Издательство Политехнического университета 2010


^ Протокол ICMP.
Протокол ICMP (Internet Control Message Protocol) предназначен для передачи управляющих и диагностических сообщений. С его помощью передаются сообщения об ошибках, а также о возникновении ситуаций, требующих повышенного внимания. Протокол относится к сетевому уровню модели TCP/IP. Сообщения ICMP генерируются и обрабатываются протоколами сетевого (IP) и более высоких уровней (TCP или UDP). При появлении некоторых ICMP-сообщений генерируются сообщения об ошибках, которые передаются пользовательским процессам. ICMP-сообщения передаются внутри IP-дейтаграмм (рис 3.9).



Рис. 3.9. Инкапсуляция ICMP-сообщений в IP-дейтаграммы

Формат ICMP-сообщения показан на рис. 3.10. Заголовок ICMP включает 8 байт, но только первые 4 байта одинаковы для всех сообщений, остальные поля заголовка и тела сообщения определяются типом сообщения.



Рис. 3.10. ICMP-сообщение

Поле контрольной суммы (checksum) охватывает ICMP-сообщения целиком.

Тип сообщения определяется значением поля “Тип” заголовка. Некоторые типы ICMP-сообщений имеют внутреннюю детализацию (код), при этом конкретный вид сообщения определяется как типом, так и кодом сообщения. Типы и коды ICMP-сообщений приведены в табл. 6.

Таблица 6 Типы и коды ICMP-сообщений

Тип

Код

Описание

Query

Error

0

0

echo reply (Ping reply)

*




3


0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

destination unreachable:
network unreachable
host unreachable
protocol unreachable
port unreachable
fragmentation needed but don't-fragment bit set
source route failed
destination network unknown
destination host unknown
source host isolated (obsolete)
destination network administratively prohibited
destination host administratively prohibited
network unreachable for TOS
host unreachable for TOS
communication administratively prohibited by filtering
host precedence violation
precedence cutoff in effect





*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

4

0

source quench (elementary flow control)




*

5


0
1
2
3

redirect:
redirect for network
redirect for host
redirect for type-of-service and network
redirect for type-of-service and host





*
*
*
*

8

0

echo request (Ping request)

*




9
10

0
0

router advertisement
router solicitation

*
*




11


0
1

time exceeded:
time-to-live equals 0 during transit (Traceroute)
time-to-live equals 0 during reassembly





*
*

12


0
1

parameter problem:
IP header bad (catchall error)
required option missing





*
*

13
14

0
0

timestamp request
timestamp reply

*
*




15
16

0
0

information request (obsolete)
information reply (obsolete)

*
*




17
18

0
0

address mask request
address mask reply

*
*





 Последние два столбца таблицы указывают, является ли ICMP-сообщение запросом (query) или сообщением об ошибке (error). Подобное разделение необходимо, потому что сообщения об ошибках ICMP иногда обрабатываются специальным образом. Например, ICMP-сообщение об ошибке никогда не генерируется в ответ на ICMP-сообщение об ошибке. Кроме того, ICMP-сообщение об ошибке всегда содержит IP-заголовок (включая опции) и первые 8 байт IP-дейтаграммы, вызвавшей генерацию этого сообщения. Это позволяет принимающему ICMP-модулю установить соответствие между полученным сообщением и конкретным пользовательским процессом (с помощью номера порта, который содержится в первых 8 байтах заголовков TCP и UDP). Например, формат сообщения о недоступности порта (UDP) имеет вид, показанный на рис. 3.11.

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



Рис. 3.11. ICMP сообщение, "порт UDP недоступен"

Официальная спецификация ICMP находится в RFC 792 [Postel 1981b].
      1. ^ Программа Ping

Программа Ping была разработана для проверки доступности удаленного узла. Программа посылает ICMP-эхо-запрос на узел и ожидает возврата ICMP-эхо-отклика. В настоящее время (в связи с широким использованием межсетевых экранов) получения эхо-отклика от узла еще не гарантирует доступность данного узла для конкретного приложения и наоборот.

Тем не менее, программа Ping является обычно первым диагностическим средством, с помощью которого начинается идентификация какой-либо проблемы в сетях. Помимо доступности, с помощью Ping можно оценить время возврата пакета от узла, что дает представление о том, "насколько далеко" находится узел. Кроме этого, Ping имеет опции записи маршрута и временной марки. Будем называть программу ping, которая посылает эхо-запросы - клиент, а программу, обрабатывающую эхо-запросы - сервер. Большинство реализаций TCP/IP поддерживают Ping-сервер непосредственно в ядре, т.е. - сервер не является пользовательским процессом. Сообщения эхо-запроса и эхо-отклика имеют один формат (рис 3.12).

 Так же, как в случае других ICMP-запросов, в отклике сервера должны содержаться поля идентификатора (identifier) и номера последовательности (sequence number). Кроме того, любые дополнительные данные, посланные клиентом, должны быть отражены эхом.



Рис. 3.12. Формат ICMP сообщения для эхо-запроса и эхо-отклика

В поле идентификатора ICMP сообщения устанавливается идентификатор процесса, отправляющего запрос. Это позволяет программе ping идентифицировать вернувшийся ответ, если на одном и том же хосте в одно и то же время запущено несколько программ ping.

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



Рис. 3.13. Вывод программы PING.

Опция записи IP маршрута

Программа ping предоставляет возможность просмотреть опцию записи маршрута (RR) протокола IP. В большинстве версий программы ping присутствует опция –R. При использовании этой опции ping устанавливает IP-опцию записи маршрута (RR) в исходящих дейтаграммах (которые содержат эхо-запрос). При этом каждый маршрутизатор, обрабатывающий дейтаграмму, добавляет свой IP-адрес в список, находящийся в дополнительном поле. Когда дейтаграмма достигает конечного пункта назначения, список IP-адресов копируется в исходящий ICMP-эхо-отклик, а все маршрутизаторы на обратном пути также добавляют свои IP-адреса в список. Когда ping принимает эхо-отклик, программа печатает список IP-адресов.

Проблема, однако, заключается в ограниченном размере IP-заголовка, в поле опций которого помещается лишь 9 IP-адресов. На заре развития ARPANET 9 IP-адресов - было очень много, однако, в настоящее время, подобный размер существенно ограничивает работу команды ping с опцией -R. Тем не менее, несмотря на ограничения, опция записи маршрута работает и предоставляет возможность пронаблюдать, как обрабатываются опции IP.
      1. ^ Программа Traceroute

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

Программа Traceroute не требует никаких специальных серверных приложений. В ее работе используются стандартные функции протоколов ICMP, IP и UDP. Для понимания работы программы следует вспомнить порядок обработки поля TTL в заголовке IP-дейтаграммы.

Каждый маршрутизатор, обрабатывающий дейтаграмму, уменьшает значение поля TTL в ее заголовке на единицу. При получении дейтаграммы с TTL равным 1, маршрутизатор уничтожает ее и посылает хосту, который ее отправил, ICMP-сообщение "время истекло" (time exceeded). При этом дейтаграмма, содержащая это ICMP-сообщение, имеет в качестве адреса источника IP-адрес маршрутизатора.

Это и используется в программе Traceroute. На хост назначения отправляется IP-дейтаграмма, в которой поле TTL, установлено в единицу. Первый маршрутизатор на пути дейтаграммы, уничтожает ее (так как TTL равно 1) и отправляет ICMP-сообщение об истечении времени (time exceeded). Таким образом, определяется первый маршрутизатор в маршруте. Затем Traceroute отправляет дейтаграмму с полем TTL равным 2, что позволяет получить IP-адрес второго маршрутизатора. Аналогичные действия продолжаются до тех пор, пока дейтаграмма не достигнет хоста назначения. Однако, если дейтаграмма прибыла именно на хост назначения, он не уничтожит ее и не сгенерирует ICMP-сообщение об истечении времени, так как дейтаграмма достигла своего конечного назначения. Для определения того, что дейтаграмма достигла конечного пункта назначения, в UDP-дейтаграммах, которые посылает Traceroute, устанавливается несуществующий номер порта UDP (больше чем 30000). Это делает невозможным обработку этой дейтаграммы каким-либо приложением. Поэтому когда прибывает подобная дейтаграмма, UDP-модуль хоста назначения генерирует ICMP-сообщение "порт недоступен" (port unreachable). Это сообщение и свидетельствует о доставке дейтаграммы в пункт назначения. Пример вывода программы показан на рис.3.14.

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

Следующие строки вывода начинаются с распечатки значения TTL (1, 2, 3 и т.д.) и содержат имя (IP-адрес) хоста или маршрутизатора и время возврата ICMP-сообщения.

Для каждого значения TTL отправляется 3 дейтаграммы. Для каждого возвращенного ICMP-сообщения рассчитывается и печатается время возврата.



Рис. 3.14. Вывод программы TRACEROUTE

Если ответ на дейтаграмму не получен в течение пяти секунд, печатается звездочка, после чего отправляется следующая дейтаграмма.

Значение, которое выбирается как номер UDP-порта назначения, начинается с величины 33435 и увеличивается на единицу каждый раз, когда отправляется следующая дейтаграмма.

Таким образом, принцип работы программы Traceroute довольно прост: Программа отправляет UDP-дейтаграммы, начинающиеся с TTL=1, увеличивает TTL на единицу, для того чтобы определить пересылку через каждый встретившийся маршрутизатор. Каждый маршрутизатор, который отбрасывает UDP-дейтаграмму, возвращает сообщение ICMP об истечении времени (ICMP time exceeded), а пункт конечного назначения генерирует ICMP сообщение о недоступности порта (ICMP port unreachable).

Реализация программы Traceroute с ключом –I (а также программы Tracert в cемействе ОС Windows) вместо посылки UDP-дейтаграмм осуществляет посылку ICMP эхо-запроса с возрастающим значением TTL. При этом все промежуточные узлы возвращают ICMP-сообщения time exceeded, а конечный пункт назначения возвращает обычный ICMP эхо-ответ.
      1. ^ Фильтрация ICMP-сообщений в МЭ

Фильтрация ICMP-сообщений в МЭ осуществляется по IP-правилам. Для обработки протокола ICMP в IP-правилах предусмотрены “^ Дополнительные параметры”, позволяющие выборочно фильтровать ICMP-сообщения по заданному типу и коду – “Тип/код сообщения ICMP”. Форма ввода дополнительных параметров ICMP активизируется, только если в поле “Протокол” IP-правила установлено значение ICMP. Формат дополнительных параметров и допустимые значения приведены в табл. 1 (работа N 2). Тип и код ICMP-сообщения указываются в правиле фильтрации в десятичном коде.

^ Самостоятельная практическая работа (Работа N 5)

Цель работы

Задание к самостоятельной работе

  1. Ознакомиться с принципами работы протокола ICMP и программ Ping и Traceroute.

  2. Ознакомиться с возможностями МЭ по фильтрации ICMP-сообщений.

  3. Ознакомиться с конфигурацией сети учебного класса и схемой рабочего места.

  4. Разработать правила фильтрации (IP-, ARP-, MAC-), запрещающие доступ защищаемого компьютера к внешнему сегменту сети, кроме выполнения следующих действий.

    1. Разрешить использование процедуры PING для проверки достижимости компьютеров с любыми IP-адресами и именами во внешней сети.

    2. Разрешить использование процедуры PING для проверки достижимости компьютеров во внутренней сети только с определенных компьютеров во внешней сети (по индивидуальному заданию).

    3. Разрешить использование процедуры traceroute (tracert) для определения маршрутов к компьютерам с любыми IP-адресами во внешней сети.

Программа работы

  1. Подключить МЭ к защищаемому и внешнему сегментам сети в соответствии со схемой рабочего места.

  2. Подключить МЭ к управляющему компьютеру через локальную (Ethernet) сеть в соответствии со схемой рабочего места.

  3. Включить МЭ и УК. Получить доступ к WEB-интерфейсу управления МЭ. Убедиться в нормальной работе управляющего WEB-интерфейса.

  4. Очистить все таблицы правил. Установить для всех групп глобальные правила “ПРОПУСТИТЬ”. Убедиться, что МЭ не влияет на связь с внешней сетью.

  5. Ввести в МЭ правила, разработанные в соответствии с п. 4 задания.

  6. Применить разработанные правила и убедиться в выполнении задания.

  7. Сохранить правила в файле (_lab5.txt).

В отчете привести:

ПРИЛОЖЕНИЕ

Справочные сведения по проколам TCP/IP

1. Модель протоколов TCP/IP



^ 2. Модель протоколов IPX/SPX




3. Инкапсуляция данных на передающей стороне




^ 4. Демультиплексирование данных на различных уровнях



5. Инкапсуляция IP-пакетов в кадры Ethernet




^ 6. Формат IP-пакета версии IPv4



7. Формат UDP-пакета




8. Некоторые стандартные порты TCP/UDP

ftp-data

20/tcp

File Transfer [Default Data]

ftp

21/tcp

File Transfer [Control]

ssh

22/tcp

SSH Remote Login Protocol

telnet

23/tcp

Telnet

smtp

25/tcp

Simple Mail Transfer Protocol

domain

53/udp

Domain Name Server

finger

79/tcp




http

80/tcp

World Wide Web HTTP(8000,8080)

pop3

110/tcp

Post Office Protocol(Ver 3)

auth

113/tcp

Authentication Service

nntp

119/tcp

#Network News Transfer Protocol

netbios-ns

137/udp

NETBIOS Name Service

netbios-dgm

138/udp

NETBIOS Datagram Service

netbios-ssn

139/udp

NETBIOS Session Service

imap4

143/tcp

Interim Mail Access Pr v4

snmp

161/udp

SNMP

printer

515/tcp

spooler

printer

515/udp

spooler

nfsd

2049/tcp

nfs # NFS server daemon

nfsd

2049/udp

nfs # NFS server daemon

squid

3128/tcp

# Proxy server

x11

6000/tcp

#6000-6063 are assigned to X Window System

font-service

7100/tcp

#X Font Service

^ 9. Формат TCP-сегмента



Список литературы

  1. Лебедь С.В. Межсетевое экранирование. Теория и практика защиты внешнего периметра. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2002.- 304 с.

  2. Специализированный сетевой процессор ССПТ-2. Руководство администратора. СПб: ЗАО “НПО РТК”, 2009. - 178 с.

  3. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы , технологии протоколы. СПб: Питер, 2006. - 672с.



Мулюха В.А., Новопашенный А.Г., Подгурский Ю.Е., Заборовский В.С.


МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ КОМПЬЮТЕРНОЙ ИНФОРМАЦИИ

Межсетевое экранирование


Учебное пособие


Отпечатано с готового оригинал-макета, предоставленного авторами, типографии Издательства Политехнического Университета.

195251, Санкт-Петербург, Политехническая ул., 29.


publichnij-doklad-mou-sosh-s-sosnovo-ob-itogah-2007-2008-uchebnogo-goda.html
publichnij-doklad-mou-srednyaya-obsheobrazovatelnaya-shkola-10-za-2008-2009-uchebnij-god-stranica-3.html
publichnij-doklad-mou-srednyaya-obsheobrazovatelnaya-shkola-10-za-2009-2010-uchebnij-god.html
publichnij-doklad-mou-srednyaya-obsheobrazovatelnaya-shkola-71-g-ryazani-direktor-shkoli-poluhina-marina-ivanovna.html
publichnij-doklad-mou-voznesenskoj-specialnoj-korrekcionnoj-shkoli-internata-viii-vida-dlya-detej-sirot-i-detej-ostavshihsya-bez-popecheniya-roditelej.html
publichnij-doklad-municipalnoe-doshkolnoe-obrazovatelnoe-uchrezhdenie-detskij-sad-kombinirovannogo-vida-126-zhuravlik-dzerzhinskogo-rajona-g-yaroslavlya.html
  • textbook.bystrickaya.ru/kak-udvoit-vvp-pervij-shag-k-rossijskomu-ekonomicheskomu-chudu-a-illarionov.html
  • composition.bystrickaya.ru/pokazateli-investicii-i-ih-mesto-v-ekonomicheskoj-sisteme.html
  • otsenki.bystrickaya.ru/rossijskoj-federacii-postanovlenie-stranica-17.html
  • student.bystrickaya.ru/36-prava-i-obyazannosti-studentov-v-period-praktiki-temi-vipusknih-kvalifikacionnih-rabot-32-6-trebovaniya-k-tekstovomu.html
  • lecture.bystrickaya.ru/6-dinamika-osnovnih-tehniko-ekonomicheskih-pokazatelej-respubliki-bashkortostan.html
  • credit.bystrickaya.ru/otchet-po-pervoj-proizvodstvennoj-praktike-soderzhanie-stranica-4.html
  • klass.bystrickaya.ru/74-pansionat-sosnovij-bor-gostinichnij-kompleks-abramcevo-5-park-otel-atlas-6-pansionat-akvareli-7.html
  • apprentice.bystrickaya.ru/vnutrennij-kontrol-2.html
  • college.bystrickaya.ru/2tematika-kursovih-rabot-metodicheskie-ukazaniya-po-vipolneniyu-kursovoj-raboti-dlya-studentov-vshu-nispo-agrarnih.html
  • teacher.bystrickaya.ru/glava-35-anzhelika-s-sostradaniem-vzglyanula-na-podrostka-kotorogo-ohrannik-chyu-golovu-pokrivalo-nekoe-podobie.html
  • writing.bystrickaya.ru/4-podhodi-k-izucheniyu-otnosheniya-lichnost-kultura-rozin-v-m-r64-kulturologiya-uchebnik-2-e-izd-pererab-i-dop.html
  • turn.bystrickaya.ru/perspektivi-razvitiya-pedagogicheskih-tehnologij.html
  • upbringing.bystrickaya.ru/lekciya-5-6-chasov-seti-petri.html
  • lecture.bystrickaya.ru/andrej-nikolaev-oleg-markeev.html
  • paragraf.bystrickaya.ru/vvedenie-programma.html
  • knowledge.bystrickaya.ru/metodicheskie-ukazaniya-po-vipolneniyu-kontrolnoj-raboti-dlya-samostoyatelnoj-raboti-studentov-ii-kursa-obuchayushihsya-po-napravleniyam.html
  • report.bystrickaya.ru/istoriya-bumagi-bistrova-alisa.html
  • thesis.bystrickaya.ru/poryadok-predostavleniya-v-2012-godu-subsidij-na-provedenie-kapitalnogo-remonta.html
  • notebook.bystrickaya.ru/instrukciya-dlya-uchastnika-razmesheniya-zakaza-putem-zaprosa-kotirovok-prilozhenie-1-5-stranica-7.html
  • prepodavatel.bystrickaya.ru/strategicheskij-plan-ministerstva-industrii-i-novih-tehnologij-respubliki-kazahstan-na-2011-2015-godi-stranica-5.html
  • lesson.bystrickaya.ru/public-relations-chast-2.html
  • zanyatie.bystrickaya.ru/organizaciya-transportnogo-processa.html
  • prepodavatel.bystrickaya.ru/tema-uroka-osobennosti-kompozicii-rasskaza-iabunina-gospodin-iz-san-francisko.html
  • exam.bystrickaya.ru/v-sibiri-proizoshlo-zemletryasenie-informacionnoe-agentstvo-regnum-10022011-rossijskie-smi-o-mchs-monitoring-za-13-oktyabr-2011-g.html
  • bystrickaya.ru/viskazhite-pozhalujsta-svoyo-mnenie-ob-indijskom-tance-svami-satyananda-sarasvati-bhakti-joga-sagar.html
  • universitet.bystrickaya.ru/tema-vchem-istinnij-sterzhen-zhizni-cheloveka-mir-glazami-drevnerusskogo-cheloveka.html
  • essay.bystrickaya.ru/distancionnij-kraevoj-konkurs-etot-prekrasnij-udivitelnij-i-zagadochnij-mir.html
  • doklad.bystrickaya.ru/v-poiskah-bonusov-rasskazivaet-nachalnik-otdela-zagranichnih-pasportov-ufms-rossii-po-novosibirskoj-oblasti-elena.html
  • bukva.bystrickaya.ru/ochilov-dzhahongir-kamalovich-pravozashitnij-centr-memorial-.html
  • spur.bystrickaya.ru/kopilov-v-a-geografiya-naseleniya-uchebnoe-posobie-2-e-izd-pererab-i-dop.html
  • desk.bystrickaya.ru/perechen-dokumentov-oao-rzhd-mps-po-ohrane-truda-promishlennoj-pozharnoj-bezopasnosti-i-neproizvodstvennomu-travmatizmu-dejstvuyushih-v-oao-rzhd-moskva-mart-2009-g-stranica-10.html
  • otsenki.bystrickaya.ru/respubliki-tatarstan-o-vnesenii-izmenenij-v-byudzhetnij-kodeks-respubliki-tatarstan-stranica-2.html
  • zanyatie.bystrickaya.ru/sovet-federacii-federalnogo-sobraniya-rossijskoj-federacii-komiteti-i-komissii.html
  • knowledge.bystrickaya.ru/novij-glava-administracii-arhangelskoj-oblasti-ilya-mihalchuk-oficialno-vstupil-v-dolzhnost.html
  • ucheba.bystrickaya.ru/programma-disciplini-sociologiya-povsednevnosti-dlya-napravleniya-040200-68-sociologiya-dlya-podgotovki-magistra.html
  • © bystrickaya.ru
    Мобильный рефератник - для мобильных людей.