当前位置: 首页 > news >正文

Mallet:一款针对任意协议的安全拦截代理工具

关于Mallet

Mallet是一款功能强大的协议安全分析工具,该工具支持针对任意协议创建用于安全审计的拦截代理,该工具本质上与我们所熟悉的拦截Web代理类似,只是通用性更强。

工具运行机制

Mallet建立在Netty框架之上,并且依赖于Netty管道概念,即允许以图形方式组装处理程序图。在Netty世界中,处理程序实例提供帧分隔(即消息从哪里开始和结束)、协议解码和编码(将字节流转换为Java对象,然后再转换回来,或者将字节流转换为不同的字节流),以及更高级别的逻辑。通过仔细区分编解码器与实际操作消息的处理程序,Mallet可以从现有的大量编解码器库中受益,并避免重新实现许多协议。

Mallet 不一定只用于安全审查。由于Mallet是建立在Netty框架之上的,因此一旦使用 Mallet制作了管道原型,我们就可以毫不费力地将代码迁移到普通的Netty应用程序中。

下面给出的是一个简单的SOCKS 代理的示例,可作为我们理解Mallet处理网络流量的一个概览:

一旦我们了解了流量的实际情况,就可以开始在管道中添加适当的ChannelHandler类了。

工具要求

1、最新版本的Java运行时环境;

2、Maven;

工具安装

由于该工具基于Java开发,因此我们首先需要在本地设备上安装并配置好最新版本的Java运行时环境。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/sensepost/mallet.git

然后切换到项目目录中,使用Maven对项目源码进行编译:

cd malletmvn package

工具使用

cd target/java -jar mallet-1.0-SNAPSHOT-spring-boot.jar

项目的examples/目录中提供了一些示例图,其中JSON图要求 JSON客户端通过localhost:9998/tcp连接到 Mallet,而真实服务器则位于localhost:9999/tcp。只有最后一个JSON图(json5.mxe)对传递的 JSON消息的结构做出了任何假设,因此它们应该适用于发送JSON消息的任何应用程序。

demo.mxe显示了一张复杂的图,其中包含两个管道,即TCP和UDP。TCP管道分别支持端口80和443上的HTTP和HTTPS以及WebSockets,同时将任何其他流量直接中继到其目的地。UDP管道用于处理localhost:1053/udp上的DNS请求,将对google.com的查询替换为对www.sensepost.com的查询,并将请求转发到Google DNS服务器。

项目地址

Mallet:【GitHub传送门】

参考资料

GitHub - netty/netty: Netty project - an event-driven asynchronous network application framework

https://netty.io/

https://netty.io/4.1/api/io/netty/channel/ChannelHandler.html

相关文章:

Mallet:一款针对任意协议的安全拦截代理工具

关于Mallet Mallet是一款功能强大的协议安全分析工具,该工具支持针对任意协议创建用于安全审计的拦截代理,该工具本质上与我们所熟悉的拦截Web代理类似,只是通用性更强。 工具运行机制 Mallet建立在Netty框架之上,并且依赖于Net…...

【IEEE出版】第五届大数据、人工智能与软件工程国际研讨会(ICBASE 2024,9月20-22)

第五届大数据、人工智能与软件工程国际研讨会(ICBASE 2024)将于2024年09月20-22日在中国温州隆重举行。 会议主要围绕大数据、人工智能与软件工程等研究领域展开讨论。会议旨在为从事大数据、人工智能与软件工程研究的专家学者、工程技术人员、技术研发人…...

自修室预约小程序的设计

管理员账户功能包括:系统首页,个人中心,学生管理,公告通知管理,自修室管理,座位预约管理,预约取消管理,管理员管理,系统管理 微信端账号功能包括:系统首页&a…...

用于跟踪个人图书馆的BookLogr

什么是 BookLogr ? BookLogr 是一款网络应用,旨在帮助您轻松管理个人图书馆。这项自托管服务可确保您完全控制数据,提供安全且私密的方式来跟踪您拥有、阅读或希望阅读的所有书籍。您也可以选择向公众自豪地展示您的图书馆,与您的…...

深入解析JVM垃圾回收机制:Full GC、Minor GC与Major GC

目录 引言垃圾回收的基本概念 什么是垃圾回收GC的分类JVM内存模型 堆内存非堆内存Minor GC 触发条件运行机制对性能的影响...

Windows10点击文件夹右键卡死的解决办法

1、首先同时按下【WinR】打开运行页面,输入命令【regedit】按下回车或者点击确定。 2、打开注册表编辑器后,定位到如下位置“HKEY_CLASSES_ROOT\Directory\Background\Shellex\ContextMenuHandlers”。 3、然后在其中将所有名为“New”的文件或项全部删…...

C# 设计模式之单例模式

总目录 前言 本文是个人基于C#学习设计模式总结的学习笔记,希望对你有用! 1 基本介绍 定义:确保一个类只有一个实例,并提供一个全局访问点。 本质就是保证在整个应用程序的生命周期中,任何一个时刻,单例…...

