Разработка средства мониторинга трафика в ЛКС — КиберПедия 

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Разработка средства мониторинга трафика в ЛКС

2020-04-01 183
Разработка средства мониторинга трафика в ЛКС 0.00 из 5.00 0 оценок
Заказать работу

Разработка средства мониторинга трафика в ЛКС


 

Оглавление

 

Введение

. Теоретическая часть

Движение пакетов в сети и их структура

Протоколы и стандарты

Межсетевой протокол IP

TCP и UDP

Сокеты

Мониторинг сети

. Практическая часть

Постановка задачи разработки

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

Выбор инструмента разработки и его обоснование

Проектирование системы

Реализация системы

Описание функционирования программного средства

Заключение

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

Приложение

трафик сеть адресация сокет


 

Введение

 

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

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

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

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

Актуальность данной работы обусловлена тем, что в связи с распространением персональных компьютеров и созданием на их основе автоматизированных рабочих мест (АРМ) возросло значение локальных вычислительных сетей (ЛВС), диагностика которых, является объектом нашего исследования.

Средства мониторинга сетей, использующих ОС Windows, имеют большое значение, поскольку данная операционная система получила широкое распространение в ЛВС, а также используется в серверных фермах (Windows Server).

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

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

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

·   Исследование метода движения трафика в сети;

·   Ознакомление с IP адресацией и IP пакетами;

·   Ознакомление с протоколами TCP/UDP;

·   Ознакомление с понятием и функциями сокета;

·   Создание программного приложения мониторинга трафика (поступления и отправки IP пакетов).

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

 


 

Теоретическая часть

 

Протоколы и стандарты

/IP/IP - это самое используемое семейство сетевых протоколов. Его используют все узлы сети Интернет. Стек TCP/IP состоит из 3 основных протоколов: TCP (протокол управления передачей), UDP (протокол пользовательских датаграмм) и IP (межсетевой протокол).

Краеугольным камнем всей архитектуры является межсетевой протокол IP (Internet Protocol). С его помощью реализуется адресация узлов сети и доставка данных. Межсетевой протокол управляющих сообщений ICMP (Internet Control Message Protocol) предназначен для передачи диагностической информации и сообщений об ошибках в работе сети.

 

Межсетевой протокол IP

Межсетевой протокол IP специфицирован в RFC 791. Его основные характеристики:

·         реализует обмен информации пакетами, которые будем называть IP-сегментами (максимальный размер IP-сегмента - 65535 байт);

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

·         для адресации узлов сети используется адрес длиной 4 байта;

·         обеспечивает в случае необходимости фрагментацию IP-сегментов;

·         IP-сегменты имеют конечное время жизни в сети;

·         не гарантирует надежность доставки IP-сегментов адресату;

·         не имеет средств управления интенсивностью передачи IP-сегментов посылающей стороной (flow control);

·         не гарантирует правильную последовательность IP-сегментов на принимающей стороне.

Структура IP-пакетапакет состоит из заголовка и поля данных. Заголовок, как правило, имеющий длину 20 байт, имеет следующую структуру (рисунок 1.3).

 

Рисунок 1.3. Структура заголовка IP-пакета.


 

Поле Номер версии (Version), занимающее 4 бит, указывает версию протокола IP. Сейчас повсеместно используется версия 4 (IPv4), и готовится переход на версию 6 (IPv6).

Поле Длина заголовка (IHL) IP-пакета занимает 4 бит и указывает значение длины заголовка, измеренное в 32-битовых словах. Обычно заголовок имеет длину в 20 байт (пять 32-битовых слов), но при увеличении объема служебной информации эта длина может быть увеличена за счет использования дополнительных байт в поле Опции (IP Options). Наибольший заголовок занимает 60 октетов.

Поле Тип сервиса (Type of Service) занимает один байт и задает приоритетность пакета и вид критерия выбора маршрута. Первые три бита этого поля образуют подполе приоритета пакета (Precedence), Приоритет может иметь значения от самого низкого - 0 (нормальный пакет) до самого высокого - 7 (пакет управляющей информации). Маршрутизаторы и компьютеры могут принимать во внимание приоритет пакета и обрабатывать более важные пакеты в первую очередь. Поле Тип сервиса содержит также три бита, определяющие критерий выбора маршрута. Реально выбор осуществляется между тремя альтернативами: малой задержкой, высокой достоверностью и высокой пропускной способностью. Установленный бит D (delay) говорит о том, что маршрут должен выбираться для минимизации задержки доставки данного пакета, бит Т - для максимизации пропускной способности, а бит R - для максимизации надежности доставки. Во многих сетях улучшение одного из этих параметров связано с ухудшением другого, кроме того, обработка каждого из них требует дополнительных вычислительных затрат. Поэтому редко, когда имеет смысл устанавливать одновременно хотя бы два из этих трех критериев выбора маршрута. Зарезервированные биты имеют нулевое значение.

