Академический Документы
Профессиональный Документы
Культура Документы
Switch Hub
1
одним и тем же паролем для доступа к множеству ресурсов, и поэтому им часто удается,
узнав наш пароль, получить доступ к важной информации. В самом худшем случае хакер
получает доступ к пользовательскому ресурсу на системном уровне и с его помощью соз-
дает нового пользователя, которого можно в любой момент использовать для доступа в
сеть и к ее ресурсам.
Рассмотрим состав заголовков TCP и IP сегментов.
Заголовок IP-сегмента выглядит следующим образом:
0 3 7 15 18 23 31
+------+-------+---------------+-----+---------+---------------+
|Версия| Длина | Тип | Длина |
| |заг-ка | обслуживания | сегмента |
+------+-------+---------------+-+-+-+---------+---------------+
| Идентификатор | |D|M| Смещение |
| | |F|F| фрагмента |
+--------------+---------------+-+-+-+-------------------------+
| Время | Транспорт | Контрольная сумма |
| жизни | | заголовка |
+--------------+---------------+-------------------------------+
| Адрес |
| источника |
+--------------------------------------------------------------+
| Адрес |
| приемника |
+----------------------------------------------+---------------+
| Дополнительные | Данные |
| данные заголовка | выравнивания |
+----------------------------------------------+---------------+
Версия
4-х битовое поле, содержащее номер версии протокола IP (номер текущей версии равен 4);
Длина заголовка
4-х битовое поле, содержащее длину заголовка IP-сегмента в 32-битных словах. Минимальная
(и типичная) длина заголовка - пять слов.
Тип обслуживания
байт, содержащий набор критериев, определяющих тип обслуживания IP-сегментов.
Длина сегмента
двухбайтовое поле, содержащее длину (в байтах) всего IP-сегмента, включая длину заголовка.
Максимальная длина IP-сегмента (включая заголовок) - 65535 байт.
Идентификатор
двухбайтовое поле, содержащее уникальный идентификатор IP-сегмента, присваиваемый ему
посылающим узлом. Это поле используется для распознавания фрагментов одного IP-сегмента (в си-
туациях, когда в ходе перемещения по глобальной сети единый IP-сегмент был разбит на несколько
фрагментов по причине его недопустимо большой длины).
DF, MF
биты, используемые при обработке фрагментированных IP-сегментов.
Если бит DF (Don't Fragment) установлен в 1, то это означает, что IP-сегмент не может быть раз-
бит на фрагменты ни при каких условиях (даже, если он не может быть передан без этого далее к ад-
ресату и должен быть уничтожен).
Бит MF (More Fragments) указывает, является (MF=0) или нет (MF=1) данный IP-"подсегмент"
последним в цепочке IP-"подсегментов", в которую был преобразован (фрагментирован) исходный IP-
сегмент.
Смещение фрагмента
Это поле содержит смещение данных, содержащихся в IP-фрагменте, по отношению к началу
данных исходного IP-сегмента.
2
Время жизни
однобайтовое поле, заполняемое создающим IP-сегмент узлом сети количеством единиц време-
ни жизни IP-сегмента в сети. RFC 791 специфицирует в качестве этих единиц секунды и требует, чтобы
каждый транзитный узел сети, через который проходит IP-сегмент, уменьшал содержимое этого поля
по крайней мере на 1 (даже при условии, что обработка сегмента на самом деле заняла меньше одной
секунды). Таким образом, на практике, время жизни (TTL - Time To Live) - это максимальное количест-
во узлов, которое может пройти до своего уничтожения IP-сегмент.
Каждый IP-модуль на любом узле сети обязан уничтожать IP-сегменты, для которых поле "время
жизни" стало равным нулю. Этим предотвращается появление в сети IP-сегментов, "блуждающих" по
ней бесконечное время. При этом узлу-источнику уничтоженного IP-сегмента посылается ICMP-
сегмент, извещающий об этом событии.
Транспорт
поле размером в байт, содержащее идентификатор протокола более высокого (обычно, транс-
портного) уровня, для которого предназначены данные IP-сегмента. Ниже приведены идентификаторы
для ряда протоколов.
--------+-------------+------------------------------------------
Иденти- : Сокращенное : Имя протокола
фикатор : название :
--------+-------------+------------------------------------------
1 ICMP Межсетевой протокол управляющих сообщений
2 IGMP Межсетевой протокол группового управления
3 GGP Протокол "шлюз-шлюз"
6 TCP Протокол управления передачей
8 EGP Протокол "внешних" шлюзов
17 UDP Протокол дейтаграмм пользователя
27 RDP Протокол надежных данных
28 IRTP Протокол межсетевой надежной передачи
29 ISO TP4 Транспортный протокол ISO 4 класса
80 ISO IP Межсетевой протокол ISO
89 OSPF Протокол "кратчайший путь первым"
-------+--------------+------------------------------------------
Заголовок TCP-пакета
0 3 9 15 23 31
+------+-----------+-----------+---------------+---------------+
| Порт | Порт |
| источника | приемника |
+------------------------------+-------------------------------+
| Номер |
| в последовательности |
+--------------------------------------------------------------+
| Номер |
3
| подтверждения |
+------+-----------+-+-+-+-+-+-+-------------------------------+
|Смеще-| Зарезер- |U|A|P|R|S|F| Размер |
| ние | вировано |R|C|S|S|Y|I| окна |
|данных| |G|K|H|T|N|N| |
+------+-----------+-+-+-+-+-+-+-------------------------------+
| Контрольная | Указатель |
| сумма | |
+------------------------------+---------------+---------------+
| Дополнительные | Данные |
| данные заголовка | выравнивания |
+----------------------------------------------+---------------+
4
Размер окна
16-битовое поле, содержащее количество байт информации, которое может принять в свои
внутренние буфера TCP-модуль, отправляющий партнеру данный TCP-пакет. Данное поле использует-
ся принимающим поток данных TCP-модулем для управления интенсивностью этого потока: так, уста-
новив значение поля в 0, можно полностью остановить передачу данных, которая будет возобновлена
только, когда размер окна примет достаточно большое значение. Максимальный размер окна зависит
от реализации, в некоторых реализациях максимальный размер может устанавливаться системным ад-
министратором (типичное значение максимального размера окна - 4096 байт). Определение оптималь-
ного размера окна - одна из наиболее сложных задач реализации протокола TCP
Контрольная сумма
16-битовое поле, содержащее Internet-контрольную сумму, подсчитанную для TCP-заголовка,
данных пакета и псевдозаголовка. Псевдозаголовок включает в себя ряд полей IP-заголовка и имеет
структуру:
0 7 15 31
+-----------+-----------+-----------------------+
| IP-адрес источника |
+-----------+-----------+-----------------------+
| IP-адрес приемника |
+-----------+-----------+-----------------------+
| Нули | Транспорт | Длина IP-сегмента |
+-----------+-----------+-----------------------+
Указатель
16-битовое поле, содержащее указатель (в виде смещения) на первый байт в теле TCP-пакета,
начинающий последовательность важных (urgent) данных.
Дополнительные данные заголовка
последовательность полей произвольной длины, описывающих необязательные данные заго-
ловка. Протокол TCP определяет только три типа дополнительных данных заголовка:
o конец списка полей дополнительных данных;
o пусто (No Operation);
o максимальный размер пакета.
Дополнительные данные последнего типа посылаются в TCP-заголовке в момент установления
логического соединения для выражения готовности TCP-модулем принимать пакеты длиннее 536 бай-
тов. В UNIX-реализациях длина пакета обычно определяется максимальной длиной IP-сегмента для
сети.
5
Очень известный сниффер, перенесенный с *nix, поэтому и выглядит так коряво. Ог-
ромным плюсом этой программы является то, что реализация ethereal есть практически
под все ОС, посмотреть можно здесь: http://www.ethereal.com/download.html, а также она
бесплатна. В остальном - просто хороший сниффер.
NETSNIFFER
Конкурентов Iris мало, но все же этот сниффер тоже неплохой, так как он прост,
удобен и имеет приятный интерфейс, а еще он на русском языке.
http://www.tmeter.ru/netsniffer/ - взять можно тут, программка бесплатная. Знает четыре
протокола: POP3, IMAP4, FTP, PAP. Позволяет одновременно собирать пароли с 4-х сете-
вых адаптеров.
SNIFFIT
Сниффер, входящий в большинство дистрибутивов Линукса. Очень серьезное сред-
ство, и научиться им пользоваться, нелегко.
TCPDUMP
Известное средство под Линукс, официальный сайт - http://www.tcpdump.org/
II. ИНСТАЛЛЯЦИЯ IRIS И ОЗНАКОМЛЕНИЕ С ПРИНЦИПАМИ РАБОТЫ
В нашей работе в качестве анализатора сетевого трафика мы будем использовать
программу Iris.
Характеристики Iris
• Ирис может свободно захватить все пакеты из текущего сетевого сегмента.
• Ирис также способен декодировать все детали о захваченных пакетах.
• Ирис имеет интуитивный редактор пакетов. Изменения отображаются в окне дешифра-
тора протокола, и контрольные суммы пакетов немедленно вычисляются.
• Ирис восстанавливает сеансы TCP и показывает eMail, WEB-страницы, ftp сеансы и все
незашифрованные пакеты в сети.
• Ирис позволяет Вам искать определенные слова в захваченных пакетах.
• Ирис может регистрировать пакеты, восстановленные сеансы, а также попытки связи.
LOG-файлы могут быть экспортированы Excel-таблицы.
• Ирис имеет систему фильтров интуитивного пакета, позволяющей видеть только нуж-
ные пакеты.
• Ирис позволяет отправлять модифицированные пакеты в сеть.
Инсталляция IRIS v3.6
• Запустите из рабочей папки D:\Лабораторные\Сети\distrib\ЛР-№9\Iris363full.exe
• Согласитесь с пользовательской лицензией и нажимайте Next»
• Установите Iris в папку C:\Program Files\Iris.
После установки вам предлагают выбрать сетевой адаптер
6
• Выбираем один из сетевых адаптеров.
• Нажимаем кнопку Применить
• Выбираем закладку Decode и ставим флажок Decode UDP datagrams
• Нажимаем кнопку OK
• Чтобы начать захват пакетов, нажмите кнопку Start/Stop Capture .
7
Iris v3.6 в работе:
8
Окно декодера пакета:
9
Захват пакетов
После нажатия кнопки Start/Stop Capture начинается захват всех пакетов. Повторное
нажатие на эту кнопку останавливает процесс. При этом, щелкая по одному из захвачен-
ных пакетов в списке, мы видим его структуру.
Для примера, рассмотрим несколько захваченных пакетов.
UDP-пакет
Версия IP-пакета: 4
Длина заголовка: 20 байт
IP отправителя: 172.27.77.77
IP получателя: 172.27.77.255 (всем машинам)
10
TCP-пакет
• Очистите список захваченных пакетов, нажав на значок New
• Настройте фильтры на захват TCP-пакетов
• Если Internet Explorer не настроен:
o Зайти в меню Сервис->Свойства обозревателя->Подключение
o Нажать Настройка сети
o Ставим галочку «Использовать прокси-сервер», в поле Адрес прописываем
172.27.100.5, Порт: 4444, нажимаем «Дополнительно», в поле «Не использовать
прокси-сервер для адресов, начинающихся с:» указываем «*.istu.edu»
• Нажмите в Iris Start/Stop Capture
• Запустите Internet Explorer и введите адрес www.istu.edu
• Затем повторно нажмите Start/Stop Capture , чтобы остановить захват пакетов.
11
Этот TCP-пакет получен при обращении программой Internet Explorer по 80 порту
(HTTP) на сервер http://www.istu.edu/. Как видно, декодер пакета отображает содержание
загруженной HTML-страницы (вспомните один из сервисов IP-Tools – HTTP, способный
также отображать HTML-страницы).
Модифицирование пакета
Напомню, что в Iris есть возможность изменять отловленные пакеты и отправлять их
обратно в сеть. Такая функция может быть полезна, например, разработчикам сетевого ПО
для тестирования приложения в «экстремальных» условиях.
Возьмем, к примеру, один из ранее отловленных TCP-пакетов и изменим IP-адрес
отправителя. Для этого:
• в окне декодера пакета нажать на , при этом в окне редактора паке-
та будет выделена строка, содержащая эту информацию: ;
• исправляем это значение на другое, например на AC 1B 4E 20 (это соответствует IP-
адресу 172.27.78.32, но в принципе, значение может быть другим).
• Как видно, значение контрольной суммы IP-заголовка стало неправильным
. Это можно исправить, нажав на это поле и в
окне редактора пакета вместо D2 A1 написать E9 A1. Также можно поступить с кон-
трольными суммами других заголовков, хотя, это необязательно.
Отправим пакет в сеть и отловим его.
12
• Когда пакет отредактирован, нажмите Send this packet в окне редактора пакета.
• Появится окно:
13
TCP->NETBIOS-SSN
Время пакета
Имя файла
Для поиска нужной строки:
• нажать Select displaying format , выбрать в выпадающем меню пункт
Packets;
• ввести в строку Find искомую фразу из файла (имя файла таким образом не
найти, так как оно передается в кодировке UNICODE);
• находим в одном из пакетов нужную строчку и смотрим на время (в нашем
случае, файл передавался Time 14:33:12:025).
15