Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Лабораторная работа 10. Перехват сетевых пакетов↑ ⇐ ПредыдущаяСтр 11 из 11 Содержание книги
Поиск на нашем сайте
Реализовать программу (сниффер) для перехвата пакетов в сети Wi-Fi. Любым программам для мониторинга сети, инструментам безопасности необходим перехват сетевых пакетов. На языке C# и для Фреймворка Net существует по крайней мере две библиотеки: SharPcap и WinPKFilter.
SharpPcap
SharpPcapSharpPcap — библиотека для.NET, которая позволяет перехватывать пакеты. По сути, это обертка над библиотекой Pcap, которая используется во многих популярных продуктах. Например, сниффер Wireshark, IDS Snort. С SharpPCap также поставляется замечательная библиотека для парсинга пакетов — Packet.Net.
Packet.Net поддерживает следующий протоколы:
* Ethernet * LinuxSLL * Ip (IPv4 and IPv6) * Tcp * Udp * ARP * ICMPv4 и ICMPv6 * IGMPv2 * PPPoE * PTP * Link Layer Discovery Protocol (LLDP) * Wake-On-LAN (WOL)
Работать с библиотекой достаточно просто:
// метод для получения списка устройств CaptureDeviceList deviceList = CaptureDeviceList.Instance; // выбираем первое устройство в спсике (для примера) ICaptureDevice captureDevice = deviceList[0]; // регистрируем событие, которое срабатывает, когда пришел новый пакет captureDevice.OnPacketArrival += new PacketArrivalEventHandler(Program_OnPacketArrival); // открываем в режиме promiscuous, поддерживается также нормальный режим captureDevice.Open(DeviceMode.Promiscuous, 1000); // начинаем захват пакетов captureDevice.Capture();
Теперь в обработчике события
device_OnPacketArrival
мы можем работать с пакетом:
static void Program_OnPacketArrival(object sender, CaptureEventArgs e) { // парсинг всего пакета Packet packet = Packet.ParsePacket(e.Packet.LinkLayerType, e.Packet.Data); // получение только TCP пакета из всего фрейма var tcpPacket = TcpPacket.GetEncapsulated(packet); // получение только IP пакета из всего фрейма var ipPacket = IpPacket.GetEncapsulated(packet); if (tcpPacket!= null && ipPacket!= null) { DateTime time = e.Packet.Timeval.Date; int len = e.Packet.Data.Length;
// IP адрес отправителя var srcIp = ipPacket.SourceAddress.ToString(); // IP адрес получателя var dstIp = ipPacket.DestinationAddress.ToString();
// порт отправителя var srcPort = tcpPacket.SourcePort.ToString(); // порт получателя var dstPort = tcpPacket.DestinationPort.ToString(); // данные пакета var data = tcpPacket.PayloadPacket; } }
Так же библиотека позволяет создавать пакеты и отправлять, работать с дампами и многое другое. Без проблем работает на mono. У SharpPcap есть конкурент Pcap.net. По описанию возможности совпадают.
WinPKFilter
WinPKFilter — NDIS драйвер для перехвата пакетов. Поддерживаются различные операционные системы:x/ME/NT/2000/XP/2003/Vista/2008/Windows 7/2008R2. Плюсом драйвера является то, что он позволяет модифицировать и блокировать пакеты. Для некоммерческих проектов библиотека бесплатна. Для удобной работы с драйвером предоставляется библиотека. На сайте можно скачать обертки для этой библиотеки для следующих языков — C#, Delphi, VB, MS VC++, C++ Builder. Работать с WinPkFilter сложнее, чем SharpPcap, нужны хорошие знания в работе с неуправляемым кодов и в маршалинге. Да и размер кода получается намного больше. На официальном сайте можно задать вопрос на который Вы без проблем получите от автора (кстати русский).
Перехватчик с использование библиотеки scapy на python.
Далее описан сканер, который будет осуществлять пассивное сканирование сети методом перехвата SSID-идентификаторов. Весь проект занимает несколько строчек кода на Python, в основу положена библиотека Scapy (www.secdev.org/projects/scapy), предназначенная для манипуляции сетевыми пакетами. К сожалению, под Windows это реализуется на несколько порядков сложнее, поэтому в качестве платформы мы выберем Linux. Установка scapy cd /scapy/ & python setup.py install.
Далее можно приступить к написанию сканера. Сканер будет просматривать специальные фреймы, которые содержат уникальный идентификатор сети SSID (Service Set Identifier) и рассылаются точкой доступа. Их также называют Beacon-фреймами. По ним мы и будут определяться найденные сети.
import sys
from scapy import *
print "Wi-Fi SSID passive sniffer"
interface = sys.argv[1] #задаем название интерфейса в качестве дополнительного консольного аргумента
def sniffBeacon(p):
if p.haslayer(Dot11Beacon):
print p.sprintf("%Dot11.addr2%[%Dot11Elt.info%|%Dot11Beacon.cap%]")
sniff(iface=interface,prn=sniffBeacon)
Вывод программы содержит информацию о перехваченных Beacon-фреймах:
skvoz@box: sniffssid.py eth1
00:12:17:3c:b6:ed['netsquare4'|short-slot+ESS]
00:30:bd:ca:1e:1e['netsquare7'|ESS+privacy]
Также можно поэкспериментировать с выбором haslayer (параметра мониторинга), поменяв его значение Dot11Beacon на: Dot11AssoResp, Dot11ProbeReq, Dot11ATIM, Dot11Auth, Dot11ProbeResp, Dot11Addr2MACField, Dot11Beacon, Dot11ReassoReq, Dot11Addr3MACField, Dot11Deauth, Dot11ReassoResp, Dot11Addr4MACField, Dot11Disas, Dot11WEP, Dot11AddrMACField, Dot11Elt, Dot11AssoReq, Dot11PacketList. В этом случае можно перехватить не только SSID точки доступа, но и всю остальную информацию о сети. К примеру, узнать информацию о физических идентификаторах пользователей и сетевых обращениях. Для этого мы задействуем протокол ARP:
import sys, os from scapy import * interface = raw_input("enter interface") #пользователь задает интерфейс сети os.popen("iwconfig interface mode monitor") #перевод карты в режим монитора на заданном интерфейсе #функция перехвата MAC def sniffMAC(p): if p.haslayer(Dot11): mac = p.sprintf("[%Dot11.addr1%)|(%Dot11.addr2%)|(%Dot11.addr3%)]") print mac #функция перехвата IP-адресов и показа ARP сообщений def sniffarpip(p): if p.haslayer(IP): ip = p.sprintf("IP - [%IP.src%)|(%IP.dst%)]") print ip elif p.haslayer(ARP): arp = p.sprintf("ARP - [%ARP.hwsrc%)|(%ARP.psrc%)]-[%ARP.hwdst%)|(%ARP.pdst%)]") print arp #уровни, которые мы мониторим sniff(iface=interface,prn=sniffMAC, prn=sniffarpip) Вывод skvoz@puffy: python sniff.py eth1 [ff:ff:ff:ff:ff:ff)|(00:30:bd:ca:1e:1e)|(00:30:bd:ca:1e:1e)] IP - [192.168.7.41)|(192.168.7.3)] ARP - [00:0f:a3:1f:b4:ff)|(192.168.7.3)]-[00:00:00:00:00:00)|(192.168.7.41)]
Лабораторная работа 11. SASL аутоинтефикация Реализовать аутоинтефикацию, используя основные механизмы простого протокола аутентификации. SASL (англ. Simple Authentication and Security Layer — простой уровень аутентификации и безопасности) — это фреймворк (каркас) для предоставления аутентификации и защиты данных в протоколах на основе соединений. Он разделяет механизмы аутентификации от прикладных протоколов, в теории позволяя любому механизму аутентификации, поддерживающему SASL, быть использованным в любых прикладных протоколах, которые используют SASL. Фреймворк также предоставляет слой защиты данных. Для использования SASL протокол включает команду для идентификации и аутентификации пользователя на сервере и для опциональной защиты переговоров последующей интерактивности протокола. Если это используется в переговорах, то слой безопасности вставляется между протоколом и соединением. В 1997 Джон Гардинер Майерс (John Gardiner Myers) написал изначальную спецификацию SASL (RFC 2222) при университете Карнеги-Меллона (Carnegie Mellon University). В 2006 году этот документ утратил силу после введения RFC 4422, под редакцией Алексея Мельникова (Alexey Melnikov) и Курта Зейлинга (Kurt Zeilenga). Механизмы SASL реализуют серию запросов и ответов. Определенные SASL механизмы включают:
«EXTERNAL», используется, когда аутентификация отделена от передачи данных (например, когда протоколы уже используют IPsec или TLS); «ANONYMOUS», для аутентификации гостевого доступа (RFC 4505); «PLAIN», простой механизм передачи паролей открытым текстом. PLAIN является заменой устаревшему LOGIN; «OTP», механизм одноразовых паролей. OTP заменяет устаревший механизм SKEY; «SKEY», система одноразовых паролей (устаревший); «CRAM-MD5»; «DIGEST-MD5»; «NTLM»; «GSSAPI»; GateKeeper (& GateKeeperPassport), разработана Microsoft для MSN Chat; «KERBEROS IV» (устаревший). Семья механизмов GS2 поддерживает произвольные GSSAPI механизмы в SASL. Это сейчас стандартизовано в RFC 5801.
ЛИТЕРАТУРА 1. Компьютерные сети: Принципы, технологии, протоколы: Учебное пособие для вузов/ В. Г. Олифер, Н. А. Олифер. - 3-е изд.. - СПб.: Питер, 2008. - 957[3] с.: ил.. 2. Компьютерные сети: Пер. с англ. / Э. Таненбаум; пер.: В. Шрага. - 4-е изд. - СПб.: Питер, 2007. - 991[1] с.: ил. - (Классика Computer Science). - Библиогр.: с. 941-970. 3. Современные беспроводные сети: состояние и перспективы развития / И. А. Гепко [и др.]; ред. В. Ф. Олейник. - Киев: ЕКМО, 2009. - 671 с. 4. Беспроводные сети Wi-Fi: учебное пособие / А. В. Пролетарский [и др.]. -М.: Интернет-Университет Информационных Технологий, 2007; М.: БИНОМ. Лаборатория знаний, 2007. - 215 с. 5. Сети. Беспроводные технологии: пер. с англ. / П. Беделл; пер. Р. М. Евтеев. - М.: НТ Пресс, 2008. -441 с. 6. Основы программирования на JAVA: Учебное пособие/ Р. В. Юдахин; - Томск: ТУСУР, 2004. - 195 с.:
|
||||
Последнее изменение этой страницы: 2016-08-10; просмотров: 740; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.17.210 (0.006 с.) |