首页 > 其他分享 >gopacket初探(2)

gopacket初探(2)

时间:2022-09-26 15:14:55浏览次数:42  
标签:文件 句柄 gopacket 写入 packet fileName 初探

昨天试验了 NgWriter 和 普通 Writer ,NgWriter 格式处理起来注意事项较多,极易出错,此处使用普通 Writer 给出说明。

首先打开文件

1 fileName := pcapDataConfigs.RecordFileNamePrefix + "-" + time.Now().Format("2006-01-02_15:04:05.999Z07") + ".pcap"
2         f, err := os.Create(fileName)
3         if err != nil {
4             logger.Fatalln("Can not create pcapng for file name: ", fileName)
5         }

然后打开写入句柄

1 r := pcapgo.NewWriter(outputPcapFile)

若该文件为新文件,则在创建句柄之后,写入任何数据报文数据之前,必须先写入头信息

1 r.WriteFileHeader(uint32(handle.SnapLen()*1), handle.LinkType())

最后根据需要写入数据报文

1 e := outputPcapHandler.WritePacket(
2                 packet.Metadata().CaptureInfo,
3                 packet.Data(),
4             )
5             if e != nil {
6                 logger.Error("write packet to output file error ", e)
7             }

然后,该文件即可使用比如Wireshark等工具打开进行分析

 

标签:文件,句柄,gopacket,写入,packet,fileName,初探
From: https://www.cnblogs.com/oilamp/p/16731011.html

相关文章

  • MySQL的主从复制和分库分表初探
    主从复制+分库分表要讲主从复制,首先来看看MySQL自带的日志文件。日志错误日志错误日志是MySQL中最重要的日志之一,它记录了当mysqld启动和停止时,以及服务器在运行......
  • 初探缓存装饰器
    平常学习过程发现了一个牛掰装饰器,在此记录下1fromfunctoolsimportlru_cache234@lru_cache()5defcount(a,b):6print("对{},{}求和".format(a,......
  • Java内部类初探
    Java内部类初探之前对内部类的概念不太清晰,在此对内部类与外部类之间的关系以及它们之间的调用方式进行一个总结。Java内部类一般可以分为以下三种:成员内部类静态内部......
  • Java面向对象初探
    Java面向对象1.类和对象1.1类和对象的概念:类是抽象的集合,对象是具体的实例。类可以想象为制作蛋糕的模具,对象就是做出来的蛋糕。类中包含属性(字段)和方法(操作)1.2类......
  • Redis 高可用方案原理初探
     Redis高可用的方案包括:持久化、主从复制(及读写分离)、哨兵和集群(Cluster)。持久化解决Redis数据的单机备份问题(从内存到硬盘的备份),数据可用性以及可靠性。主从复制......
  • ModelScope初探:一行代码调用成熟AI模型
    简介: 如何用一行代码调用成熟AI模型?试试ModelScope,让AI开发者解放生产力!ModelScope是阿里推出的下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的......
  • Transformer模块初探
    Transformer笔记前言背景 Transformer依赖于SelfAttention的知识。Attention是一种在深度学习中广泛使用的方法,Attention的思想提升了机器翻译的效果。​ 2017......
  • 【鸟哥 Linux 16】进程管理与SELinux初探
    【鸟哥Linux16】进程管理与SELinux初探一、相关概念梳理程序:一些代码段的静态集合进程:程序中静态代码段的一次动态执行子进程:在某一个进程中创建的新作业,从该......