87
Министерство образования и науки Российской Федерации _________________ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ____________________________________________________________ В.С. Заборовский, В.А. Мулюха, А.Г. Новопашенный СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИ АНАЛИЗ ТРАФИКА В СЕТЯХ КОММУТАЦИИ ПАКЕТОВ Учебное пособие Санкт-Петербург Издательство СПбГПУ 2010

СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

Министерство образования и науки Российской Федерации

_________________

САНКТ-ПЕТЕРБУРГСКИЙ

ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ

____________________________________________________________

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

СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИ АНАЛИЗ ТРАФИКА В СЕТЯХ КОММУТАЦИИ ПАКЕТОВ

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

Санкт-Петербург

Издательство СПбГПУ

2010

Page 2: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

2

УДК 004.7 (004.057.4)

ББК 32.973.202

З 12

Заборовский В.С., Мулюха В.А., Новопашенный А.Г. Сети ЭВМ и Телекоммуникации.

Анализ трафика в сетях коммутации пакетов. Учеб.пособие. СПб: Изд-во СПбГПУ,

2010. 87 c.

Учебное пособие соответствует дисциплине «Сети ЭВМ и телекоммуникации»

государственного общеобразовательного стандарта направления «Информатика и

вычислительная техника» и может использоваться студентами старших курсов других

специальностей, изучающих компьютерные сети и вопросы, связанные с их защитой.

Пособие включает в себя необходимые теоретические сведения по протоколам стека

TCP/IP, описание инструментальных средств анализа пакетного трафика, и содержит

методические рекомендации и материалы к циклу лабораторных работ студентов.

В приложениях приводятся основные справочные материалы по стеку протоколов

TCP/IP и различные примеры сетевых пакетов, полученные с помощью анализатора сетевых

протоколов.

Ил. 7. Библиогр.: назв. 6

Печатается по решению редакционно-издательского совета Санкт-Петербургского

государственного политехнического университета.

© Санкт-Петербургский государственный

политехнический университет, 2010

© Заборовский В.С., Мулюха В.А,

Новопашенный А.Г., 2010

Page 3: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

3

ОГЛАВЛЕНИЕ

Список используемых сокращений ................................................................... 4

Введение............................................................................................................... 5

1. Краткие теоретические сведения............................................................ 10

1.1. Ethernet ............................................................................................... 10

1.2. Протокол IP........................................................................................ 11

1.3. Протокол ARP.................................................................................... 14

1.4. Протокол ICMP.................................................................................. 16

1.5. Протоколы транспортного уровня................................................... 18

2. Средства анализа пакетного трафика..................................................... 26

2.1. Утилита Tcpdump (Windump) .......................................................... 26

2.2. Анализатор сетевых протоколов Wireshark.................................... 36

3. Изучение трафика протоколов ARP и ICMP......................................... 49

4. Изучение TCP трафика ............................................................................ 53

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

Приложение 1 Справочные сведения по протоколам TCP/IP ..................... 56

Приложение 2 Примеры .................................................................................. 71

Page 4: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

4

СПИСОК ИСПОЛЬЗУЕМЫХ СОКРАЩЕНИЙ

ARP - Address Resolution Protocol

ECN - Explicit Congestion Notification

DNS - Domain Name System

IP - Internet Protocol

ICMP - Internet Control Message Protocol

MAC - Media Access Control

TCP - Transmission Control Protocol

ToS - Type-of-Service

TTL - Time-To-Live

UDP - User Datagram Protocol

МЭ - межсетевой экран

ОС - операционная система

ПК - персональный компьютер

Page 5: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

5

ВВЕДЕНИЕ

Базой при изучении процессов в компьютерных сетях является анализ

трафика, то есть последовательности пакетов данных, проходящих через сеть.

В качестве инструментальных могут использоваться различные средства,

как программно-аппаратные, обычно достаточно дорогие и сложные, так и

чисто программные, как платные, так и бесплатные.

Анализ трафика представляется интересным с нескольких позиций:

1. Обучение

Результаты работы анализаторов трафика являются прекрасной

иллюстрацией теоретических материалов и спецификаций (RFC). В случаях,

когда сетевое ПО плохо документировано или использует свои cкрытые

(недокументированные), протоколы; анализаторы представляют собой чуть ли

не единственное средство для их изучения. Интересным является сравнение,

насколько теория, изложенная в RFC и учебниках, соответствует практике.

2. Обнаружение проблем и узких мест сети (troubleshooting).

Для сетевых (системных) администраторов этот прием является одним из

основных и позволяет идентифицировать проблемы в работе компьютерной

сети на всех уровнях протокольного стека. Анализаторы трафика позволяют

получить практически полную картину событий, происходящих в сети:

интенсивность трафика по времени, по рабочим станциям, по протоколам,

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

исследованы различные специфические проблемы, когда, скажем, конкретной

станции не удается организовать некое взаимодействие по сети, хотя внешне

Page 6: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

6

сеть выглядит вполне работоспособной.

Результатом может явиться повышение производительности за счет

изменения настроек сетевого оборудования, уменьшения широковещательного

и устранения паразитного трафика.

3. Обеспечение защиты информации в компьютерной сети.

Администраторы по безопасности исследуют трафик в своих сетях с точки

зрения проверки правильности настройки МЭ, обнаружения сетевых атак,

сетевой вирусной активности и т.п.

При помощи анализаторов можно обеспечить решение задачи

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

Политика безопасности многих организаций включает регистрацию входящих

и выходящих пакетов для дальнейшего просмотра с целью обнаружения

попыток несанкционированного доступа к информации, различного рода атак и

других нежелательных явлений. Такая информация является необходимой и

при расследовании инцидентов.

4. Отладка разрабатываемого сетевого ПО.

Разработка сетевых приложений и новых сетевых протоколов на всех

уровнях часто требует тщательного разбора пакетов для обнаружения и

исправления ошибок. В полной мере это относится и к процессу разработки и

тестирования новых МЭ.

При отсутствии дорогостоящих специализированных устройств, перехват

и анализ сетевого трафика осуществляется специальными программами,

называемыми анализаторами трафика или снифферами (Sniffer – слушатель,

Page 7: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

7

точнее - вынюхиватель). Такие программы, как правило, построены на основе

различных библиотек захвата пакетов (наиболее распространенными являются

BPF (Berkeley Packet Filter) и LibPCap) и, в общем случае, реализуют

совокупность мер по перехвату и декодированию пакетов, поступающих на

доступные сетевые интерфейсы компьютера

В результате перехвата пакетов (packet capturing) получают некий “сырой”

(machine readable) дамп данных, обычно разделенный на блоки по границам

кадров (пакетов).

В результате декодирования пакетов (packet decoding) пользователь

получает расшифрованную версию поступивших в процессе первого этапа

данных, представляющую данные в формате, удобном для чтения человеком

(human readable).

Сетевые анализаторы могут перехватывать как свой трафик (относящийся

к узлу, на котором функционирует анализатор), так и весь трафик сетевого

сегмента.

При работе в локальных сетях, сетевые платы (например, Ethernet), в

нормальном режиме захватывают только кадры со своим или

широковещательным МАС-адресом назначения. Таким образом, в нормальном

режиме имеется возможность перехвата и анализа только “своего” трафика.

Для перехвата пакетов всех станций сегмента сетевые анализаторы переводят

сетевую карту в “неразборчивый” (promiscuous) режим, в котором карта

принимает и не адресованные ей кадры.

Анализаторы трафика могут функционировать как на сетевых

коммуникационных устройствах (маршрутизаторах, коммутаторах и пр.), так и

на оконечных узлах сети.

Конкретные реализации анализаторов отличаются друг от друга главным

образом следующими функциональными возможностями:

Page 8: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

8

• поддерживаемыми физическими интерфейсами и протоколами

канального уровня;

• качеством декодирования и количеством распознаваемых протоколов;

• пользовательским интерфейсом и удобством отображения;

• дополнительными возможностями: статистика, просмотр в реальном

времени, генерирование или модификация пакетов и др.

Следует отметить, что изучаемый трафик может быть как корректным

(соответствовать RFC), так и некорректным (аномальным). Аномальный трафик

является следствием либо неправильной работы сетевого оборудования, либо

генерируется злонамеренными пользователями с помощью специального ПО.

В качестве инструментальных средств чаще всего используются

программные сетевые анализаторы («снифферы»), устанавливаемые на ПК

общего назначения. Среди них есть и платные и бесплатные, различные по

функциональным возможностям и поддерживаемым платформам.

В качестве примера приведем наиболее известные:

Tcpdump – бесплатный (www.tcpdump.org);

Ethereal – бесплатный (www.ethereal.com);

Analyzer - бесплатный (analyzer.polito.it);

Iris – коммерческий (www.eeye.com);

CommView - коммерческий (www.tamos.ru).

Программа Tcpdump является старейшим и наиболее часто используемым

средством анализа сетевого трафика для Unix-систем. Утилита WinDump

представляет собой версию Tcpdump, работающую под управлением ОС

Windows.

Программа позволяет принимать и анализировать пакеты, приходящие на

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

Page 9: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

9

пользователя формате, а также задавать различные условия фильтрации

приходящих пакетов. Взаимодействие с пользователем основано на

использовании текстового интерфейса и опций командной строки. Программа

позволяет сохранять полученные данные в файле на жестком диске в

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

анализаторами сетевого трафика.

Достоинством программы является возможность получение дампа трафика

в «сыром» формате (двоичном или шестнадцатиричном), без предварительной

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

«нестандартный» пакет, сформированный злоумышленником.

В качестве альтернативы будем рассматривать программу Wireshark

(Ethereal), достоинством которой, наряду с бесплатностью, является удобный

графический интерфейс, значительно облегчающий работу по анализу трафика.

Page 10: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

10

1. Краткие теоретические сведения

1.1. Ethernet

Технология Ethernet является в настоящее время доминирующей при

организации локальных сетей различных масштабов. Поэтому, говоря об

анализе пакетного трафика, основное внимание на канальном уровне следует

уделить этой технологии. Она позволяет обеспечить доставку пакетов

различных протоколов за счет их инкапсуляции в Ethernet кадры.

Исторически сложилось наличие четырех типов кадров Ethernet (см.

приложение 1.1). Все они содержат одинаковую адресную информацию – MAC

адрес назначения (DA) и MAC источника (SA), однако различаются

остальными полями.

Кадр типа Ethernet Raw 802.3 был предложен компанией Novell, в нем

отсутствует поле, идентифицирующее протокол более высокого уровня, так как

он всегда содержит пакет протокола IPX на сетевом уровне. В настоящее время

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

Протокол IP может использовать два типа кадров: Ethernet II и Ethernet