Поле Общая длина (Total Length) занимает 2 байта и означает общую длину пакета с учетом заголовка и поля данных. Максимальная длина пакета ограничена разрядностью поля, определяющего эту величину, и составляет 65535 байт, однако в большинстве хост-компьютеров и сетей столь большие пакеты не используются. При передаче по сетям различного типа длина пакета выбирается с учетом максимальной длины пакета протокола нижнего уровня, несущего IP-пакеты. Если это кадры Ethernet, то выбираются пакеты с максимальной длиной в 1500 байт, умещающиеся в поле данных кадра Ethernet. В стандарте предусматривается, что все хосты должны быть готовы принимать пакеты вплоть до 576 байт длиной (приходят ли они целиком или по фрагментам). Хостам рекомендуется отправлять пакеты размером более чем 576 байт, только если они уверены, что принимающий хост или промежуточная сеть готовы обслуживать пакеты такого размера.

Поле Идентификатор пакета (Identification) занимает 2 байта и используется для распознавания пакетов, образовавшихся путем фрагментации исходного пакета. Все фрагменты должны иметь одинаковое значение этого поля.

Поле Флаги (Flags) занимает 3 бита и содержит признаки, связанные с фрагментацией. Установленный бит DF (Do not Fragment) запрещает маршрутизатору фрагментировать данный пакет, а установленный бит MF (More Fragments) говорит о том, что данный пакет является промежуточным (не последним) фрагментом. Оставшийся бит зарезервирован.

Поле Смещение фрагмента (Fragment Offset) занимает 13 бит и задает смещение в байтах поля данных этого пакета от начала общего поля данных исходного пакета, подвергнутого фрагментации. Используется при сборке/разборке фрагментов пакетов при передачах их между сетями с различными величинами MTU. Смещение должно быть кратно 8 байт.

Поле Время жизни (Time to Live) занимает один байт и означает предельный срок, в течение которого пакет может перемещаться по сети. Время жизни данного пакета измеряется в секундах и задается источником передачи. На маршрутизаторах и в других узлах сети по истечении каждой секунды из текущего времени жизни вычитается единица; единица вычитается и в том случае, когда время задержки меньше секунды. Поскольку современные маршрутизаторы редко обрабатывают пакет дольше, чем за одну секунду, то время жизни можно считать равным максимальному числу узлов, которые разрешено пройти данному пакету до того, как он достигнет места назначения. Если параметр времени жизни станет нулевым до того, как пакет достигнет получателя, этот пакет будет уничтожен. Время жизни можно рассматривать как часовой механизм самоуничтожения. Значение этого поля изменяется при обработке заголовка IP-пакета.

Контрольная сумма (Header Checksum) занимает 2 байта и рассчитывается только по заголовку. Поскольку некоторые поля заголовка меняют свое значение в процессе передачи пакета по сети (например, время жизни), контрольная сумма проверяется и повторно рассчитывается при каждой обработке IP-заголовка. Контрольная сумма - 16 бит - подсчитывается как дополнение к сумме всех 16-битовых слов заголовка. При вычислении контрольной суммы значение самого поля "контрольная сумма" устанавливается в нуль. Если контрольная сумма неверна, то пакет будет отброшен, как только ошибка будет обнаружена.

Поля IP-адрес источника (Source IP Address) и IP-адрес назначения (Destination IP Address) имеют одинаковую длину - 32 бита - и одинаковую структуру.

Поле Опции (IP Options) является необязательным и используется обычно только при отладке сети. Механизм опций предоставляет функции управления, которые необходимы или просто полезны при определенных ситуациях, однако он не нужен при обычных коммуникациях. Это поле состоит из нескольких подполей, каждое из которых может быть одного из восьми предопределенных типов. В этих подполях можно указывать точный маршрут прохождения маршрутизаторов, регистрировать проходимые пакетом маршрутизаторы, помещать данные системы безопасности, а также временные отметки. Так как число подполей может быть произвольным, то в конце поля Опции должно быть добавлено несколько байт для выравнивания заголовка пакета по 32-битной границе.

