Софт

Pcap чем открыть

Рейтинг: 4.6/5.0 (821 проголосовавших)

Категория: Windows

Описание

Как открыть PCAP файлы - Файлы с расширением PCAP

Что обозначает расширение PCAP?

автор: Jay Geater. главный писатель по вопросам технологий

Вам кто-то послал по электронной почте файл PCAP, и вы не знаете, как его открыть? Может быть, вы нашли файл PCAP на вашем компьютере и вас заинтересовало, что это за файл? Windows может сказать вам, что вы не можете открыть его, или, в худшем случае, вы можете столкнуться с соответствующим сообщением об ошибке, связанным с файлом PCAP.

До того, как вы сможете открыть файл PCAP, вам необходимо выяснить, к какому виду файла относится расширения файла PCAP.

Совет: Неправильные ассоциации файлов PCAP могут являться признаком других базовых проблем в вашей операционной системе Windows. Эти неверные записи могут также стать причиной иных сопутствующих проблем, таких как медленный запуск Windows, зависание компьютера и прочих проблем производительности ПК. Поэтому мы настоятельно рекомендуем вам просканировать свой реестр Windows на предмет неправильных ассоциаций файлов и других проблем, связанных с фрагментацией реестра.

Ответ:

Файлы PCAP имеют Файлы данных, который преимущественно ассоциирован с TCPDUMP Style Capture.

Файлы PCAP также ассоциированы с Ethernet Packet Sniffer File и FileViewPro.

Иные типы файлов также могут использовать расширение файла PCAP. Если вам известны любые другие форматы файлов, использующие расширение файла PCAP, пожалуйста, свяжитесь с нами. чтобы мы смогли соответствующим образом обновить нашу информацию.

Как открыть ваш файл PCAP: PCAP Средство открытия файлов

Самый быстрый и легкий способ открыть свой файл PCAP — это два раза щелкнуть по нему мышью. В данном случае система Windows сама выберет необходимую программу для открытия вашего файла PCAP.

В случае, если ваш файл PCAP не открывается, весьма вероятно, что на вашем ПК не установлена необходимая прикладная программа для просмотра или редактирования файлов с расширениями PCAP.

Если ваш ПК открывает файл PCAP, но в неверной программе, вам потребуется изменить настройки ассоциации файлов в вашем реестре Windows. Другими словами, Windows ассоциирует расширения файлов PCAP с неверной программой.

Мы настоятельно рекомендуем просканировать ваш реестр Windows на предмет неверных ассоциаций файлов и прочих проблем, связанных с реестром.

Загрузки программного обеспечения, связанные с расширением файла PCAP:

* Некоторые форматы расширений файлов PCAP можно открыть только в двоичном формате.

PCAP Multipurpose Internet Mail Extensions (MIME): PCAP Инструмент анализа файлов™

Вы не уверены, какой тип у файла PCAP? Хотите получить точную информацию о файле, его создателе и как его можно открыть?

Теперь можно мгновенно получить всю необходимую информацию о файле PCAP!

Революционный PCAP Инструмент анализа файлов™ сканирует, анализирует и сообщает подробную информацию о файле PCAP. Наш алгоритм (ожидается выдача патента) быстро проанализирует файл и через несколько секунд предоставит подробную информацию в наглядном и легко читаемом формате.†

Уже через несколько секунд вы точно узнаете тип вашего файла PCAP, приложение, сопоставленное с файлом, имя создавшего файл пользователя, статус защиты файла и другую полезную информацию.

Чтобы начать бесплатный анализ файла, просто перетащите ваш файл PCAP внутрь пунктирной линии ниже или нажмите «Просмотреть мой компьютер» и выберите файл. Отчет об анализе файла PCAP будет показан внизу, прямо в окне браузера.

Перетащите файл PCAP сюда для начала анализа

Просмотреть мой компьютер »

Пожалуйста, также проверьте мой файл на вирусы

Solvusoft: Золотой сертификат Microsoft Компания Solvusoft имеет репутацию лучшего в своем классе независимого поставщика программного обеспечения,

и признается корпорацией Microsoft в качестве ведущего независимого поставщика программного обеспечения, с высшим уровнем компетенции и качества. Близкие взаимоотношения компании Solvusoft с корпорацией Microsoft в качестве золотого партнера позволяют нам предлагать лучшие в своем классе решения, оптимизированные для работы с операционной системой Windows.

Как достигается золотой уровень компетенции?

Чтобы обеспечивать золотой уровень компетенции, компания Solvusoft производит независимый анализ,добиваясь высокого уровня опыта в работе с программным обеспечением, успешного обслуживания клиентов и первоклассной потребительской ценности. В качестве независимого разработчика ПО Solvusoft обеспечивает высочайший уровень удовлетворенности клиентов, предлагая программное обеспечение высшего класса и сервисные решения, постоянно проходящие строгие проверку и отбор со стороны корпорации Microsoft.