SNAP, при этом предпочтительным является кадр Ethernet II. Этот тип кадра и

является сейчас наиболее используемым в сетях TCP/IP.

Кадры двух оставшихся типов (Ethernet 802.3/LLC и Ethernet SNAP)

используются в сети для передачи пакетов различных служебных протоколов

взаимодействия телекоммуникационных устройств (коммутаторов и

маршрутизаторов). Их анализ важен для понимания работы сети на нижних

уровнях.

Page 11: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

11

1.2. Протокол IP

Протокол IP находится на межсетевом уровне стека протоколов TCP/IP. В

настоящее время используется IP версии 4, его функции определены в

стандарте RFC-791 следующим образом: “Протокол IP обеспечивает передачу

блоков данных, называемых дейтаграммами, от отправителя к получателям, где

отправители и получатели являются компьютерами, идентифицируемыми

адресами фиксированной длины (IP-адресами).

Протокол IP является ненадежным протоколом без установления

соединения. Это означает, что протокол IP не подтверждает доставку данных,

не контролирует целостность полученных данных и не производит операцию

квитирования.

Протокол IP обрабатывает каждую дейтаграмму как независимую

единицу, не имеющую связи ни с какими другими дейтаграммами в Интернет.

После того, как дейтаграмма отправляется в сеть, ее дальнейшая судьба никак

не контролируется отправителем (на уровне протокола IP). Если дейтаграмма

не может быть доставлена, она уничтожается.

• Гарантию правильной передачи данных предоставляют протоколы

вышестоящего уровня (например, протокол TCP), которые имеют для

этого необходимые механизмы.

• Одна из основных задач, решаемых протоколом IP, - маршрутизация

дейтаграмм, т.е. определение пути следования дейтаграммы от одного

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

IP дейтаграммы вкладываются (инкапсулируются) непосредственно в

ethernet-кадры. При этом обычно используются кадры формата Etherhet (II)

DIX, в поле type при этом используется код 0x800.

Формат заголовка пакета IPv4 приведен в приложении 1.3.

Page 12: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

12

Рассмотрим основные поля.

Версия (VER). Это поле из 4 бит определяет версию протокола IP: в

настоящее время это версия 4 - IPv4 (двоичный код 0100). Однако версия 6

может полностью заменить версию 4 через несколько лет. Поле VER

показывает программному обеспечению IP, функционирующему в

обрабатывающем узле, что дейтаграмма имеет формат версии 4. Все поля

должны интерпретироваться, как определено в четвертой версии протокола.

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

интерпретируется некорректно.

Длина заголовка (header length) - это количество 32-битных слов в

заголовке, включая любые опции. Оно необходимо, потому что длина заголовка

является переменной. Так как это 4-битное поле, оно ограничивает размер

заголовка в 60 байт.

Это ограничение влияет на некоторые опции, такие как опция записи

маршрута. Обычная величина в этом поле (когда отсутствуют опции) - 5.

Поле полной длины (total length) содержит полную длину IP дейтаграммы

в байтах. Благодаря этому полю и полю длины заголовка, мы знаем, с какого

места начинаются данные в IP дейтаграмме и их длину. Так как это поле

состоит из 16 бит, максимальный размер IP дейтаграммы составляет 65535

байт.

Поле идентификации (identification) уникально идентифицирует каждую

дейтаграмму, отправленную хостом. Значение, хранящееся в поле, обычно

увеличивается на единицу с посылкой каждой дейтаграммы.

Время жизни (TTL) содержит максимальное количество пересылок

(маршрутизаторов), через которые может пройти дейтаграмма. Это поле

ограничивает время жизни дейтаграммы. Значение устанавливается

отправителем (в зависимости от типа операционной системы) и уменьшается на

единицу каждым маршрутизатором, который обрабатывает дейтаграмму. Когда

Page 13: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

13

значение в поле достигает 0, дейтаграмма удаляется, а отправитель

уведомляется об этом с помощью ICMP сообщения. Подобный алгоритм

предотвращает зацикливание пакетов в петлях маршрутизации

Поле Протокол (Protocol) указывает, какому протоколу верхнего уровня

принадлежит информация, размещенная в поле данных пакета.

Контрольная сумма заголовка (header checksum) рассчитывается только

для IP заголовка. Она не включает в себя данные, которые следуют за

заголовком. Это является подтверждением «ненадежности» IP протокола.

Адрес источника. Это поле на 32 бита определяет IP-адрес источника. Это

поле должно оставаться неизменным в течение всего времени прохождения

дейтаграммы по сети от хоста источника к хосту конечного пункта.

Адрес получателя. Это поле на 32 бита определяет IP-адрес конечного

пункта. Это поле должно оставаться постоянным в течение времени

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

Поля заголовка, относящиеся к фрагментации (флаги и смещение) и

приоритезации (ToS), описаны в приложении 1.3.

В настоящее время на практике опции в заголовке IP практически не

используются, но могут быть рассмотрены в учебных целях, например запись

маршрута.

Page 14: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

14

1.3. Протокол ARP

Address Resolution Protocol (RFC-826) предназначен для установления

соответствия логическим, сетевым адресом (IP) и аппаратным адресом (MAC).

Сетевой интерфейс имеет аппаратный адрес (48-битное значение для

Ethernet). Фреймы, которыми обмениваются на канальном уровне, должны

адресоваться к аппаратному адресу сетевого интерфейса. Однако протокол IP

использует собственную схему адресации: 32-битные IP адреса. Знание IP

адреса получателя не позволяет послать пакет этому хосту. Драйвер Ethernet

должен знать аппаратный адрес пункта назначения, чтобы послать туда данные.

В задачу ARP входит обеспечение динамического соответствия между 32-

битными IP адресами и аппаратными адресами, используемыми различными

сетевыми технологиями (в том числе и Ethernet).

IP-адрес места назначения известен прикладной программе, модулю TCP и

модулю IP. Необходимо на его основе найти MAC адрес места назначения. Для

определения искомого MAC-адреса используется ARP-таблица.

В двух столбцах содержатся IP- и MAC-адреса. Если требуется

преобразовать IP-адрес в MAC-адрес, то ищется запись с соответствующим IP-

адресом.

Если запись отсутствует, то происходит следующее:

По сети передается широковещательный ARP-запрос. ARP-запрос можно

интерпретировать так: "Если ваш IP-адрес совпадает с указанным, то сообщите

мне ваш MAC-адрес".

Исходящий IP-пакет ставится в очередь.

Каждый сетевой адаптер принимает широковещательные передачи. Все

драйверы Ethernet проверяют поле типа в принятом Ethernet-кадре и передают

ARP- запросы модулю ARP. Каждый модуль ARP проверяет поле искомого IP-

Page 15: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

15

адреса в полученном ARP-пакете и, если адрес совпадает с его собственным IP-

адресом, то посылает ответ прямо по Ethernet-адресу отправителя запроса.

ARP-ответ можно интерпретировать так: "Да, это мой IP-адрес, ему

соответствует такой-то MAC -адрес".

Этот ответ получает машина, сделавшая ARP-запрос. Драйвер этой

машины проверяет поле типа в Ethernet-кадре и передает ARP-ответ модулю

ARP. Модуль ARP анализирует ARP-пакет и добавляет запись в свою ARP-

таблицу.

С использованием обновленной ARP таблицы определяется требуемый

MAC адрес получателя и исходящий IP пакет отправляется в сеть.

Таким образом:

1. По сети передается широковещательный ARP-запрос.

2. Исходящий IP-пакет ставится в очередь.

3. Возвращается ARP-ответ, содержащий информацию о соответствии IP-

и Ethernet-адресов. Эта информация заносится в ARP-таблицу.

4. Для преобразования IP-адреса в Ethernet-адрес у IP-пакета,

поставленного в очередь, используется ARP-таблица.

5. Ethernet-кадр передается по сети Ethernet.

ARP-пакеты вкладываются непосредственно в ethernet-кадры. Формат

ARP-пакета приведен в приложении 1.2.

В рамках протокола ARP возможны самообращенные запросы (gratuitous

ARP). При таком запросе инициатор формирует пакет, где в качестве IP

используется его собственный адрес. Это бывает нужно, когда осуществляется

стартовая конфигурация сетевого интерфейса. В таком запросе IP-адреса

отправителя и получателя совпадают.

Page 16: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

16

1.4. Протокол ICMP

Протокол передачи управляющих и диагностических сообщений (internet

control message protocol, RFC-792, - 1256). С его помощью передаются

сообщения об ошибках и сообщения о возникновении условий и ситуаций,

которые требуют к себе особого внимания. В иерархии протоколов ICMP

относят к сетевому уровню, наряду с IP.

ICMP сообщения передаются внутри IP дейтаграмм.

Рис. 1.1. Инкапсуляция ICMP сообщения

Номер протокола ICMP (в заголовке IP) –1.

Формат ICMP сообщения приведен в приложении 1.3. Первые 4 байта

одинаковы для всех сообщений, однако остальные отличаются в зависимости

от типа сообщения.

Сообщения делятся на две категории – сообщения об ошибках (error) и

запросы (включая и ответы на них) – query.

Сообщения об ошибках никогда не генерируются в ответ на ICMP –

сообщения об ошибках, при невозможности доставки широковещательных

дейтаграмм (на канальном и IP уровнях).

Когда посылается ICMP сообщение об ошибке, оно всегда содержит IP

заголовок и первые 8 байт IP дейтаграммы, которая вызвала генерацию ICMP

ошибки. Это позволяет принимающему ICMP-модулю установить соответствие

между полученным сообщением, одним из конкретных протоколов (TCP или

UDP из поля протоколов в IP-заголовке) и с одним из конкретных

пользовательских процессов (с помощью номера порта TCP или UDP, который

Page 17: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

17

содержится в TCP или UDP заголовке в первых 8 байтах IP-дейтаграммы).

Существует 15 различных значений для поля типа (type), которые

указывают на конкретный тип ICMP сообщения. Для некоторых ICMP

сообщений используются различные значения в поле кода (code), подобным

образом осуществляется дальнейшее подразделение ICMP сообщений.

Некоторые типы широко используются в настоящее время, некоторые

практически не применяются.

Типы и коды ICMP- сообщений приведены в приложении 1.4.

Page 18: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

18

1.5. Протоколы транспортного уровня

Задача транспортного уровня заключается в передаче данных между

любыми прикладными процессами, выполняющимися на любых узлах сети.

Действительно, после того, как пакет средствами протокола IP доставлен в

компьютер-получатель, данные необходимо направить конкретному процессу-

получателю. Каждый компьютер может выполнять несколько процессов, более

того, прикладной процесс тоже может иметь несколько точек входа,

