基于 Python 的漏洞扫描系统,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12W+、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌

🍅文末获取源码联系🍅

👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟

2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅

Java项目精品实战案例《100套》

Java微信小程序项目实战《100套》

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及文档编写等相关问题都可以给我留言咨询,希望帮助更多的人

文章目录

    • 1 简介
    • 2 技术栈
    • 3 系统分析
    • 第4章 设计成果展示
      • 4.1 测试系统的搭建技术介绍
      • 4.2用户登录界面的实现
      • 4.2漏洞扫描系统首页
      • 4.3端口扫描模块
      • 4.4扫描列表模块
    • 5 结论
    • 6 参考文献
    • 7 源码获取:

1 简介

鉴于网络安全的重要性,网络的漏洞扫描作为最基础也是最实用的一种方式能够很好的对网络端口进行渗透测试,通过渗透测试技术来对网站进行漏洞的危险程度的描述,形成可视化的评估结果。

本次的系统开发是通过利用了Python技术,结合数据爬虫的功能来进行一款自动化的渗透测试的工具开发,一次来实现对网站的漏洞的全方位扫描,实现对漏洞的精准判断,通过这种测试的方式能够有效的提升网站的安全扫描的内容实现,也能够通过数字显示的方式来告知用户该网站存在的漏洞数等信息,能够实现主动防御的功能,在用户进入网站之前便提前进行了防护干预,有着很好的实用价值。

文章首发地址:https://it1314.top/article/1237/

**关键词:**web端口测试;渗透测试;python

2 技术栈

环境要求
Python 3.8 (最好用 3.8)
pycharm (社区版,专业版本都可以)
MySql (建议 5.7, 8.0 也可以)
Navicat (不限制版本)

3 系统分析

端口的扫描是通过以对目标系统的TCP以及UDP端口进行有效的测试,通过扫描这一类的端口来对正在运行的过程进行监听状态的确认。而安全漏洞则实际上就是安全策略中由于人为的疏忽或者是系统存在安全策略的上的错误而产生的系统缺陷。安全漏洞测试是通过以探测目标中所可能存在的安全漏洞来完成对漏洞的信息收集,通过信息收集来判断漏洞存在的位置,从而进行对整个系统的安全性的检测服务提升。本次是通过爬虫技术来进行漏洞的扫描系统的搭建,对于本次的系统搭建需要达成以下的一些目的:

  1. 该系统是面向网络安全管理人员所使用的,整个管理的过程是以模拟对系统的攻击来进行漏洞的扫描。通过模拟黑客对于网络的攻击,以一种并不会产生实质性影响的虚拟方式来实现对网络的攻击,从而能够扫描出网络中所存在的漏洞,这种方式是一种能够通过爬虫的方式来自动实现网站的访问,从而获取数据来形成可视化的检查报告,方便管理人员更好的对网络进行安全的管理实现。

  2. 当下的网络中,漏洞是持续的、动态的变化的,在设计漏洞扫描的系统时,应该需要保证该系统有着较强的可扩展性,能够保证其内容可以有效的进行扩充和升级,以便适应当下的网络环境,能够与时俱进的检测出新出现的漏洞。

  3. 需要保证整个漏洞扫描的系统能够缩短扫描消耗的时间,通过缩短扫描时间来提升扫描的效率。

  4. 本次的设计是一款预先进行主动防护的系统,该系统需要在扫描之后形成可视化的数据来帮助管理人员观察到漏洞的危险程度、漏洞的数量等信息,从而能够更加直观的完成对整个网络环境的安全性展示,能够更好的保证其内容的完整,测试结果有效。

本次的课题研究是通过满足对基本的端口扫描以及安全漏洞的快速检测。通过此次的设计要将端口的扫描与漏洞扫描向分离,通过不同的扫描方式来进行更为深入的信息扫描功能的达成,通过对目标主机的开放端口进行服务信息的扫描,有针对性的一层层的完成具体的扫描任务,能够有效的降低扫描的盲目性,从而提高漏洞扫描的精准度。

第4章 设计成果展示

4.1 测试系统的搭建技术介绍

本次的系统搭建,是以Python框架来进行有效的功能模块的搭建,通过以MySQL数据库来进行数据对接,通过核心的端口扫描,输入ip地址后返回扫描的结果,设计端口列表菜单,在端口列表菜单中能够查看到每一项查询过的端口的详细结构信息的方式来实现整体的面向对象的开发过程。

4.2用户登录界面的实现

