首页 > 其他分享 >使用ELK搭建社工库

使用ELK搭建社工库

时间:2023-08-03 17:36:28浏览次数:71  
标签:ELK 9200 Kibana 社工 Logstash ES 搭建


ELK是什么东西?

ELK是ElasticSearch、Logstash、Kibana三个应用的缩写。 ElasticSearch简称ES,主要用来存储和检索数据。Logstash主要用来往ES中写入数据。Kibana主要用来展示数据。


为什么用ELK?

传统的社工库通常用MySQL数据库来进行搭建,在相当大的数据下检索效率非常低下。在这种关系型数据库中进行查询需要明确指定列名。而在ES中可用全文 检索,并且在大数据的查询中的响应几乎都是毫秒级的,速度相当之快!ELK原本用在日志的大数据收集和分析,其可怕的速度作为社工库也是一种不错的选择。


安装和配置

前提你需要一个很大的硬盘,大约社工库容量2.5倍的硬盘(ES会创建相关索引)。

你需要安装java至少7以上的版本。并且配置JAVA_HOME环境变量.

因为安装非常简单,只需要下载相应的压缩文件,解压即可。在此不再赘述。

我此次演示的环境在Windows8.1上,ES在Linux中不能使用root权限运行。

ES 2.0.0  Logstash 2.0.0  Kibana 4.2.0

修改配置文件:

ES/config/elasticsearch.yml

cluster.name: esdemo (集群的描述信息)

node.name: 63 (节点名称)

network.host: 192.168.1.5 (绑定的IP地址)

http.port: 9200 (端口号 默认9200)

一些Linux环境需要修改 ES/bin/elasticsearch 文件 增加

export JAVA_HOME=JDK路径

启动 ES/bin/elasticsearch或者elasticsearch.bat 即可启动

然后访问 http://localhost/IP:9200 可查看是否正常运行


Kibana/config/kibana.yml

elasticsearch.url: "http://192.168.1.5:9200" 指定ES地址

执行Kibana/bin/kibana 或者 kibana.bat启动

查看 http://localhost:5601 是否正常启动


ElasticSearch 天生就很好的支持分布式,如果环境允许可以多使用几台负载。


为了方便理解 把ES中的一些概念和MySQL进行对比

ES  index(索引)  type(类型)  document(文档)                field(字段)

MySQL database  table                row                column


社工库搭建

以上工作准备完成之后,就该进入搭建的阶段了.首先确定有哪些列名存在ES中,我自己存了10列,给大家做个参考.

nickname(昵称)、password(密码)、email(邮箱)、qq(QQ号)、telno(手机号码)、idno(身份证号码)、 realname(真实姓名)、address(家庭住址)、salt(盐值)、from(数据来源)。相对来说我这样划分的还是蛮详细的。但是在用 Logstash写入ES的过程当中就比较费时了。其实如果想偷懒,完全可以把现有的数据只作为一个field写入,也是可以查询出来的。但是这样会比较 乱,看着很不舒服。

我现在的主要做法是对一些现有的CSV文件,使用脚本进行清洗,洗成我规定的这些字段的格式。如果是.sql文件,则直接丢进mysql,然后再导出 csv文件。也就是说不同的网站数据库最终全部是csv文件,并且是格式相同的csv。有字段不存在的则使用空字符替代。这样的话,可以在不更改 logstash配置文件的情况下直接导入ES,也方便进行迁移。

配置logstash 文件(test.conf)


然后在logstash bin目录下面执行

Logstash.bat -f test.conf

就可以看到如下图:


正在往ES中写入数据。

在重复测试时,请注意要删除home目录下的sincedb文件。我提供了一段python代码来进行这些操作。


以上代码主要是用来删除创建的索引中的数据并且删除一些临时文件.

数据写完之后可以查看

http://ip地址:9200/_cat/indices?v来查看索引的信息

登录 Kibana

http://localhost:5601/

点击settings --- index patterns Add new --输入你创建的index名称,点击create完成.

然后可以在Discover中进行搜索。



也可以指定字段名进行搜索 例如:telno:13588888888.该语法为lucene 语法.

Have fun!!!

标签:ELK,9200,Kibana,社工,Logstash,ES,搭建
From: https://blog.51cto.com/u_6186189/6951134