выступающих в качестве адреса назначения для пакетов данных.

В семействе протоколов TCP/IP используются два существенно различных

транспортных протокола:

TCP (Transmission Control Protocol – протокол управления передачей

данных) и UDP (User Datagram Protocol – протокол дейтаграмм пользователя).

TCP обеспечивает надежную передачу данных между двумя

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

Напротив, UDP предоставляет прикладному уровню более примитивный

сервис. Он лишь рассылает данные адресатам в виде пакетов, без гарантии

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

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

Пакеты, поступающие на транспортный уровень, организуются

операционной системой в виде множества очередей к точкам входа различных

прикладных процессов. В терминологии TCP/IP такие системные очереди

называются портами. Таким образом, адресом назначения, который

используется на транспортном уровне, является идентификатор (номер) порта

прикладного сервиса. Номер порта, задаваемый транспортным уровнем, в

совокупности с номером сети и номером компьютера, задаваемыми сетевым

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

Page 19: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

19

Протокол UDP

Официальная спецификация UDP приведена в RFC 768].

UDP простой, ориентированный на передачу дейтаграмм, протокол

транспортного уровня: за один раз процесс выдает одну UDP дейтаграмму, в

результате чего передается одна IP дейтаграмма.

UDP является ненадежным протоколом: он отправляет дейтаграммы,

которые приложение пишет в IP уровень, однако не существует гарантии того,

что они достигнут конечного пункта назначения.

UDP является дейтаграммным протоколом, то есть он не устанавливает

логического соединения, не нумерует и не упорядочивает пакеты данных.

UDP дейтаграммы инкапсулируются в IP дейтаграммы следующим

образом

Рис.1.2 Инкапсуляция UDP дейтаграммы

Номер протокола UDP (в заголовке IP) -17.

Формат заголовка UDP дейтаграммы приведен в приложении 1.6.

Поле длины UDP содержит длину в байтах UDP заголовка и UDP данных.

Минимальное значение для этого поля составляет 8 байт. Допускается отправка

UDP дейтаграммы с нулевой длиной данных.

Область использования UDP:

• UDP подходит для процессов, которые требует простой связи типа

"запрос – ответ", использующих короткие сообщения.

Page 20: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

20

шибок. Он может просто

раммное

м и практически не меняется

(управление потоком не требуется).

• UDP подходит для процессов с внутренним механизмом управления

потоком и контролем ошибок. Например, тривиальный протокол

передачи файлов (Trivial File Transfer Protocol — TFTP) включает в себя

механизмы управления потоком и контроля о

использовать UDP.

• UDP подходит как транспортный протокол для многоадресного и

широковещательного распространения. Многоадресные и

широковещательные возможности вставлены в прог

обеспечение UDP, но их нет в программном обеспечении TCP.

• UDP может использоваться в случае, когда скорость отправляемого

потока данных задана источнико

Page 21: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

21

Протокол TCP

Протокол TCP (Transmission Control Protocol) обеспечивает сквозную

доставку данных между прикладными процессами, запущенными на узлах,

взаимодействующих по сети. Стандартное описание TCP содержится в RFC-

793. Позднее появились исправления и добавления – RFC 1122, расширения -

RFC 1323 - TCP Extensions for High Performance, RFC 2883-SACK, RFC-2923-

MTU.

TCP – надежный байт-ориентированный (byte-stream) протокол с

установлением соединения. TCP находится на транспортном уровне стека

TCP/IP, между протоколом IP и собственно приложением. Протокол IP

занимается пересылкой дейтаграмм по сети, никак не гарантируя доставку,

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

данных; все эти задачи возложены на протокол TCP.

Модуль TCP выполняет передачу непрерывных потоков данных между

своими клиентами в обоих направлениях. Клиентами TCP являются

прикладные процессы, вызывающие модуль TCP при необходимости получить

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

Протокол TCP рассматривает данные клиента как непрерывный

неинтерпретируемый поток октетов. TCP разделяет этот поток на части для

пересылки на другой узел в TCP-сегментах некоторого размера. Для отправки

или получения сегмента модуль TCP вызывает модуль IP.

Модуль TCP обеспечивает защиту от повреждения, потери, дублирования

и нарушения очередности получения данных.

Для выполнения этих задач все октеты в потоке данных сквозным образом

пронумерованы в возрастающем порядке. Заголовок каждого сегмента

содержит число октетов данных в сегменте и порядковый номер первого октета

той части потока данных, которая пересылается в данном сегменте.

Page 22: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

22

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

обнаружить повреждение данных.

При удачном приеме октета данных принимающий модуль посылает

отправителю подтверждение о приеме - номер удачно принятого октета. Если в

течение некоторого времени отправитель не получит подтверждения,

считается, что октет не дошел или был поврежден, и он посылается снова.

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

порядке очередности и обнаружения дубликатов (которые могут быть посланы

из-за большой задержки при передаче подтверждения или потери

подтверждения).

При получении дейтаграммы, в поле Protocol которой указан код

протокола TCP (6), модуль IP передает данные этой дейтаграммы модулю TCP.

Эти данные представляют собой TCP-сегмент, содержащий TCP-заголовок и

данные пользователя (прикладного процесса). Модуль TCP анализирует

служебную информацию заголовка, определяет, какому именно процессу

предназначены данные пользователя, проверяет целостность и порядок прихода

данных и подтверждает их прием другой стороне. По мере получения

правильной последовательности неискаженных данных пользователя они

передаются прикладному процессу.

Формат заголовка TCP сегмента с некоторыми пояснениями приведен в

приложении 1.7.

В протоколе TCP, также, как и в UDP, для связи с прикладными

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

популярным сервисам приведены в приложении 1.8.

Основные функции протокола –

• Управление соединениями и базовая передача данных:

Соединение в протоколе TCP идентифицируется парой полных адресов

обоих взаимодействующих процессов (оконечных точек). Адрес каждой из

Page 23: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

23

оконечных точек включает IP-адрес (номер сети и номер компьютера) и номер

порта. Одна оконечная точка может участвовать в нескольких соединениях.

Чтобы установить TCP соединение, необходимо:

1. Запрашивающая сторона (которая, как правило, называется клиент)

отправляет SYN сегмент, указывая номер порта сервера, к которому

клиент хочет подсоединиться, и исходный номер последовательности

клиента ISN. Это сегмент номер 1.

2. Сервер отвечает своим сегментом SYN, содержащим исходный номер

последовательности сервера (сегмент 2). Сервер также подтверждает

приход SYN клиента с использованием ACK (ISN клиента плюс один).

На SYN используется один номер последовательности.

3. Клиент должен подтвердить приход SYN от сервера с использованием

ACK (ISN сервера плюс один, сегмент 3).

Когда каждая сторона отправила свой SYN чтобы установить соединение,

она выбирает исходный номер последовательности (ISN) для этого соединения.

ISN должен меняться каждый раз, поэтому каждое соединение имеет свой,

отличный от других ISN.

Соединение в TCP позволяет вести передачу данных одновременно в обе

стороны, то есть полнодуплексную передачу.

Сеанс обмена данными заканчивается процедурой разрыва соединения,

которая аналогична процедуре установки, с той разницей, что вместо SYN для

разрыва используется служебный бит FIN (“данных для отправки больше не

имею”), который устанавливается в заголовке последнего сегмента с данными,

отправляемого узлом. Хотя TCP-соединения являются дуплексными, чтобы

понять, как происходит их разъединение, лучше считать их парами

симплексных соединений. Каждое симплексное соединение разрывается

независимо от своей пары. Чтобы разорвать соединение, любая из сторон

может послать ТСР-сегмент с установленным в единицу битом FIN, что

Page 24: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

24

означает, что у него больше нет данных для передачи. Когда этот ТСР-сегмент

получает подтверждение, это направление передачи закрывается. Тем не менее,

данные могут продолжать передаваться неопределенно долго в

противоположном направлении. Соединение разрывается, когда оба

направления закрываются. Обычно для разрыва соединения требуются четыре

ТСР-сегмента: по одному с битом FIN и по одному с битом АСК в каждом

направлении. Первый бит АСК и второй бит FIN могут также содержаться в

одном ТСР-сегменте, что уменьшит количество сегментов до трех.

• Обеспечение достоверности:

TCP обеспечивает защиту от повреждения, потери, дублирования и

нарушения очередности получения данных.

Все байты в потоке данных сквозным образом пронумерованы в

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

подтверждений (квитанций). При удачном приеме байта данных принимающий

модуль посылает отправителю подтверждение о приеме - номер удачно

принятого октета. Если в течение некоторого времени отправитель не получит

подтверждения, считается, что байт не дошел или был поврежден, и он

посылается снова. Этот механизм контроля надежности называется PAR

(Positive Acknowledgment with Retransmission). В протоколе TCP реализована

разновидность алгоритма квитирования с использованием окна. Особенность

этого алгоритма состоит в том, что, хотя единицей передаваемых данных

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

неструктурированного потока данных, поступающих с верхнего уровня и

буферизуемых протоколом TCP.

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

порядке очередности и обнаружения дубликатов (которые могут быть посланы

из-за большой задержки при передаче подтверждения или потери

подтверждения).

Page 25: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

25

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

обнаружить повреждение данных.

• Разделение (мультиплексирование) каналов

Протокол TCP обеспечивает работу одновременно нескольких соединений.

Каждый прикладной процесс идентифицируется номером порта. Заголовок

TCP-сегмента содержит номера портов процесса-отправителя и процесса-

получателя. При получении сегмента модуль TCP анализирует номер порта

получателя и отправляет данные соответствующему прикладному процессу.

• Управление потоком

Для управления потоком в TCP используются такие механизмы и понятия

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

передача и алгоритм быстрого восстановления, раннее предупреждение о

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

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

Page 26: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

26

2. Средства анализа пакетного трафика

2.1. Утилита Tcpdump (Windump)

Целью работы является ознакомление с принципами работы программ

анализа пакетного трафика, практическое освоение приемов сбора и анализа

трафика с помощью утилиты Tcpdump (Windump), получение навыков

расшифровки выходных результатов работы утилиты Tcpdump.(Windump).

Утилита Tcpdump

Tcpdump является старейшим и наиболее часто используемым средством

анализа сетевого трафика для Unix-систем. Утилита WinDump представляет

собой версию Tcpdump, работающую под управлением ОС Windows.

Подробное описание и последние версии программы Tcpdump можно найти на

сайте http://www.tcpdump.org/.

Программа позволяет принимать и анализировать пакеты, приходящие на

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

пользователя формате, а также задавать различные условия фильтрации

приходящих пакетов. Взаимодействие с пользователем основано на

использовании текстового интерфейса и опций командной строки. Программа