Ниже приведена распечатка значений полей заголовка одного из реальных IP-пакетов, захваченных в сети Ethernet средствами анализатора протоколов Microsoft Network Monitor.

 

IP Version = 4 (0х4)Header Length = 20 (0х14)Service Type = 0 (0х0)Precedence = Routine...0.... = Normal Delay....0... = Normal Throughput.....0.. = Normal ReliabilityTotal Length = 54 (0х36)Identification = 31746 (0x7C02)Flags Summary ° 2 (0х2)....... 0 = Last fragment in datagram...... 1. = Cannot fragment datagramFragment Offset = 0 (0х0) bytesTime to Live = 128 (0х80)Protocol = TCP - Transmission ControlChecksum =0xEB86Source Address = 194.85.135.75Destination Address = 194.85.135.66Data: Number of data bytes remaining = 34 (0х0022)

 

Протокол сетевого уровня IP предоставляет транспортному уровню службу ненадежной передачи данных. IP не дает гарантий относительно доставки дейтаграмм, сохранения порядка их следования и корректности информации. При перегрузке маршрутизаторов дейтаграммы могут быть потеряны, порядок их получения может отличаться от порядка отправки, и, кроме того, допускаются искажения битов (изменения значений с 0 на 1 и наоборот). Поскольку дейтаграммы являются средством передачи сегментов транспортного уровня, последний сталкивается с перечисленными проблемами.адреса

IP отвечает за отправку единичных пакетов к месту их назначения. Это достигается путем связывания каждого компьютера в сети с некоторым IP адресом. Каждый IP адрес состоит из 32 бит, представленных в виде четырех десятичных чисел, разделенных точкой, каждое в диапазоне от 0 до 255. Пример IP адреса: 123.123.123.123. Пространство IP адресов разделено на сети, это сделано путем разделения 32 битов адреса на биты сети и биты хоста. Эта информация используется для распределения пакетов по местам назначения.

TCP и UDP

TCP и UDP для передачи данных используют протокол IP. Протокол IP отвечает за передачу пакетов в место назначения с минимальными затратами, а TCP и UDP используются для подготовки данных к отправке, путем разбиения их на пакеты.

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

Вот почему приложения, использующие TCP, не заботятся о корректности передачи данных. Использование TCP позволяет им оставаться уверенными в том, что данные передадутся успешно и полностью.является наиболее простым протоколом для передачи пакетов данных. Он просто добавляет заголовок к данным и отсылает их по назначению, не обращая внимания на то, существует ли узел получателя и ожидает ли он данных.не гарантирует, что пакеты будут доставлены в том же порядке, в каком были отправлены. Если пакеты пересылаются между двумя сетями, используя различные пути, то они могут быть доставлены в неправильном порядке. Забота о корректности в этом случае ложится на приложения. Тем не менее, для приложений, которым важна скорость передачи, он полезен, даже несмотря на то, что отдельные пакеты будут потеряны или их порядок будет неправильным. Почти все приложения, использующие видео и голосовые потоки, используют UDP.

Установка TCP соединений

 

Рисунок 1.4. Установка и завершение TCP соединения.

соединение может быть установлено только между двумя узлами: серверный узел ожидает запросы на соединения, а клиентский узел отправляет такие запросы. После получения запроса на соединение, сервер устанавливает соединение. Затем оба узла могут отсылать и получать данные через это соединение. В любое время любой узел (но обычно клиент) может закрыть соединение.

Это взаимодействие изображено на рисунке 1.3. На нем также показаны вызовы операционной системы, необходимые для управления сокетами.

Порты

TCP и UDP адрес состоит из IP адреса машины и номера порта. Порты позволяют узлам, использующим протокол TCP/IP, предоставлять несколько веб-сервисов одновременно, а клиентам устанавливать более одного соединения с одним сервером. На сервере порты используются для различия веб-сервисов между собой. HTTP серверы обычно используют хорошо известный порт 80. В любых ситуациях каждое соединение в сети имеет различные пары адресов назначения и источника (IP адреса + номер порта).

Сокеты

 

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

Следует различать клиентские и серверные сокеты. Клиентские сокеты можно сравнить с оконечными аппаратами телефонной сети, а серверные - с коммутаторами. Клиентское приложение использует только клиентские сокеты, а серверное - как клиентские, так и серверные сокеты.

