- •Державний комітет зв’язку та інформатизації України
- •Современные проблемы информационных сетей
- •Инструменты и ресурсы
- •Формат пакета ping.
- •Программа tracert в Windows.
- •Порядок вызова
- •Программа tcpdump (снифер) сетевой анализатор для поиска неисправностией в сети и отладки сетевых приложений.
- •Использование tcpdump
- •Выходная информация, формируемая tcpdump
- •Программа netstat
- •4. Интерфейсы
- •Маршрутная таблица
- •Статистика протоколов
- •Процессы
- •Типы процессов
- •Прикладные процессы
- •Атрибуты процессов
- •Реальный (rgid) и эффективный (egid) идентификаторы группы
- •Жизненный путь процесса
- •Сигналы
- •Взаимодействие между процессами
- •Организация каналов
- •Взаимодействие между процессами
- •Размер канала
- •Функции к разделу fifo
- •Пример приложения клиент-сервер, использующего fifo для обмена данными. Клиент посылает серверу сообщенияHello, а сервер выводит это сообщение на терминал.
- •Права доступа к объекту
- •Идентификаторы и имена в ipc
- •Tcp как потоковый протокол
- •Чтение длины записи
- •Функции разрешения имён
- •Преобразование имён хостов
- •Аккуратное размыкание соединение
- •Вызов shutdown
- •Алгоритм Найгла
- •Программная реализация архитектуры клиент – сервер
- •1.2 Разработка программ в архитектуре “клиент-сервер”
- •Заполнение адресной структуры и получение сокета
- •Привязка известного порта и вывод listen
- •Принятие соединения.
- •Обмен данными
- •Программный интерфейс сокетов
- •Сокеты во FreeBsd
- •Типы соединения
- •Адресация
- •Адресация Internet
- •Interface сокетов
- •Создание сокета
- •Програмныйинтерфейс сокетов
- •Поддержка различных типов сокетов в доменах
- •Пример использования сокетов
- •Sdl-описание протокола сеансового уровня эталонной модели взаимосвязи открытых систем
- •Основные понятия
- •Описание служб
- •Описание протоколов
- •Службы ядра сеансового уровня
- •Блок данных протокола
- •Ясо-описание протокола сеансового уровня
- •Разбиение блока сеансового протокола
- •Описание блока блк-дир
- •Описание блока блк-исп
- •Описание процессов дир и рдт
- •Описание процесса исп
Программа tcpdump (снифер) сетевой анализатор для поиска неисправностией в сети и отладки сетевых приложений.
Snoop в solaris, iiptrace/ipreport AIX – поставляются вместе с ОС, иногда используются программы третьих фирм – tcpdump.
Сниферы используются для изучения динамики и взаимодействия в сетях, для изучения работы сетевых протоколов. Утилита tcpdump работает во всех Uhix и Windows. Тексты tcpdump опубликованы и ее можно адаптировать для специальных целей или перенести на новую платформу.
Tcpdump состоит из двух компонент: первая работает в ядре и занимается перехватом и, возможно. Фильтрацией пакетов, а вторая действует в адресном пространстве пользователя и определяет интерфейс пользователя, а также выполняет форматирование пакетов, если последнее не делается ядром.
Пользовательская компонента tcpdump взаимодействует с компонентой в ядре с помощью библиотеки libcap (блока для перехвата пакетов), которая абстрагирует системно – зависимые детали общения с канальным уровнем стека протоколов, например, с пакетным фильтром BSD (BDF _ BSD packet bilter) BPF исследует каждый пакет, проходящий через канальный уровень и сопоставляет его с фильтром, заданным пользователем. Если пакет удовлетворяет критерию фильтрации помещается в выделенный ядром буфера, который accoциируется с данными фильтром. Когда буфер заполняется или истекает заданный пользователем тайм – аут, содержимое буфера передается приложению с помощью libcap .
ПЕРЕХВАТ ПАКЕТОВ С ПОМОЩЬЮ BPF
Программа tcpdump и любая другая программа использует BPF для считывания необработанных пакетов, а пользовательская программа читает данные из стека TCP/IP как обычно. BPF перехватывает сетевые пакеты на уровне драйвера устройства, т.е. как только они считаны с носителя. Это не то же самое, что чтение из простого сокета, когда получаются IP – дейтаграммы, уже обработанные уровнем IP и преданные непосредственно приложению, линия транспортный уровень (ТСР или UDР) архитектура WinDump похожа на BSD эта программа пользуется специальным NDIS – драйвером (спецификация стандартного интерфейса сетевых адаптеров), предоставляющем совместный с BPF фильтр и интерфейс NDIS драйвер представляет собой часть стека протоколов, но функционирует он такжеtcpdump, но надо заменитьBPFна драйверNDIS.
Использование tcpdump
Поскольку применение сетевых анализаторов небезопасно, по умолчанию tcpdumpконфигурируется с полномочиями суперпользователяroot(BSD). ДляWinэтих ограничений нет. ЕслиNDIS.-драйвер установлен, то программойWinDumpможно пользоваться. ВBSDследует сделатьtcpdumpsetuid– программой. Если вызватьtcpdumpвообще без параметров, тогда будут перехватываться все пакеты и выводить о них информацию. Но лучше указать кааой-нибудь фильтр, чтобы видеть только нужные пакеты и не отвлекаться на остальные. Например, если требуются лишь пакеты, полученные от хостаbsdили отправленные ему, то можно вызватьtcpdump:
tcpdump host bsd
Если нужны пакеты, которыми обмениваются хосты bsdиsparcто так же используется фильтр:
Фильтровать можно следующие атрибуты:
Протокол
хост отправления и /или назначения
сет отправления и /или назначения
Ethernet-адрес отправления и /или назначения
Порт отправления и /или назначения
Размер пакета
Пакеты, вещаемые на всю локальную сеть или группу (uвEthernet,uвIP)
Пакет, используемый в качестве шлюза указанным хостом
Можно проверять конкретные биты или байты в заголовках протоколов. Например, чтобы отбирать только TCP-терминалы, в которые выставлен бит срочности, следует использовать фильтр:
tcp[13]&16
Четвертый бит четырнадцатого байта заголовка TCP– это бит срочности.
Т.к. разрешается использовать булевские операторы (and) или (&&),or(или ||)not(или !) для комбинирования предикатов, можно задавать фильтры произвольной сложности
Icmpandnotsprcnetlocalnet– фильтр, отбирающийICMP-пакеты, приходящие из внешней сети.