позволяет сохранять полученные данные в файле на жестком диске в

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

анализаторами сетевого трафика.

Программа tcpdump использует пакетный фильтр BSD (BPF - BSD Packet

Filter), существующий в современных реализациях ядра BSD для перехвата и

фильтрации пакетов из сетевой платы (которая переведена в “promiscuous”

режим).

Page 27: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

27

На рисунке 2.1 показано взаимодействие BPF с драйвером Ethernet..

Рис. 2.1 Пакетный фильтр BSD

Драйвер BPF переводит драйвер Ethernet-карты в смешанный режим и

затем получает от драйвера копию каждого полученного и отправленного

пакета. Эти пакеты проходят через фильтр, указанный пользователем, таким

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

пользователя. Фильтр для tcpdump может быть указан пользователем в

командной строке.

Запуск и останов программы

Запуск программы осуществляется командой

$> tcpdump <опции>

Завершение программы происходит после обработки заданного числа

пакетов или при наборе комбинации Ctrl+C.

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

Page 28: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

28

записей о проходящих пакетах (Рис. 2.2). Каждому пакету соответствует

отдельная строка. sun % tcpdump -e tcpdump: listening on le0 09:11:22.642008 0:0:c0:6f:2d:40 ff:ff:ff:ff:ff:ff arp 60: arp who-has svr4 tell bsdi 09:11:22.644182 0:0:c0:c2:9b:26 0:0:c0:6f:2d:40 arp 60: arp reply svr4 is-at 0:0:c0:c2:9b:26 09:11:22.644839 0:0:c0:6f:2d:40 0:0:c0:c2:9b:26 ip 60: bsdi.1030 > svr4.discard: S 596459521:596459521 (0) win 4096 <mss 1024> [tos 0x10] 09:11:22.649842 0:0:c0:c2:9b:26 0:0:c0:6f:2d:40 ip 60: svr4.discard > bsdi.1030:S 3562228225:3562228225 (0) ack 596459522 win 4096 <mss 1024> 09:11:22.651623 0:0:c0:6f:2d:40 0:0:c0:c2:9b:26 ip 60: bsdi.1030 > svr4.discard: . ack 1 win 4096 [tos 0x10]

Рис. 2.2. Пример вывода Tcpdump

В начале вывода всегда указывается имя интерфейса, на котором

осуществляется перехват пакетов. Каждая строка начинается с метки времени

прихода пакета в формате ЧЧ:ММ:СС.CCCCCC. Для каждого пакета tcpdump

всегда печатает имя (адрес) отправляющего хоста, затем знак "больше" (>),

затем имя хоста назначения. Остальные детали записей и общий формат вывода

зависят от опций командной строки и типа пакетов.

Результат можно сохранить в файле, указав в командной строке знак “ > ”

Page 29: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

29

и имя файла.

Например, команда

% tcpdump tcp port 25 > dump.txt

формирует записи только о TCP сегментах с портом источника или

назначения равным 25 и сохраняет их в файле dump.txt,.

Для запуска программы с требуемыми условиями фильтрации и

вывода используется большой набор опций командной строки:

TcpDump [ -adeflnNOpqStvx ] [ -c count ] [ -F file ] [ -i interface ] [ -r file ] [ -s

snaplen ] [ -T type ] [ -w file ] [ expression ].

-a разрешает конвертировать сетевые и широковещательные адреса в

имена.

-c выход после обработки count пакетов.

-d выводит содержимое пакета в удобочитаемом виде.

-dd выводит содержимое пакета как фрагмент Си-программы.

-ddd выводит содержимое пакета в десятичном виде.

-e выводит заголовки канального уровня в каждой новой строке.

-f выводит адреса удаленных и локального хостов без преобразования в

имена.

-F указывает на использование файла file с описанием параметров

фильтрации (дополнительные выражения в командной строке игнорируются).

-i указывает интерфейс interface для трассировки. Если не определен,

tcpdump находит активный сетевой интерфейс с наименьшим номером

(исключая loopback). В Windows interface – имя сетевого адаптера или его

номер (можно узнать, запустив WinDump –D).

-l использует буферизированный вывод на stdout. Полезным может

оказаться конструкция вида "tcpdump -l | tee dat'' or "tcpdump -l > dat & tail -f

Page 30: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

30

dat''.

-n не преобразовывать адреса (т.e. адрес хоста, номер порта и т.д.) в имена.

-N не печатать доменное имя в имени хоста. Т.е. если использован данный

флаг, tcpdump напечатает "nic'' вместо "nic.ddn.mil''.

-O не запускать оптимизатор пакетов. Эта опция полезна, если вы сами

разбираете пакеты.

-p не переводить сетевой интерфейс в "promiscuous mode".

-q выводит информацию в сокращенном виде.

-r читает пакеты из файла file (созданного при помощи опции -w). Если вы

хотите использовать в качестве ввода консоль, то file это "-''.

-s выдает snaplen байт каждого пакета. 68 байт достаточно для протоколов

IP, ICMP, TCP и UDP, однако обрезает информацию с более высоких уровней,

скажем, DNS и NFS пакетов.

-T принудительная интерпретация пакетов по типу type соответствующих

маске "expression". На данный момент известны следующие типы: rpc (Remote

Procedure Call), rtp (Real-Time Applications protocol), rtcp (Real-Time

Applications control protocol), vat (Visual Audio Tool) и wb (distributed White

Board).

-S выводит абсолютный номер TCP-пакета.

-t не выводит время в каждой строке.

-tt выводит неформатированное время в каждой строке.

-v детальный вывод. К примеру, TTL и тип сервиса.

-vv более детальный вывод. К примеру, вывод дополнительных полей NFS

reply packets.

-w записывает raw-пакеты в file, который можно в дальнейшем

расшифровать с использованием опции –r.

-x выводит каждый пакет в шестнадцатеричном виде (без заголовка). На

вывод будет отправлено snaplen байт.

Page 31: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

31

Дополнительные опции WinDump: [-D] [ -B size ].

-B устанавливает размер буфера драйвера size в килобайтах. По умолчанию

размер буфера 1 мегабайт. Если в процессе работы некоторые пакеты не

отображаются, следует увеличить размер буфера. Для РРР-соединений или 10

Мбит Ethernet, размер буфера можно уменьшить вдвое.

-D выводит список сетевых устройств, которые присутствуют в системе.

Список имеет вид: number – номер сетевого устройства в системе, name – его

имя, за ними следует описание устройства.

expression – собственно, выражение, которое задает критерий фильтрации

пакетов. Если поле expression отсутствует, то выводятся все пакеты. В

противном случае выводятся только те пакеты, которые соответствуют маске

expression.

expression может состоять из одного или более примитивов. Примитивы

часто состоят из id (имя или номер) определителя. Существует три ключевых

типа определителей:

type — определитель, задающий общую политику. Возможные типы —

host, net и port. Например, "host foo", "net 128.3", "port 20". .

dir – определитель, указывающий направление передачи пакетов.

Возможные варианты src, dst, src or dst и src and dst. Т.е "src foo", "dst net

128.3", "src or dst port ftp-data". Если dir не указан, то по умолчанию

используется src or dst. Для "null" соединений (это ppp или slip) используется

inbound и outbound определитель для указания желаемого направления.

proto – определитель позволяет выводить пакеты конкретного протокола.

Возможные протоколы: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl,

tcp и udp. Т.е. "ether src foo", "arp net 128.3", "tcp port 21".

В дополнение к вышесказанному, некоторые специальные примитивы не

Page 32: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

32

имеют шаблонов, это: gateway, broadcast, less, greater и арифметические

выражения. Множество составных выражений фильтров используют слова and,

or и not для объединения примитивов. К примеру "host foo and not port ftp and

not port ftp-data". Для упрощения ввода некоторые определители могут быть

опущены. К примеру, "tcp dst port ftp or ftp-data or domain" — то же самое, что и

"tcp dst port ftp or tcp dst port ftp-data or tcp dst port domain".

Допускаются следующие выражения:

dst host host – пакеты, у которых поле destination IP-заголовка – host, При

этом host может быть адрес или имя хоста.

src host host – пакеты, у которых поле source IP-заголовка – host.

host host – пакеты, у которых поля source или destination пакета – host.

Также могут употребляться префиксы: ip, arp или rarp. Если host – имя с

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

ether dst ehost – пакеты, у которых Ethernet-адрес получателя – ehost. Ehost

– любое из имен /etc/ethers или номер.

ether src ehost – пакеты, у которых Ethernet-адрес отправителя – ehost.

ether host ehost – пакеты, у которых Ethernet-адрес получателя или

отправителя – ehost.

gateway host – пакеты к/от шлюза (host) Т.е. Ethernet-адрес отправителя

или получателя – host, но ни IP-адрес отправителя, ни IP-алрес получателя не

являются host. Host может быть именем, а также может находиться в /etc/hosts и

/etc/ethers.

dst net net – пакеты, у которых адрес сети получателя – net. Net – любая

запись из /etc/networks или адрес сети.

src net net – пакеты, у которых адрес сети отправителя – net.

net net – пакеты, у которых адрес сети отправителя или получателя – net.

net net/len верно, если IP равно net, a маска подсети – len в битовом виде

(CIDR-формат). Может быть определен совместно с src или dst.

Page 33: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

33

dst port port – пакеты ip/tcp или ip/udp, у которых порт получателя – port.

port может быть числом или присутствовать в /etc/services. Если имя

используется для двух или более портов, то проверяются оба номера порта и

протоколы. Если используются недопустимые номер порта или имя, то

проверяются только номера портов (т.е. dst port 513 выводит трафик tcp/login и

udp/who, и port domain выводит tcp/domain и udp/domain).

src port port – пакеты, у которых порт отправителя – port.

port port – пакеты, у которых порт отправителя или получателя – port.

Некоторые выражения можно комбинировать, к примеру: tcp src port port –

только tcp-пакеты у которых порт – port.

less length – пакеты, длина которых меньше или равна length, что

равносильно len <= length.

greater length – пакеты, длина которых больше или равна length, что

равносильно len >= length.

ip proto protocol – IP пакеты с протоколом protocol. Protocol может иметь

номер или одно из имен icmp, igrp, udp, nd, или tcp.

ether broadcast - широковещательные Ethernet-пакеты. Выражение ether

является необязательным.

ip broadcast - широковещательные IP-пакеты.

ether multicast – пакеты Еthernet multicast. Выражение ether является

необязательным. Это сокращенная запись для "ether[0] & 1!= 0".

ip multicast – пакеты IP-multicast.

Более полное описание см. http://www.tcpdump.org/

Примеры использования tcpdump

Выдача всех входящих и исходящих пакетов от sundown: tcpdump host sundown