Интерфейс сокетов впервые появился в BSD Unix. Программный интерфейс сокетов описан в стандарте POSIX.1 и в той или иной мере поддерживается всеми современными операционными системами. Сокет означает комбинацию IP-адреса и номера порта, например 10.10.10.10:80.

Каждый процесс может создать слушающий сокет (серверный сокет) и привязать его к какому-нибудь порту операционной системы (тем не менее, в UNIX непривилегированные процессы не могут использовать порты меньше 1024). Слушающий процесс обычно находится в цикле ожидания, то есть просыпается при появлении нового соединения. При этом сохраняется возможность просто проверить наличие соединений на данный момент, установить тайм-аут для операции и так далее.

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

 

Рисунок 1.5. Взаимодействие клиента и сервера.

Мониторинг сети

 

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

Анализаторы пакетов относятся к классу инструментальных программных средств для мониторинга сетевого трафика и выявления некоторых типов сетевых проблем. По умолчанию сетевой интерфейс видит пакеты, предназначенные только для него. Однако анализаторы устанавливают его в режим приема всех пакетов - promiscuous mode, прослушивают сеть и заставляют сетевой интерфейс принимать все фреймы, вне зависимости от того, кому они адресованы в сети.

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

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

·         Пользовательский интерфейс. Большинство анализаторов имеют развитый дружественный интерфейс, базирующийсяна Windows. Этот интерфейс позволяет пользователю выводить результаты анализа интенсивности трафика;

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

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

1. Захват данных.

2. Просмотр захваченных данных.

.   Анализ данных.

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


 

Практическая часть

Проектирование системы

 

Алгоритм работы приложения:

 

Рисунок 2.2. Блок-схема алгоритма.

 

Реализация системы

 

Реализация данной программы основана на использовании сокета прослушивания. Далее описана поэтапная реализация системы и приведена структура заголовка приходящего пакета.

)   Инициализации сокетов. Для реализации приложении используется WinSock 2.2 - сокет для взаимодействоя с системой Windows. Класс Socket обеспечивает широкий набор методов и свойств для сетевых взаимодействий. Он позволяет выполнять как синхронную, так и асинхронную передачу данных с использованием любого из коммуникационных протоколов, имеющихся в перечислении ProtocolType.

)   Создаем сокет. Получаем имя локального хоста, информацию о нем и присоединяем локальный адрес к нашему сокету.

)   Включаем режим приема всех приходящих из сети пакетов, указанием в качестве команды сокету SIO_RCVALL. Режим promiscuous включается только при активной системной плате или при выходе в Internet.

)   Делаем бесконечный цикл прихода IP пакетов. Цикл прекращается лишь при нажатии любой из клавиш на клавиатуре.

)   Разбор IP - заголовка пакета и вывод информации на экран.

Структура заголовка IP-пакета

struct IPHeader {iph_verlen; // версия и длина заголовкаiph_tos; // тип сервисаiph_length; // длина всего пакетаiph_id; // Идентификацияiph_offset; // флаги и смещенияiph_ttl; // время жизни пакетаiph_protocol; // протоколiph_xsum; // контрольная суммаiph_src; // IP-адрес отправителяiph_dest; // IP-адрес назначения

} IPHeader;

 

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


 

Заключение

 

В результате выполнения курсового проекта был рассмотрен механизм движения трафика, а именно пакетов по сети. На основе функциональной возможности ОС и языков высокого уровня мониторинг данного трафика представляет широкие возможности при исследовании узких мест сети.

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

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

 


 

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

 

1. Ч. Калверт, К. Рейсдорф C / С++: Borland C++ Builder 6 - учебник

.   У. Ричард Стивенс Протоколы TCP/IP. Практическое руководство, BHV, Санкт-Петербург, 2013.

.   http://www.conlex.kz/protokol-setevogo-urovnya-ip-predostavlyaet-transportnomu-urovnyu-sluzhbu-nenadezhnoj-peredachi-dannyx/

.   http://www.opennet.ru/docs/RUS/tcpip/

.   http://www.xakep.ru/post/30601/default.asp

 


 

Приложение

 

Руководство пользователя.

Пользовательский интерфейс предельно прост. Для запуска необходимо выбрать исполняемый файл Project.exe и открыть приложение. При этом откроется пустая командная строка.

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

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

) IP адрес отправителя

) IP адрес получателя

) Протокол передачи

) Размер пришедшего пакета

) Время жизни пакета

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

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

 

