Hobby脚本自动化工具
Hobby脚本自动化工具
功能简介:可以按照指定编排的配置文件,按顺序执行并监听
使用场景:可以用在前期信息收集的步骤上,将一些常见的脚本进行归纳,并编写成配置文档进行自动化处理
优点:可以扩展性强,只需要输入命令脚本,命令是多种多样的,但有些工具中执行的命令是固化的
缺点:内置转化工具少,如果输出的文档不能是指定的名称,则工具在自动化链条上无法进行有效连接
详细介绍:
此工具分为 hobby.exe + go.html 组成,go.html为配置文件
文件格式为xml格式
以下是示例
<!-- 配置文件说明
<process> 每个都是一个步骤<tag></tag> 必需值 由大到小依次执行,如果相同则并发<thread></thread> 多开进程(注意是进程)数量(脚本无法使用)搭配<thread-content> | <thread-out>使用<thread-out><thread-out> 目标输出文件地址<thread-content></thread-content> 目标输入文件地址<cmd></cmd> 命令脚本,如果无法执行就填写绝对值路径,也可以用相对路径<plugin></plugin> 自带脚本命令,可以使用-hp查看
</process> -->
<root><process><tag>1</tag><thread>5</thread><thread-content>./ip.txt</thread-content><thread-out>./444.txt</thread-out><cmd>python g2.py -s ./ip.txt -o ./444.txt</cmd></process><process><tag>1</tag><thread>1</thread><thread-content></thread-content><thread-out></thread-out><cmd>python g1.py -t 2</cmd></process><process><tag>2</tag><plugin>{csvbyname2txt ip_fofa_output.csv domain fofa.txt}</plugin></process><process><tag>2</tag><plugin>{csvbycol2txt ip_fofa_output.csv 1 fofa2.txt}</plugin></process></root>
以上这个配置文件,描述了一个自动化脚本执行的过程
可以简单叙述成
在同一时间执行 python g2.py -s ./ip.txt -o ./444.txt 和 python g1.py -t 2 ,并且在第一个命令中对其使用多进程,并发数为5,即同时存在5个进程,并且将自动拆分输入文件,以及自动合并输出文件
在以上步骤运行结束后,同时运行{csvbyname2txt ip_fofa_output.csv domain fofa.txt}自带脚本命令,可以在-ph中查看,例如
PS C:\Users\Administrator\Desktop\Hobby> go run .\main.go -ph
使用例子:{csvbyname2txt fofa.csv domain fofa.txt}
解释:将fofa.csv中名为domain列的内容导出为fofa.txt(已去重)脚本说明:
原型:csvbycol2txt(fileName string, columnIndex int, outputFileName string)
原型:csvbyname2txt(fileName string, columnName string, outputFileName string)
整个程序运行过程
PS C:\Users\Administrator\Desktop\Hobby> go run .\main.go
(线程1)[执行中...]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_2.txt -o ./cache/bb96c7d7-7cd6-4f/444_2.txt} >> {225296 4 11}
(线程3)[执行中...]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_4.txt -o ./cache/bb96c7d7-7cd6-4f/444_4.txt} >> {231892 4 11}
(线程0)[执行中...]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_1.txt -o ./cache/bb96c7d7-7cd6-4f/444_1.txt} >> {221688 4 11}
[执行结束]{python g1.py -t 2}
(线程2)[执行中...]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_3.txt -o ./cache/bb96c7d7-7cd6-4f/444_3.txt} >> {234736 4 11}
(线程4)[执行中...]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_5.txt -o ./cache/bb96c7d7-7cd6-4f/444_5.txt} >> {227760 4 11}
(线程1)[执行结束]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_2.txt -o ./cache/bb96c7d7-7cd6-4f/444_2.txt}
(线程0)[执行结束]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_1.txt -o ./cache/bb96c7d7-7cd6-4f/444_1.txt}
(线程4)[执行结束]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_5.txt -o ./cache/bb96c7d7-7cd6-4f/444_5.txt}
(线程3)[执行结束]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_4.txt -o ./cache/bb96c7d7-7cd6-4f/444_4.txt}
(线程2)[执行结束]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_3.txt -o ./cache/bb96c7d7-7cd6-4f/444_3.txt}
[结果聚合完成]{python g2.py -s ./ip.txt -o ./444.txt}
[脚本执行结束]{csvbycol2txt ip_fofa_output.csv 1 fofa2.txt}
[脚本执行结束]{csvbyname2txt ip_fofa_output.csv domain fofa.txt}
以下是hobby的其他功能
PS C:\Users\Administrator\Desktop\Hobby> go run .\main.go -h
Usage of C:\Users\ADMINI~1\AppData\Local\Temp\go-build2016420776\b001\exe\main.exe:-c string配置文件地址 (default "go.html")-ph显示插件信息-t int进程显示刷新时间 (default 2)
相关文章:
Hobby脚本自动化工具
Hobby脚本自动化工具 功能简介:可以按照指定编排的配置文件,按顺序执行并监听 使用场景:可以用在前期信息收集的步骤上,将一些常见的脚本进行归纳,并编写成配置文档进行自动化处理 优点:可以扩展性强&am…...
Matlab随机数的产生
1、常见分布随机数的产生 1.1 二项分布 在贝努力试验中,某事件A发生的概率为p,重复该实验n次,X表示这n次实验中A发生的次数,则随机变量X服从的概率分布律(概率密度)为 记为 binopdf(x,n,p) p…...
计算机网络 第四章:网络层
一.网络层概述 1.1分组转发和路由选择 网络层的主要任务就是将分组从源主机经过多个网络和多段链路传输到目的主机,可以将该任务划分为分组转发和路由选择两种重要的功能。 如图所示:这些异构型网络如果只是需要各自内部通信,那它们只需要实…...
分享一个docker无法启动的小问题
准备看看docker服务怎么样 [rootlocalhost ~]# docker ps Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 这一看就是docker的进程崩了,我们启动下进程 [rootlocalhost ~]# systemctl start docker Faile…...
Linux 安全 - Capabilities机制
文章目录 前言一、简介二、Capabilities list2.1 POSIX-draft defined capabilities2.2 Linux-specific capabilities 三、 Past and current implementation四、Thread capability sets五、File capabilities六、Transformation of capabilities during execve()七、Capabilit…...
分布式搜索引擎es-3
文章目录 数据聚合聚合的种类RestAPI实现聚合 数据聚合 什么是聚合? 聚合可以让我们极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎?这些手机的平均价格、最高价格、最低价格?这些手机每月的销售情况如…...
Matlab坐标轴标签中文设置宋体
对y坐标输出中文宋体 新罗马字符 x[1,2,3,4,5,6,7]; plot(x) ylabel(\fontname{宋体}\fontsize{20}长度\fontname{Times New Roman}\fontsize{10} (μm))可以灵活设置字体和大小,其图片如下图所示 也可以对全图的文字设置同一个字体 set(gca,FontSize,9,Fontname, Times New…...
做一个贪吃蛇小游戏happy一下
直接Vue上代码 <template><div><div>贪吃蛇</div><canvas id"canvas" width"400" height"400"></canvas></div> </template><script> export default {data() {return {ctx: null,inter…...
opencv形态学-膨胀
opencv形态学-膨胀 膨胀就是取每一个位置结构元邻域内最大值作为该位置的输出灰度值; 膨胀是取邻域内最大值,那么显然膨胀后图像整体亮度会比原先要高,图像中亮的物体尺寸会变大,相反暗的尺寸会减小,甚至是消失 结构元…...
玄子Share 设计模式 GOF 全23种 + 七大设计原则
玄子Share 设计模式 GOF 全23种 七大设计原则 前言: 此文主要内容为 面向对象七大设计原则(OOD Principle)GOF(Gang Of Four)23种设计模式拓展的两个设计模式 简单工厂模式(Simple Factory Pattern&#x…...
单链表操作 C实现
struct LNode { //定义一个节点 int data; //数据域 struct LNode *next; //指针域 }; 0.初始化 typedef sturct LNode{ //定义单链表结点类型 int date ; //每个结点存放一个数据元素struct LNode *next; //指针指向下…...
WordPress主题网站首页添加好看的四格小工具教程
直接到网站根目录创建一个css文件(文件名:sige.css),文件名可自定义(注意文件名一致) <link rel"stylesheet" href"你的网站/sige.css" type"text/css" > 然后在header.php模板最上方添加引入代码 也可自定义HTML里添加css代码最上方写…...
unittest自动化测试框架讲解以及实战
为什么要学习unittest 按照测试阶段来划分,可以将测试分为单元测试、集成测试、系统测试和验收测试。单元测试是指对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作,通常指函数或者类,一般是开发完成的。 单元…...
数学建模之Matlab基础操作
作者由于后续课程也要学习Matlab,并且之前也进行了一些数学建模的练习(虽然是论文手),所以花了几天零碎时间学习Matlab的基础操作,特此整理。 基本运算 a55 %加法,同理减法 b2^3 %立方 c5*2 %乘法 x 1; …...
【Nuxt】04 Nuxt2-SEO: sitemap.xml、seo优化、robots.txt
1 SiteMap设置 环境准备 注意生成sitemap依赖于nuxtjs/sitemap,并且需要用axios进行请求,不要使用nuxtjs/axios,不然会报错 sitemap.xml配置 在nuxt.config.js中配置下面的内容 npm install nuxtjs/sitemap npm install axios在static/s…...
VMware VSAN 入门
一、虚拟化的存储 1.1、对于数据中心来说最重要的是数据,而承载数据的设备就是存储设备(Storage) 1.2、物理服务器的本地存储阵列 与 虚拟化服务器的本地存储阵列 对比 1.3、避免单台服务器故障的虚拟化高级特性:vSphere HA技术 …...
【设计模式】备忘录模式
文章目录 1.备忘录模式定义2.备忘录模式的角色3.备忘录模式实现3.1.场景说明3.2.结构类图3.3.代码实现 4.备忘录模式优缺点5.备忘录模式适用场景6.备忘录模式总结 主页传送门:💁 传送 1.备忘录模式定义 备忘录(Memento Pattern)模…...
vue3+elementUiPlus表格导出功能
1.下载需要的组件包 npm install file-saver xlsx 2.页面中导入 import FileSaver from file-saver import * as XLSX from xlsx; 3.页面中的表格加一个id <el-table :data"tableData" ref"multipleTableRef" style"width…...
专题五:优先级队列
"你了解我,最干净的轮廓, 握住小小风车和放肆的梦~" 堆是一个不错的数据结构,而在计算机中,无法表示二叉分支结构,因此我们经常会看到使用线性表来作为堆的存储容器。在接触堆的时候,我们是把它…...
游戏设计模式专栏(一):工厂方法模式
引言 大家好,我是亿元程序员,一位有着8年游戏行业经验的主程。 本系列是《和8年游戏主程一起学习设计模式》,让糟糕的代码在潜移默化中升华,欢迎大家关注分享收藏订阅。 在游戏开发中,代码的组织和结构对于项目的可…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...
WebRTC调研
WebRTC是什么,为什么,如何使用 WebRTC有什么优势 WebRTC Architecture Amazon KVS WebRTC 其它厂商WebRTC 海康门禁WebRTC 海康门禁其他界面整理 威视通WebRTC 局域网 Google浏览器 Microsoft Edge 公网 RTSP RTMP NVR ONVIF SIP SRT WebRTC协…...
链式法则中 复合函数的推导路径 多变量“信息传递路径”
非常好,我们将之前关于偏导数链式法则中不能“约掉”偏导符号的问题,统一使用 二重复合函数: z f ( u ( x , y ) , v ( x , y ) ) \boxed{z f(u(x,y),\ v(x,y))} zf(u(x,y), v(x,y)) 来全面说明。我们会展示其全微分形式(偏导…...
Yii2项目自动向GitLab上报Bug
Yii2 项目自动上报Bug 原理 yii2在程序报错时, 会执行指定action, 通过重写ErrorAction, 实现Bug自动提交至GitLab的issue 步骤 配置SiteController中的actions方法 public function actions(){return [error > [class > app\helpers\web\ErrorAction,],];}重写Error…...
C#最佳实践:为何优先使用as或is而非强制转换
C#最佳实践:为何优先使用as或is而非强制转换 在 C# 的编程世界里,类型转换是我们经常会遇到的操作。就像在现实生活中,我们可能需要把不同形状的物品重新整理归类一样,在代码里,我们也常常需要将一个数据类型转换为另…...