Выдача трафика между helios и одним из двух hot или ace: tcpdump host helios

and \(hot or ace \)

Page 34: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

34

Выдача всех пакетов между ace и другими хостами, исключая helios: tcpdump ip

host ace and not helios

Выдача ftp трафика через шлюз snup: tcpdump 'gateway snup and (port ftp or ftp-

data)'

Выдача трафика не принадлежащего машинам в локальной сети (если ваша

машина — шлюз в другую сеть, tcpdump не сможет выдать трафик вашей

локальной сети). tcpdump ip and not net localnet

Выдача стартовых и стоп пакетов (SYN и FIN пакеты), которые не принадлежат

локальной сети. tcpdump 'tcp[13] & 3!= 0 and not src and dst net localnet'

Выдача IP пакетов длиной более 576 байт, переданных через шлюз snup:

tcpdump 'gateway snup and ip[2:2] > 576'

Выдача IP broadcast или multicast пакетов, которые не посылаются через

Ethernet broadcast или multicast: tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'

Выдача всех ICMP пакетов, которые не являются эхо запросами/ ответами (т.е,

не ping пакеты): tcpdump 'icmp[0]!= 8 and icmp[0]!= 0"

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

Запустить программу Tcpdump, ознакомиться с форматом вывода и

основными опциями (–c, –e, –q, –n, –N, –x, –w, – r).

Средствами программы Tcpdump провести небольшое исследование

трафика

а) Определить минимальный и максимальный размер пакетов в сети.

б) Составить перечень протоколов, функционирующих в сети (во время

работы программы Tcpdump).

с) Определить минимальный интервал, наблюдаемый между пакетами.

d) Определить какие типы пакетов преобладают в сети.

e) Определить среднее время, затрачиваемое на обмен ARP-пакетами.

Запустить программу Tcpdump на перехват N ( N=400, 600, 1000) пакетов с

Page 35: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

35

записью необработанных результатов в файл Rowdump1000.

Во время работы программы Tcpdump по п.3 выполнить операции в

соответствии с индивидуальным заданием:

Обратиться к WEB-серверу.

Обратиться к FTP-серверу

Выполнить команду Ping . Сохранить результат в файле ping.txt

Выполнить команду Traceroute. Сохранить результат в файле trace.txt

По окончанию формирования файла Rowdump1000 обработать

полученный файл (Rowdump1000) программой Tcpdump c выводом результатов

в сокращенном виде и занесением результатов в файл dump1.txt

Обработать полученные файлы с целью получения следующих

характеристик

• размер передаваемых пакетов. Построить график зависимости числа

пакетов от длины пакета.

• загрузка сети. Построить временную диаграмму выдачи пакетов (число

пакетов в секунду). Определить минимальный и максимальный

интервал между пакетами.

Обработать файл Rowdump1000 с целью вывода только пакетов

отправленных или принятых Вашим компьютером (Вывод Tcpdump для всех

пакетов вашего компьютера). Сохранить результат в файле dump2.txt

В отчете представить:

1. Номер рабочего места и IP-адрес ПК.

2. Команды (с комментариями) и результаты для 5-6 опций по п.1.

Для каждой опции привести вывод 3-4 пакетов. При выводе IP-пакетов с

опцией –x, расшифровать заголовок IP-пакета.

3. Команды (с комментариями), использованные при выполнении п. 2, и

полученные результаты.

Page 36: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

36

4. Команды (с комментариями), использованные при выполнении пп. 3,4,5.

5. Распечатки файлов ping.txt и trace.txt.

6. Программы (с комментариями), использованные по п. 6.

7. График зависимости числа пакетов от длины. Объяснить результаты.

(минимальный размер, максимальный размер, промежуточный размер)

8. Временную диаграмму прохождения пакетов. Объяснить значения

минимального и максимального межпакетных интервалов.

9. Распечатку первых 50 пакетов файла dump1.txt.

10. Распечатку файла dump2.txt. В файле dump2.txt отметить пакеты,

относящиеся к пп. 4 a, b, c, d, соответственно. Определить значение задержки

эхо-отклика (icmp) по файлу dump2.txt, сравнить с результатом в файле

ping.txt.

11. Выводы по всем пунктам работы.

2.2. Анализатор сетевых протоколов Wireshark

Целью работы является освоение анализатора сетевого трафика, изучение

его интерфейса и основных функциональных возможностей, получение

практических навыков работы с программой.

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

который позволяет фиксировать и в интерактивном режиме просматривать

содержание сетевых фреймов. Читает файлы данных tcpdump, Sniffer Pro,

NetXray, MS Network Monitor, Novell's LanAlyzer и т.п. Поддерживает

несколько сот сетевых протоколов различных уровней.

Платформы: AIX, FreeBSD, HP-UX, IRIX, Linux, NetBSD, OpenBSD, SCO,

Solaris, True64 UNIX, Windows.

Основные достоинства – бесплатность, множество поддерживаемых

Page 37: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

37

платформ, удобный графический интерфейс.

(http://www.wireshark.org/).

На сайте разработчика представлены не только дистрибутивы программы,

но и многочисленные справочные и обучающие материалы.

Краткое описание программы

На момент написания пособия текущей стабильной версией программы

была Wireshark 1.2.6 (от 27.01.2010).

Описание интерфейса

Программа обладает дружественным интуитивно понятным интерфейсом

пользователя, общий вид его может незначительно изменяться от версии к

версии.

При освоение программы необходимо выделить основные пункты

главного меню, включающего следующие элементы:

File – позволяет создавать и объединять файлы захваченных пакетов,

сохранять/печатать/экспортировать захваченные файлы, как целиком, так и

полностью, также позволяет выходить из Wireshark.

Edit – это меню содержит пункты меню, позволяющие осуществить поиск

пакетов, дает информацию о времени захвата одного или нескольких пакетов,

позволяет установить персональные настройки.

View – меню управляет экраном захваченных данных, позволяет изменять

цветовую разметку, размер шрифта, показывать пакет в отдельном окне,

показывает более подробную информацию о пакете.

Go – содержит пункты меню, которые позволяют перейти к необходимому

пакету.

Capture – позволяет запускать и останавливать режим захвата кадров, а

также редактировать фильтры, для захваченных данных.

Page 38: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

38

Analyze – позволяет управлять действующими фильтрами, разрешает или

запрещает отображать детали протоколов, устанавливает конфигурацию

определенного пользователя, дает возможность декодировать и анализировать

TCP трафик.

Statistics – содержит пункты меню, отображающие различную

статистическую информацию, включая информацию о пакете, иерархию

протокола и другую полезную информацию о пакете.

Help – позволяет пользователю получить доступ к основной справке,

списку поддерживаемых протоколов, некоторым полезным Интернет

страницам.

Основные возможности анализатора и методика его применения

Начало захвата

Начать захват пакетов можно любым из указанных ниже способов:

Вызвать окно, выбора интерфейсов нажав (Capture Interface), затем

выбрать необходимый интерфейс.

Выбрать необходимые опции захвата, вызвав окно (Capture Options).

Если все опции захвата уже установлены, то можно начать захват, нажав

(Capture Start).

Если заранее известен интерфейс, используемый для захвата, то можно

использовать командную строку: wireshark -i eth0 –k

Информация о захваченных кадрах представляется в виде трех областей

просмотра:

Page 39: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

39

Окно Packet List (захваченных пакетов)

Рис. 2.3. Вид окна Packet List

Состоит (по умолчанию) из 6 столбцов:

• Номер захваченного пакета по порядку

• Время захвата пакета (может начинаться с нуля или точная дата/время

захвата)

• Источник захваченного пакета

• Приемник захваченного пакета

• Протокол

• Наиболее необходимая (полезная) информация о захваченном пакете

Окно Packet Details (детальная информация о пакете)

Рис. 2.4. Вид окна Packet Details

Page 40: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

40

Показывает информацию о пакете, выделенном в окне Packet List.

Информация представленная в виде дерева, каждую ветку которого можно

более подробно рассмотреть. Содержит для каждого пакета собственные ветки,

которые зависят от протокола.

Окно Packet Bytes (байтовая информация о пакете)

Рис. 2.5. Вид окна Packet Bytes

Слева показаны номера байт в шестнадцатеричном коде. В центральной

части содержится шестнадцатеричное содержимое передаваемой информации.

Справа показано ASCII содержимое байт (если это невозможно, то

показывается «·»).

Захваченный трафик можно сохранить для дальнейшего анализа,

используя меню File - Save (или Save As ).

Фильтрация

Часто, когда трафик в исследуемой сети достаточно интенсивен, за

короткое время может быть захвачено большое количество пакетов. Анализ

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

рекомендуется воспользоваться двумя видами фильтрации.

Фильтрация во время захвата производится с использованием правил

Capture Filters. В этом случае будут захватываться (запоминаться) только

пакеты, удовлетворяющие данным правилам. Такой отбор целесообразно

производить для уменьшения количества анализируемых пакетов в том случае,

Page 41: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

41

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

фильтров. Следует учесть, что информация о пакетах, не удовлетворяющих

фильтру, теряется.

Фильтр составляется (или выбирается) до начала захвата. Фильтр вводится в специальную строку (Capture Filters) в диалоговом окне Capture Options. При создании фильтров можно использовать логику and, or или not: [not] primitive [and|or [not] primitive ...] Примитивы, которые могут быть использованы для захвата, указаны в таблице. Примитив Описание [src|dst] host <host> Позволяет фильтровать по имени хоста или по IP адресу.

Опционально может быть добавлен параметр [src|dst] – источник и приемник захвата

ether [src|dst] host <ehost>

Позволяет фильтровать по адресу хоста. Возможно использование параметра [src, dst]

gateway host <host> Позволяют фильтровать пакеты, которые используют хост в качестве шлюза. Т.е. когда MAC адрес источника или приемника является хостом, но IP адрес источника или приемника хостом не являются.

[src|dst] net <net> [{mask <mask>}|{len <len>}]

Позволяет фильтровать по номеру сети. Могут быть использованы маски для сетей.

[tcp|udp] [src|dst] port <port>

Позволяет фильтровать по указанным портам для tcp или udp протоколов.

less|greater <length> Позволяет фильтровать пакеты, размер которых меньше(больше) или равен указанному значению.

ip|ether proto <protocol> Позволяет фильтровать пакеты по указанному протоколу ether|ip broadcast|multicast

Позволяет фильтровать пакеты для широковещательных и групповых пакетов.

<expr> relop <expr> Позволяет создавать сложные фильтры, которые дают возможность выбирать (искать) байты (диапазоны байт) в фильтруемых пакетах.

Пример 1: tcp port 23 and host 10.0.0.5

В данном примере захватывается telnet трафик, передаваемый и принимаемый хостом 10.0.0.5.

Пример 2: tcp port 23 and not host 10.0.0.5

В данном примере захватывается весь telnet трафик, передаваемый и принимаемый всеми хостами, кроме 10.0.0.5

Page 42: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

42

Фильтрация во время просмотра применяется при показе уже

захваченных (запомненных) пакетов с использованием правил Display Filter.

Один и то же набор пакетов можно анализировать при помощи различных

фильтров. Эти фильтры могут применяться и при анализе ранее

сформированных и сохраненных наборов пакетов.

При использовании данного вида фильтрации предоставляются более

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

Основные операторы, используемые для фильтрации, указаны в таблице: Обозначение Оператор Значение eq == Равенство

ip.addr == 10.0.0.5 ne != Неравенство

ip.addr != 10.0.0.5 gt > Больше чем

frame.pkt_len > 10 lt < Меньше чем

frame.pkt_len < 10 ge >= Больше или равно чем

frame.pkt_len ge 0x100 le <= Меньше или равно чем

frame.pkt_len <= 0x20 Основные типы данных, используемых для фильтрации, указаны в таблице: Тип Описание Unsigned integer (8-bit, 16-bit, 24-bit, 32-bit)

Беззнаковое целое. Может быть восьмеричным, десятичным или шестнадцатеричным ip.len le 1500 ip.len le 02734 ip.len le 0x436

Signed integer (8-bit, 16-bit, 24-bit, 32-bit)

Знаковое целое

Boolean Флаговая логика. Может быть использовано только для переменных, принимающих значения true. Например, tcp.flags.syn – будет использоваться только в том случае, если флаг SYN будет присутствовать в захватываемом TCP пакете.

Ethernet address (6 bytes) eth.addr == ff:ff:ff:ff:ff:ff IPv4 address ip.addr == 192.168.0.1 IPv6 address IPX network number Double-precision floating point number

String (text)

Page 43: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

43

Логические операторы, используемые для фильтрации, указаны в таблице: Обозначение Оператор Значение and && Логическое И

ip.addr==10.0.0.5 and tcp.flags.fin or || Логическое ИЛИ

ip.addr==10.0.0.5 or ip.addr==192.1.1.1 xor ^^ Исключающее ИЛИ

Tr.dst[0:3] == 0.6.29 xor tr.src[0:3] == 0.6.29 not ! Логическое отрицание

not llc Квадратные скобки. Если необходимо, то после операнда можно поставить [], указав необходимые параметры: eth.src[0:3] == 00:00:83 Здесь 0 – начальное значение, 3 - длина Можно также использовать «-»: eth.src[1-2] == 00:83 В указанном случае, 1 – будет левая граница интервала, а 2 – правая граница eth.src[:4] == 00:00:83:00 От самого начала, указанное количество. Эквивалентно 0:4 Eth.src[4:] == 20:20 Начиная от 4 и до конца Eth.src[2] == 83 Выборочное значение. Эквивалентно 2:1

[…]

Можно также использовать несколько способов указания параметров, разделяя их запятой eth.src[0:3,1-2,:4,4:,2]== 00:00:83:00:83:00:00:83:00:20:20:83

Пример 1: ip.addr == 10.0.0.5 and tcp.port==23 В данном примере захватывается telnet трафик, передаваемый и принимаемый хостом 10.0.0.5. Пример 2: not ip.addr == 10.0.0.5 and tcp.port==23 В данном примере захватывается весь telnet трафик, передаваемый и принимаемый всеми хостами, кроме 10.0.0.5 Основные типы примитивов, используемые для написания фильтров, можно посмотреть и выбрать, нажав кнопку Expression…. Исследователю предоставляется возможность выбрать любой из протоколов и полей их заголовков для составления фильтра. Более простой путь составления фильтров заключается в следующем: Произведя захват (запись) необходимого трафика в окне Packet List) необходимо выбрать

