程序员必备的数据处理神器-瑞士军刀cyberchef

本文将介绍一款强大的工具,囊括了网络世界范围内绝大数据的编解码技术,加解密技术,数格式转换技术,并提供了编码和解码,加解密以及数据转换的方法方法。对于程序员,这一一款不可多得的神器,在也不用为了搜索base64,URL编解码,各种加解密,时间转换的在线网站了发愁了。当然如果想要了解编解码原理的,可以移步我的专栏,《各种编码》中,介绍了base64编解码,URL编解码,ch和hex编解码,gzip压缩,UTF8编码,chunk传输编码等多种的网络编解码技术的原理,以及如何编写程序实现编码后数据的解码。

Cyberchef简介

Cyberchef是一款由gchq编写的开源网络数据处理工具,旨在为IT从业者尤其是安全专业人员提供直观且可定制的数据处理解决方案。其图形用户界面和模块化的设计使用户能够通过简单的拖放操作执行各种数据加密、解密、编码、解码、哈希等操作,而无需编写复杂的脚本。Cyberchef的主要功能如下:

  • 编码和解码。提供广泛的编码和解码操作,包括Base64、URL编码、HTML实体编码等。
  • 解密和加密: CyberChef可用于解密加密的文本或文件,也可以执行数据加密操作,支持多种加密算法。
  • 文本和文件处理:执行文本和文件的搜索、替换、提取等操作,还可以进行数据格式转换。
  • 哈希计算:支持多种哈希算法,用户可以计算文件或文本的哈希值,用于数据完整性验证。
  • 网络流量分析:处理和分析网络流量,包括HTTP请求、响应等,用于网络流量分析。
    在这里插入图片描述
    图1
    cyberchef的使用非常简单,operations部分是其提供的功能,可以看有非常多的分类,支持常见的编解码方法,多种加解密算法,支持网络领域常见的二进制,十六进制等多种格式,甚至还提供了很多小功能,IP以及日期的转换等。总之,凡是和网络数据处理相关的,第一时间都可以使用cyberchef进行尝试,源码这里。

Cyberchef使用举例

下面将对Cyberchef的主要功能通过具体的数据做一下介绍。

网络协议数据解析举例

IP地址有16个字节,里面蕴含信息比较多,不可能全部都记住,这个时候需要借助cyberchef来进行解析,如下:
在这里插入图片描述
图2
cyberchef支持的网络功能非常多,详见networking部分内容,图2可以看到一串16字节的IPV6地址经过解析之后是teredo tunneling的IPv6地址,包含了客户端和服务端的IPV4地址。
关于网络协议如果想要深入的了解,可以参考我的专栏《网络攻防协议实战分析》,这里。

编解码举例

在这里插入图片描述
图3

你一定在网络数据包或者其他的poweshell等脚本等遇到过这样的场景,看着很像base64的编码,但是实际上使用诸多的base64工具解码不成功,cyberchef给出了答案。base64编码的由于基础字符集等原因存在着多种的变化,例如base64 standard以及url safe基础字符集就存在着一定的差别。有了cyberchef就能编码之后的数据,通过尝试解码出原始字符,概率大大提升。如果不是cyberchef,相信绝大多数的同学还不知道base64有这么多种变化。当然除了base64,cyberchef还提供base32,base45,base58,base62,base64,base85等非常多的非主流编解码功能,各种数据格式,例如二进制,16进制之间的转换,URL,HTML编码等,这一点可以在 data format部分一点点探索。

网络流量中经常出现被base64等方式编码的数据,经过解码之后的网络数据,就能够明显看出对应的数据是否存在威胁,关于网络数据包的威胁分析,详见我的专栏《安全运营之网络攻击研判分析》,这里,相信有了该工具,网络威胁分析如虎添翼。

网络数据包解压缩举例

相信在使用wireshark分析数据的时候,一定会经常遇到数据看不同的情况,图2展示的是base64编码的情况,属于其中一种场景。同时网络数据包还可能使用gzip等压缩方式,进行传输,关于压缩这块的原理,参考网络传输中的那些编码之-gzip编码,见这里。网络数据包和复杂,有如下几种场景:

  • wireshark经常出现解码出错的情况,
  • wireshark目前只针对HTTP提供gzip 的解压缩能力
  • 压缩方式也是多变,wireshark支持部分
    面对这些,wireshark只能通过编写Lua插件进行解决,详见wireshark的专栏《Wireshark从入门到精通》,这里,但是cyberchef都做很好的应对,如下图:
    在这里插入图片描述
    图4
    图4支持直接从wireshark中导出hexdump的数据,但是要在recipe中声明其数据格式为Hexdump,然后压缩算法可以选择zlib,gzip,gunzip,zip,unzip,bzip等多种方式。

