pcapngWriter

Средство записи файла PCAPNG пакетов протокола

    Описание

    pcapngWriter возразите записям, сгенерированные и восстановленные пакеты протокола к пакету получают следующее поколение (PCAPNG) файл (.pcapng).

    Можно записать эти пакетные типы в файл PCAPNG:

    • Сгенерированный и восстановленный 5G пакеты протокола NR

    • Сгенерированные и восстановленные пакеты протокола WLAN (требует WLAN Toolbox™),

    • Сгенерированный и восстановленный Bluetooth® низкая энергия (BLE) пакеты слоя ссылки (LL) (требует Библиотеки Communications Toolbox™ для Протокола Bluetooth),

    Создание

    Описание

    pcapngObj = pcapngWriter создает объект средства записи файла PCAPNG по умолчанию.

    пример

    pcapngObj = pcapngWriter(Name,Value) свойства наборов с помощью одного или нескольких аргументов пары "имя-значение". Заключите каждое имя свойства в кавычки. Например, 'ByteOrder','big-endian' задает порядок байтов как обратный порядок байтов.

    Свойства

    развернуть все

    Примечание

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

    Имя файла PCAPNG в виде символьного вектора-строки или строкового скаляра.

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

    Порядок байтов в виде 'little-endian' или 'big-endian'.

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

    Прокомментируйте для файла PCAPNG в виде вектора символов или строкового скаляра.

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

    Функции объекта

    развернуть все

    writeЗапишите пакетные данные о протоколе в PCAP или файл PCAPNG
    writeCustomBlockЗапишите пользовательский блок в файл PCAPNG
    writeInterfaceDescriptionBlockЗапишите интерфейсный блок описания в файл PCAPNG

    Примеры

    свернуть все

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

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

    Запишите интерфейсный блок для Нового радио (NR) 5G. 5G пакеты NR не имеет допустимого типа ссылок. Согласно Tcpdump, если допустимый тип ссылок не присутствует, задают тип ссылки пакета SLL.

    interface = '5GNR';                                       % Interface name
    linkType = 113;                                           % Link type of SLL packet
    timestamp = 300;                                          % Timestamp
    interfaceID = writeInterfaceDescriptionBlock(pcapngObj,linkType,interface);

    5G пакеты NR непосредственно не поддерживается Wireshark. Чтобы позволить Wireshark проанализировать 5G пакеты NR, добавьте инкапсуляцию и метаданные к 5G пакет NR.

    payload = [59; 205];                                      % MAC subPDU (contains truncated buffer status report (BSR) control element)
    radioType = 1;                                            % Frequency division duplexing
    linkDir   = 0;                                            % Uplink packet
    rntiType = 3;                                             % Cell-RNTI
    startString = [109; 97; 99; 45; 110; 114];                % Tag to indicate start of NR MAC signature
    payloadTag = 1;                                           % Payload tag for NR MAC packets
    signature = [startString; radioType; linkDir; rntiType];
    macNRInfoPacket = [signature; payloadTag; payload];

    Создайте заголовок пользовательского дейтаграммного протокола (UDP).

    udpPacketLength = 8 + length(macNRInfoPacket);            % Length of header (8 bytes) and payload
    udpHeader = [163; 76;                                     % Source port number
        39; 15;                                               % Destination port number
        fix(udpPacketLength/256); mod(udpPacketLength,256);   % Total length of UDP packet
        0; 0];                                                % Checksum

    Создайте заголовок IPv4.

    ipPacketLength = 20 + udpPacketLength;                    % Length of header (20 bytes) and payload
    ipHeader = [69;                                           % Version of IP protocol and priority or traffic class
        0;                                                    % Type of service
        fix(ipPacketLength/256);mod(ipPacketLength,256);      % Total length of the IPv4 packet
        0; 1;                                                 % Identification
        0; 0;                                                 % Flags and fragmentation offset
        64;                                                   % Time to live in seconds
        17;                                                   % Protocol number
        0; 0;                                                 % Header checksum
        127; 0; 0; 1;                                         % Source IP address
        127; 0; 0; 1];                                        % Destination IP address

    Создайте заголовок SLL.

    sllHeader = [0; 0;                                        % Packet type
        3; 4;                                                 % Address resolution protocol hardware (ARPHRD) type
        0; 0;                                                 % Link layer address length
        0; 0; 0; 0; 0; 0; 0; 0;                               % Link layer address
        8; 0];                                                % Protocol type

    Создайте 5G пакет NR путем добавления инкапсуляции и метаданных.

    packet = [sllHeader; ipHeader; udpHeader; macNRInfoPacket];

    Запишите 5G пакет NR в файл PCAPNG.

    packetComment = 'This is NR MAC packet';                  % Packet comment
    write(pcapngObj,packet,timestamp,interfaceID,'PacketComment',packetComment);

    Ссылки

    [1] Tuexen, M. “Следующее поколение PCAP (Pcapng) Формат файла Получения”. 2020. https://www.ietf.org/.

    [2] Группа, Tcpdump. “Репозиторий Общественности Tcpdump/Libpcap”. Полученный доступ 20 мая 2020. https://www.tcpdump.org.

    [3] “Development/LibpcapFileFormat - Wiki Wireshark”. Полученный доступ 20 мая 2020. https://www.wireshark.org.

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

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

    Смотрите также

    Объекты

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