Page 44: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

44

строку с интересующим пакетом. Выбрать соответствующее поле и нажать правую кнопку мыши. В появившемся окне выбрав одну из строк Apply as Filter > ... Prepare a Filter > ... можно сформировать требуемый простейший фильтр. Данный фильтр можно дополнить, выбирая другие пакеты и повторяя действия. При необходимости, полученный фильтр можно сохранить, а также изменить и дополнить, используя меню Analyze- Display filters.

В практической работе при анализе трафика часто приходится

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

анализируются с использованием различных Display Filter, затем, при

необходимости, формируются фильтры захвата и процесс повторяется.

Дополнительные возможности

Программа предоставляет дополнительные возможности по анализу

захваченного трафика. В основном это относится к протоколу TCP.

Как было отмечено ранее, используя меню Analyze и его пункты Follow

TCP Stream, Expert Info и Expert Info Composite, можно получить информацию

по той TCP сессии, к которой относится выбранный пакет и по всему TCP

трафику, с учетом его особенностей.

Меню Statistics позволяет получить статистическую информацию по

захваченному трафику, используя различные критерии.

Например, используя пункт Protocol Hierarchy, можно получить

информацию о трафике по всем уровням протокольного стека - % Packets,

Packets, Bytes.

Page 45: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

45

Используя пункт Conversations можно определить трафик( в пакетах и

байтах) между двумя «объектами» на различных уровнях протокольного стека.

Например:

Page 46: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

46

Пункты Endpoints и Endpoint List позволяют формировать

статистические данные для любых выбранных конечных точек обмена (для

всех протоколов).

Кроме того, существует еще много возможностей по формированию

статистических данных с использованием различных фильтров.

Page 47: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

47

Задание на работу и содержание отчета

Настроить программу на запись всех поступающих на сетевой интерфейс

кадров.

Записать не менее 100 кадров.

Проанализировать трафик и ответить на следующие вопросы:

• Какие типы Ethernet фреймов используются?

• Какие IP сети входят в домен широковещания?

• Является ли сеть коммутируемой?

• Какой адрес у используемого в сети шлюза?

Указать адреса используемых серверов имен (DNS)

Указать статистический состав трафика по протоколам: по количеству

пакетов, по объему.

Используя файл с записью трафика (предоставляется преподавателем)

ответить на те же вопросы.

Составить и записать фильтры захвата (Capture Filter), обеспечивающие

запись трафика

• без трафика ARP

• всего трафика с заданного IP адреса (ip_srcadr)

• всего трафика на заданный IP адрес (ip_dstadr)

• трафика с заданного IP адреса на заданный IP адрес

• всего трафика на заданный IP адрес: port

• трафика с заданного IP адреса на заданный IP адрес, исключая трафик

на заданный port

• трафика с заданными значениями TCP флагов

Фильтры привести в отчете.

Составить и записать фильтры показа (Display Filter),

Page 48: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

48

обеспечивающие отображение пакетов по заданным признакам:

• Всего трафика с заданного MAC адреса

• Всего трафика между заданными MAC адресами

• Всего трафика с заданного IP адреса

• Всего трафика на заданный IP адрес

• Всего трафика на заданный IP адрес, кроме трафика ARP

• Всего широковещательного

• Широковещательного без ARP запросов

• Трафика с заданного IP адреса на заданный IP адрес

• Всего трафика на заданный IP адрес, port

• Трафика с заданного IP адреса на заданный IP адрес, исключая трафик

на заданный port

• Только ICMP трафика

• Только DNS ответов

• Пакетов, устанавливающих TCP соединение между хостами с

заданными IP адресами (3 пакета)

• Трафика с заданными значениями TCP флагов

• По заданию преподавателя

Используя файл с записью трафика (предоставляется преподавателем)

продемонстрировать работу фильтров. Результаты отразить в отчете.

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

данные по исследуемому трафику (используя возможности анализатора).

Page 49: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

49

3. Изучение трафика протоколов ARP и ICMP

Целью работы является практическое знакомство с работой протокола

ARP в сети Ethernet, изучение работы утилит ping, tracert , получение

практических навыков анализа простейшего трафика (на примере ICMP).

Программа работы и содержание отчета

Изучение протокола ARP

При нормальной работе сети с использованием стека TCP/IP сообщения

протокола ARP не формируются самопроизвольно. ARP- ответы являются

следствием ARP- запросов, которые, в свою очередь, посылаются при попытке

послать IP пакет по неизвестному MAC адресу. Поэтому, при проведении

исследования нужно перед каждым экспериментом очищать ARP таблицы на

используемых ПК (используя команду ARP). Для вызова ARP – запросов

необходимо любым способом попытаться послать IP пакет на нужный IP адрес.

Для этого можно использовать программы ping, telnet и или любую другую

клиентскую программу.

Работу по пунктам 2,3 следует проводить парами, с использованием двух

компьютеров, подключенных к одному сегменту локальной сети и IP адресами,

принадлежащими одной IP сети (подсети).

1. Обратиться к ПК с несуществующим IP адресом в собственной IP сети.

Обратиться к выключенному ПК (отключенному от сети) с существующим

IP адресом в собственной IP сети.

Повторить опыт при обращении к IP адресам из «внешних» IP сетей.

Фиксировать анализатором весь трафик ARP протокола.

Page 50: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

50

2. Поочередно, работая в парах, обратиться к IP из своей IP сети.

Фиксировать анализатором весь трафик ARP протокола.

До и после обращения зафиксировать состояние ARP таблиц на обоих ПК.

3. Выполнить перезагрузку ОС на одном из ПК. Фиксировать

анализатором весь трафик ARP протокола.

4. Обратиться к включенному ПК с IP адресом из «внешних» IP сетей .

Фиксировать анализатором весь трафик ARP протокола.

В отчете привести ARP трафик и выводы по каждому пункту

эксперимента.

Изучение протокола ICMP. Команды ping, tracert

Учитывая специфику и историю развития протокола ICMP, на практике

удается познакомиться лишь с частью его сообщений.

Наиболее широко используемые ICMP сообщения порождаются при

использовании команды ping.

Команда ping применяется для проверки сетевой доступности узла (по

протоколу IP). Она посылает ICMP –эхо запрос (ECHO_REQUEST) и ожидает

ICMP- эхо ответа (ECHO_REPLY). Получение ответа означает, что на этом узле

работает модуль IP, и указывает, что сетевой маршрут до этого узла открыт.

Следует помнить, что отсутствие ICMP- эхо ответов не означает

недоступность данного узла для других протоколов, с другой стороны, наличие

связи с узлом на уровне IP не гарантирует доступность на этом узле сервисов

прикладного уровня.

Команда ping, посылая ICMP запросы, позволяет изменять некоторые поля

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

1. Выполнить команду ping с различными ключами и значениями

Page 51: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

51

