毕业设计So Easy:基于C++实现网络扫描器

目录

1、系统目标

2、系统原理

3、系统设计

3.1、主机扫描模块

3.2、端口扫描模块

3.3、NetBIOS 扫描模块

3.4、SNMP扫描模块  

3.5、弱密码扫描模块

3.6、嗅探器扫描模块

3.7、DOS攻击模块

3.8、注入检测模块

3.9、报告生成模块

4、系统实现

4.1、工作流图

4.2、界面设计

4.2.1、主界面

4.2.2、子界面


很多计算机专业大学生经常和我交流:毕业设计没思路、不会做、论文不会写、太难了......

针对这些问题,决定分享一些软、硬件项目的设计思路和实施方法,希望可以帮助大家,也祝愿各位学子,顺利毕业!

项目专栏:7天搞定毕业设计和论文

对计算机技术感兴趣的小伙伴请关注公众号:美男子玩编程,公众号优先推送最新技术博文,创作不易,请各位朋友多多点赞、收藏、关注支持~     


目前主流的网络扫描器,大多数采用的是命令行界面,用户使用的门槛相对较高,可视化的图形界面旨在提供给用户一个友好的使用环境,这种用户— 界面的体系结构深受广大喜爱。它不需要用户去熟记过多的参数,只需要填入相应的关键信息,通过鼠标点击选择即可完成,大大降低了操作使用的难度。

1、系统目标

本设计的最终目标是打造一个具有多种扫描功能的网络扫描器。该扫描器具有以下功能:
  • 可视化的图形界面,旨在为用户提供友好的使用环境。
  • 实现一些基本的扫描任务,如读取到目的主机的软硬件信息,开放的端口等等。
  • 帮助用户去自动生成符合用户心理的扫描结果报告,并将扫描结果以文件的形式展现出了。
其对应的整体层次设计图如下图所示:

毕业设计So Easy:基于C++实现网络扫描器_第1张图片

项目工程资源下载请参见:40V489VZ

2、系统原理

管理员站在攻击者的角度去看网络扫描器的工作原理,一切都变得清晰易懂。作为一个攻击者,管理员会考虑首先去搜索网络上存活的主机,选择其中某一些主机作为管理员攻击的目标,管理员再通过向目标主机发送数据包,通过分析反馈的数据包,寻找可能存在的安全隐患,通过利用这些安全隐患去模拟尝试攻击,找到修复该安全隐患的解决方案,从而达到修复漏洞的目的。网络扫描器的工作原理如下图所示:

毕业设计So Easy:基于C++实现网络扫描器_第2张图片

3、系统设计

3.1、主机扫描模块

主机扫描就是扫描网络中可能存在的主机,主要是通过向特定的主机或者目的 IP 发送构造的 ICMP 协议包来确定目标网络上的主机是否可达。 其流程图如下图 所示:

毕业设计So Easy:基于C++实现网络扫描器_第3张图片

3.2、端口扫描模块

对某一 IP 段目标主机 IP 的一段端口逐个连接,通过发送数据包对目标主机进行通信,根据反馈回来的数据包信息判断该主机的开放状态,根据其开放端口所对应的主机服务去有针对性的发起相关的服务缺陷攻击。其流程图如下图所示:

毕业设计So Easy:基于C++实现网络扫描器_第4张图片

3.3、NetBIOS 扫描模块

对网上基本输入输出系统 NetBIOS 协议而言,它作为应用层上的一种特殊的协议,它常常被用来管理局域网上的主机,通过该协议的相关约定,管理员可以很方便的读取到局域网上相关目标主机可拥有的相关属性的详细信息。其流程图如下图所示:

毕业设计So Easy:基于C++实现网络扫描器_第5张图片

3.4、SNMP扫描模块  

简单网络管理协议 SNMP 是对智能终端设备做简单管理,管理员可以利用该协议的相关约定去获取支持该协议的各种设备的详细的信息。其流程图如下图所示:

毕业设计So Easy:基于C++实现网络扫描器_第6张图片

3.5、弱密码扫描模块

弱密码扫描是逐个对目标主机的用户名和密码进行扫描,依次穷举遍历所有的用户名和密码的组合,用遍历生成的密码去逐次尝试验证。通过密码验证系统给出的正确或错误的反馈来判断是否成功获取到了用户的信息。其流程图如下图所示:

毕业设计So Easy:基于C++实现网络扫描器_第7张图片

3.6、嗅探器扫描模块

嗅探器扫描是对所接收到的所有数据包进行实时监听,然后依次与监测关键字进行匹配,筛选出那些关键信息。其流程图如下图所示:

毕业设计So Easy:基于C++实现网络扫描器_第8张图片

3.7、DOS攻击模块

DOS 攻击是对目标 IP 的特定端口采用指定的线程数去发送大量的数据和连接请求,不断的消耗目标主机的资源,从而造成目标主机连接资源耗尽,导致其它主机无法使用这些连接资源。其流程图如下图 所示:

毕业设计So Easy:基于C++实现网络扫描器_第9张图片

3.8、注入检测模块

由于程序员及软件设计师在编写程序或设计相关软件模型的过程中出现了设计缺陷,导致非法用户可以通过构造一系列特殊的字符串去拼接到软件的缺陷部分,从而导致非授权用户可以绕过系统验证而读取到数据库中的隐私数据,从而造成信息的泄露,造成巨大的损失。其流程图如下图 所示:

毕业设计So Easy:基于C++实现网络扫描器_第10张图片

3.9、报告生成模块

报告生成是网络扫描器所提供的任意多种扫描功能对目标 IP 的扫描结果进行汇总,最终以报告的形式打印出来,提供了 html txt xml 三种打印格式。其流程图如下图 所示:

毕业设计So Easy:基于C++实现网络扫描器_第11张图片

4、系统实现

4.1、工作流图

网络扫描器主要工作流程图如下图所示:

毕业设计So Easy:基于C++实现网络扫描器_第12张图片

4.2、界面设计

4.2.1、主界面

网络扫描器主界面如下图 所示:

毕业设计So Easy:基于C++实现网络扫描器_第13张图片

4.2.2、子界面

网络扫描器共实现了九个功能模块,下面管理员分别看看这九个功能模块的子界面。
下图 的是主机扫描功能模块的界面:

毕业设计So Easy:基于C++实现网络扫描器_第14张图片

下图 展示的是端口扫描功能模块的界面:

毕业设计So Easy:基于C++实现网络扫描器_第15张图片

下图 展示的是 NetBIOS 扫描功能模块的界面:

毕业设计So Easy:基于C++实现网络扫描器_第16张图片

下图 展示的是 SNMP 扫描功能模块的界面:

毕业设计So Easy:基于C++实现网络扫描器_第17张图片

下图 展示的是弱密码扫描功能模块的界面:

毕业设计So Easy:基于C++实现网络扫描器_第18张图片

下图 展示的是嗅探器扫描功能模块的界面:

毕业设计So Easy:基于C++实现网络扫描器_第19张图片

下图 展示的是 DOS 攻击功能模块的界面:

毕业设计So Easy:基于C++实现网络扫描器_第20张图片

下图 展示的是注入检测功能模块的界面:

毕业设计So Easy:基于C++实现网络扫描器_第21张图片

下图 展示的是报告生成功能模块的界面:

毕业设计So Easy:基于C++实现网络扫描器_第22张图片

 项目工程资源下载请参见:40V489VZ

你可能感兴趣的:(7天搞定毕业设计和论文,课程设计,毕业设计,基于C++实现网络扫描器)