Posted on :: Tags: ,

起因

工作中经常需要对wireshark抓取的流量包进行处理,对流量进行统计和分析,但是每一步都需要手动点击,很是麻烦(不符合笔者一切自动化的理念),因此,萌生了使用rust进行重构的想法。

流程

需要自动化的过程有以下几步:

  1. 获取pcap包
  2. 统计-端点-数据量由大到小-csv复制
  3. 保存为ip.csv

上述过程其实最简便的方法是使用python编写脚本即可,但是我考虑的是做一个可视化界面,达到可以用鼠标拖动文件,点击解析,就可以解析完成的效果。另外就是学习一下rust的可视化框架开发。 选来选去,最后选择了tauri框架。

Tauri

Tauri是一套框架,用于开发桌面应用程序,强调轻量级,跨平台的桌面应用。Tauri采用rust后端,web前端相结合的方式。

Tauri后端的rust核心库自带窗口管理,操作系统交互,文件系统访问等功能。前端则是采用传统的HTML,CSS编写。

重点在于,当用户需要扩展功能时,可扩展rust API,然后使用命令机制和前端进行通信:Tauri的命令系统允许在 Rust 后端定义自定义命令,并通过 API 使这些命令对前端可用。可以将 Rust 中的功能暴露给前端调用,然后前端通过Tauri的JavaScript API 调用这些功能。

Tauri Demo

由于笔者没有开发过windows图形程序,所以本节可能要分成两部分来描述,第一部分是前端的开发,第二部分是rust库开发。以下前提是前端和后端开发环境都OK

demo功能主要注重整体框架的编写和编译,目标是前端页面上传一个txt文件,后端接收这个文件,然后将其;内容添加123123,再传递给前端,前端提供上传和下载按钮。

前端

使用传统的HTML,JS进行页面的开发

后端

编译问题:

windows安装rust开发环境,安装完成后会同时安装visual studio,还要安装node.js,以及pnpm,然后按照官方教程进行demo运行,保证开发环境是正常的。

pcap依赖:首先要安装Npcap,注意要勾选Winpcap API模式,另外如果编译时没有找到wpcap.lib,那么就需要下载Npcap sdk,并将wpcap.lib复制到vs的VC目录下lib文件夹内才可以正常编译.

Copyright 2025 wakamda 冀ICP备2025102883号-1