基于Python的多功能IP搜索平台设计与实现

发布于:2022-12-06 ⋅ 阅读:(502) ⋅ 点赞:(0)

目 录
多功能IP搜索 I
Multi-function IP search I
1 引言 1
2 数据测绘 2
2.1 测量范围与工具 2
2.2 数据测量过程 2
2.2 未能找到的网络资源原因分析 3
2.2 测量遇到的问题 3
3 可视化网络空间资源模型 4
3.1 网络空间资源分类简介 4
3.2 网络空间资源图谱架构 4
3.3 网络空间资源图谱代码实现 5
3.4 网络空间资源图谱展示与网站资源图谱功能 6
3.4 资源图谱绘制的困难与不足 7
4 网络IP资源数据分析 9
4.1 IP数据分析指标 9
4.2 基于端口状态的分析 9
5.1 多功能IP搜索平台介绍 17
5.2 前端操作与展示 17
参 考 文 献 20

3 可视化网络空间资源模型
3.1 网络空间资源分类简介
我们想展示的网络空间资源,是在网络空间中,使用网络空间手段,能够探测和感知的IP化实体。从资源类别的角度来看,一般而言,我们将网络资源分为基础设施、应用服务、数据资源、虚拟主体四大类。
这四大类资源又可以进一步细分,例如基础设施可以进一步分成自治域、网络、中间节点、终端节点、链路这几类,这其中就有常用的路由器、交换机等等;应用服务类则可以进一步分成有机服务和无机服务,常见的各种协议,如http、smtp等都隶属于无机服务;而各种脚本则属于数据资源的代码类……
这样按类别细分之后,更有助于理解抽象的网络空间,更有利于增强我们对网络空间资源图谱的认识和把控,为我们将网络空间资源可视化打下了基础。

3.2 网络空间资源图谱架构
在加强了自己对网络空间资源的理解之后,为了更好地向其他人展示网络空间资源,我们需要将网络空间资源可视化。
可视化有很多途径,诸如绘制地理坐标系、绘制拓扑图、绘制Hilbert的IP二维空间。
对于资源分类这样有层次结构的分类,最常用的可视化手段是树状图。但是在网络空间资源展示的时候,树状图存在着问题:网络空间资源有非常多的子类,若放在树状图中,会显得树叶部分极其拥挤,很不美观,展示效果比较差。我们想使用更新颖、更美观的可视化手段来展示网络空间资源。
为此我们决定采用大作业布置说明中推荐使用的圆饼图。圆饼图由许多层圆构成,每一层圆代表一个分类的层级,一个圆上分布着多个节点,每个节点代表一个子类。例如最中心的节点是“网络空间资源”,向外半径最小的圆上有4个节点,分别是“基础设施”“应用服务”“数据资源”“虚拟主体”,再向外半径第二小的圆上有更多的节点,分别是上述4个节点的各个子类。而具体某一层的各个节点处在该层圆的什么位置,是由简单的力学模型确定的:将各个节点向外施加的排斥力视作和距离以某种关系(反比、平方反比等)负相关,不断迭代得到一个近似平衡的位置。这样的圆饼图,在新颖度和美观度上都优于普通的树状图。
将圆饼图嵌入我们的搜索系统中,我们预期的效果是:悬停到某一节点上时,该节点会放大;点击该节点,可以返回包含该节点对应的资源的IP地址,再点击IP地址则可以查看该IP下开放的资源的详细情况。这样一来,用户想要查看某一种资源的使用情况时,直接按照资源分类寻找到对应的节点即可。

3.3 网络空间资源图谱代码实现
首先将分类关系按一定的格式写成csv文件,用R读入,进行相关的处理之后,再导入R语言中非常流行的一个可视化工具包networkD3,用networkD3中的radialNetwork函数,即可画出我们需要的圆饼图。

library(networkD3)
rsplit = function(x){
  x = x[!is.na(x[,1]),,drop=FALSE]

  if(nrow(x)==0) return(NULL)
  if(ncol(x)==1) return(lapply(x[,1], function(v) list(name=v)))

  s = split(x[,-1, drop=FALSE], x[,1])

  unname(mapply(function(v,n) {if(!is.null(v)) list(name=n, children=v) else list(name=n)}, lapply(s, rsplit), names(s), SIMPLIFY=FALSE))
}

raw = read.csv("rc.csv", stringsAsFactors = F)
raw[raw == ""] = NA
re = rsplit(raw)[[1]]

radialNetwork("rc.csv", List = re, fontSize = 8, nodeColour = list("lightblue"))

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到