НАЖМИТЕ для верификации статуса Solvusoft как золотого партнера корпорации Microsoft на сайте Microsoft Pinpoint >>

Pcap чем открыть:

  • скачать
  • скачать
  • Другие статьи, обзоры программ, новости

    Как открыть файл PCAP? Расширение файла

    Как открыть файл PCAP? Основная информация о файле PCAP

    Файл PCAP является одним из файлов категории Файлы данных. Его полное название это Packet Capture Data. Формат файла PCAP создан Wireshark. Если вы попали к нам, наверное Вы ищете программы, которые помогут Вам работать с этим конкретным расширением. На следующих страницах вы найдете списки программ, поддерживающих файл PCAP сортированные по операционных системах. Если наша база данных содержит информацию о конвертировании файла PCAP, Вы обязательно найдете его здесь.

    Теги: расширение PCAP, как открыть файл PCAP, как конвертировать файл PCAP, открытие файла PCAP

    Программы, обслуживающие файл PCAP

    Программы для системы Windows:

    WinDump
    Wireshark

    Программы для системы Linux:

    NetworkMiner
    tcpdump

    Мы надеемся, что помогли Вам решить проблему с файлом PCAP. Если Вы не знаете, где можно скачать приложение из нашего списка, нажмите на ссылку (это название программы) - Вы найдете более подробную информацию относительно места, откуда загрузить безопасную установочную версию необходимого приложения.

    Посещение этой страницы должно помочь Вам ответить конкретно на эти, или похожие вопросы:

    • Как открыть файл с расширением PCAP?
    • Как провести конвертирование файла PCAP в другой формат?
    • Что такое расширение формата файлов PCAP?
    • Какие программы обслуживают файл PCAP?

    Если после просмотра материалов на этой странице, Вы по-прежнему не получили удовлетворительного ответа на какой-либо из представленных выше вопросов, это значит что представленная здесь информация о файле PCAP неполная. Свяжитесь с нами, используя контактный формуляр и напишите, какую информацию Вы не нашли.

    Что еще может вызвать проблемы?

    Поводов того, что Вы не можете открыть файл PCAP может быть больше (не только отсутствие соответствующего приложения).
    Во-первых - файл PCAP может быть неправильно связан (несовместим) с установленным приложением для его обслуживания. В таком случае Вам необходимо самостоятельно изменить эту связь. С этой целью нажмите правую кнопку мышки на файле PCAP, который Вы хотите редактировать, нажмите опцию "Открыть с помощью" а затем выберите из списка программу, которую Вы установили. После такого действия, проблемы с открытием файла PCAP должны полностью исчезнуть.
    Во вторых - файл, который Вы хотите открыть может быть просто поврежден. В таком случае лучше всего будет найти новую его версию, или скачать его повторно с того же источника (возможно по какому-то поводу в предыдущей сессии скачивание файла PCAP не закончилось и он не может быть правильно открыт).

    Если у Вас есть дополнительная информация о расширение файла PCAP мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся здесь и отправьте нам свою информацию о файле PCAP.

    Открыть файл

    Расширение файла PCAP Что еще я могу сделать, чтобы решить проблемы с файлами PCAP?

    Причин отсутствия возможности открытия файла PCAP на компьютере может быть как минимум несколько. Проще всего найти соответствующую аппликацию, установленную уже на компьютере, которая позволит открытие файла PCAP. Если по-прежнему что-то не так, стоит проверить:

    • не поврежден ли PCAP файл
    • не имеет ли файл ошибочной связи в записях реестра
    • полная ли инсталляция аппликации, обслуживающей данный формат файла
    • не инфицирован ли файл
    • актуальный ли драйвер, используемый для открытия файла
    • имеет ли компьютер достаточные параметры/технические ресурсы чтобы открыть файл с данным расширением
    • не удалено ли случайно расширение из реестра Windows

    После исключения вышеуказанных дефектов файл PCAP по-прежнему не совместим с Вашим программным обеспечением? Поетому проблема более сложна и требует помощи специалиста.

    Kasper Torbjorn

    Создатель страницы Extension.info

    Создатель интернет-решений, поддерживающих и решающих проблемы не очень продвинутых пользователей в ежедневной работе с компьютером.

    Расширение «

    .PCAP расширение Описание формата файла

    Data file created by Wireshark (formerly Ethereal), a free program used for network analysis; contains network packet data created during a live network capture; used for "packet sniffing" and analyzing data network characteristics; can be analyzed using software that includes the libpcap or WinPcap libraries.

    Wireshark is available for Mac, Windows, and Linux platforms. Professors and students often use the software for studying data communications.

    NOTE: Wireshark was renamed from Ethereal in May, 2006 due to trademark issues.

    Программы, которыми можно открыть файл .PCAP

    Скачивая очередной файл с Интернета, многие из нас не задумываются о том, что файл на компьютере может просто не открыться.

    Файл (от англ. file - цепочка) - последовательный набор данных, который хранится на каком-либо физическом носителе.

    Вне зависимости от того, слушаете ли вы музыку на компьютере, скачиваете ли картинки, сохраняете ли тексты, или просматриваете видео, вы имеете дело с файлами.

    Copyright, All rights reserved, FileTypes.ru, 2012

    Расширение файла

    Формат файла .PCAP Как открыть файл .PCAP?

    Если файл .PCAP известен Вашей системе, то открыть его можно двойным нажатием мышкой или клавишей ENTER. Эта операция запустит ассоциируемые с файлом .PCAP аппликации, установленные в системе. Если система встречает файл впервые и отсутствуют соответствующие ассоциации, то акция закончится предложением системы, найти соответствующее программное обеспечение в компьютере либо сети интернет.

    Иногда случается, что для обслуживания типа файлов .PCAP приписана неправильная программа. Это случается в следствии действия враждебных программ, таких как вирусы или вредоносные программы, но чаще всего это результат ошибочного совмещения аппликации с расширением файла .PCAP. Если во время обслуживания нового типа файлов .PCAP мы укажем системе неправильную программу, то система ошибочно будет рекомендовать ее использование всякий раз, когда будет встречаться файл этого типа. В таком случае следует попробовать повторно выбрать соответствующую аппликацию. Нажмите правой кнопкой мышки на файл .PCAP, а затем выберите из меню опцию "Открыть с помощью. " затем "Выбрать программу по умолчанию". Сейчас выберите одну из установленных аппликаций из вышеуказанного списка и попробуйте снова.

    Программы, которые откроют файл .PCAP

    Wireshark
    WinDump

    NetworkMiner
    tcpdump

    Ручное редактирование Реестра Windows

    Если наша система не справляется с расширением .PCAP и подвели все автоматические и полуавтоматические методы обучения его этому искусству, остается ручное редактирование реестра Windows. Этот реестр хранит всю информацию, касающуюся рабоы нашей операционной системы, в том числе соединения расширений файлов с программами для их обслуживания. Команда REGEDIT вписанная в окне „поиск программ и файлов” или „запустить в случае старших версий операционной системы, предоставляет нам доступ к реестру нашей операционной системы. Все операции, проведенные в реестре (даже не очень сложные, касающееся расширения файла .PCAP) имеют значительное влияние на работу нашей системы, поэтому прежде чем проводить какие-либо модификации следует убедится, что сделана копия актуального реестра. Интересующий нас раздел - это ключ HKEY_CLASSES_ROOT. Следующая инструкция показывает, шаг за шагом, как модифицировать реестр, а конкретно запись в реестре, содержащую информацию о файле .PCAP.

    Шаг за шагом
    • Нажмите кнопку “start”
    • В окне „найти программы и файлы” (в старших версиях системы Windows это окно „Запустить” ) впишите команду „regedit” а затем утвердите операцию клавишей „ENTER”. Эта операция запустит системный редактор реестра. Этот инструмент позволит не только просмотреть существующие записи, но также провести их модификацию, добавление или удаление вручную. В связи с тем, что реестр системы Windows ключевой для ее работы, все операции, проводящиеся на ней, следует выполнять рассудительно и сознательно. Неосторожное устранение или модификация несоответственного ключа может необратимо повредить операционную систему.
    • С помощью комбинации клавишей ctr+F или меню Редактирование и опции „Найти” найдите интересующее вас расширение .PCAP, вписав его в окне поисковика. Утвердите, нажав OK или с помощью клавиши ENTER.
    • Запасная копия. Чрезвычайно важным является создание запасной копии реестра, прежде чем совершить в нем какие-либо изменения. Каждое изменение имеет влияние на действие нашего компьютера. В крайних случаях ошибочная модификация реестра может привести к невозможности повторного запуска системы.
    • Интересующее Вас значение, касающееся расширения, можно вручную редактировать изменяя ключи, приписанные к найденному расширению .PCAP. В этом месте Вы можете также самостоятельно создать нужную запись с расширением а .PCAP если такое отсутствует в реестре. Все доступные варианты находятся в подручном меню (правая кнопка мышки) или в меню "Редактирование" после размещения курсора в соответствующем месте на экране.
    • После окончания редактирования записи, касающейся расширения .PCAP закройте системный реестр. Введенные изменения войдут в жизнь после повторного запуска операционной системы.

    Расширение файла PCAP - File Extension PCAP - Простые рекомендации как открыть файл PCAP

    Расширение файла PCAP

    Если появилась ситуация, в которой Вы не можете открыть файл PCAP на своем компьютере - причин может быть несколько. Первой и одновременно самой важной (встречается чаще всего) является отсутствие соответствующей аппликации обслуживающей PCAP среди установленных на Вашем компьютере.

    Самым простым способом решения этой проблемы является нахождение и скачивание соответствующей аппликации. Первая часть задания, уже выполнена, - программы для обслуживания файла PCAP Вы найдете ниже. Теперь достаточно скачать и установить соответствующую аппликацию.

    В дальнейшей части этой страницы Вы найдете другие возможные причины, вызывающие проблемы с файлами PCAP.

    Программа(ы), умеющие открыть файл .PCAP
    Windows
    • Wireshark
    • WinDump
    Linux
    • NetworkMiner
    • tcpdump
    Возможные проблемы с файлами в формате PCAP

    Отсутствие возможности открытия и работы с файлом PCAP, совсем не должен значить, что мы не имеем установленного на своем компьютере соответствующего программного обеспечения. Могут выступать другие проблемы, которые также блокируют нам возможность работы с файлом Packet Capture Data Format. Ниже находится список возможных проблем.

    • Повреждение открываемого файла PCAP.
    • Ошибочные связи файла PCAP в записях реестра.
    • Случайное удаление описания расширения PCAP из реестра Windows
    • Некомплектная установка аппликации, обслуживающей формат PCAP
    • Открываемый файл PCAP инфицирован нежелательным, вредным программным обеспечением.
    • На компьютере слишком мало места, чтобы открыть файл PCAP.
    • Драйверы оборудования, используемого компьютером для открытия файла PCAP неактуальные.

    Если Вы уверены, что все перечисленные поводы отсутствуют в Вашем случае (или были уже исключены), файл PCAP должен сотрудничать с Вашими программами без каких либо проблем. Если проблема с файлом PCAP все-таки не решена, это может значить, что в этом случае появилась другая, редкая проблема с файлом PCAP. В таком случае остается только помощь специалиста.

    Похожие расширения
    Как связать файл с установленной программой?

    Если Вы хотите связать какой-то файл с новой программой (напр. moj-plik.PCAP) Вы можете воспользоваться двумя вариантами. Первый и самый простой - это нажатие правой кнопкой мышки на избранный файл PCAP. Из открытого меню выберите опцию Выбрать программу по умолчанию". затем опцию "Пересматривать" и найти требуемую программу. Всю операцию необходимо утвердить нажатием кнопки OK.

    Есть ли универсальный метод открытия неизвестных файлов?

    Многие файлы содержат данные в виде текста или чисел. Возможно, что во время открытия неизвестных файлов (напр. PCAP) популярный в системе Windows простой редактор текста, которым является Notatnik позволит нам увидеть часть данных, закодированных в файле. Этот метод позволяет просмотреть содержимое многих файлов, однако не в такой форме, как программа, предназначенная для их обслуживания.

    TCP пакеты в символьном виде -> Форум на Исходниках

    Убрал предкомпиляцию заголовков.
    Теперь много ошибок:
    В строке - uprotos_ether_h *ether = (uprotos_ether_h*)in;
    Ошибка - error C2065: FactDate: необъявленный идентификатор
    Ошибка - error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "uprotos_ether_h"
    Ошибка - error C2065: ether: необъявленный идентификатор
    Ошибка - error C2275: uprotos_ether_h: недопустимое использование этого типа в качестве выражения
    В строке - uprotos_tcpv4_h *tcp = (void*)0;
    Ошибка - error C2440: инициализация: невозможно преобразовать "void *" в "uprotos_tcpv4_h *"
    В строке - uprotos_icmpv4_h *icmp = (void*)0;
    Ошибка - error C2440: инициализация: невозможно преобразовать "void *" в "uprotos_icmpv4_h *"
    В строке - uprotos_udpv4_h *udp = (void*)0;
    Ошибка - error C2440: инициализация: невозможно преобразовать "void *" в "uprotos_udpv4_h *"
    В строке - u8 *data = (void*)0;
    Ошибка - error C2440: инициализация: невозможно преобразовать "void *" в "u8 *"
    В строке - sprintf(result,"%u bytes of ",snaplen);
    Ошибка - error C2664: sprintf: невозможно преобразовать параметр 1 из "u8 *" в "char *"
    В строке - switch(ether->proto) <
    Ошибка - error C2065: ether: необъявленный идентификатор
    Ошибка - error C2227: выражение слева от "->proto" должно указывать на тип класса, структуры или объединения либо на универсальный тип
    В строке - strcat(result,"ip/");
    Ошибка - error C2664: strcat: невозможно преобразовать параметр 1 из "u8 *" в "char *"
    В строке - strcat(result, "plainip ");
    Ошибка - error C2664: strcat: невозможно преобразовать параметр 1 из "u8 *" в "char *"
    В строке - strcat(result,mactostr(ether->src,buf));
    Ошибка - error C2065: ether: необъявленный идентификатор
    Ошибка - error C2664: strcat: невозможно преобразовать параметр 1 из "u8 *" в "char *"

    Сообщ. #14. 18.01.11, 11:40

    Проверь, что у тебя доступны h-заголовки с описанием FactDate, uprotos_ether_h и т.п.

    Сообщ. #15. 18.01.11, 13:42

    Цитата Mr.Delphist @ 18.01.11, 11:40

    Проверь, что у тебя доступны h-заголовки с описанием FactDate, uprotos_ether_h и т.п.


    Скорее всего проблема опять таки в файле ustd.h
    Где его можно взять? Я так понимаю это от GCC компиляторов.

    А вообще вопрос:
    Может есть другой способ получения содержимого ТСР пакета?

    И ещё вопрос:
    Как вытащить данные из буфера имея на него ссылку?

    Сообщение отредактировано: masterbloger - 18.01.11, 17:01

    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)

    [ Script Execution time: 0,1726 ] [ 17 queries used ] [ Generated: 22.08.16, 15:12 GMT ]

    Архитектура захвата пакетов для Windows WinPCAP: бальзам на душу хакера или панацея для программиста? (Часть 2)

    Архитектура захвата пакетов для Windows WinPCAP: бальзам на душу хакера или панацея для программиста? (Часть 2)

    В первой части рассмотрены общие методы построения программ обработки сетевых пакетов в ОС Windows. В этой части более детально описаны функции и процедуры библиотеки захвата пакетов ( libpcap ), предоставляющей приложению пользователя интерфейс высокого уровня для взаимодействия с драйвером захвата пакетов. Программе, использующей архитектуру pcap. становятся доступны все пакеты, принимаемые сетевой платой.

    Для обеспечения целостности восприятия материала сначала приведем краткое описание используемых функций.

    Функции библиотеки libpcap Общие функции

    · PCAP_T pcap_open_live (char *device. int snaplen. boolean promisc. int to_ms. char *ebuf )

    Функция предназначена для получения дескриптора структуры захвата пакетов, используемой для записи и просмотра пакетов, передаваемых по сети (режим он-лайн). Device – это строка, задающая открываемый сетевой адаптер. Переменная Snaplen задает максимальное число захватываемых байт. Флаг Promisc переводит адаптер в режим работы “прием всех входящих пакетов”. Переменная to _ms содержит время ожидания пакета в миллисекундах. При возникновении ошибки функция возвращает значение NULL и записывает строку, характеризующую ошибку, в буфер ebuf .

    · PCAP_T pcap_open_offline (char *fname. char *ebuf )

    Функция предназначена для получения дескриптора структуры захвата пакетов, используемой для записи и просмотра пакетов, сохраненных в файле (режим офф-лайн). Имя файла указывается в переменной fname. Если в качестве имени файла указан символ ‘-‘, информация будет считываться из устройства, определяемого системной переменной stdin.

    · PCAP_DUMPER_T pcap_dump_open (pcap_t *p. char *fname )

    Функция открывает файл, имя которого указано в переменной fname. для записи всех принятых пакетов (дампа). Имя файла ‘-‘ означает запись в stdout. Переменная p – это указатель на дескриптор структуры pcap. полученный при помощи функции pcap_open_live() . Функция возвращает дескриптор открытого для записи файла. При возникновении ошибки функция возвращает значение NULL. при этом описание ошибки может быть получено при помощи pcap_geterr() .

    · CHAR pcap_lookupdev (char *errbuf )

    · INT pcap_lookupnet (char *device. bpf_u_int32 *netp, bpf_u_int32 *maskp. char *ebuff )

    Функция используется для определения сетевого адреса и сетевой маски устройства, заданного в переменной device. Эти данные записываются соответственно в переменные netp и maskp. При возникновении ошибки функция возвращает значение “–1”.

    · INT pcap_dispatch (pcap_t *p. int cnt. pcap_handler callback. u_char *user )

    Функция используется для сбора и обработки принятых пакетов. Аргумент cnt задает максимальное число принимаемых и обрабатываемых пакетов за один сеанс работы подпрограммы. Значение cnt = -1 означает, обрабатываются все пакеты, принятые одним буфером. Значение cnt = 0 означает обработку всех пакетов до возникновения ошибки, достижения конца файла (при работе в режиме офф-лайн) или до окончания времени ожидания пакета (при приеме пакетов из сети и ненулевом значении to_ms ). Переменная callback задает подпрограмму, вызываемую с тремя аргументами: указатель u_char user. передаваемый функцией pcap_dispatch() . указатель на структуру pcap _ pkthdr. содержащую сетевые заголовки и данные принятых пакетов, и указатель u _ char на данные этих пакетов. Функция возвращает число считанных пакетов. При достижении конца файла функция возвращает нулевое значение, значение функции “–1” означает возникновение ошибки. В последнем случае описание ошибки может быть получено при помощи функций pcap_geterr() или pcap_perr() .

    · VOID pcap_dump (u_char *user. struct pcap_pkthdr *h. u_char *sp )

    Функция записывает принятые пакеты в файл, открытый функцией pcap_dump_open() . Аргументы функции позволяют использовать ее совместно с pcap_dispatch() . Формат записываемых в файл данных аналогичен формату программы TCPDUMP и ее аналога WinDump. включенной в состав дистрибутива WinPCap (см. руководство пользователя по данной программе).

    · INT pcap_compile (pcap_t *p. struct bpf_program *fp. char *str. int optimize. bpf_u_int32 *netmask )

    Функция компилирует текстовое описание фильтра str в псевдокод ( см. далее). Переменная fp содержит указатель на структуру bpf_program и заполняется функцией pcap_compile() . Переменная optimize определяет наличие оптимизации псевдокода компилируемой программы. Переменная netmask задает сетевую маску локальной сети.

    · INT pcap_setfilter (pcap_t *p. struct bpf_program *fp )

    Функция устанавливает программу фильтра для вызвавшего ее приложения. Переменная fp содержит указатель на программу фильтра, полученный при вызове функции pcap_compile() .

    · INT pcap_loop (pcap_t *p. int cnt. pcap_handler callback. u_char *user )

    Действия данной функции аналогичны pcap_dispatch() . за тем исключением, что она считывает пакеты до тех пор, пока не обнулится счетчик cnt или не возникнет ошибка, и не прекращает работы при окончании времени ожидания. Отрицательное значение cnt заставит функцию работать бесконечно, до возникновения первой ошибки.

    · U_CHAR pcap_next (pcap_t *p. struct bpf_program *fp )

    Функция возвращает указатель на следующий принятый пакет.

    · INT pcap_datalink (pcap_t *p )

    Функция возвращает имя устройства сетевого уровня, например DLT _ EN 10 MB.

    · INT pcap_snapshot (pcap_t *p )

    Функция используется для получения «снимка», т.е. для захвата определенного количества пакетов. Длина «снимка» указывается при вызове функции pcap_open_live .

    · INT pcap_is_swapped (pcap_t *p )

    Функция возвращает значение TRUE. если открытый для записи файл имеет порядок байт, не совпадающий с используемым в операционной системе.

    · INT pcap_major_version (pcap_t *p )

    Функция возвращает старшее число номера версии PCAP. записываемого в файл.

    · INT pcap_minor_version (pcap_t *p )

    Функция возвращает младшее число номера версии PCAP. записываемого в файл.

    · FILE *pcap_file (pcap_t *p )

    Функция возвращает имя открытого для записи файла.

    · INT pcap_stats (pcap_t *p. struct pcap_stat *ps )

    Функция возвращает 0 и заполняет структуру pcap_stat значениями, которые несут различную статистическую информацию о входящих пакетах с момента запуска процесса до момента вызова этой функции. При возникновении какой-либо ошибки, а также в случае, когда используемый драйвер не поддерживает статистический режим, функция возвращает значение “–1”. При этом код описание ошибки можно получить с помощью функций pcap_perror() или pcap_geterr() .

    · INT pcap_fileno (pcap_t *p )

    Функция возвращает дескриптор открытого для записи файла.

    · VOID pcap_perror (pcap_t *p. char *prefix )

    Функция выводит текст последней возникшей ошибки библиотеки PCAP на устройстве stderr с префиксом, определяемым переменной prefix.

    · CHAR *pcap_geterr (pcap_t *p )

    Функция возвращает строку с описанием последней ошибки библиотеки PCAP.

    · CHAR *pcap_strerror (int error)

    Функция используется в том случае, когда strerror по каким-либо причинам недоступно.

    · VOID pcap_close (pcap_t *p )

    Функция закрывает файл, связанный с адаптером p. и высвобождает занимаемые библиотекой ресурсы.

    · VOID pcap_dump_close (pcap_dumper_t *p )

    Функция закрывает открытый для записи файл.

    Функции, присутствующие только в версии дляWIN32

    · INT pcap_setbuff (pcap_t *p, int dim)

    Функция устанавливает размер буфера задержки и буфера сохранения, связанных с адаптером p. равным значению, указанному в переменной dim. При этом оба старых буфера уничтожаются, и информация в них теряется. В случае успешного выполнения операции функция возвращает значение “0”, иначе “–1”. Первоначально оба буфера создаются при вызове функции pcap_open_live(). п о умолчанию размер буфера задержки и буфера сохранения равен 1 Мб.

    Функция устанавливает режим работы адаптера p в соответствии с заданным в переменной mode. Допустимые значения переменной mode – это “0” (режим захвата пакетов) и “1” (статистический режим). Если адаптер находится в статистическом режиме, сетевая ловушка, заданная при помощи функций pcap_dispatch() или pcap_loop() . вызывается драйвером каждые to_ms миллисекунд (параметр задается при вызове функции pcap_open_live() ) и передает библиотеке два 64-битных числа, содержащих число пакетов и полное количество байт, удовлетворяющих условиям фильтра.

    Способы задания параметров фильтра

    Для создания фильтра, необходимо составить его текстовое описание и затем использовать текстовую строку с параметрами фильтра в качестве одного из аргументов функции pcap _compile () . Текстовое описание фильтра обусловливается правилами, принятыми для описания фильтра в программе TCPDUMP и ее Win 32-версии WinDUMP. включенную в состав дистрибутива WinPCap. Рассмотрим способы задания программы-фильтра.

    В текстовом виде фильтр выглядит как выражение. состоящее из одного или нескольких примитивов. Примитивы в выражении определяют возможность приема фильтром входящего пакета. Каждый примитив определяет конкретный элемент пакета протокола стандартной структуры и его значение, сравниваемое фильтром со значением соответствующего элемента входящего пакета. Если значение примитива совпадает со значением элемента пакета, фильтр отмечает его как «логическую истину» ( True) и переходит к сравнению следующего примитива. При совпадении всех значений выражения со значениями проверенных элементов пакета фильтр принимает решение о приеме данного пакета, в противном случае входящий пакет игнорируется.

    Каждый примитив обычно состоит из одного или нескольких квалификаторов и следующего за ними идентификатора (имя или число). Всего имеется три типа квалификаторов:

    type определяет тип имени или номера идентификатора. Возможные значения: host (хост), net (сеть), port (порт) или proto ( протокол). Например. ‘hostfoo ’, ‘net128.3 ’, ‘port20 ’. Если квалификатор отсутствует, по умолчанию принимается host .

    dir определяет возможное направление приема и передачи данных объектом, указанным в качестве идентификатора: к нему и/или от него. Допускается указание следующих значений: src (источник), dst (приемник), srcanddst (источник и приемник), srcordst (источник или приемник). Например. ‘src host foo’, ‘dst net 128.3’, ‘src or dst port ftp-data’. Если квалификатор не указан, по умолчанию принимается src or dst .

    proto определяет тип протокола, используемого объектом, указанным в качестве идентификатора. Возможные значения. ether. fddi. ip. arp. rarp. decnet. lat. sca. moprc. mopdl. tcp и udp. Например. ‘ether src foo’, ‘arp net 128.3’, ‘tcp port 21’. При отсутствии квалификатора значение по умолчанию выбирается по максимальному соответствию указанному идентификатору. Например, ‘src foo’ означает ‘(ip,arp или rarp) src foo’, ‘net bar’ означает ‘(ip,arp илиrarp) net bar’. ‘port 53’ означает ‘(tcpилиudp) port 53’ .

    Общие выражения строятся путем объединения примитивов при помощи логических операторов and (&&). or (||) и not (!). Например. ‘host foo and not port ftp and not port ftp-data’. В целях экономии занимаемого строкой объема памяти одинаковые квалификаторы могут не указываться. Например, ‘tcp dst port ftp or ftp-data or domain’ означает то же самое, что и ‘tcp dst port ftp or tcp dst port ftp-data or tcp dst port domain’.

    Родственные группы примитивов могут объединяться с помощью тех же логических операторов. Например, tcp and (port ftp or ftp-data). Однако при объединении следует учесть, что операция отрицания имеет высший приоритет, а операции «И» и «ИЛИ» имеют одинаковый приоритет.

    Ниже перечислены примеры примитивов, которые можно использовать при построении выражений фильтра.

    dst hostхост True, если поле IP- пакета «адрес приемника» совпадает со значением идентификатора host ( может указываться имя или адрес хоста).

    ether hostхост True. если поле «источник» или «приемник» ethernet- кадра совпадает со значением идентификатора host ( при этом имя или адрес хоста указывается в формате, определяемом квалификатором, в данном случае – ethernet) .

    ip protoпротокол True, если IP- пакет соответствует указанному типу протокола (может указываться номер или имя соответствующего протокола. icmp, igrp, udp, nd или tcp ).

    При отборе пакетов определенного протокола имя протокола можно указывать без соответствующих квалификаторов ether или ip. Например, вместо ether proto arp можно указать arp. или вместо ip proto tcp можно указать tcp .

    В дополнение к перечисленному выше, имеется еще несколько специальных примитивов, состоящих из одного ключевого слова.

    gateway (шлюз) Используется следующим образом. gatewayхост. Эквивалентное выражение для данного примитива выглядит так. ether hostхостand not hostхост. Фактически это означает, что хост является шлюзом, поскольку ethernet- адрес в пакете совпадает с адресом хост. однако в IP- заголовке адрес хост отсутствует.

    mask ( маска) Используется совместно с квалификатором net для задания сетевой маски. Например, netсетьmaskмаска означает отбор пакетов, IP- адрес которых удовлетворяет заданной маске.

    broadcast ( широковещательный адрес), multicast ( групповой адрес) Используется совместно с квалификаторами ip и ehter для определения широковещательных и групповых пакетов. Например. ether broadcast. ip multicast .

    less (меньше). greater (больше) Используется для отбора пакетов определенной длины. В качестве идентификатора указывается длина пакета. Например, выражение less 520 означает, что будут приняты все пакеты, длина которых не превышает 520 байт.

    Кроме этого, имеется возможность отбора пакетов путем проверки отдельных байт и даже бит независимо от того, где они находятся – в заголовке, данных или концевике пакета. Для этого предусмотрен специальный математический примитив.

    expr relop expr True. если математическое выражение истинно. relop это один из символов >, <, >=, =<, =. =. а expr – выражение, составленное из целочисленных констант по правилам синтаксиса языка С, нормальных двоичных операторов [+, -, *, /, &, | ], оператора длины len и специальных выражений для доступа к данным пакета.

    Для доступа к данным пакета используется следующее выражение.

    proto [expr:size]Proto - это один из следующих протоколов. ip, ether, fddi, arp, rarp, tcp, udp, icmp. Эта переменная определяет уровень протокола для операции индексации. Переменная expr определяет смещение в байтах применительно к указанному протоколу. Переменная size определяет размер поля, применительно к которому будет выполнена дальнейшая операция сравнения. Эта переменная может принимать значения 1, 2 или 4. Если она не указана, по умолчанию выбирается значение 1. Оператор len дает длину всего пакета.

    Например, выражение ether[0]&1 != 0 позволяет перехватывать весь групповой трафик. Выражение ip[0]&0xf != 5 означает отбор IP- пакетов с наличием опций, а выражение ip[6:2]&0x1fff = 0 отбирает только не фрагментированные дейтаграммы.

    Приведем несколько примеров выражений для описания фильтра.

    hostsundown – принимать все пакеты от хоста с именем sundown

    hostheliosand (hotorace) – перехватывать трафик между хостами helios и hot и helios и ace

    ip hostheliosand notace – перехватывать трафик между хостом helios и всеми хостами, исключая ace

    gatewaysnupand (port ftp or ftp-data) – перехватывать весь ftp- трафик, проходящий через шлюз snup

    tcp[13]&3 != 0 and not src and dst netlocalnet – принимать только TCP SYN и FIN пакеты, не предназначенные локальному хосту localnet и не отправленные им.

    Создание приложения для фильтрации входящих пакетов с использованием библиотеки libpcap

    Метод создания приложения рассмотрим на примере программы PCAP Filter. Эта программа наглядно демонстрирует создание фильтра и осуществление записи на диск принятых пакетов. Программа может быть откомпилирована под Win32 в среде Microsoft Visual C++ 6.0 ( не забудьте предварительно установить библиотеку libpcap и выполнить настройку переменных среды для обеспечения возможности компиляции программ, использующих эту библиотеку). Для работы программы под Win32 необходимо установить драйвера WinPCap.

    PCAP Filter представляет собой фильтр общего назначения. В качестве исходных данных при запуске программы необходимо указать три параметра. источник пакетов, строку с текстовым описанием фильтра и имя выходного файла. После запуска программа выполняет процесс захвата, фильтрации пакетов и записи отобранных пакетов в файл до нажатия пользователем клавиш Ctr+C.

    Исходный код программы PCAP Filter приведен ниже.

    #define MAX_PRINT 80

    #define MAX_LINE 16

    void dispatcher_handler(u_char *,const struct pcap_pkthdr *, const u_char *);