此次设计的漏洞扫描系统的登录页面展示如下,登录中会有直接登录和注册的选项,第一次使用该系统的管理员用户需要进行系统的注册操作。此次设计的网站登录页面如下所示:

图4.1登录页面的实现

4.2漏洞扫描系统首页

漏洞扫描扫描系统的首页中,会有大量的不同的可视化方式对于所检测的端口情况进行表述。在首页中有该系统的用户数量,信息的数量、端口的检测数量等等内容,对于检测的内容也通过曲线图和环比图的方式来进行检查结果的统计分析显示。如下图所示:

图4.2 漏洞扫描系统首页

4.3端口扫描模块

在端口扫描中,需要输入IP地址以及端口的信息,点击开始扫描,系统会进行扫描内容的判断,显示出扫描的结果,如下图所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4.3 端口扫描模块

4.4扫描列表模块

扫描列表中,也有已经扫描过的ip、端口的内容列示,用户可以通过点击查看详情来进行详细的详细结果。如下图所示:

图4.4 扫描列表模块

5 结论

在当下的网络环境中,人们通过网络能够获取各类不同的信息,通过网络能够降低信息传输的壁垒,增强信息传输的时效性,也提升了信息的价值。而网络环境中虽然能够提供丰富的信息资源,但其中也蕴含了很多的风险。网络中的漏洞随着软硬件的不断发展,也在不断的出现新的漏洞,漏洞检测工具应当作为一款能够有效的实现端口扫描、IP扫描以及漏洞检测的工具,其应用十分的广泛,能够起到的检测效果十分显著。

本次通过以Python技术所搭建的漏洞扫描系统,通过以当下网络安全的大背景研究,通过爬虫功能的加入来实现对端口的及时扫描,最终形成了有效的端口扫描的功能运行实现。系统的扫描效率较好,扫描的结果真实,能够实现很好的检测效果。

6 参考文献

  1. 郭金玉, 张忠彬, 孙庆云. 层次分析法的研究与应用[J].
    中国安全科学学报, 2020 (5): 152-157.

  2. 邓艺璇. 计算机的安全机制的分析与实施 [D][D]. 北京邮电大学, 2020.

  3. 张亚杰. 基于 python的计算机终端应用程序的研究与开发[D]. 郑州大学,
    2020.

7 源码获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟

2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅

Java项目精品实战案例《200套》

Java微信小程序项目实战《100套》

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及文档编写等相关问题都可以给我留言咨询,希望帮助更多的人

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/380186.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Python】使用 requirements.txt 与 pytorch 相关配置

【Python】使用 requirements.txt 与 pytorch 相关配置 前言一、pip1、导出结果含有路径2、导出不带路径的 二、Conda1、导出requirements.txt2、导出yml 文件 三、第三方包:pipreqs(推荐)1、创建并激活conda环境2、安装requirements文件的pi…

金融信贷风控评分卡模型

评分卡模型概念 评分模型是根据借款人的历史数据,选取不同维度的数据类型,通过计算而得出的对借款人信用情况打分的模型。不同等级的信用分数代表了借款人信用情况的好坏,以此来分析借款人按时还款的可能性。 评分卡模型分类 A卡&#xff…

揭开Markdown的秘籍:标题|文字样式|列表

🌈个人主页:聆风吟 🔥系列专栏:Markdown指南、网络奇遇记 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. ⛳️Markdown 标题二. ⛳️Markdown 文字样式2.1 🔔斜体2.2 &…

Netty连接通道中的Channel参数模型

ChannelOption(Channel中的连接参数) ChannelOption.SOBACKLOG ChannelOption.SO_BACKLOG对应的是tcp/ip协议listen函数中的backlog参数,服务端处理客户端连接请求是顺序处理的,所以同一时间只能处理一个客户端连接,多个客户端来的时候&…

代理与Reflect反射

属性描述符 Proprety Descriptor 属性描述符 用于描述一个属性的相关信息 1.Object.getOwnPropertyDescriptor(对象,属性名) 可以得到一个对象的 某个属性的属性描述符 Object.getOwnPropertyDescriptors(对象) 可以得到某个对象的所有属性描述符 如果需要为某个…

node.js基础-02

Author nodes:(题记) Hypertest Transfer protocol is very important to programming personnel。it doesnt matter if youre a front-end engineer or a back-end engineer.So,lets study it together. http协议对于编程工程师很重要&am…

基于华为云欧拉操作系统(HCE OS)单节点容器化部署(Prometheus、node-exporter、Grafana)应用性能监控平台

