V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
pimin
V2EX  ›  问与答

打算整一个社工库自用,方案求解

  •  
  •   pimin · 2019-03-16 10:21:16 +08:00 via Android · 11157 次点击
    这是一个创建于 2064 天前的主题,其中的信息可能已经有所发展或是发生改变。
    高中大学时候当过几年脚本小子
    后来编程学了点,c/c++/asm,打算做逆向的中途放弃
    前两年心血来潮学了一阵 Python,能简单写个 blog 之类

    那时候认识一个小兄弟,一直有联系,逢年过节会打电话问候那种;现在也是为人父母了,他灰产接触比较多,有社工库需求,找我帮忙,目标数据量应该在 500G ;

    做了下前期工作,目前初步方案是数据索引 elasticsearch,查询用 Python+flask ;自用随便整个页面就可以了;

    想咨询下有没有更好的方案,或者这套方案有没有大的短板;
    还有就是数据清洗有没有成熟的方案还是只能自己写个脚本导入
    27 条回复    2020-04-23 11:02:29 +08:00
    stiekel
        1
    stiekel  
       2019-03-16 10:30:15 +08:00
    实时查询 elasticsearch 是比较好的方便,合理规划好索引和字段,问题不大,不过机器配置别太差。
    这种数据除了自己抽取入库,还能有什么办法?如果是单纯的格式好的文件,可以用 logstash。
    locoz
        2
    locoz  
       2019-03-16 10:35:40 +08:00 via Android
    ES 这个量级一点问题都没有,机器性能别太差就行,数据清洗还是自己写脚本处理吧,之前看过一个库,内容乱的一批,应该不存在通用的处理方案。(好奇数据源哪来
    ZavierXu
        3
    ZavierXu  
       2019-03-16 10:38:38 +08:00   ❤️ 3
    500G 的社工库?我觉得应该至少再加个 0 才对
    WordTian
        4
    WordTian  
       2019-03-16 10:39:34 +08:00 via Android
    现在网上泄漏的数据库太多了,有心人很容易就能下载到,很担心以后自己的数据安全问题。不过担心也没用,唉
    ZavierXu
        5
    ZavierXu  
       2019-03-16 10:39:55 +08:00
    如果真的是 500G 这个量级的,根本不用 elasticsearch,直接用 MySQL,hash/密码 /邮箱做个索引,查询基本是毫秒级
    pimin
        6
    pimin  
    OP
       2019-03-16 11:55:42 +08:00
    @stiekel
    自己的台式机只有 i5 4430+ 16G 内存,应付这个数据量有问题大么?
    x86
        7
    x86  
       2019-03-16 11:56:41 +08:00
    国外大盘鸡
    pimin
        8
    pimin  
    OP
       2019-03-16 11:57:43 +08:00
    @locoz
    数据源部分是网上公开的,通过搜索之类就能找到的
    还有一部分是小圈子交流存下来的
    pimin
        9
    pimin  
    OP
       2019-03-16 11:59:13 +08:00
    @ZavierXu
    我目前只准备了 200G,打算先跑起来
    至于后续数据,看他能提供的量了
    xunmima
        10
    xunmima  
       2019-03-16 12:04:03 +08:00
    我的做法跟楼上一样,用 mysql 全部数据导入一个表,然后就做这个表索引。

    2 亿数据 1 秒出结果
    misaka19000
        11
    misaka19000  
       2019-03-16 12:07:52 +08:00 via Android
    好奇楼主是通过哪些手段获取这些社工数据的呢?
    limbo0
        12
    limbo0  
       2019-03-16 13:15:09 +08:00 via Android
    es 干这个不太适合,上数据库是比较好的选择
    Soutxx
        13
    Soutxx  
       2019-03-16 13:26:35 +08:00 via iPhone
    @ZavierXu 我也觉得,再加个 0,才叫社工库
    stiekel
        14
    stiekel  
       2019-03-16 13:52:26 +08:00
    @pimin 一看你最终的数据条数,二看你文档的大小,三看字段的格式。
    不过 200G 的数据,如果全存下得话,最终到 elasticsearch 里肯定大于 200G。
    普通搜索,查询文档,这配置够了。
    fcoolish
        15
    fcoolish  
       2019-03-16 14:31:23 +08:00
    我社工库手动分文件查,哈哈哈
    yu1u
        16
    yu1u  
       2019-03-16 14:52:43 +08:00 via Android   ❤️ 1
    以前用 php 直接在几个 g 的文本中查找。。。。
    bakabie
        17
    bakabie  
       2019-03-16 15:28:42 +08:00 via Android
    500g 级别的,mysql 就能搞定吧
    pimin
        18
    pimin  
    OP
       2019-03-16 15:45:37 +08:00 via Android
    @bakabie
    我简单看了下 es 官方文档,没觉得会比 MySQL 麻烦
    idcspy
        19
    idcspy  
       2019-03-16 18:14:22 +08:00
    你这不算自用,悠着点啊。
    glfpes
        20
    glfpes  
       2019-03-16 18:55:47 +08:00 via Android
    es 界面都不用开发,有 kibana
    Les1ie
        21
    Les1ie  
       2019-03-16 21:33:49 +08:00
    1. 读文件的时候,如果单个文件不到 2 个 G,可以直接读到内存,如果更大,建议用生成器,速度可能会比直接读慢一点,但是不会耗费太多内存。打开文件之前要注意自适应各种不同的字符集、各种字段的缺失
    2. es 不要暴露在 0.0.0.0, 另外建议 helper.bulk 批量插入可以明显加速网络 IO
    3. 还需要考虑以后数据增加的时候如何复用之前的代码
    4. flask 查的时候限制返回长度,不然 boom
    h175h32
        22
    h175h32  
       2019-03-16 22:04:22 +08:00
    能给我用用吗
    pimin
        23
    pimin  
    OP
       2019-03-16 22:54:54 +08:00
    @Les1ie
    谢谢,
    1.因为是做给别人用的,最后移交方式应该是硬盘寄给他,所以应该是都导入到 es;
    2.es 不会放到公网,查得太严了;
    3.裤子字段一般都比较简单,用户名 /明文密码 /密码 hash 值 /来源网站 /姓名 /手机 /泄露时间之类,目标可能是 15 个字段以内,多余字段应该会选择丢弃;
    4.返回长度应该会用分页方式解决;不过
    haoshuaiwang
        24
    haoshuaiwang  
       2019-05-12 14:11:06 +08:00
    咱俩可以交流一下啊 ,目前公布的方案都太少了 ,而且效率感觉一般
    先说一下我自己的 ,
    I5 4590 16G
    我用的 MYSQL 现在大概 300+个表 每个表结构略有不同
    目前用 PHP 写了一套简单的查询 模糊查询打开在 5 秒左右
    数据大概有 20E 条左右,全部索引完成 600G+
    Apol1oBelvedere
        25
    Apol1oBelvedere  
       2019-10-29 16:13:16 +08:00
    @haoshuaiwang 一个泄露站点放在一个表吗?
    haoshuaiwang
        26
    haoshuaiwang  
       2020-01-27 02:19:06 +08:00
    VKRUSSIA
        27
    VKRUSSIA  
       2020-04-23 11:02:29 +08:00
    水表
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2816 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 02:19 · PVG 10:19 · LAX 18:19 · JFK 21:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.