基于python的高校服务器信息的网络空间资源分类 附完整代码数据可作为毕设课设

简介: 基于python的高校服务器信息的网络空间资源分类 附完整代码数据可作为毕设课设

本次研究采用 nmap 获取清华大学和北京大学的服务器的全部实时信息。Nmap 作为一种高效的网络连接端扫描工具,能够充分扫描服务器开放的网络服务端,并确定运行在各自连接端的服务。由于 Nmap 提供了极为方便快捷的服务器信息获取方式,能够使本研究团队在有限的时间内获取足够多的可供分析的信息,因而在本次研究中关于网络空间资源获取方面所采用的主要方法即为 nmap。


本次研究从清华大学、北京大学、中国人民大学、复旦大学、上海交通大学等五所高校获取其服务器信息。其中,以清华大学和北京大学两所高校共搜集的 20 余万条信息和检所获取的 6 万余条信息作为样本进行分析。其中两校在端口数量方面的情况如下图所示。


00b3a45fa37922ee6cb530a2d1db18cf.jpg


图 1 清华大学、北京大学端口数量情况


为了提供更好的检索服务,本研究团队除了通过搭建前端展示两所高校检所得到的全部服务器信息外,还通过每日更新保持信息的时效性。考虑到更新数据的规模和速度,因而重点以清华大学、北京大学两所高校的服务器信息作为样本进行整理、展示和分析。


本次研究所选择的网络资源主要是服务器信息,这一选择的主要原因是服务器信息在网络空间资源中的代表性,同时也是基于对现实因素的考虑。


为了保持网络资源的更新频率,因而对于网络资源的数据量和获取速度提出了很高的要求,而主机、路由器等其他资源信息的获取难度较大,一方面主要是爬取更详细的服务信息存在较大的不确定性,容易导致不同时期爬取所得的信息存在较大的差别,另一方面则是爬取主机、路由器等速度较慢,在本次研究中每次爬取需要耗时9s以上,甚至在100s内都无法返回结果,因而难以满足本次实验对于样本数量规模的要求。


即便如此,仅清华大学和北京大学的服务器信息获取仍然面临数量过大的问题。需要获取的IP地址区段为59.66.0-255.0-255和166.111.0-255.0-255,使用nmap的情况下,每个平均耗时仍然在5s左右,在串行情况下每次更新的总耗时超过110小时,信息量庞大、获取耗时大。


2.3 未能找到的网络资源原因分析


即便基于现实因素和实际需要的考虑,我们选取相对更容易稳定获取的两所高校的服务器信息作为研究对象,但在搜集这部分网络资源的过程中,仍然存在部分资源无法找到的情况。主要原因包括以下三点:


没有主机。寻找到的资源可能是一个空IP,因而无法返回符合要求的服务器信息;


访问权限问题。有些服务器没有完全开放,因而存在对于访问权限的限制,这一点在高校中仍然是比较普遍的,因而访问权限问题同样部分阻碍了获取全部网络资源信息;


防火墙问题。由于目前高校一般都拥有自身的校园网,很多服务器仅面向校园网开放,对于外网设置有防火墙,本研究团队难以获取这些服务器的网络资源。


仍然有其他如网络状况等原因,在此不再列举。尽管有部分网络资源由于种种原因未能获取,但仍然不影响本次研究的推进。


2.4 实验问题


在本次研究过程中,也存在一些难以避免的问题,在研究结束时仍然没有获得理想的解决方案。这些问题的出现,一些是由于网络状况所致,一些则是由于服务器等各种原因所致。主要遇到的问题包括:


nmap稳定性不足。在数据量较大的时候,nmap会存在跑网站不稳定的情况,为了提高数据搜集的效率,在研究所使用的爬取脚本中将时间上限设为120s。而在这种情况下,nmap在获取一些服务器资源的过程中,仍然存在超时的情况,且有些时候超时原因并不明确;


