Глава 29 Доступ к канальному уровню
Глава 29
Доступ к канальному уровню
29.1. Введение
В настоящее время большинство операционных систем позволяют приложению получать доступ к канальному уровню. Это подразумевает следующие возможности:
1. Отслеживание пакетов, принимаемых на канальном уровне, что, в свою очередь, позволяет запускать такие программы, как tcpdump, на обычных компьютерных системах (а не только на специальных аппаратных устройствах для отслеживания пакетов). Если добавить к этому способность сетевого интерфейса работать в смешанном режиме (promiscuous mode), приложение сможет отслеживать все пакеты, проходящие по локальному кабелю, а не только предназначенные для того узла, на котором работает эта программа.
ПРИМЕЧАНИЕ
Эта возможность не так полезна в коммутируемых сетях, которые получили широкое распространение в последнее время. Дело в том, что коммутатор пропускает трафик на конкретный порт только в том случае, если этот трафик адресован конкретному устройству или устройствам, подключенным к этому порту, каким бы трафик ни был: направленным, широковещательным или многоадресным. Для того чтобы получать трафик, передаваемый через другие порты коммутатора, нужно сначала переключить свой порт коммутатора в режим контроля (monitor mode или port mirroring). Заметьте, что многие устройства, которые обычно не считают коммутаторами, на самом деле являются таковыми. Например, двухскоростной концентратор 10/100 обычно является двухпортовым коммутатором: один порт для сетей, работающих на 100 Мбит/с, другой — для сетей на 10 Мбит/с.
2. Возможность запуска определенных программ как обычных приложений, а не как частей ядра. Скажем, большинство версий Unix сервера RARP — это обычные приложения, которые считывают запросы RARP с канального уровня (запросы RARP не являются дейтаграммами IP), а затем передают ответы также на канальный уровень.
Три наиболее распространенных средства получения доступа к канальному уровню в Unix — это пакетный фильтр BSD (BPF, BSD Packet Filter), DLPI в SVR4 (Datalink Provider Interface — интерфейс поставщика канального уровня) и интерфейс пакетных сокетов Linux (SOCK_PACKET). Мы приводим в этой главе обзор перечисленных средств, а затем описываем libcap — открытую для свободного доступа библиотеку, содержащую функции для захвата пакетов. Эта библиотека работает со всеми тремя перечисленными средствами, и использование библиотеки позволяет сделать наши программы не зависящими от фактического способа обеспечения доступа к канальному уровню, применяемому в данной операционной системе. Мы описываем эту библиотеку, разрабатывая программу, которая посылает запросы серверу имен DNS (мы составляем свои собственные дейтаграммы UDP и записываем их в символьный сокет) и считывает ответ при помощи libcap, чтобы определить, добавляет ли сервер имен контрольную сумму в дейтаграммы UDP.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Активность прерываний по уровню и по фронту
Активность прерываний по уровню и по фронту Недостает еще одного фрагмента мозаики. Большинство контроллеров прерываний могут быть запрограммированы на чувствительность либо к уровню сигнала прерывания, либо к его фронту.В режиме чувствительности по уровню считается,
Мобильный доступ
Мобильный доступ Для доступа к календарям с экранов сотовых телефонов нам с вами явно стоит воспользоваться облегченной, мобильной версией, доступной по адресу http://www.google.com/calendar/m. В ней есть только самое необходимое – повестка дня на несколько недель вперед
Глава 5 Доступ из сценариев к файловой системе
Глава 5 Доступ из сценариев к файловой системе Сценарии WSH позволяют получить полный доступ к файловой системе компьютера, в отличие от JScript- или VBScript-сценариев, внедренных в HTML-страницы, где в зависимости от уровня безопасности, который устанавливается в настройках
Доступ к слоям
Доступ к слоям Все слои, определенные в документе, доступны как элементы коллекции layers.document.layers[2];document.layers["somelayer"];NN поддерживает прямой доступ к слоям по имени. Имена слоям даются с помощью атрибута NAME тегов <LAYER> и <ILAYER>:document.somelayer;Для доступа к слою, находящемуся
loadVariablesNum - Прикрепляет группу внешних переменных к уровню документа
loadVariablesNum - Прикрепляет группу внешних переменных к уровню документа loadVariablesNum(Глобальная функция)Прикрепляет группу внешних переменных к уровню документаСинтаксис:loadVariablesNum (url, level); loadVariablesNum (url, level, method);Аргументы:Функция loadVariablesNum() почти идентична loadVariables(), но требует
Доступ к потоку
Доступ к потоку Как и для обычных драйверов устройств, рассмотренных ранее, прежде чем процесс сможет получить доступ к драйверу STREAMS, необходимо встроить драйвер в ядро системы и создать специальный файл устройства — файловый интерфейс доступа. Независимо от того, как
10.3.1. Доступ
10.3.1. Доступ Такие директивы определяют основные права доступа к FTP-серверу. Давайте рассмотрим основные из них:? class имя type адреса — позволяет организовать классы пользователей по их типу и адресу. В нашем конфигурационном файле указана следующая строка:class all anonymous,guest,real
Глава 28 Доступ к удаленным компьютерам
Глава 28 Доступ к удаленным компьютерам Мы уже неоднократно упоминали о том, что любая UNIX-подобная операционная система может удаленно администрироваться и конфигурироваться. Говорили мы и о возможности удаленной работы на компьютере под управлением Linux, а также и об
Доступ к GUI
Доступ к GUI После завершения установки и перезагрузки компьютера можно переходить к GUI Asterisk. URL, используемый для доступа к GUI Asterisk, - это IP-адрес или имя хоста, которое выводится на экран после перезагрузки компьютера. Введите этот IP-адрес в адресной строке броузера. С
R.11.7 Множественный доступ
R.11.7 Множественный доступ Если добраться до имени можно несколькими путями по графу, задающему множественное наследование, то право доступа этого имени считается максимальным из прав, получаемых на разных путях. Поясним это примером:class W { public: void f(); };class A: private virtual W {};class B:
Глава 4 Доступ к базе данных из веб-приложений
Глава 4 Доступ к базе данных из веб-приложений Данная глава посвящена использованию базы данных MySQL в веб-приложениях, написанных на языках PHP, Perl и Java. При этом мы будем считать, что этими языками программирования вы владеете, и будем рассматривать только операции
ГЛАВА 22. Доступ к базам данных с помощью ADO.NET
ГЛАВА 22. Доступ к базам данных с помощью ADO.NET Если вы не являетесь профессиональным разработчиком видеоигр, вас, наверное, заинтересует тема доступа к базам данных. Как и следует ожидать, платформа .NET определяет целый ряд пространств имен, обеспечивающих взаимодействие с
Доступ к FTP-серверам
Доступ к FTP-серверам Как и в случае с WWW, для доступа к «виртуальному складу» FTP вам необходим его адрес – брат-близнец (а иногда – и тезка) уже знакомых нам адресов сайтов или страничек: ftp://ftp.microsoft.com/pub/support/util/flle.zipВероятно, вам не нужно объяснять, что значит первая часть
Глава 4 Сетевой доступ
Глава 4 Сетевой доступ Обнаружение играет очень важную роль в любой архитектуре безопасности. Рано или поздно противник захочет скомпрометировать вашу организацию, и на его стороне будут время и ресурсы. Для эффективного обнаружения большую важность имеют уровни