时间转换举例

时间转换也是一个非常常见的场景,例如unix秒格式的时间戳转换成标准的日期格式,不同日期格式和时区之间的转换等,如下:
在这里插入图片描述
图5
在这里插入图片描述
图6
图5是批量将多个unix时间戳格式的时间转换成为可读的格式,可以看到使用了fork功能按照换行符进行切割,然后使用From Unix timestamp组件将其转换为windows文件的时间格式,连个功能组件搭配使用。
图6是将UTC的时间转换为澳大利亚的时间,这个功能也是非常的使用,对于跨时区工作的小伙伴比较友好。

数据加解密举例

很多的时候一串经过加密二进制数据,无论是存储在文件中还是通过网络传输,必须进行解密才能了解原本的内容,如下:
在这里插入图片描述
图7
在这里插入图片描述
图8
图7中输入的数据前32个字节是IV信息,因此使用register组件提取出前32个字节的内容,并赋值给变量R0。同时解密的输入需要去除前32个字节的内容,因此使用drop bytes组件。最后给AES组件输入HEX格式秘钥,设置好对应的配置,就可以完成解密。整体来说cyberchef的功能考虑的十分全面,还加入了变量,具备可编程的能力。
图8是类似的功能,只是图7的密码使用URL中的key参数进行传输,同样使用register组件提取秘钥,赋值给R0变量。然后提取出data的数据部分作为RC4组件的输入,配置RC4组件的秘钥为R0,即可完成机密工作。

汇编指令显示举例

cyberchef提供的功能非常强大,有很多意想不到的能力,如下:
在这里插入图片描述

图9
图9汇总讲一段16进制数据,该数据可能是文件中截取的数据,也可能是数据包中共截取的数据,然后通过RC4组件的解密后没,通过disassemble x86组件以x86架构的的指令集形式进行展示。该功能可以将网络传输和文件中的二进制片段解释称有意义的内容,非常强大。

总结

CyberChef作为一款功能强大的数据处理工具,为处理和分析网络数据提供了直观且高效的解决方案。无论是初学者还是专业研究人员,都可以通过CyberChef更轻松地执行各种网络数据操作,是一款程序员必备的工具。

本文为CSDN村中少年原创文章,未经允许不得转载,博主链接这里。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/282525.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

<Icon-ResizER>support

If you get any questions in using app, email me caohechunhotmail.com.

OPenGL GLSL

shji 数据类型 整型(有符号/无符号) 浮点数(单精度) 布尔值 向量类型/矩阵类型 bool bDone false int value 1; unint vale 21u float value 2.1 向量/分量类型 vec2,vec3,vec4 2分量 3 分量 4 分量复电向量 i…

深入了解小红书笔记详情API:为内容创新提供动力

一、小红书笔记详情API简介 小红书笔记详情API是一种允许开发者访问小红书平台上的笔记详细数据的接口。通过这个API,我们可以获取笔记的标题、内容、标签、点赞数、评论数等详细信息。这些数据对于内容创作者和品牌来说至关重要,可以帮助他们了解用户喜…

day13--JDK8~17新特性(上):