执行条件和服务器状态不稳定。由于执行条件的不稳定,导致返回结果存在很大的差距。如在实验中,同样的指令分别爬取IP和100个IP一起爬取所获得的结果经常完全不同,而即便是100个IP一起爬取,每次爬取所获得的结果有时也是不完全一样的、甚至存在比较大的差别。


这些实验问题的出现导致网络资源的获取并不像预想中顺利;且一些问题出现原因不明也影响了获取的服务器信息的不稳定。


3 网络空间资源的分类


在获取网络空间资源的基础上,本研究团队进行了符合要求的分类。


分类标准需要符合正交性、可用性、完备性等特点,尤其是正交性特点,即所有分类需要涵盖全部信息;基于这一点,我们考虑的几种分类形式均为排他性或采用完全对立的指标。


3.1 分类标准


根据检索得到的数据量,本研究团队采用了如下四种符合要求的分类标准:


基于端口状态。将获取的三万余端口的状态根据返回信息分为open、closed、filtered三类,覆盖全部端口的状态情况;


基于网络资源位置。我们根据服务器的位置,将网络资源的位置分为清华大学、北京大学、中国人民大学、复旦大学、上海交通大学等五类,并将展示的网络资源样本分为清华大学和北京大学两类。这种分类方式看似是预设性的,但是这种分类的原则却并不是局限的,在其他网络资源中基于位置进行分类同样是一种基本的分类标准;


基于网络设备的端口空闲程度。为了评价网络设备的端口空闲程度,我们所衡量的指标为服务器所开放的端口数量,在对我们获取的资源进行分析之后,我们将边界值定为5个,即当开放的端口数大于或等于5个时,我们定义这个网络资源为忙碌资源,相应的,当开放的端口数小于5个时,我们定义这个网络资源为空闲资源;


基于网络设备的服务名称。网络设备所提供的服务有各式各样的名称,仅我们搜集到的数据而言,网络设备的服务名称就达上百个。


3.2 分类结果

3.2.1 基于端口状态


根据检所得到的资源信息来看,北京大学的端口开放数量不足总数量的一半,而清华大学的这一比例接近 70%。


419cb4d1927251787d35407d8ec3e3d3.jpg

图 2 北京大学端口状态情况


f9c0c6367beac32338369a9286c08141.jpg

图 3 清华大学端口状态情况


3.2.2 基于网络资源位置


如前章所展示的情况,清华大学服务器的网络端口数量超过28000个,而北京大学不足清华大学的十分之一,为2500个。


3.2.3 基于网络设备的端口空闲程度


根据我们的分类标准,空闲资源比例大于忙碌资源比例,按照服务器所开放的端口数量来看,开放 1 个端口的情况最为普遍,而开放端口数量最多的服务器所开放的端口数量达到 100 个。

1c94c96a268ffbbe1ea0a374054a0a0e.jpg


图 4 网络设备的端口空闲程度统计表


3.2.4 基于网络设备的服务名称


网络设备所提供的服务名称非常多样,在上百种被统计在内的服务名称中,使用最多的几种服务名称为 unlocked, locked, Ftp, lis, Ms 等。下图根据服务名称出现频次制成。


efa2173671ffb0e9589e990c41fc054c.png

图 5 网络设备的服务名称频次图


4 前端展示及操作


本次研究搭建的展示前端的链接为:


http://www.misscut.cn:8081


4.1 IP 地址检索


点击进入链接后,显示的为“IP地址检索”界面,即可在文本框中直接输入IP地址搜索器所在位置和拥有的端口数量。


67bc43df88ba4d49bf6d94921ee351f2.jpg

检索成功的结果:

aee90b155da6db4cad0d4d65e34b57e3.jpg


检索失败的结果:

55577bb5f6c96adcded8b34b2f1c4262.jpg


4.2 分类检索


分类检索界面可以针对服务器名称、IP地点、服务器状态等信息进行检索。