Рисунок 3.1. Внешний вид приложения.

 


 

Тест программы

 

#include <conio.h>

#include <stdio.h>

#include <winsock2.h>

#define MAX_PACKET_SIZE 0x10000

#define SIO_RCVALL 0x98000001

// Буфер для приёма данных

char Buffer[MAX_PACKET_SIZE]; // 64 Kb

//Структура заголовка IP-пакетаstruct IPHeader {

UCHAR iph_verlen; // версия и длина заголовкаiph_tos; // тип сервисаiph_length; // длина всего пакетаiph_id; // Идентификацияiph_offset; // флаги и смещенияiph_ttl; // время жизни пакетаiph_protocol; // протоколiph_xsum; // контрольная суммаiph_src; // IP-адрес отправителяiph_dest; // IP-адрес назначения

} IPHeader;src[10];dest[10];ds[15];short lowbyte;short hibyte;main()

{wsadata; // Инициализация WinSock.s; // Cлущающий сокет.

char name[128]; // Имя хоста (компьютера).* phe; // Информация о хосте.

SOCKADDR_IN sa; // Адрес хоста_ADDR sa1; //long flag = 1; // Флаг PROMISC Вкл/выкл.

// инициализация(MAKEWORD(2,2), &wsadata);= socket(AF_INET, SOCK_RAW, IPPROTO_IP);(name, sizeof(name));= gethostbyname(name);(&sa, sizeof(sa));.sin_family = AF_INET;.sin_addr.s_addr = ((struct in_addr *)phe->h_addr_list[0])->s_addr;(s, (SOCKADDR *)&sa, sizeof(SOCKADDR));

// Включение в режим прослушивания(s, SIO_RCVALL, &flag);

// Бесконечный цикл приёма IP-пакетов.

while(!kbhit())

{count;= recv(s, Buffer, sizeof(Buffer), 0);

// обработка IP-пакета(count >= sizeof(IPHeader))

{* hdr = (IPHeader *)Buffer;(hdr->iph_ttl!= 128)

{

//Разбор пакета(src,"Пакет: ");

CharToOem(src,dest);(dest);

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

printf("From ");.s_addr = hdr->iph_src;

printf(inet_ntoa(sa1));

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

printf(" To ");.s_addr = hdr->iph_dest;(inet_ntoa(sa1));

// Вычисляем протокол. Полный список этих констант

// содержится в файле winsock2.h

printf(" Prot: ");(hdr->iph_protocol == IPPROTO_TCP) printf("TCP ");(hdr->iph_protocol == IPPROTO_UDP) printf("UDP ");

// Вычисляем размер. Так как в сети принят прямой порядок

// байтов, а не обратный, то прийдётся поменять байты местами.

printf("Size: ");= hdr->iph_length>>8;= hdr->iph_length<<8;= hibyte + lowbyte;

printf("%u", hibyte);

// Вычисляем время жизни пакета.

printf(" TTL:%s\n",itoa(hdr->iph_ttl,"",10));

}(s);();

}

Разработка средства мониторинга трафика в ЛКС


 

Оглавление

 

Введение

. Теоретическая часть

Движение пакетов в сети и их структура

Протоколы и стандарты

Межсетевой протокол IP

TCP и UDP

Сокеты

Мониторинг сети

. Практическая часть

Постановка задачи разработки

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

Выбор инструмента разработки и его обоснование

Проектирование системы

Реализация системы

Описание функционирования программного средства

Заключение

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

Приложение

трафик сеть адресация сокет


 

Введение

 

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

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

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

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

Актуальность данной работы обусловлена тем, что в связи с распространением персональных компьютеров и созданием на их основе автоматизированных рабочих мест (АРМ) возросло значение локальных вычислительных сетей (ЛВС), диагностика которых, является объектом нашего исследования.

Средства мониторинга сетей, использующих ОС Windows, имеют большое значение, поскольку данная операционная система получила широкое распространение в ЛВС, а также используется в серверных фермах (Windows Server).

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

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

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

·   Исследование метода движения трафика в сети;

·   Ознакомление с IP адресацией и IP пакетами;

·   Ознакомление с протоколами TCP/UDP;

·   Ознакомление с понятием и функциями сокета;

·   Создание программного приложения мониторинга трафика (поступления и отправки IP пакетов).

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

 


 

Теоретическая часть

 


Поделиться с друзьями:

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.014 с.