毕业设计基于python的漏洞扫描系统的毕业设计和代码

摘 要   

在当今数字化时代,网络安全问题备受关注。本研究旨在设计和实现基于端口的漏洞扫描系统,以提升网站安全性。结合Python技术和数据爬取功能,实现自动化漏洞检测,应对不断增加的网络安全挑战。传统安全手段日益力不从心,基于端口的漏洞扫描系统成为刚需,为用户提供全面高效的安全检测解决方案。

本研究将从研究背景和研究内容入手,探讨安全漏洞检测的理论基础,包括网络安全概述、安全漏洞以及安全检测技术。进而详细介绍漏洞扫描系统的设计,包括设计目标、原则、总体设计以及设计可行性分析,涵盖技术、经济、发展和操作可行性。设计成果展示部分将展示测试系统的搭建技术、用户登录界面实现、漏洞扫描系统首页、端口扫描模块以及扫描列表模块。通过这些设计成果,演示系统的功能和实用性。总体而言,本研究的目的在于为用户提供一种高效、全面的漏洞扫描系统,以帮助应对不断演变的网络安全威胁。通过技术方法、架构设计和结果分析,展示系统的有效性和实用性,强调其在安全领域的重要性和实际应用前景。

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

4.2用户登录界面的实现

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

                     

图4.1登录页面的实现

核心代码

import tkinter as tk

def login():

    username = entry_username.get()

    password = entry_password.get()

    # 进行用户名和密码验证的逻辑,这里只是简单示例

    if username == "admin" and password == "admin123":

        print("登录成功!")

    else:

        print("用户名或密码错误!")

# 创建主窗口

root = tk.Tk()

root.title("用户登录")

# 用户名标签和输入框

label_username = tk.Label(root, text="用户名:")

label_username.pack()

entry_username = tk.Entry(root)

entry_username.pack()

# 密码标签和输入框

label_password = tk.Label(root, text="密码:")

label_password.pack()

entry_password = tk.Entry(root, show="*")

entry_password.pack()

# 登录按钮

btn_login = tk.Button(root, text="登录", command=login)

btn_login.pack()

root.mainloop()

4.2漏洞扫描系统首页

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

图4.2 漏洞扫描系统首页

核心代码

import matplotlib.pyplot as plt

# 模拟数据

days = [1, 2, 3, 4, 5]

data = [10, 15, 13, 18, 20]

# 创建曲线图

plt.figure(figsize=(8, 4))

plt.plot(days, data, marker='o')

plt.title('漏洞扫描系统漏洞检测结果')

plt.xlabel('日期')

plt.ylabel('漏洞数量')

plt.grid(True)

plt.show()

# 创建环比图

labels = ['用户A', '用户B', '用户C', '用户D']

sizes = [20, 30, 25, 25]

plt.figure(figsize=(6, 6))

plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90)

plt.axis('equal')

plt.title('用户分布比例')

plt.show()

4.3端口扫描模块

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

图4.3 端口扫描模块

核心代码

import tkinter as tk

import socket

def scan_ports():

    ip = entry_ip.get()

    port = int(entry_port.get())

    try:

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        s.settimeout(1)

        result = s.connect_ex((ip, port))

        s.close()

        if result == 0:

            result_label.config(text=f"端口 {port} 开放")

        else:

            result_label.config(text=f"端口 {port} 关闭")

    except Exception as e:

        result_label.config(text="扫描出现错误")

# 创建主窗口

root = tk.Tk()

root.title("端口扫描模块")

# IP地址输入框

label_ip = tk.Label(root, text="IP地址:")

label_ip.pack()

entry_ip = tk.Entry(root)

entry_ip.pack()

# 端口输入框

label_port = tk.Label(root, text="端口:")

label_port.pack()

entry_port = tk.Entry(root)

entry_port.pack()

# 开始扫描按钮

btn_scan = tk.Button(root, text="开始扫描", command=scan_ports)

btn_scan.pack()

# 显示扫描结果

result_label = tk.Label(root, text="")

result_label.pack()

root.mainloop()

4.4扫描列表模块

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

图4.4 扫描列表模块

核心代码

import tkinter as tk

def show_details():

    selected_item = listbox.curselection()

    if selected_item:

        ip_port = listbox.get(selected_item[0])

        # 在这里可以添加显示详细结果的逻辑

        print(f"显示详细结果: {ip_port}")

# 创建主窗口

root = tk.Tk()

root.title("扫描列表模块")

# 扫描列表

scan_results = [

    "192.168.1.1:80",

    "192.168.1.2:443",

    "192.168.1.3:22"

]

listbox = tk.Listbox(root)

for item in scan_results:

    listbox.insert(tk.END, item)

listbox.pack()

# 查看详情按钮

btn_details = tk.Button(root, text="查看详情", command=show_details)

btn_details.pack()

root.mainloop()

【本科毕业设计项目 源码+说明书+PPT】 随着当今时代新型网络技术的迅速兴起,以及第三产业的蓬勃发展,互联网早已成为社会生活当中不可或缺的一部分,而网络安全问题也越来越不容忽视,越来越多的黑客通过利用系统漏洞实施安全攻击、偷盗、诈骗等违法行为,这就需要我们利用先进的技术手段去尽早、准确地检测解决这些安全漏洞安全隐患。但是上述这些扫描器一般都属于C/S架构,变更不够灵活,维护与管理的难度较大。当然当前也有很多款网页版扫描器,但大多系统功能较为单一,且缺少对用户的管理扫描结果的保存处理,仅支持一次性在线扫描。 针对这一背景,开发了本系统。本系统的特色主要有以下几个方面。 (1)适用于Windows操作系统环境下,采用了B/S架构,用户只需按照要求注册登录即可使用,方便快捷,分布性强,便于维护管理,可扩展性高。 (2)界面较简单、直观、易操作,对系统用户的专业水平要求不高,便于专业知识储备较少的普通用户接受。并且本系统中增设了仿命令行功能,既可以帮助用户实现对本系统功能的快速了解以及快速使用,也可以调动喜爱命令行的使用者的兴趣。 (3)系统区分了管理员用户普通用户,管理员用户拥有较多的特权,实现了较简单的基于角色的访问控制,增强了系统安全性可管理性。 (4)支持用户上传及管理漏洞扫描所用的第三方插件,可以提高漏洞扫描的效率性能,提高了系统功能的可扩展性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值