主要内容

pcapngWriter

协议包的PCAPNG文件写入器

    描述

    pcapngWriter对象将生成和恢复的协议数据包写入数据包捕获下一代(PCAPNG)文件(.pcapng).

    你可以把这些包类型写到PCAPNG文件中:

    • 生成并恢复5G NR协议报文

    • 生成和恢复WLAN协议数据包(需要WLAN工具箱™)

    • 蓝牙LE (low energy)链路层(link layer)报文的生成和恢复蓝牙®工具箱

    创建

    描述

    pcapngObj= pcapngWriter创建一个默认的PCAPNG文件写入器对象。

    例子

    pcapngObj= pcapngWriter (名称,值属性使用一个或多个名称-值对参数。将每个属性名用引号括起来。例如,“ByteOrder”、“大端法”指定字节顺序为大端序。

    属性

    全部展开

    请注意

    pcapngWriter对象不会覆盖现有的PCAP或PCAPNG文件。每次创建此对象时,请指定唯一的PCAP或PCAPNG文件名。

    PCAPNG文件的名称,指定为字符行向量或字符串标量。

    数据类型:字符|字符串

    字节顺序,指定为“低位优先”“大端法”

    数据类型:字符|字符串

    注释的PCAPNG文件,指定为字符向量或字符串标量。

    数据类型:字符|字符串

    对象的功能

    全部展开

    将协议包数据写入PCAP或PCAPNG文件
    writeCustomBlock 将自定义块写入PCAPNG文件
    writeInterfaceDescriptionBlock 将接口描述块写入PCAPNG文件

    例子

    全部折叠

    创建一个PCAPNG文件编写器对象,指定PCAPNG文件的名称。

    pcapngObj = pcapngWriter(“文件名”“样本”);

    编写5G新无线电(NR)接口块。5G NR报文没有有效的链路类型。根据Tcpdump,如果没有有效的链路类型,则指定SLL报文的链路类型。

    界面=“5 gnr”%接口名称linkType = 113;% SLL报文的链路类型时间戳= 300;%的时间戳interfaceID = writeInterfaceDescriptionBlock(pcapngObj,linkType,interface);

    Wireshark不直接支持5G NR报文。金宝app为了使Wireshark能够解析5G NR报文,需要在5G NR报文中添加封装和元数据。

    有效载荷= [59;205);MAC子pdu(包含截断缓冲区状态报告(BSR)控制元素)radioType = 1;分频双工linkDir = 0;%上行报文rntiType = 3;% Cell-RNTIstartString = [109;97;99;45;110;114);%标记表示NR MAC签名的开始payloadTag = 1;NR MAC报文的有效载荷标签签名= [startString;radioType;linkDir;rntiType];macNRInfoPacket =[签名;payloadTag;有效载荷);

    构造一个用户数据报协议(UDP)头。

    udpPacketLength = 8 + length(macNRInfoPacket);报头长度(8字节)和有效负载udpHeader = [163;76;源端口号%39;15;%目的端口号修复(udpPacketLength / 256);国防部(udpPacketLength, 256);% UDP报文总长度0;0);%校验和

    构造IPv4报头。

    ipPacketLength = 20 + udpPacketLength;报头长度(20字节)和有效负载ipHeader = [69;IP协议版本、优先级或流量类0;%服务类型修复(ipPacketLength / 256);国防部(ipPacketLength, 256);% IPv4报文总长度0;1;%识别0;0;标志和碎片偏移量64;时间以秒计算17;协议号0;0;报头校验和127;0;0;1;%源IP地址127;0;0;1);%目的IP地址

    构造一个SLL标头。

    sllHeader = [0;0;报文类型3;4;地址解析协议硬件(ARPHRD)类型0;0;%链路层地址长度0;0;0;0;0;0;0;0;链路层地址8;0);协议类型

    通过添加封装和元数据构造5G NR报文。

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

    将5G NR报文写入PCAPNG文件。

    packetComment =“这是NR MAC数据包”数据包注释%写(pcapngObj、分组、时间戳、interfaceID“PacketComment”, packetComment);

    参考文献

    [1]Tuexen, M.“PCAP下一代(Pcapng)捕获文件格式。2020。https://www.ietf.org/

    [2]组,Tcpdump。“Tcpdump/Libpcap公共存储库。”2020年5月20日访问。https://www.tcpdump.org

    [3]开发/LibpcapFileFormat - Wireshark Wiki2020年5月20日访问。https://www.wireshark.org

    扩展功能

    C/ c++代码生成
    使用MATLAB®Coder™生成C和c++代码。

    版本历史

    R2020b中介绍

    另请参阅

    对象