【组合数学】【Python】【小练习】一、斯特灵近似式求阶乘

一、问题介绍 斯特灵(Stirling)近似式,是数学分析中,用于求阶乘近似值的一个常用公式,其简单的表述形式为: 二、Python实现 使用Python,循环从n1至n98,分别输出n的阶乘值、斯特灵公…...

【IEEE Fellow特邀报告,JPCS独立出版】第四届电子通信与计算机科学技术国际学术会议(ECCST 2024,9月20-22)

2024年第四届电子通信与计算机科学技术国际学术会议将于2024年9月20-22日在中国上海举行。 会议旨在为从电子与通信、网络、人工智能与计算机技术研究的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术,了解学术发展趋势,拓宽研究思…...

DockerCompose部署示例

目录 前言 1. 初识DockerCompose 2. 安装DockerCompose 3. 部署微服务项目 1)找一个目录,创建一个新的cloud-demo文件夹。 2)在cloud-demo文件夹创建一个docker-compose.yml文件,然后编写下面内容: 3&#xff09…...

【云原生】Helm来管理Kubernetes集群的详细使用方法与综合应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...

电源插头应该统一方向

大家在使用插排的时候就会发现,有的横向,有的竖向。 国家强制规定,统一方向,插排能方便使用。...

大学新生编程入门最佳攻略

引言 编程的重要性:简述编程在当今社会的地位,为何它是大学生的必备技能。目标设定:明确文章旨在帮助新生从零基础开始,逐步成长为编程高手。 方向一:编程语言选择 1. 编程语言概览 介绍几种流行语言:如…...

MySQL 的binlog 、undolog 、redolog

Binlog (二进制日志) bin Log 作用 用于记录所有修改数据库数据的 SQL 语句或行级别的变化,主要用于主从复制和数据恢复。 binlog格式 STATEMENT模式:binlog里面记录的就是SQL语句的原文。优点是并不需要记录每一行的数据变化,减少了binlo…...

【计算机网络】三次握手、四次挥手

问:三次握手 四次挥手 TCP 连接过程是 3 次握手,终止过程是 4 次挥手 3次握手 第一步:客户端向服务器发送一个带有 SYN(同步)标志的包,指示客户端要建立连接。 第二步:服务器收到客户端的请求…...

Spring Boot中的全局异常处理:@RestControllerAdvice的应用

在现代Web开发中,异常处理是一个不可或缺的部分。良好的异常处理不仅能提高系统的健壮性,还能提升用户体验。在Spring Boot中,全局异常处理的实现可以通过使用RestControllerAdvice注解来完成。本文将详细介绍如何使用RestControllerAdvice和…...

指令数据的构建

文章目录 基于现有的 NLP 任务数据集构建基于日常对话数据构建基于合成数据构建指令微调(Instruction Tuning)是指使用自然语言形式的数据对预训练后的大语言模型进行参数微调,这一术语由谷歌研究员在 2022 年的一篇 ICLR 论文中正式提出。在另外一些参考文献中,指令微调也…...

论文解读(14)-GeoCLIP

加油,加油! 原文: GeoCLIP: Clip-Inspired Alignment between Locations and Images for Effective Worldwide Geo-localization (2309.16020 (arxiv.org)) 这一篇的重点在于范围放宽到全球了 摘要 首先指出了目前…...

MySQL基础练习题16-电影评分

题目 准备数据 分析数据 总结 题目 查找评论电影数量最多的用户名。如果出现平局,返回字典序较小的用户名。 查找在 February 2020 平均评分最高 的电影名称。如果出现平局,返回字典序较小的电影名称。 准备数据 ## 创建库 create database db; u…...

CRMEB-众邦科技 使用笔记

1.启动项目报错 Unable to load authentication plugin ‘caching_sha2_password’. 参考&#xff1a;http://t.csdnimg.cn/5EqaE 解决办法&#xff1a;升级mysql驱动 <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</ar…...

npm与webpack的学习笔记

npm 定义&#xff1a;npm是Node.js标准的软件包管理器。它起初是作为下载和管理Node.js包依赖的方式&#xff0c;但其现在也已成为前端JavaScript中使用的工具。 包 包&#xff1a;将模块、代码、其他资料聚合成一个文件夹 包的分类&#xff1a; 项目包&#xff1a;主要用…...

Vue 生命周期选项:2.x 与 3.x 的全面解析及案例分享二

目录 Vue3.X生命周期 介绍 流程图 案例 ​​​​​​​this.$nextTick Vue 生命周期选项:2.x 与 3.x 的全面解析及案例分享一-CSDN博客 Vue3.X生命周期 介绍 beforeCreate:在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。此时无法访…...

Linux centos7 安装sftp