相关文章

  • 如何把.net应用程序防止他人反编译,dll打包并搭建成一个合格的安装包
    背景知识:在理论上,任何.NET程序集(.dll文件或.exe文件)都可以被反编译。C#是一种托管语言,其代码编译成中间语言(IL)或称为CIL(CommonIntermediateLanguage),然后在.NET运行时中执行。反编译工具可以将IL代码还原回C#源代码,使得原本的C#代码可以被查看和修改。 最......
  • python以及java环境搭建+解决不同版本环境共存问题
    1.搭建python环境1.安装python3.9.7,选择自定义安装、将文件添加至环境路径,然后选择下一步。2.默认、然后选择下一步。3.选择适用于所有使用者,选择自己想要存放的路径,然后选择点击安装。等待片刻。。。4.点击安装完成。使用cdm命令,输入python查看是否安装成功。5.安装python2......
  • Go 语言入门指南: 环境搭建、基础语法和常用特性解析 | 青训营
    Go语言入门指南:环境搭建、基础语法和常用特性解析|青训营从零开始Go语言简介Go是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由RobertGriesemer,RobPike,KenThompson主持开发,后来还加入了IanLanceTaylor,RussCox等人,并最终......
  • devchat环境搭建
    步骤参考的就是官网的那个教程:https://zh.devchat.blog/devchat-vscode-installation-guide注册devchat,获取KeyId。https://www.devchat.ai/?utm_medium=bokeyuan&utm_source=hutao&utm_content=go-pool-1&utm_campaign=devchat-1下载vscode扩展,devchat进入后,ctrl+shift+p,搜......
  • Linux搭建jmeter环境
    Linux环境搭建: 下面简单的描述了jmeter在Linux服务期上面的安装及配置。1.将Windows电脑上的jmeter压缩成zip文件(如果没有可以在官网上面进行安装包的下载)   文件上传到Linux服务器上,如果rz命令的工具无法使用的话,则可以使用下面的命令进行安装:   yuminstalll......
  • Qt+GDAL开发笔记(二):在windows系统msvc207x64编译GDAL库、搭建开发环境和基础Demo
    前言  上一篇使用mingw32版本的gdal,过程曲折,为更好的更方便搭建环境,在windows上msvc方式对于库比较友好。<br>大地坐标简介概述  大地坐标(Geodeticcoordinate)是大地测量中以参考椭球面为基准面的坐标,地面点P的位置用大地经度L、大地纬度B和大地高H表示。原理  当点在......
  • Qt+GDAL开发笔记(二):在windows系统msvc207x64编译GDAL库、搭建开发环境和基础Demo
    前言  上一篇使用mingw32版本的gdal,过程曲折,为更好的更方便搭建环境,在windows上msvc方式对于库比较友好。 大地坐标简介概述  大地坐标(Geodeticcoordinate)是大地测量中以参考椭球面为基准面的坐标,地面点P的位置用大地经度L、大地纬度B和大地高H表示。原理......
  • yolov5 算法环境(GPU CPU)搭建与使用(windows环境)
    文章目录前言前提说明一、环境搭建1.1、GPU环境Anaconda安装CUDA安装CUDNN安装(可不装,加速深度学习用途)二、项目启动2.1、构建yolov5环境2.2、实战深度学习预测示例1:预测图片示例2:预测视频上面案例过程中的问题1、CUDA不匹配当前GPU的版本(卸载重装)2、重新安装pyotrch版本2.3、训练模......
  • 语义检索系统:基于Milvus 搭建召回系统抽取向量进行检索,加速索引
    语义检索系统:基于Milvus搭建召回系统抽取向量进行检索,加速索引目标:使用Milvus搭建召回系统,然后使用训练好的语义索引模型,抽取向量,插入到Milvus中,然后进行检索。语义搜索系列文章全流程教学:语义检索系统:基于无监督预训练语义索引召回:SimCSE、Diffcse:语义检索系统:基于in......
  • 搭建本地srt服务器
    前段时间了解了下docker后在ubuntu容器中安装了srt-live-server,当时觉得已经深入人心,于是没有记录下来。时至今日,大概才有一月多余没有碰docker及srt服务器,今天重新装了系统安装时竟然生疏了,连基础的创建docker容器命令都记不清,所以觉得还是必要记下来,真是好记性不如烂笔头。......