write

Запись пакетных данных протокола в 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);

    Входные параметры

    свернуть все

    Примечание

    The 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, M. «PCAP Next Generation (Pcapng) Capture File Format». 2020. https://www.ietf.org/.

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

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

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

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

    Генерация кода C/C + +
    Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

    .
    Введенный в R2020b