这里写自定义目录标题 指定 SSH 默认端口 (通常是22)添加自定义端口确保 SFTP 子系统配置存在匹配自定义端口的配置 在 CentOS 7 上安装 SFTP 并使用自定义端口 22345 启动&#xff0c;同时不影响现有的 SSH 登录&#xff0c;可以按照以下步骤进行配置&#xff1a; 步骤 1: 安…...

Java未来还是霸主吗?Java 在当今企业中的未来到底是什么?

Java 及其生态系统对于许多现代企业的成功至关重要。它是一种多功能语言&#xff0c;对许多用例提供强大支持&#xff0c;并具有强大的新功能来应对棘手的情况。但您可能会问自己&#xff1a;Java 的未来是什么&#xff1f; 尽管自 1999 年以来 Java 一直是软件开发领域的关键角…...

【C++】类和对象——Lesson2

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f4a5;&#x1f4a5;个人主页&#xff1a;奋斗的小羊 &#x1f4a5;&#x1f4a5;所属专栏&#xff1a;C &#x1f680;本系列文章为个人学习笔记…...

常用传感器讲解十五--触摸传感器(KY-036)

常用传感器讲解十五–触摸传感器&#xff08;KY-036&#xff09; 具体讲解 这个比较简单&#xff0c;就是触摸后给个信号 电路连接 在Arduino上将VCC引脚连接到5V。 将GND连接到Arduino的GND。 将OUT连接到Arduino上的D2 代码实现 void setup() {pinMode(2, INPUT);Seri…...

web后端--Spring事务管理

事务也要日志配置 !!!!debug前面记得加空格 logging:level:org.springframework.jdbc.support.JdbcTransactionManager: debugrollbackFor 默认情况下&#xff0c;只有出现RunTimeException才会回滚事务&#xff0c;rollbackfor属性用于控制出现何种异常类型&#xff0c;回滚…...

【Docker系列】Docker 中-d 和-it 的区别

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

PHP回收废品平台系统小程序源码

&#x1f30d;绿色行动&#xff0c;从“回收废品平台系统”开始&#xff01;&#x1f69a; &#x1f6aa;【家门口的环保站&#xff0c;废品不再无处安放】 你是否曾为家里的旧报纸、空瓶子、废旧电器等废品头疼不已&#xff0c;不知该如何处理&#xff1f;现在&#xff0c;“…...

IIS解析漏洞~ IIS7.漏洞分析

IIS解析漏洞 文件解析漏洞是由于中间件错误的将特殊格式的文件解析成可执行网页文件(脚本)&#xff0c;配合文件上传漏洞进行GetShell的漏洞&#xff01; 1.2&#xff1a;IIS7.X 在IIS7.0和IIS7.5版本下也存在解析漏洞&#xff0c;在默认Fast-CGI开启状况下&#xff0c;在一个文…...

注册网页需要多少钱/seo就业前景

燕十八-PHP公益培训-YY直播-001-开学典礼.wmv燕十八-PHP公益培训-YY直播-002-变量概念及命名规范.wmv燕十八-PHP公益培训-YY直播-003-变量类型.wmv燕十八-PHP公益培训-YY直播-004-动态变量及变量类型检测.wmv燕十八-PHP公益培训-YY直播-005-传值赋值与引用赋值.wmv燕十八-PHP公…...

郑州网站关键词推广/舆情网站直接打开的软件

为什么80%的码农都做不了架构师&#xff1f;>>> 一、准备 下载新版JDK&#xff1a;http://www.oracle.com/technetwork/java/javase/downloads/index.html 所有版本请戳&#xff1a;http://www.oracle.com/technetwork/java/archive-139210.html 二、安装与配置 先…...

在家帮别人做网站赚钱/外包公司是什么意思

文件系统类型 在windows中我们常见的磁盘格式有fat16、fat32和ntfs。但是windows的文件管理显得有些赘余&#xff0c;为打开一个文件需要打开n个地方&#xff0c;在一个角落里找。而且windows本身对于其他系统的文件格式就更差了&#xff0c;没有听说在windows里打开ext3或者ma…...

网站qq统计/河北百度推广电话

本文实例讲述了Python3使用requests模块实现显示下载进度的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;一、配置request1. 相关资料请求关键参数&#xff1a;streamTrue。默认情况下&#xff0c;当你进行网络请求后&#xff0c;响应体会立即被下载。你可以通过…...

wordpress优秀站点/seo报价单

终端输入: pip install githttps://www.github.com/keras-team/keras-contrib.git...

推荐个在广州做网站的/做app找什么公司

VS2010QT5.7opencv2.4.5图像界面第一个程序 QT最近新出了5.1.0版本&#xff0c;最近要用QT编写界面&#xff0c;所以重新下载了新的QT&#xff0c;替换了以前的Qt4.8.4. VS2015opencv2.4.5Qt4.8.4的配置过程&#xff0c;请参考博文 OpenCV2.4.5 QT4.8.4 VS2015 环境搭建 地址…...