Скачать 212.81 Kb.
|
Возможности, предоставляемые при перехвате пакетов На сегодняшний день TCP/IP является стандартным сетевым протоколом. IP (Internet Protocol) обеспечивает функциональность сетевого уровня (адресация и маршрутизация), тогда как TCP (Transmission Control Protocol) контролирует соединение на уровне точка-точка. Стек TCP/IP включает в себя множество других полезных протоколов. В наши дни практически все приложения включают в себя некую сетевую функциональность. Следовательно, для каждого программиста становится необходимым наличие хотя бы базовых знаний о TCP/IP. TCPDump — утилита, которая позволяет перехватывать и записывать пакеты, проходящие через сетевой интерфейс. Это очень удобная утилита, которая может помочь программисту при поиске ошибок в сетевых приложениях, например, используя петлевой интерфейс (loopback, осуществляется полная обработка данных на транспортном и сетевом уровнях, после чего IP датаграмма направляется по петле назад, когда выходит вниз из сетевого уровня). Однако, в связи с тем, что утилита может перехватывать все пакеты, полученные интерфейсом, она также может быть использована в неблаговидных целях. Обычно, верхним уровням стека TCP/IP передаются только те пакеты, которые адресованы конкретному сетевому интерфейсу. Все прочие пакеты попросту игнорируются. Если же интерфейс находится в режиме Promiscuous, то верхним уровням передаются абсолютно все пакеты. TCPDump для своей работы переводит интерфейс именно в такой режим. Итак: TcpDump позволяет делать дамп трафика в сети. TcpDump может использоваться для отображения заголовка пакетов на сетевом интерфейсе, которые соответствуют данному критерию. Также вы можете использовать TcpDump для обнаружения сетевых проблем, некоторых типов нападений и контроля сетевых действий. Градация методов перехвата2.1. BPF. В современных реализациях ядра BSD существует пакетный фильтр BSD (BPF -BSD Packet Filter), именно его использует TCPDump, чтобы отлавливать и фильтровать пакеты из сетевой платы (которая помещена в смешанный режим). BPF также работает с каналами точка-точка, такими как SLIP и с интерфейсом loopback. Фильтр, указанный пользователем, сообщает BPF, какие фреймы необходимо обрабатывать. Эти инструкции интерпретируются фильтром BPF в ядре. Фильтрация в ядре, а не в пользовательском процессе, уменьшает количество данных, которые должны быть переданы от ядра пользовательскому процессу. 2.2. Библиотека Рсар. Библиотека рсар предоставляет удобный для программиста интерфейс с BPF и позволяет, не опускаясь на уровень сетевых устройств, установить фильтрацию пакетов, при помощи набора системных и специализированных функций. С помощью вызова pcap_compile() библиотеки libpcap можно откомпилировать особый BPF-псевдокод из текстовой строчки, которая может быть, к примеру, сохранена в текстовом файле. В tcpdump это выражение вводится в командной строке ("host 192.168.0.1 proto 6 port 23/xOO"). Структура программ, написанных с помощью этой библиотеки, следующая: Определившись с тем, какое из сетевых устройств собираемся прослушивать (char *dev = pcap_lookupdev()), мы обращаемся к функции библиотеки рсар (pcap_t *pcap_open_live(...)), возвращающей указатель на устройство, который можно будет использовать для переключения между сессиями в случае, когда одновременно идет работа с несколькими точками коммуникации. В случае если нас интересует определенный трафик (только TCP пакеты или только пакеты, приходящие на порт 23) мы должны создать набор правил (rule set), откомпилировать (compile) их и принять (apply). В завершении мы даем команду рсар войти в основной цикл выполнения, т.е. дождаться получения указанного количества пакетов, при получении очередного вызывать заранее определенную функцию обработки (возможно, разбивающую пакет на части и выводящую его на экран пользователю, или сохраняющую его в файл ...). После получения достаточной для итогов информации мы закрываем сессию и на этом работа заканчивается. 2.3. TCPDump. TCPDump — это программа, позволяющая выводить в файл или на экран информацию о пакетах, приходящих на сетевой интерфейс и удовлетворяющих заданному условию. Она может обрабатывать как сохраненные в файл пакеты, так и непосредственно поступающие от устройства, а так же отброшенные ядром из за недостатка места в буфере. Обычно сетевые платы для сред передачи захватывают только фреймы канального уровня, адресованные конкретному интерфейсу или отправленные на широковещательный адрес. Программа tcpdump разработана таким образом, чтобы переводить сетевую плату в смешанный режим (promiscuous mode), при этом, каждый пакет, проходящий по кабелю, фиксируется TCPdump использует библиотеку libpcap (библиотека захвата пакетов — packet capture library), которая свободно доступна. Библиотека libpcap универсальна и работает с пакетным фильтром BSD, SVR4 Data-link Provider Interface (DLPI) и интерфейсом Linux SOCK_PACKET. Помимо многочисленных опций, позволяющих определять многие параметры обработки пакетов, синтаксис вызова этой функции включает выражение для выбора пакетов. tcpdump [-options] [expression] Выражение может содержать следующие ограничения: Tun(type) ограничение, определяющее тип следующего за ним имени или числа. Может принимать значение host, net и port. Например, 'host foo', 'net 128.3', 'port 20'. По умолчанию host. Направление(dir) ограничение, определяющее направление. Может принимать значение src, dst, src or dst и src and dst соответственно от англ, source и destination. Например, 'src foo', 'dst net 128.3', 'src or dst port ftp-data'. Протокол(proto) ограничение, определяющее конкретный протокол. Может принимать значение ether, fddi, tr, ip, ip6, arp, rarp, decnet, tcp, udp. Нарпимер, 'ether src foo', 'arp net 128.3', 'tcp port 21’. Существуют ограничения, не соответствующие шаблону. Это ключевые слова gateway, broadcast, less, greater и набор арифметических операций. Выражение может принимать следующие формы:
tr protocol protocol TokenRing или OSI соответственно. iso proto protocol
В выражениях можно также использовать следующие арифметические операции: >, <, >= , <=, =, !=; а так же бинарные: +,-,*, /, &, |. |
Инструкция пользователя стандартные функции системы: Трехкнопочный... Усовершенствованный динамический код Keeloq с защитой от сканирования и перехвата |
Инструкция пользователя стандартные функции системы: Трехкнопочный... Усовершенствованный динамический код Keeloq с защитой от сканирования и перехвата |
||
Руководство по валидации скрининговых методов обнаружения остатков... Етодов. В руководстве описаны два различных этапа процесса валидации: первоначальная валидация скрининговых методов в исходной лаборатории... |
Sirolaser Advance При использовании в ежедневной практике диодного лазера Вы удовлетворите потребности пациента в использовании альтернативных методов... |
||
5 Решение задачи на ЭВМ 59 Для этого был произведен обзор и анализ различных методов выбора критериев, а также методов оценки. На основе проанализорованной... |
Использование методов арт – терапии для сохранения психологического здоровья учащихся Экономические условия нашего общества и изменения в социальной политике явились важным фактором, заметно повлиявшим на эволюцию арт... |
||
Применение методов активного обучения в образовательном процессе вуза В данной статье рассматривается применение активных методов обучения, опыт использования которого дает возможность решать ряд труднодостижимых... |
Практическая работа №1 «Изучение методов конфигурирования сетей доступа» Практическая работа №2 «Изучение методов отбора, подготовки и контроля линии под технологию adsl» |
||
Отчет об итогах работы по оказанию медицинской помощи ветеранам войн... Севершенствование методов диагностики и лечения путем приобретения новейшего оборудования и применения новых методов лечения |
Accf/asnc/acr/aha/ase/scct/scmr/snm 2009 Это сообщение посвящено соответствующему использованию сердечного рни. Усовершенствование технологии сердечно-сосудистого отображения... |
||
Лаак Я. тер Л01 Психодиагностика: проблемы содержания и методов Л01 Психодиагностика: проблемы содержания и методов.— М.: Издательство «Институт практической психологии», Воронеж: нпо «модэк»,... |
Закон РФ «О трансплантации органов и (или) тканей человека» Медицина не стоит на месте. К XX веку произошли глобальные изменения, способствовавшие более успешному лечению путем применения эффективных... |
||
Методические указания по выполнению лабораторная работы «Изучение... Целью настоящей работы является изучение методов и приобретение навыков правильного выполнения сердечно-легочно-мозговой реанимации... |
Лабораторная работа №1 Изучение методов контроля параметров врл "Корень-ас" Изучение методов контроля параметров врл "Корень-ас" встроенными средствами контроля |
||
Клинические рекомендации по вопросам планирования семьи и подбора... По вопросам планирования семьи и подбора методов контрацепции для врачей общей практики |
1. Цели и задачи дисциплины: изучение патогенных и условно-патогенных... Цели и задачи дисциплины: изучение патогенных и условно-патогенных для человека микроорганизмов, их систематики, биологических признаков,... |
Поиск |