zoukankan      html  css  js  c++  java
  • 异常数据的检测——小白学习报告

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/SDN?filter=all
    这个作业要求在哪里 https://edu.cnblogs.com/campus/fzzcxy/SDN/homework/11390
    这个作业的目标
    用虚拟机构建服务器模拟测试并查找异常流量

    自我介绍

    我是来自软件工程2班的雷毅,学号为212006393
    我是一个较为腼腆但善于钻研的人,有较强的目的性;这也正是我选择该专业并希望加入未来网络SDN实验室的原因——我希望能更多的接触计算机相关的专业知识。
    我的家庭条件尚可,所以选择更多出于兴趣和自我追求,同时家人和我共同希望能向研发方向发展。
    我目前掌握较强的学习能力,能够在明确目标和一定的指引下做到自我学习;专业知识由于刚步入大一了解较少,所以希望通过丰富知识储备为未来发展打基础。

    GitHub 及仓库链接

    我的 GitHub
    我的 GitHub 仓库

    虚拟机 + Ubuntu 安装过程


    我选取了 Ubuntu18.04 版本下载了镜像文件,并安装好了 VMware 用镜像文件新建了一个虚拟机完成安装,过程不表。

    值得一提的是由于我初次安装的是server端,导致对不上教程一个人摸索了好久,具体学习内容将在下方给出,不做赘述。

    Tcpdump 抓包过程和数据清洗过程




    个人选择虚拟机 Linux 系统自带的 Tcpdump,采用-w的格式保存为文件,并通过PuTTY传至 Windows 内的 Wireshark,由 ip 等筛选方式得到清理后的数据。

    学习与借鉴

    参考文献:
    Ubuntu 安装教程
    Linux 常用命令代码
    SSH 的开启
    将个人Ubuntu系统电脑当作服务器使用,用win10系统电脑远程访问服务器并且运行matlab代码
    Wireshark常用过滤使用方法
    从安装虚拟机和 Ubuntu 至Tcpdump 抓包和数据清洗,面对完全陌生的 Linux 系统、抓包和数据分析,遇到了很多麻烦,也一一查证去解决了这些问题,并收获了有关于此的很多知识。于此同时还有许多浏览借阅过的参考文献无法一一给出,在此深表歉意。

    方法介绍

    个人采用虚拟机开启 ssh 服务,用 Linux 系统自带的 Tcpdump 抓包,经转存后由 Wireshark 清洗分析。通过流量图和 I/O Graphs 的分析数据,设定K值和阈值T,并通过筛选确认可疑流量进行单独验证。

    实现效果

    确定阀值 packets per second(通过数据中心的长时间数据,确定合适的阀值,并由此检测异常流量)


    如图 40 分钟的抓包所示,设定阀值为 100 ,并推测于此时远远超出为异常流量。(由于缺乏大量数据等条件,只有这个简陋的模型了)

    问题及解决

    代码

    个人参考的 Top K 词频分析代码:

    import io
    import jieba
    txt = io.open("test.txt", "r", encoding='utf-8').read()
    words  = jieba.lcut(txt)
    counts = {}
    for word in words:
        if len(word) == 1:
            continue
        else:
            counts[word] = counts.get(word,0) + 1
    items = list(counts.items())
    items.sort(key=lambda x:x[1], reverse=True)
    for i in range(15):
        word, count = items[i]
        print (u"{0:<10}{1:>5}".format(word, count))
    


    相较于以上代码我也简单理解了 hash 对大数据量的 Top K 问题的处理方式,但如图是关于 Top K 问题的测试,我仍因知识有限不能完全理解或解析抓包数据内报文中的内容,也因此无法通过报文内容的词频统计得到异常词频从而查找异常数据;那么如果正常用这个代码的思路来解决问题,我是否应该将 .CAP 格式的文件进行转码后进行统计,还是其他的解决方式?

    总结

    经由本次的学习,我获知了虚拟机、Linux 系统、抓包、数据分析、Top K 算法的部分信息,尝试自行解决遇到的问题,并交出了一份答卷。我会不断深入学习并尝试掌握更多的有关知识,以丰富作为计算机小白的我的知识储备为未来的深入研究打下基础。

    附(商业化平台的运维学习笔记)

    经了解得知,中小型企业完全交由云服务防范;大型企业的三重防护中,此为第二层的部分检测形式,第三层为普通的常规手段项目漏洞检测,第一层则为内网访问,远程VPN模式,隔绝了外人的访问。

  • 相关阅读:
    Codeforces Ilya and Matrix
    poj 1308 Is It A Tree?
    Codeforces Sereja and Array
    poj 1041 John's trip
    Codeforces Continued Fractions
    WM_COPYDATA实现进程间数据通信
    虚拟机中安装ubuntu后,终端模式和图形模式切换
    IIS上配置运行cgi,php,aspx运行环境
    linux c main函数参数
    Linux网络编程入门 (转载)
  • 原文地址:https://www.cnblogs.com/luoyesama/p/13860616.html
Copyright © 2011-2022 走看看