0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于C++的网络扫描器设计

jf_Vqngj70R 来源:美男子玩编程 2023-06-08 09:39 次阅读

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

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

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

1系统目标

本设计的最终目标是打造一个具有多种扫描功能的网络扫描器。该扫描器具有以下功能:

可视化的图形界面,旨在为用户提供友好的使用环境。

实现一些基本的扫描任务,如读取到目的主机的软硬件信息,开放的端口等等。

帮助用户去自动生成符合用户心理的扫描结果报告,并将扫描结果以文件的形式展现出了。

其对应的整体层次设计图如下图所示:

b143ed46-0569-11ee-8a94-dac502259ad0.png

2系统原理

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

b163523a-0569-11ee-8a94-dac502259ad0.png

3系统设计

3.1、主机扫描模块

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

b17e0e86-0569-11ee-8a94-dac502259ad0.png

3.2、端口扫描模块

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

b18ef926-0569-11ee-8a94-dac502259ad0.png

3.3、NetBIOS 扫描模块

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

b1994f84-0569-11ee-8a94-dac502259ad0.png

3.4、SNMP扫描模块

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

b1a9bc3e-0569-11ee-8a94-dac502259ad0.png

3.5、弱密码扫描模块

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

b1c48ab4-0569-11ee-8a94-dac502259ad0.png

3.6、嗅探器扫描模块

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

b1d6eb82-0569-11ee-8a94-dac502259ad0.png

3.7、DOS攻击模块

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

b1e8dcc0-0569-11ee-8a94-dac502259ad0.png

3.8、注入检测模块

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

b206bc9a-0569-11ee-8a94-dac502259ad0.png

3.9、报告生成模块

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

b22f593e-0569-11ee-8a94-dac502259ad0.png

4系统实现

4.1、工作流图

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

b252b3b6-0569-11ee-8a94-dac502259ad0.png

4.2、界面设计

4.2.1、主界面

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

b26f2172-0569-11ee-8a94-dac502259ad0.png

4.2.2、子界面

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

下图的是主机扫描功能模块的界面:

b283511a-0569-11ee-8a94-dac502259ad0.png

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

b2945212-0569-11ee-8a94-dac502259ad0.png

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

b2a8f38e-0569-11ee-8a94-dac502259ad0.png

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

b2bb8468-0569-11ee-8a94-dac502259ad0.png

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

b2d2f026-0569-11ee-8a94-dac502259ad0.png

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

b2e94060-0569-11ee-8a94-dac502259ad0.png

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

b302d386-0569-11ee-8a94-dac502259ad0.png

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

b3193220-0569-11ee-8a94-dac502259ad0.png

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

b3330574-0569-11ee-8a94-dac502259ad0.png

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机
    +关注

    关注

    19

    文章

    6649

    浏览量

    84526
  • 网络
    +关注

    关注

    14

    文章

    7251

    浏览量

    87440
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72900
  • 扫描器
    +关注

    关注

    0

    文章

    130

    浏览量

    11754

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

文章出处:【微信号:美男子玩编程,微信公众号:美男子玩编程】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    [下载][分享][推荐]MAC扫描器破解版

    给大家介绍一款MAC地址扫描器:
    发表于 05-27 13:05

    [原创]Honeywell Xenon 1902gHD无线二维影像扫描器

    、DENSO AT10Q-SM(U)条码扫描器、DENSO AT10Q-HM(U)条码扫描、Logicode MT-LC-D900、Logicode MT-LC-D960C、CU320TA、CU-320TA
    发表于 06-02 23:24

    [原创]Honeywell Xenon 1900手持式二维影像扫描器

      Honeywell Xenon 1900手持式二维影像扫描器广州万碧是美国霍尼韦尔Honeywell系列条码扫描器中国地区经销商,部分型号列表:Xenon 1900手持式二维
    发表于 06-06 21:57

    通过430读取条形码扫描器数据的问题

    本人是一个新手,第一次做一个关于利用MSP430单片机通过读取条形码扫描器采集到的数据然后通过发送到上位机进行与上位机数据的比对和校验,现在问题是条形码扫描器采集到的数据怎么通过单片机读取?其中
    发表于 09-13 22:15

    选择固定式扫描器的方法

      一、生产制造业选择固定式扫描器的方法  工业环境有着其独特的特殊性,对于固定式扫描器的分辨率和读码率的要求非常高,同时对防尘、防水溅等级和跌落等级也都有着非常高的要求,需要能在较大的温度范围里
    发表于 12-07 17:18

    基于TPS61376的条码扫描器方案

    条码扫描器又称为条码阅读,条码扫描枪等。条码扫描器利用光电原理将条码信息转化为计算机可接受的信息的输入设备,常用于图书馆、医院、书店、超市以及物流等行业。图1.条码
    发表于 11-03 08:21

    用作扫描器的光电隔离电路

    用作扫描器的光电隔离电路
    发表于 12-23 17:38 639次阅读
    用作<b class='flag-5'>扫描器</b>的光电隔离电路

    飞点扫描器扫描报警电路图

    飞点扫描器扫描报警电路图
    发表于 06-29 13:10 505次阅读
    飞点<b class='flag-5'>扫描器</b>的<b class='flag-5'>扫描</b>报警电路图

    HR3220的无线扫描器用户手册

    本手册主要向用户介绍NLS-HR3220系列无线式二维条码扫描器(以下简称HR32无线扫描器扫描器)的使用方法。
    发表于 09-20 18:49 12次下载

    关于二维影像扫描器益处分析和应用

    根据美国知名市场调研公司VDC在2013年的一份报告中预测:未来三年,影像扫描器的销量将以13.4%的速度增长,激光扫描器则将下降7.3%。究其原因,主要是配置影像技术的二维扫描器具有高性价比、耐用、可替代激光
    的头像 发表于 10-18 09:18 2804次阅读

    无线蓝牙扫描器应该怎么选购?有哪些注意事项?

    扫描器用于扫描条码,有的可以扫一维码,有的既可以扫一维码又可以扫二维码,通讯模式方面,扫描器可以通过无线蓝牙传输,比有线的方便一些。那么,无线蓝牙扫描器应该怎么选购?有哪些注意事项?
    发表于 08-07 17:40 583次阅读

    关于压电陶瓷管扫描器在光纤扫描中的应用

    压电陶瓷管扫描器是径向极化压电材料的薄圆管体,具有四个外部电极和连续的内部电极。当电压施加到外部电极之一时,相应区域的致动器管壁膨胀,这引起管尖的垂直收缩和大的横向偏转。圆周电极可用于垂直或径向伸展
    发表于 11-09 10:20 1040次阅读

    XSS漏洞扫描器工具

    XSpear是一款基于RubyGems的的XSS漏洞扫描器。拥有常见的XSS漏洞扫描攻击测试功能。还可进行参数分析。
    的头像 发表于 01-17 09:28 1240次阅读

    NanoBeacon™ BLE扫描器教程

    到目前为止,我们已经发布了三个关于使用我们新的NanoBeacon™ BLE扫描器移动应用程序的教程。
    的头像 发表于 06-02 14:35 440次阅读
    NanoBeacon™ BLE<b class='flag-5'>扫描器</b>教程

    Android Things I2C地址扫描器

    电子发烧友网站提供《Android Things I2C地址扫描器.zip》资料免费下载
    发表于 06-13 17:02 0次下载
    Android Things I2C地址<b class='flag-5'>扫描器</b>