параметров, IP адреса назначения задаются преподавателем.

ping ip_adr – «Обычный» ping (с параметрами по умолчанию).

ping –i

Задать параметр TTL равным 1, 2.

ping –r

Задать максимальную величину параметра (9) и выполнить команду для

различных ip_adr (с числом промежуточных узлов в маршруте меньше и

больше 4).

ping –l

Задать величину буфера больше 1500.

Фиксировать анализатором весь трафик IP протокола для своего хоста.

Запустить параллельно два процесса ping (с ключом –t) на заданный IP

адрес.

Фиксировать анализатором весь трафик ICMP протокола для своего

хоста.

Выполнить команду ping на IP адрес, заданный преподавателем и

недоступный на момент опыта. Получить на экране ответ вида

Ответ от 195.208.113.245: Заданный узел недоступен.

Выполнить команду telnet на то же адрес.

Фиксировать анализатором весь трафик ICMP протокола для своего

хоста.

Выполнить команду tracert -n ip_adr

Фиксировать анализатором весь трафик ICMP протокола для своего

хоста.

Page 52: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

52

В отчете привести примеры трафика по всем экспериментам. Сделать

выводы по каждому пункту.

Особо обратить внимание на следующие вопросы:

• чем различаются заголовки различных фрагментов одного IP пакета,

какая информация необходима для сборки;

• какие ICMP сообщения об ошибках были зафиксированы, какая

информация в них содержится;

• принцип записи маршрута;

• принцип работы команды tracert, отличие от ping –r.

Page 53: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

53

4. Изучение TCP трафика

Целью работы является практическое знакомство с некоторыми

особенностями работы протокола TCP, получение практических навыков

анализа простейшего TCP трафика.

Используя команду telnet попытаться установить TCP соединение с

заданным ПК, используя номер порта, который заведомо не будет отвечать.

Фиксировать анализатором весь трафик TCP протокола для своего хоста.

Повторить эксперимент, используя «работающий» номер порта.

Фиксировать анализатором весь трафик TCP протокола для своего хоста.

Используя любого web –клиента обратиться по заданному преподавателем

URL.

Фиксировать анализатором весь трафик TCP протокола для своего хоста.

В отчете привести примеры трафика по всем экспериментам. Сделать

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

установление соединения

завершение соединения

Пояснить значение полей TCP заголовка их связь в TCP

последовательности.

Используя любого web –клиента установить связь с заданным

преподавателем ftp сервером. Найти файл, скачивание которого займет более 10

секунд.

Скачать файл.

Повторить эксперимент, во время скачивания разорвать связь на 1-2

Page 54: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

54

секунды и восстановить ее.

Повторить эксперимент, закрыв во время скачивания клиентскую

программу.

Фиксировать анализатором весь трафик TCP протокола для своего хоста.

В отчете привести примеры трафика по пунктам эксперимента. Сделать

выводы, обратить внимание на следующие моменты:

реализация алгоритма старта

реализация восстановления

реакция на разрыв соединения.

Используя захваченный трафик, пояснить действие механизма быстрого

старта, «скользящего» окна.

Page 55: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

55

СПИСОК ЛИТЕРАТУРЫ

1. Досталек Л., Кабелова А. TCP/IP и DNS в теории и на практике. Полное

руководство. - Наука и техника, 2006.- 608 с.

2. Мамаев М. Телекоммуникационные технологии

(Сети TCP/IP). Учебное пособие. Владивосток. 2001, v3.

3. http://athena.vvsu.ru/net/book/

4. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии,

протоколы: Учебник для вузов. 3-е издание. – СПб.: Питер, 2009.- 960 с.:

ил

5. Стивенс У.Р. Протоколы TCP/IP. Практическое руководство. Серия "В

подлиннике". - СПб.: БХВ-Петербург, 2003 - 672 с.: ил.

6. Семенов Ю.А. Протоколы Internet. Энциклопедия.- М. : Горячая линия –

Телеком, 2001. – 1100 с.

7. Чеппел Л., Титтел Э. TCP/IP. Учебный курс : Пер. с англ. - СПб.: БХВ -

Петербург, 2003.– 976 с.: ил.

Page 56: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

56

ПРИЛОЖЕНИЕ 1

СПРАВОЧНЫЕ СВЕДЕНИЯ ПО ПРОТОКОЛАМ TCP/IP

1. Форматы кадров Ethernet

2. Формат пакета ARP

3. Формат заголовка пакета IPv4

4. Формат ICMP сообщения

5. Типы и коды ICMP сообщений

6. Формат заголовка UDP дейтограммы

7. Формат заголовка TCP сегмента

8. Наиболее известные UDP/TCP порты

Page 57: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

57

1. Форматы кадров Ethernet

• Адрес назначения (Destination Address, DA). Первый бит старшего байта

адреса назначения является признаком того, является адрес

индивидуальным или групповым. Если он равен 0, то адрес является

индивидуальным (unicast), a если 1, то это групповой адрес (multicast).

• Адрес источника (Source Address, SA) - поле, содержащее адрес узла -

отправителя кадра. Первый бит адреса всегда имеет значение 0.

• Длина (Length, L) - 2-байтовое поле, которое определяет длину поля

данных в кадре. Если в этом поле содержится число более 1500

(десятичное), это указывает на то, что данный кадр имеет формат

Ethernet II, а само поле содержит не длину кадра, а тип данных (T).

• Во фрейме Ethernet II данные следуют сразу после поля тип (type),

тогда как во фрейме 802 за ним следуют 3 байта LLC 802.2 и 5 байт

SNAP 802.2.

• Поле данных (Data) может содержать от 0 до 1500 байт. Но если длина

поля меньше 46 байт, то используется следующее поле - поле

Page 58: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

58

заполнения, - чтобы дополнить кадр до минимально допустимого

значения в 46 байт.

• Поле заполнения (Padding) состоит из такого количества байт

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

в 46 байт. Это обеспечивает корректную работу механизма

обнаружения коллизий. Если длина поля данных достаточна, то поле

заполнения в кадре не появляется.

• Поле контрольной суммы (Frame Check Sequence, FCS) состоит из 4

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

алгоритму CRC-32.

Кадр Ethernet SNAP является модификацией кадра Ethernet 802.3/LLC. Для

этого кадра коды полей dsap и ssap равны 0xAA (признак кадра Ethernet SNAP),

код Control=03, поле код организации OUI (3 байта) содержит нуль, а

двухбайтовое поле тип (T) характеризует протокол вышележащего уровня.

Page 59: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

59

2.Формат пакета ARP

Два первых поля в Ethernet заголовке - поля источника и назначения

Ethernet. Специальный адрес назначения Ethernet, состоящий из всех единиц,

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

всеми Ethernet интерфейсами на кабеле.

Двухбайтовый тип фрейма (frame type) Ethernet указывает, данные какого

типа, пойдут следом. Для ARP запроса или ARP отклика это поле содержит

0x0806.

Выражения аппаратный (hardware) и протокол (protocol) используются для

описания полей в пакетах ARP. Например, ARP запрос запрашивает

аппаратный адрес (в данном случае Ethernet адрес) соответствующий адресу

протокола (в данном случае IP адрес).

Поле hard type указывает на тип аппаратного адреса. Для Ethernet это

значение равно единице. Prot type указывает тип адреса протокола, к которому

будет приведено соответствие. Для IP адресов используется значение 0x0800.

По своему целевому назначению это значение соответствует полю типа во

фрейме Ethernet, который содержит IP датаграмму.

Два следующих однобайтных поля, hard size и prot size, указывают на

размеры в байтах аппаратного адреса и адреса протокола. В ARP запросах и

откликах они составляют 6 для Ethernet и 4 для IP адреса.

Page 60: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

60

Поле op указывает на тип операции: ARP запрос (значение

устанавливается в 1), ARP отклик (2), RARP запрос (3) и RARP отклик (4). Это

поле необходимо, так как поля типа фрейма (frame type) одинаковы для ARP

запроса и ARP отклика.

Следующие четыре поля: аппаратный адрес отправителя (Ethernet адрес в

данном примере), адрес протокола (IP адрес), аппаратный адрес назначения и

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

происходит некоторое дублирование информации: аппаратный адрес

отправителя может быть получен как из Ethernet заголовка, так и из ARP

запроса.

Для ARP запроса все поля заполнены, за исключением аппаратного адреса

назначения. Когда система получает ARP запрос, который предназначается ей,

она вставляет свой аппаратный адрес, меняет местами адреса источника и

назначения, устанавливает поле op в значение 2 и отправляет отклик.

Page 61: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

61

3. Формат заголовка пакета IP v4

13-бит смещение

Поле TOS (Type Of Service) одно-октетное поле тип сервиса (TOS - type of

service) характеризует то, как должна обрабатываться дейтограмма. Это поле

делится на 6 субполей

Субполе Приоритет предоставляет возможность присвоить код

приоритета каждой дейтограмме. Значения приоритетов могут лежать в

диапазоне от 0 до 7 (высший).

Биты C, D, T и R характеризуют пожелание относительно способа доставки

дейтограммы. Так D=1 требует минимальной задержки, T=1 – высокую

Page 62: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

62

пропускную способность, R=1 – высокую надежность, а C=1 – низкую

стоимость.

До середины 90-х годов поле TOS в большинстве реализаций

игнорировалось. Но после начала разработок средств обеспечения качества

обслуживания (QoS) внимание к этому возрасло. Появилось предложение

замены поля TOS на поле DSCP (Differenciated Services Code Point), которое

также имеет 8 бит (см. RFC-2474). Иногда это поле называется байтом DS

(Differentiated Services).

Биты 0 – 5 определяют селектор класса. Стандартным значением DSCP по

умолчанию является 000000.

Биты ECN используются в алгоритме раннего предупреждения о

перегрузках (см. RFC 3168).

Поля идентификатор, флаги (3 бита) и указатель фрагмента (fragment

offset) управляют процессом фрагментации и последующей "сборки"

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

дейтограммы, позволяющий идентифицировать принадлежность фрагментов и

исключить ошибки при "сборке" дейтограмм.

Бит 0 поля флаги является резервным, бит 1 (DF) служит для управления

фрагментацией пакетов (0 - фрагментация разрешена; 1 - запрещена), бит 2

(MF) определяет, является ли данный фрагмент последним (0 - последний

фрагмент; 1 - следует ожидать продолжения).

Поле Протокол (Protocol) занимает один байт и указывает, какому

протоколу верхнего уровня принадлежит информация, размещенная в поле

данных пакета (например, это могут быть сегменты протокола TCP,

дейтаграммы UDP, пакеты ICMP или OSPF). Значения идентификаторов для

Page 63: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

63

