本节书摘来华章计算机《数据驱动安全:数据安全分析、可视化和仪表盘》一书中的第3章 ,第3.2节,[美]杰·雅克布(jay jacobs)鲍布·鲁迪斯(bob rudis) 著 薛杰 王占一 张卓 胡开勇 蒋梦飏 赵爽 译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
我们正在进入信息安全的数据时代。当前的挑战不是从哪里获得数据而是如何处理数据,数据集中信息的种类将决定你的研究类型。
在进行探索性分析或者想先看一看数据集的时候,你可以通过浏览器(或者使用wget和curl命令)将它下载下来。alienvault数据库的大小将近16mb,在较慢的网络环境下可能要花费1到2分钟的时间下载。当你下载了alienvault ip信誉数据库并且验证了第一部分的数据元素时,你会对这些数据的内容和格式产生一些想法,这些想法会在你阅读和处理数据的过程中派上用场。在后续的代码中,你可以使用一些简单的linux/unix命令进行下载:

对于大多数项目,最好养成直接从你的分析脚本中获取数据源的习惯。如果你仍然喜欢手动下载文件,应该在程序中增加一些注释来记录数据的来源以及当前分析数据的获取时间。这些注释能够帮助你在之后更容易地重复这些分析。请相信我们,你一定会比你预期的更频繁地重新阅读你的代码以及重新进行分析。
接下来的示例(程序清单3-2和程序清单3-3)展示了如何使用r和python两种语言来获取这些数据。如果你依照rstudio或者ipython,所有的代码示例都假定位于项目结构的顶层的工作目录(例如在第2章中建议的执行book/ch03目录,可以手动生成或者用prep脚本来生成该目录)。对于大多数情况,代码块是独立的,但每个块都期望在已经运行了rstudio或ipython的会话中执行这部分片段以及下一节中的片段。
程序清单3-2
程序清单3-3
r语言和python语言的代码看起来非常相似并且遵循相同的基本结构:对url和文件名尽可能使用变量,在重新下载之前验证这些数据文件是否已经存在。这些都是很好的习惯,我们会在本书的其余部分强调其他的良好习惯。
获得了ip信誉数据,到了读入并使用这些数据的时候了。