写在前面 博文内容为 华为云欧拉操作系统入门级开发者认证(HCCDA – Huawei Cloud EulerOS)实验笔记整理认证地址:https://edu.huaweicloud.com/certificationindex/developer/9bf91efb086a448ab4331a2f53a4d3a1内容涉及,HCE OS 容器化部署(Prometheus、…

【C++修行之道】(引用、函数提高)

目录 一、引用 1.1引用的基本使用 1.2 引用注意事项 1.3 引用做函数参数 1.4 引用做函数返回值 1.5 引用的本质 1.6 常量引用 1.7引用和指针的区别 二、函数提高 2.1 函数默认参数 2.2函数占位参数 2.3 函数重载 2.4函数重载注意事项 一、引用 1.1引用的基本使用 …

【canvas】获取鼠标点击位置坐标的颜色信息

在项目当中,要实现某业务需求例如PS魔棒功能时,则需要获取点击坐标的颜色信息。 功能不复杂,代码也很少,一看便知~~ 核心API为getImageData,传入4个参数,前2个为点击坐标xy,后2个都传1&#xf…

那些 C语言指针 你不知道的小秘密 (3)

本篇会加入个人的所谓‘鱼式疯言’ ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 我会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人能…

vscode连接ssh报错

关于vscode更新版本至1.86后,导致无法连接服务器问题的记录 原因:vscode1.86更新了对glibc的要求,需要最低2.28版本,导致各种旧版本的linux发行版(比如最常见的centos 7)都无法用remote-ssh来连接了&#…

Linux探秘之旅:透彻理解路径、命令与系统概念

目录 如何远程连接 远程登录简明指南 linux区别 1.严格区分大小写 2.linux的命令返回结果判断 3.如何查看网络信息 4.关于后缀名(Linux不关心文件后缀) 4.1 需要记忆的后缀 5.echo命令 6.linux一切皆文件 6.1比如磁盘的文件 6.2可执行文件 …

nginx + DNS域名解析

配置链接: Nginx 安装配置 | 菜鸟教程 安装完nginx后,访问: cd /usr/local/nginx/sbin/ 然后使用./nginx可使用nginx。 访问:http://服务器的ip地址后出现 因为访问IP地址很繁琐,需要记忆ip的数字地址,因此需要给它一个通俗的…

如何在Sprint中管理UI测试?

作为iOS团队,我们编写3种类型的UI测试。如果你问这些是什么;快照、冒烟和回归测试。那么这些测试到底是什么?让我们稍微谈谈这些。 快照测试快照测试是检查UI中的某些内容是否损坏的测试。 首先,它将所需的视图图像保存在某处&am…

Lombok 高级说明

优质博文:IT-BLOG-CN 一、痛点 【1】代码臃肿:POJO中的getter/setter/equals/hashcode/toString等; 【2】样板式代码:I/O流的关闭操作等; Lombok是一个可以通过注解简化Java代码开发的工具,能够在我们编…

string容器

1. string基本概念 1.1 本质: string是C风格的字符串,而string本质上是一个类 string和char * 区别: char * 是一个指针 string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器。 1.2 特点…

书生·浦语大模型全链路开源体系

参考:https://www.bilibili.com/video/BV1Rc411b7ns/?spm_id_from333.788&vd_source3bbd0d74033e31cbca9ee35e111ed3d1 背景: 人工智能的发展从针对特定任务,用一个模型解决一个问题过渡到一个模型来应对多模态、多任务,大模…

K210如何下载程序

一、打开资料包里提供的K-Flash程序烧录软件 二、选择串口 三、选择波特率 四、选择In-Chip,烧录到Flash芯片里面,重新上电还会运行程序 五、如果选择In - Memory,这次可以运行,但下次重新上电就不会保持这次的程序了。 六、选择固…

springboot+vue居民小区设备报修系统

小区报修系统可以提高设施维护的效率,减少机构的人力物力成本,并使得维修人员可以更好地了解维护设备的情况,及时解决问题。 对于用户来说,报修系统也方便用户的维修请求和沟通,提高了用户的满意度和信任。其次小区报修…

在PyTorch中,如何查看深度学习模型的每一层结构?

这里写目录标题 1. 使用print(model)2. 使用torchsummary库3.其余方法(可以参考) 在PyTorch中,如果想查看深度学习模型的每一层结构,可以使用print(model)或者model.summary()(如果你使用的是torchsummary库&#xff0…