различных протоколов приводятся в документе RFC 1700. Наиболее часто

употребляемые приведены в таблице

Код Протокол Комментарий

1 ICMP

2 IGMP

4 IP IP поверх IP (инкапсуляция)

6 TCP Протокол управление передачей

17 UDP Протокол пользовательских дейтограмм

46 RSVP

89 OSPF Протокол внутренней маршрутизации

Page 64: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

64

4. Формат ICMP сообщения

Примеры ICMP – сообщений различных типов

Сообщение типа 3 – адресат недостижим (Destination Unreachable)

(сообщение об ошибке)

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

Page 65: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

65

5. Типы и коды ICMP сообщений

Тип

Код Сообщение

0 0 Echo Reply (эхо-ответ)

3 Destination Unreachable (адресат недостижим по

различным причинам):

0 Net Unreachable (сеть недоступна)

1 Host Unreachable (хост недоступен)

2 Protocol Unreachable (протокол недоступен)

3 Port Unreachable (порт недоступен)

4 DF=1 (необходима фрагментация, но она

запрещена)

5 Source Route failed (невозможно выполнить опцию

Source Route)

4 0 Source Quench (замедление источника)

5 Redirect (выбрать другой маршрутизатор для

посылки дейтаграмм)

0 в данную сеть

1 на данный хост

2 в данную сеть с данным TOS

3 на данный хост с данным TOS

8 0 Echo Request (эхо-запрос)

9 0 Router Advertisement (объявление маршрутизатора)

10 0 Router Solicitation (запрос объявления

маршрутизатора)

Page 66: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

66

11 Time Exceeded (время жизни дейтаграммы

истекло)

0 при передаче

1 при сборке

12 Parameter problem (ошибка в параметрах)

0 Ошибка в IP-заголовке

1 Отсутствует необходимая опция

13 0 Timestamp (запрос временной метки)

14 0 Timestamp Reply (ответ на запрос временной

метки)

15 0 information request (информационный запрос)

16 0 information reply (информационный отклик)

17 0 Address Mask Request (запрос сетевой маски)

18 0 Address Mask Reply (ответ на запрос сетевой

маски)

Page 67: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

67

6. Формат заголовка UDP дейтограммы

Page 68: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

68

7. Формат заголовка TCP сегмента

Номер последовательности - Sequence Number (SN) - порядковый номер

первого октета в поле данных сегмента среди всех октетов потока данных для

текущего соединения, то есть если в сегменте пересылаются октеты с 2001-го

по 3000-й, то SN=2001. Если в заголовке сегмента установлен бит SYN (фаза

установления соединения), то в поле SN записывается начальный номер (ISN),

например, 0. Номер первого октета данных, посылаемых после завершения

фазы установления соединения, равен ISN+1.

Номер подтверждения - Acknowledgment Number (ACK) - если установлен

бит ACK, то это поле содержит порядковый номер октета, который отправитель

данного сегмента желает получить. Это означает, что все предыдущие октеты (с

номерами от ISN+1 до ACK-1 включительно) были успешно получены.

TCP флаги

URG - поле указателя срочности (Urgent Pointer) задействовано;

ACK - поле номера подтверждения (Acknowledgment Number)

задействовано;

PSH - осуществить “проталкивание” - если модуль TCP получает сегмент с

Page 69: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

69

установленным флагом PSH, то он немедленно передает все данные из буфера

приема процессу-получателю для обработки, даже если буфер не был заполнен;

RST - перезагрузка текущего соединения;

SYN - запрос на установление соединения;

FIN - нет больше данных для передачи.

В настоящее время 2 из зарезервированных ранее 6 бит используются в

алгоритме раннего предупреждения о перегрузках (совместно с полем ECN в

заголовке IP пакета).

Новые флаги

CWR - Congestion Window Reduced

ECE – ECN - Echo

Опции (часто используемые)

MSS - максимальный размер сегмента (Maximum Segment Size). (

Используется только в SYN-сегментах на этапе установки соединения.

WS – масштаб окна (window scale)

SACK – выборочное подтверждение (Selective Acknowledgement).

Page 70: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

70

8. Наиболее известные UDP/TCP порты

20/tcp ftp-data File Transfer [Default Data]

21/tcp ftp File Transfer [Control]

22/tcp ssh SSH Remote Login Protocol

23/tcp telnet Telnet

25/tcp smtp Simple Mail Transfer Protocol

53/udp,tcp domain Domain Name Server

79/tcp finger

80/tcp http World Wide Web HTTP(8000,8080)

110/tcp pop3 Post Office Protocol( Ver 3)

113/tcp auth ident tap #Authentication Service

119/tcp nntp #Network News Transfer Protocol

135/udp/tcp loc-srv Remote Procedure Call (RPC)

137/udp netbios-ns NETBIOS Name Service

138/udp netbios-dgm NETBIOS Datagram Service

139/tcp netbios-ssn NETBIOS Session Service

143/tcp imap4 Interim Mail Access Pr v4

161/udp,tcp snmp Simple Network Management Protocol.

443/tcp https HTTP over SSL/TLS.

445/tcp microsoft-ds SMB поверх TCP

3128/tcp squid # Proxy server

4662/tcp eDonkey/eMule

5190 icq

6000/tcp x11 #6000-6063 are assigned to X Window System

7100/tcp font-service #X Font Service

Page 71: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

71

ПРИЛОЖЕНИЕ 2

ПРИМЕРЫ

В приложении приведены примеры пакетов, захваченных при помощи

анализатора сетевых протоколов Wireshark

1. Ethernet

2. ARP

3. IP

4. ICMP

5. UDP

6. TCP

Page 72: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

72

Ethernet

Кадр формата Ethernet II. Тип вложенного протокола – 0x8137 (IPX)

Кадр формата Ethernet II. Тип вложенного протокола – 0x886f. MAC адрес

отправителя 02:01:00:00:00:00

Кадр формата Ethernet II. Тип вложенного протокола – 0x800 (IP)

Кадр формата Ethernet II. Тип вложенного протокола – 0x86dd (IPv6)

Page 73: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

73

Кадр формата Ethernet II. Тип вложенного протокола – 0x8100 (802.1Q -VLAN).

Кадр формата Ethernet Row. Поле Type отсутствует.

Кадр формата Ethernet 802.3/LLC.

Page 74: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

74

Кадр формата Ethernet 802.3/LLC.

Кадр формата Ethernet SNAP.

Page 75: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

75

Протокол ARP

Пример последовательности захваченный фреймов, содержащих ARP –запрос и

ARP –ответ (окно Packet List).

Полную информацию можно получить в окне Packet Details. Формат

приведен в приложении 1.2.

ARP – запрос.

В заголовке Ethernet указан широковещательный адрес получателя

ff:ff:ff:ff:ff:ff.

В заголовке ARP содержится код операции 0x0001. МАС адрес

получателя неизвестен –

в поле Target MAC address содержатся нули 00:00:00:00:00:00

Page 76: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

76

ARP – ответ.

В заголовке ARP содержится код операции 0x0002.

В поле Target MAC address содержится искомый адрес.

Page 77: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

77

IP протокол

Пример IP пакета. Приведены все поля заголовка.

Фрагментация.

Пример последовательности фрагментированных IP/ICMP пакетов, полученных

при выполнении команды ping –l 2000. Посылается 2000 байт данных.

Page 78: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

78

Первый пакет содержит установленный флаг MF (More Fragments),

смещение (Fragment offset) равно 0. В нем содержится заголовок

инкапсулированного протокола – в данном случае ICMP и 1472 байта

данных.

Второй пакет содержит оставшиеся данные – 528 байт.

В заголовке IP содержится смещение (Fragment offset) – 1480.

Заголовка инкапсулированного протокола не содержится.

Оба пакета имеют одинаковый идентификатор (Identification), что

необходимо для сборки IP пакета на приемной стороне.

Page 79: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

79

Пример пакета IP v6. В заголовке Ethernet в поле Type – 0x86dd.

Page 80: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

80

UDP протокол

Пример UDP пакета, содержащего DNS запрос.

Пример широковещательного (на уровне Ethernet и IP) UDP пакета протокола

NetBIOS.

Пример групповой рассылки. Используются групповые MAC и IP адреса

получателя.

Контрольная сумма отправителем не вычислялась.

Page 81: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

81

TCP протокол

Полная последовательность пакетов, соответствующих TCP соединению.

Установление соединения – пакеты 1,2,3.

Обмен – пакеты 4-6.

Завершение соединения – пакеты 7-10.

Первый пакет.

Установлен флаг SYN. Содержит опции MSS (maximum segment size), WS

(window scale), SACK.

Page 82: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

82

Второй пакет.

Установлены флаги ACK, SYN. Заполнено поле Acknowledgement number.

Часто во втором пакете содержатся опции, объявляемые принимающей

стороной (аналогично пакету 1).

Третий пакет.

Установлен флаг ACK. TCP соединение установлено.

Page 83: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

83

Пакет 4.

Начало обмена данными (от клиента к серверу). Передается 2 байта.

Пакет 5

От сервера клиенту передается подтверждение на полученные данные

(пакет 4).

Установлен флаг ACK. Поле Acknowledgement number содержит 3.

Page 84: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

84

Пакет 6.

От сервера клиенту передаются данные (155 байт).

Установлен флаг ACK. Поле Acknowledgement number содержит 3 (как и в

пакете 5, так как больше данных не получено).

Пакет 7.

От сервера клиенту. Данных не содержит. Установлены флаги АСК и FIN.

Сервер закончил передачу данных и хочет разорвать соединение.

Page 85: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

85

Пакет 8.

От клиента серверу. Данных не содержит. Содержит подтверждение на

принятые данные (установлен флаг ACK, поле Acknowledgement number

содержит 157).

Пакет 9.

От клиента серверу. Данных не содержит. Содержит повторное

подтверждение и извещает о закрытии соединения со своей стороны

(установлен флаг FIN).

Page 86: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

86

Пакет 10.

От сервера клиенту. Содержит подтверждение на принятый пакет 9

(установлен флаг ACK, поле Acknowledgement number содержит 4).

TCP соединение закрыто с обеих сторон.

Пример ответа сервера при попытке установить соединение на закрытый порт.

Установлены флаги ACK и RST.

Page 87: СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИtelematika1.stu.neva.ru/FILES/Posobie/2010 posobie... · 2017-11-23 · Заборовский В.С., Мулюха В.А., Новопашенный

87

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

СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИ

АНАЛИЗ ТРАФИКА В СЕТЯХ КОММУТАЦИИ ПАКЕТОВ

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

Отпечатано с готового оригинал-макета, предоставленного авторами,

типографии Издательства СПбГПУ.

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