Скачиваний:
3
Добавлен:
18.07.2023
Размер:
173.98 Кб
Скачать

Министерство науки и высшего образования РФ

Федеральное государственное бюджетное образовательное учреждение высшего образования

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра автоматизированных систем управления (АСУ)

Отчет по лабораторной работе №10

Сниффер.

По дисциплине «Сети и телекоммуникации»

Выполнили студенты гр. 438 — 1:

___________ Богачев Р. Е.

___________ Матвиенко Ю. А.

«____» _________ 2021

Проверил доцент каф. АСУ:

___________ Суханов А.Я. «____» _________ 2021

Томск 2021

2

Введение

Основной целью данной лабораторной работы является работы с перехватом сетевых. Любым программам для мониторинга сети, инструментам безопасности необходим перехват сетевых пакетов. Цель работы: Научиться использовать технологии перехвата сетевых пакетов.

1.Задание

Реализовать программу (сниффер) для перехвата пакетов в сети Wi-Fi. Реализовать удобный вывод данных о перехваченном пакете. Подсветка.

2.Листинг программы

PROGRAM.CS

public class Program

{

public static void Main()

{

var devices = CaptureDeviceList.Instance;

if (devices.Count < 1)

{

Console.WriteLine("Не был обнаружен девайс"); return;

}

var device = devices[4];

device.OnPacketArrival += new PacketArrivalEventHandler(device_OnPacketArrival);

int readTimeoutMilliseconds = 1000; device.Open(DeviceMode.Promiscuous, readTimeoutMilliseconds); Console.WriteLine("Нажмите Ctrl+C для выхода..."); device.Capture();

}

private static void device_OnPacketArrival(object sender, CaptureEventArgs e)

{

Packet packet = Packet.ParsePacket(e.Packet.LinkLayerType, e.Packet.Data);

DateTime time = e.Packet.Timeval.Date; int len = e.Packet.Data.Length;

ICMPv4Packet icmpPacket = ICMPv4Packet.GetEncapsulated(packet);

TcpPacket tcpPacket = TcpPacket.GetEncapsulated(packet);

3

IpPacket ipPacket = IpPacket.GetEncapsulated(packet); string ipTO = ipPacket.SourceAddress.ToString();

string ipFROM = ipPacket.DestinationAddress.ToString(); string portTO;

string portFROM;

string protocol = ipPacket.Protocol.ToString(); string versionProtocol = ipPacket.Version.ToString();

if (protocol == "TCP")

{

portTO = tcpPacket.SourcePort.ToString(); portFROM = tcpPacket.DestinationPort.ToString();

}

else

{

portTO = "None"; portFROM = "None";

}

Console.WriteLine("{0}:{1}:{2} | Packet: {3,4} | {4,15}:{5,-5} => {6,15}:{7,-5} | Protocol: {8,5} Version: {9,5}",

time.Hour, time.Minute, time.Second, len, ipTO, portTO, ipFROM, portFROM, protocol, versionProtocol);

}

}

4

3.Результаты работы

На рисунке 1 представлен работа сниффера.

Рисунок 1 — работа сниффера

5

Выводы

В результате лабораторной работы был написана программа для перехвата сетевых пакетов внутри локальной сети. Научились использовать технологии перехвата сетевых пакетов, для работы с которой был использован язык C# и библиотека SharpPcap.

Соседние файлы в папке Лабораторная работа 10