美文网首页
恶意刷取手机短信的日志分析

恶意刷取手机短信的日志分析

作者: kid551 | 来源:发表于2018-10-11 10:40 被阅读0次

    日志初筛

    一般来讲,日志文件都是存在linux服务器,所以,第一步的数据提取操作其实可以由linux平台上的文本分析小钢炮grep, sed, awk完成。

    例如,我们需要提取[手机号: 18811112222, ...这样的字段手机号码,我们可以使用以下脚本实现:

    less catalina.out | grep '\[手机号' | sed 's/^.*手机号://g' | sed 's/,.*$//g'
    

    sed部分可以多提一点:

    • 通过sed 's/^.*str1//g'筛掉str1前的内容
    • 通过sed 's/str2.*$//g'筛掉str2后的内容。

    这样,在把筛到的手机号保存到文件里就ok了:

    less catalina.out | grep '\[手机号' | sed 's/^.*手机号://g' | sed 's/,.*$//g' > mobile.txt
    

    号码频率的统计

    接下来,需要统计mobile.txt文件中各个号码出现的次数。

    最简单的实现方式当然是使用一个dictionary去存储每一个关键字,然后在出现的时候做累加。这很容易实现。

    这里在提供另外一种使用pandas现成模块的方法:

    import pandas as pd
    
    # import data
    data = pd.read_csv('mobile.txt', sep=" ", header=None)
    
    # check statistical feature
    data.describe()
    len(data)
    len(data.drop_duplicates())
    
    # get each item's counting, and export to mobileRes.txt file
    data.groupby(data.columns.tolist(),as_index=False, sort=False).size().sort_values(ascending=False).to_csv("mobileRes.txt", sep='\t', encoding='utf-8')
    

    这样,你便能得到一个两列的数据,第一列为手机号码,第二列为对应的频数。

    有了它们后,便可以画出手机频率分布图,继续使用Python或者Excel都可以简单实现。

    相关文章

      网友评论

          本文标题:恶意刷取手机短信的日志分析

          本文链接:https://www.haomeiwen.com/subject/soivaftx.html