Dionaea蜜罐IP数据地图可视化

#关于如何简单搭建Dionaea低交互式蜜罐,详见博文

#前言.

  以我在洛杉矶租用某台VPS上搭建的Dionaea蜜罐,在5.26晚23.58至5.28日17.10时间段(41h)捕获到的所有扫描和攻击数据为例:

  开放脆弱服务、端口:

 1 Blackhole  -123
 2 Memcache   -11211
 3 SipSession  -5060
 4 epmapper     -135
 5 httpd        -80
 6 mongod       -27017
 7 mqttd        -1883
 8 mssqld       -1433
 9 mysqld       -3306
10 pptpd        -1723
11 smbd         -445
12 upnpd        -1900

  期间,共计事件2130起。

1.剪裁数据

tree -a /opt/dionaea/var/dionaea/bistream > attack.txt #tree命令导出所有数据流记录

  生成的attack.txt文件手工去除几个日期行,剪裁至形式(ps.notepad++编辑器,Alt+鼠标选择整行):

Blackhole-123-101.100.146.*-DldOYS

  使用脚本split_to_ipaddr.py。为保证同一ip频数,结果未去重:

 1 #Used To Split Logging File To IpAddress File.
 2 #Just Run: ./split_to_ipaddr.py Or python split_to_ipaddr.py.
 3 #Blog: http://www.cnblogs.com/khani0cc/
 4
 5 def split_to_ipaddr():
 6     iF = open(‘attack.txt‘,‘r‘)
 7     oF = open(‘ipaddr.txt‘,‘w‘)
 8     lines = iF.readlines()
 9     for line in lines:
10         ipaddr = line.split(‘-‘)[2]
11         print ipaddr
12         oF.writelines(ipaddr)
13         oF.writelines(‘\n‘)
14     iF.close()
15     oF.close()
16
17 def main():
18     try:
19         split_to_ipaddr()
20         print "Attack File Split Successful!"
21         exit(0)
22     except Exception, e:
23         print e
24         exit(0)
25
26 if __name__ == ‘__main__‘:
27     main()

  执行后生成仅包含逐行ip地址的文件ipaddr.txt。

2.生成ip地址地图分布

  PyGeoIpMap

  Requirement:Python3,numpy,matplotlib,Basemap,pygeoip

  a.关于Windows上WinPython-32bit-3.5.3安装basemap:

     pyproj?1.9.5.1?cp35?cp35m?win32.whl

     basemap?1.1.0?cp35?cp35m?win32.whl

  b.Windows CMD输出默认不支持UTF-8编码,对于诸如 "region_name":"Ã?le-de-France" 字符会报错

  因此需要先改变CMD编码

chcp 65001

  然后执行脚本pygeoipmap.py

  脚本开始向https://freegeoip.net发送ip地理位置请求,返回

{"ip":"195.154.51.23","country_code":"FR","country_name":"France","region_code":"IDF","region_name":"Ã?le-de-France","city":"La Norville","zip_code":"91290","time_zone":"Europe/Paris","latitude":48.5824,"longitude":2.2618,"metro_code":0}

  并以

print("{ip}, {region_name}, {country_name}, {latitude}, {longitude}")

  的形式逐条输出ip地址对应地区、国家和经纬度信息。

  运行完毕会调用matplotlib自动生成一张output.png图片

  愈鲜红的点说明该ip连接蜜罐次数越多。

3.后言

  Py3的basemap模块在linux和Win下都很难安装,而通过WinPython3+lfd的非官方whl能顺利完成。

 参考链接: 

  • PyGeoIpMap:https://github.com/pierrrrrrre/PyGeoIpMap
  • Unicode characters in Windows command line - how?:

  https://stackoverflow.com/questions/388490/unicode-characters-in-windows-command-line-how/388500#388500

时间: 2024-10-08 03:03:50

Dionaea蜜罐IP数据地图可视化的相关文章

如何利用excel中的数据源制作数据地图

关于这个问题,制作数据地图的方法已不新奇,总体来说有这么几类方案: 一类方案:直接在excel里制作 优势:个人小数据量应用较为方便简单 缺点:需要熟悉VBA,且更强大的功能对VBA水平要求较高 1.绘制地图图形 + VBA宏语言 思路:用插入图形"任意多边形"绘制地图:每一个"任意多边形"赋予正确名称:对"任意多边形"赋值:利用VBA对"任意多边形"的值进行操作, 例如上色. 先准备一张所需要的地图图片,网上都有,可以下载

如何做出实用而强大的数据地图?

