抓包软件

我要开发同款
皮皮龙03242023年11月03日
120阅读
开发技术java
所属分类web

作品详情

项目描述:基于 Pcap4j+kryo+mmap 内存映射+WebSocket+SpringBoot+Thymeleaf 实现的抓包软件,项目包含实时抓取并显示网络
数据包、数据包各协议栈解析、过滤数据包、数据导入\导出 pcap 格式文件、网卡选择等功能模块
项目难点(个人职责):
1. 通过生成语法树的方式解析、验证过滤规则,使用责任链设计模式对已捕获和未捕获的数据包进行过滤,并用缓存存储对已捕
获数据包解析期间产生的新数据包,防止信息错位
2. 数据包导入\出:允许用户将捕获的数据包导出 pcap 格式文件,方便离线分析和共享。并支持静态 pcap 文件的解析
3. 使用 Pcap4j底层库获取网卡信息,根据用户选择要监听的网卡,对网卡中的数据包实时捕获,并用 WebSocket 协议推送给前端
显示
4. 使用 HashMap 集合缓存数据地址,解决 DNS 协议的域名压缩存储方式
5. 使用观察者设计模式,实现相关 listener 对抓取的数据包进行监听、处理,降低对象耦合,实现事件驱动
6. 基于 SPI 机制给用户提供自定义解析接口,使用 starter 的形式实现每个协议解析,实现功能的动态扩展和解耦,提高代码的可
维护性和可扩展性
性能优化:
1. 使用零拷贝优化序列化后的数据包对象存储过程,减少 IO 执行时间和频繁的用户态内核态切换
2. 使用 Kryo 序列化组件,优化了数据包对象序列化的过程
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论