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

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

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

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

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

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

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