exponenta event banner

написать

Запись пакетных данных протокола в файл PCAP или PCAPNG

    Описание

    write(pcapObj,packet,timestamp) записывает пакетные данные протокола в файл PCAP, указанный в объекте записи файла PCAP, pcapObj. Вход packet определяет пакет протокола и входные данные timestamp определяет время поступления пакета.

    write(pcapngObj,packet,timestamp,interfaceID) записывает пакетные данные протокола в файл PCAPNG, указанный в объекте записи файла PCAPNG, pcapngObj. Вход packet, timestamp, и interfaceID определяет пакет протокола, время поступления пакета и идентификатор интерфейса соответственно.

    пример

    write(obj,packet,timestamp) записывает данные MAC-пакета WLAN в файл PCAP или PCAPNG, указанный в объекте записи PCAP-файла WLAN, obj. Вход packet задает MAC-пакет WLAN и входные данные timestamp определяет время поступления пакета.

    пример

    write(___,Name,Value) указывает параметры, использующие один или несколько аргументов пары имя-значение в дополнение к комбинациям входных аргументов из любого из предыдущих синтаксисов. Например, 'PacketFormat','bits' устанавливает формат пакетов протокола в биты.

    Примеры

    свернуть все

    Создайте объект записи файлов PCAP по умолчанию. Укажите тип канала для пакета WLAN.

    pcapObj = pcapWriter;
    wlanLinkType = 105;

    Запишите глобальный заголовок в файл PCAP.

    writeGlobalHeader(pcapObj,wlanLinkType);

    Создание пакета WLAN в битах.

    macConfig = wlanMACFrameConfig;
    [mpdu,frameLength] = wlanMACFrame(macConfig,'OutputFormat','bits');

    Запишите пакет WLAN в файл PCAP, указав формат пакета в виде битов.

    timestamp = 124800; % Number of microseconds
    write(pcapObj,mpdu,timestamp,'PacketFormat','bits');

    Создайте объект модуля записи файлов PCAPNG, указав имя файла PCAPNG.

    pcapngObj = pcapngWriter('FileName','sample');

    Запишите блок интерфейса для WLAN.

    interfaceName = 'WLAN';
    wlanLinkType = 105;
    interfaceId = writeInterfaceDescriptionBlock(pcapngObj,wlanLinkType, ...
        interfaceName);

    Создание пакета WLAN в битах.

    macConfig = wlanMACFrameConfig;
    [mpdu,frameLength] = wlanMACFrame(macConfig,'OutputFormat','bits');

    Запишите пакет WLAN в файл PCAPNG, указав комментарий пакета и формат пакета.

    timestamp = 0; % Number of microseconds
    packetComment = 'This is the first packet';
    write(pcapngObj,mpdu,timestamp,interfaceId,'PacketComment', ...
        packetComment,'PacketFormat','bits');

    Создайте объект записи файлов PCAP WLAN по умолчанию.

    obj = wlanPCAPWriter;

    Создайте MAC-пакет WLAN типа QoS Data. Укажите формат кадра как HT-Mixed.

    macConfig = wlanMACFrameConfig('FrameType','QoS Data','FrameFormat','HT-Mixed');
    payload ='00576000103afffe80';
    mpdu = wlanMACFrame(payload,macConfig);

    Запишите пакетные данные MAC WLAN в файл PCAP.

    timestamp = 0; % Number of microseconds
    write(obj,mpdu,timestamp);

    Входные аргументы

    свернуть все

    Примечание

    pcapWriter, pcapngWriter, и wlanPCAPWriter объекты не перезаписывают существующие файлы PCAP или PCAPNG. При каждом вызове этих объектов укажите уникальное имя файла PCAP или PCAPNG.

    Объект записи файла PCAP, указанный как pcapWriter объект.

    Пакет протокола, указанный как одно из этих значений.

    • Вектор с двоичным значением - это значение представляет биты.

    • Символьный вектор - это значение представляет октеты в шестнадцатеричном формате.

    • Скаляр строки - это значение представляет октеты в шестнадцатеричном формате.

    • Числовой вектор с каждым элементом в диапазоне [0, 255] - это значение представляет октеты в десятичном формате.

    • символьный массив n-by-2 - в этом значении каждая строка представляет октет в шестнадцатеричном формате.

    Типы данных: char | string | double

    Время поступления пакета с 1/1/1970, указанное как неотрицательное целое число. Это значение должно быть выражено в микросекундах.

    Типы данных: double

    Объект записи файла PCAPNG, указанный как pcapngWriter объект.

    Уникальный идентификатор интерфейса, указанный как неотрицательный скаляр.

    Типы данных: double

    Объект записи PCAP-файла WLAN, указанный как wlanPCAPWriter объект.

    Аргументы пары «имя-значение»

    Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

    Пример: 'PacketFormat','bits' задает формат пакета протокола до битов.

    Формат пакета протокола, определяемый как разделенная запятыми пара, состоящая из PacketFormat и 'octets' или 'bits'. Если это значение указано как 'octets', packet указывается как одно из этих значений.

    • Вектор с двоичным значением - это значение представляет биты.

    • Символьный вектор - это значение представляет октеты в шестнадцатеричном формате.

    • Скаляр строки - это значение представляет октеты в шестнадцатеричном формате.

    • Числовой вектор с каждым элементом в диапазоне [0, 255] - это значение представляет октеты в десятичном формате.

    • символьный массив n-by-2 - в этом значении каждая строка представляет октет в шестнадцатеричном формате.

    Типы данных: char | string | double

    Комментарий для пакета протокола, указанного как разделенная запятыми пара, состоящая из PacketComment и вектор символов или строковый скаляр.

    Зависимости

    Чтобы включить этот аргумент пары имя-значение, укажите pcapngObj входной аргумент.

    Типы данных: char | string

    Метаданные пакета WLAN, указанные как разделенная запятыми пара, состоящая из Radiotap и одно из этих значений.

    • Вектор с двоичным значением - это значение представляет биты.

    • Символьный вектор - это значение представляет октеты в шестнадцатеричном формате.

    • Скаляр строки - это значение представляет октеты в шестнадцатеричном формате.

    • Числовой вектор с каждым элементом в диапазоне [0, 255] - это значение представляет октеты в десятичном формате.

    • символьный массив n-by-2 - в этом значении каждая строка представляет октет в шестнадцатеричном формате.

    Зависимости

    Чтобы включить этот аргумент пары имя-значение, укажите obj входной аргумент.

    Типы данных: char | string | double

    Формат радиотапы, определяемый как разделенная запятыми пара, состоящая из RadiotapFormat и 'octets' или 'bits'. Если это значение указано как 'octets', Radiotap указывается как одно из этих значений.

    • Вектор с двоичным значением - это значение представляет биты.

    • Символьный вектор - это значение представляет октеты в шестнадцатеричном формате.

    • Скаляр строки - это значение представляет октеты в шестнадцатеричном формате.

    • Числовой вектор с каждым элементом в диапазоне [0, 255] - это значение представляет октеты в десятичном формате.

    • символьный массив n-by-2 - в этом значении каждая строка представляет октет в шестнадцатеричном формате.

    Зависимости

    Чтобы включить этот аргумент пары имя-значение, укажите obj входной аргумент.

    Типы данных: char | string | double

    Ссылки

    [1] Tuexen, М. «Формат файла захвата PCAP следующего поколения (Pcapng)». 2020. https://www.ietf.org/.

    [2] «Radiotap - Введение». Доступно 20 мая 2020 года. https://www.radiotap.org/.

    [3] Группа, Tcpdump. «Общий репозиторий Tcpdump/Libpcap». Доступно 20 мая 2020 года. https://www.tcpdump.org.

    [4] «Разработка/LibpcapFileFormat - Wiki Wiki Wireshark». Доступно 20 мая 2020 года. https://www.wireshark.org/.

    Расширенные возможности

    Создание кода C/C + +
    Создайте код C и C++ с помощью MATLAB ® Coder™

    .
    Представлен в R2020b