今天来谈谈数据地图,在做关于地理位置的数据分析时常常用到. 关于制作数据地图的工具,这里笔者不特意强调用什么工具,而且数据地图也并不是这些工具的核心功能点,excel能做,D3能展示,甚至图片+PS也能做出你要的效果.所以在选择工具前,更应该思考你需要用这些工具的主要目的是什么. 也许你只是想对处理好的数据做展示,那可以选择excel;也许你有各种各样的数据,但是你不懂数据建模,编程,或者数据清洗,甚至是SQL的优化,你需要一个FineBI.Tableau易用的BI工具,通过拖拽就能完成数据的可

vue地图可视化 ArcGIS篇

ArcGIS for javascript开发心得 本次实例中采用ArcGIS for javascript3.24版本,由于版本3与4在API等存在较大区别,就不一一列举,详细区别看官方解释arcgis for js4.7版本能够自动创建layer.graphs等类,而不像3.24版本需要在图形渲染前重新new 新的类.然而,查找大量文件资料,网上有关ArcGIS forjavascript的资料甚少,更不用说通过vueJS+arcGIS开发出一套可视化平台,在不断查看官方文档和实际操作,总结

pyecharts绘制地图可视化

我们这里使用pyecharts模块进行绘图. pyecharts 项目包含了一系列的地理地图数据,这些数据或者已经内置,或者需要额外安装和加载,我们需要下载下面六个包. 选择自己需要的安装 pip install echarts-countries-pypkg pip install echarts-china-provinces-pypkg pip install echarts-china-cities-pypkg pip install echarts-china-counties-pyp

Python地图可视化三大秘密武器

Python地图可视化库有大家熟知的pyecharts.plotly.folium,还有稍低调的bokeh.basemap.geopandas,也是地图可视化利器. 首先介绍下bokeh bokeh擅长制作交互式图表,当然在地图展示方面也毫不逊色. 示例代码地址: https://automating-gis-processes.github.io/2017/lessons/L5/interactive-map-bokeh.html Bokeh支持google地图.geojson数据的地理可视化

100行代码实现疫情地图可视化

前言 这个春节,大家都在密切关注着疫情的进展.不少人每天醒来打开手机的第一件事,便是查看家乡的疫情图.你所看到的可能是这样的: 又或者是这样的: 疫情进展牵动着我们的心.作为一名开发者,我们闭门在家为抗击疫情做贡献的同时,也可以继续深耕自己的技术.此文章旨在向大家介绍疫情地图可视化的原理,帮助大家深入理解echart. 核心思路 疫情图的核心在于疫情数据整理以及疫情数据可视化. 疫情数据整理 本文疫情数据是由网易新闻的公开数据整理而成,仅用于demo 展示.数据的具体地址已在代码中说明:此地址是

九度oj 题目1475:IP数据包解析

题目描述: 我们都学习过计算机网络,知道网络层IP协议数据包的头部格式如下: 其中IHL表示IP头的长度,单位是4字节:总长表示整个数据包的长度,单位是1字节. 传输层的TCP协议数据段的头部格式如下: 头部长度单位为4字节. 你的任务是,简要分析输入数据中的若干个TCP数据段的头部. 详细要求请见输入输出部分的说明. 输入: 第一行为一个整数T,代表测试数据的组数. 以下有T行,每行都是一个TCP数据包的头部分,字节用16进制表示,以空格隔开.数据保证字节之间仅有一个空格,且行首行尾没有多余的

TCP/IP数据包处理路径(Ipnat.sys 、Ipfltdrv.sys 、 Ipsec.sys)

转自:https://technet.microsoft.com/library/bb878072 本页内容 简介 用于数据包处理的 TCP/IP 体系结构 数据包处理路径 更多信息 简介 随着 Microsoft® Windows® XP Service Pack 2 和 Windows Server™ 2003 Service Pack 1 新增了 Windows 防火墙,以及 Internet 协议安全 (IPsec) 在公司 Intranet 中日益广泛的应用,信息技术 (IT) 专业人

TCP/IP数据包结构具体解释

[关键词] TCP IP 数据包 结构 具体解释 网络 协议 一般来说,网络编程我们仅仅须要调用一些封装好的函数或者组件就能完毕大部分的工作,可是一些特殊的情况下,就须要深入的理解 网络数据包的结构,以及协议分析.如:网络监控,故障排查等-- IP包是不安全的,可是它是互联网的基础,在各方面都有广泛的应用.由IP协议衍生的协议族有10数种(据我所知),以后还会出现 很多其它的基于IP的协议- 先从实际出发吧! 一般我们在谈上网速度的时候,专业上用带宽来描写叙述,事实上不管说网速或者带宽都是不准确