第18章_JDK8-17新特性(上) 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 本章专题与脉络 1. Java版本迭代概述 1.1 发布特点(小步快跑,快速迭代…

Java技术栈 —— Nginx的使用

Java技术栈 —— Nginx的使用 一、认识Nginx二、搭建Nginx环境2.1 在Ubuntu上安装Nginx 三、使用Nginx3.1 配置负载均衡(HTTP) 一、认识Nginx 企业需要运行多个相同的副本,并将负载分散在整个系统集群上,为了高性能的负载均衡,引入了Nginx代…

vue实现滑动切换:切换选项时滑块有滑动过渡的效果

效果图 思路: 1. 高亮的色块是独立的一个盒子,需要插入当前激活的内容用来撑开色块盒子的宽度,这样色块的宽度就会和当前激活的内容宽度一致,色块的字体颜色设置透明即可 2. 色块滑动的距离是读当前激活元素的offsetLeft&#x…

UG装配-接触对齐

UG装配约束命令在如下位置 首选接触:含接触和对齐,自动判断两种类型 接触:约束对象使其曲面法向在相反方向,并共面或共线 对齐:约束对象使其曲面法向在同一方向,并共面或共线 自动判断中心/轴&#xff1…

RK3568笔记七:yolov5-seg实例分割测试验证

若该文为原创文章,转载请注明原文出处。 记录的目的是想在RK3568上实现实例分割,在github的rknn_mode_zoo仓库里看到了例子,带着疑问测试了一下,结果跑通了,这里记录下全过程。 一、环境 1、硬件:正点原…

kafka 的零拷贝原理

文章目录 kafka 的零拷贝原理 今天来跟大家聊聊kafka的零拷贝原理是什么? kafka 的零拷贝原理 零拷贝是一种减少数据拷贝的机制,能够有效提升数据的效率;   在实际应用中,如果我们需要把磁盘中的某个文件内容发送到远程服务器上…

深度学习 | 注意力机制、自注意力机制

卷积神经网络的思想主要是通过卷积层对图像进行特征提取,从而达到降低计算复杂度的目的,利用的是空间特征信息;循环神级网络主要是对序列数据进行建模,利用的是时间维度的信息。 而第三种 注意力机制 网络,关注的是数据…

2023-12-20 LeetCode每日一题(判别首字母缩略词)

2023-12-20每日一题 一、题目编号 2828. 判别首字母缩略词二、题目链接 点击跳转到题目位置 三、题目描述 给你一个字符串数组 words 和一个字符串 s ,请你判断 s 是不是 words 的 首字母缩略词 。 如果可以按顺序串联 words 中每个字符串的第一个字符形成字符…

使用频率分析求周期性

通常很难通过观察时间测量值来表征数据中的振荡行为。频谱分析有助于确定信号是否为周期性信号并测量不同周期。 办公楼内的温度计每半小时测量一次室内温度,持续四个月。加载数据并对其绘图。将温度转换为摄氏度。测量时间以周为单位。因此,采样率为 2 …

洛谷:集合与差分

1.学籍管理(map&#xff09; #include<iostream> #include<map> #include<string> using namespace std; map<string,int>a; int n; string name; int op,score; int main() {cin>>n;for(int i1;i<n;i){cin>>op;if(op!4)cin>>na…

异常检测 | Matlab基于GNN图神经网络的数据异常数据检测

异常检测 | Matlab基于GNN图神经网络的数据异常数据检测 目录 异常检测 | Matlab基于GNN图神经网络的数据异常数据检测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 Matlab基于GNN图神经网络的数据异常数据检测。其核心思想是学习一个函数映射。本次使用人类活…

Powermill各版本安装指南

下载链接 https://pan.baidu.com/s/1CsrYEUQNmDa820RxDV2G6Q?pwd0531 1.鼠标右击【PowerMill2024(64bit)】压缩包&#xff08;win11及以上系统需先点击“显示更多选项”&#xff09;【解压到 PowerMill2024(64bit)】。 2.打开解压后的文件夹&#xff0c;双击打开【Setup】文…

70内网安全-域横向内网漫游Socks代理隧道技术(下)

这节课解决代理的问题&#xff0c; 他是内网里面的穿透技术&#xff0c;隧道主要安全设备和流量监控的拦截问题&#xff0c;我们在做渗透的时候需要回显数据或者一些重要的信息&#xff0c;走的协议不一样&#xff0c;tcp/ip有七层&#xff0c; 在不同层里面有不同的协议&…

flowable工作流看这一篇就够了(进阶篇 下)

目录 三、多人会签 3.1、多实例介绍 3.2、基本应用 案例一&#xff08;静态指定数量&#xff09; 案例二&#xff08;动态数量和指派审批人&#xff09; 案例三&#xff08;表达式方式&#xff09; 案例四&#xff08;Java方法控制完成条件&#xff09; 3.3、服务任务 …

加入近屿智能OJAC的AIGC星辰大海深度训练营:开启您的AI大模型之旅!

成为AI领域的专家吗&#xff1f;想要实现升职加薪吗&#xff1f;加入第六期近屿智能OJAC第六期AIGC星辰大海&#xff1a;大模型工程师与产品专家深度训练营&#xff0c;正是你学习AIGC技术&#xff0c;实现转型的绝佳机会。在这里&#xff0c;不仅是学习&#xff0c;更是您职业…

亲爱的程序猿们,元旦快乐!

新年祝福 在这个充满欢笑和祝福的日子里&#xff0c;我想对你们说&#xff1a; 新的一年&#xff0c;愿你们像代码一样充满逻辑&#xff0c;像算法一样追求高效&#xff0c;像编程语言一样多样化&#xff01; 2024年即将到来&#xff0c;预测几个行业趋势&#xff1a; 人工…

【数据结构】排序之交换排序(冒泡 | 快排)

交换目录 1. 前言2. 交换排序3. 冒泡排序3.1 分析3.2 代码实现 4. 快速排序4.1 hoare版本4.1.1 分析4.1.2 hoare版本代码 4.2 挖坑法4.2.1 分析4.2.2 挖坑法代码实现 4.3 前后指针版本4.3.1 分析4.3.2 前后指针版本代码实现 1. 前言 在之前的博客中介绍了插入排序&#xff0c;…