值得注意的是,在检索时,如果不加限制地检索清华大学的所有服务,会因为数据量较大、前端渲染表格时间长,因而展示效果较差。建议使用该分类检索的时候,在相对较小的范围内搜索。


除此以外,分类检索中服务器忙碌状态和是否加密两项需要至少选择一项方能完成检索。


分类检索界面为:


9f990fe57f703e02117c211a281c1b1b.jpg

按服务器名称选择检索:

4e8cae38a5e620c8ca499ba67c7d663f.jpg


按服务器名称检索得到的结果:


8d4ec16d31b6e8bd572dbcec6a30ad6f.jpg

按IP地点选择搜索:

31b02e66911de263d3409d64c629cbc1.jpg


按IP地点检索得到的结果:

51aebb2010658708324d2c3045e221a1.jpg


按服务器状态选择检索:

420383eb9fa46bcd5918fbbf55f75a16.jpg


按服务器状态检索得到的结果:

c3c5f792850da74f07b25909ef9460b7.jpg


一种相对全面的检索示意:

32fc6fb6976d064e900d9c292f8fa9ad.jpg


另一种相对全面的检索示意:

804b6d09b78055d776cee5658b166b9c.jpg


一种暂无数据结果的检索示意:

2ed1ebf89a7f8112c5e2370b82d6776d.jpg


5 总结


在本次研究中,我们利用nmap手段,基于以高校服务器数据为代表的网络空间资源,提出了符合正交性等要求的四种网络空间资源分类方法,并将获取的服务器信息资源和分类情况的结果以每日更新的方式展现在前端。


完整代码:https://download.csdn.net/download/qq_38735017/87409913


相关文章
|
2天前
|
存储 数据挖掘
服务器数据恢复—用RAID5阵列中部分盘重建RAID5如何恢复原raid5阵列数据?
服务器数据恢复环境: 一台服务器挂接一台存储,该存储中有一组由5块硬盘组建的RAID5阵列。 服务器故障: 存储raid5阵列中有一块硬盘掉线。由于RAID5的特性,阵列并没有出现问题。工作一段时间后,服务器出现故障,用户方请人维修。维修人员在没有了解故障磁盘阵列环境的情况下,用另外4块硬盘(除去掉线的硬盘)重新创建了一组全新的RAID5阵列并完成数据同步,导致原raid5阵列数据全部丢失。
|
12天前
|
IDE 网络安全 开发工具
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
本文介绍了如何使用VS Code通过Remote-SSH插件连接远程服务器进行代码开发,并与PyCharm进行了对比。作者认为VS Code在连接和配置多个服务器时更为简单,推荐使用VS Code。文章详细说明了VS Code的安装、远程插件安装、SSH配置文件编写、服务器连接以及如何在连接后切换文件夹。此外,还提供了使用密钥进行免密登录的方法和解决权限问题的步骤。
120 0
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
|
13天前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
92 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
15天前
|
Python
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
这篇博客文章是关于如何使用Flask框架上传特征值数据到服务器端,并将其保存为txt文件的教程。
24 0
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
|
19天前
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
27 3
|
20天前
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
40 3
|
20天前
|
弹性计算 Linux 数据库
阿里云国际版如何迁移Linux云服务器系统盘中的数据
阿里云国际版如何迁移Linux云服务器系统盘中的数据
|
20天前
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
33 1
|
21天前
|
应用服务中间件 PHP Apache
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
|
22天前
|
Linux C语言 C++
vsCode远程执行c和c++代码并操控linux服务器完整教程
这篇文章提供了一个完整的教程,介绍如何在Visual Studio Code中配置和使用插件来远程执行C和C++代码,并操控Linux服务器,包括安装VSCode、安装插件、配置插件、配置编译工具、升级glibc和编写代码进行调试的步骤。
91 0
vsCode远程执行c和c++代码并操控linux服务器完整教程