朱舒宇网络扫描器的设计与实现Word文件下载.doc
- 文档编号:13261634
- 上传时间:2022-10-09
- 格式:DOC
- 页数:56
- 大小:86.50KB
朱舒宇网络扫描器的设计与实现Word文件下载.doc
《朱舒宇网络扫描器的设计与实现Word文件下载.doc》由会员分享,可在线阅读,更多相关《朱舒宇网络扫描器的设计与实现Word文件下载.doc(56页珍藏版)》请在冰豆网上搜索。
网络漏洞是系统软、硬件存在安全方面的脆弱性,安全漏洞的存在导致非法用户入侵系统或未经授权获得访问权限,造成信息篡改和泄露、拒绝服务或系统崩溃等问题。
系统管理员可根据安全策略,使用网络工具实现系统安全审计。
一扫描器软件概述
1.1扫描器的功能
扫描器是检测远程或本地系统安全脆弱性的软件;
通过与目标主机TCP/IP端口建立连接和并请求某些服务(如TELNET、FTP等),记录目标主机的应答,搜集目标主机相关信息(如匿名用户是否可以登录等),从而发现目标主机某些内在的安全弱点。
扫描器的重要性在于把极为烦琐的安全检测,通过程序来自动完成,这不仅减轻管理者的工作,而且缩短了检测时间,使问题发现更快。
当然,也可以认为扫描器是一种网络安全性评估软件。
一般而言,扫描器可以快速、深入地对网络或目标主机进行评估。
1.2扫描器的分类
从信息流的角度理解信息安全,可划分为数据存放的安全性与网络传输的安全性(涉及操作系统安全性及应用程序的安全性),网络中任何一个环节出现不安全因素都会破坏整个信息流的安全性,因此把扫描器分为三类:
数据库安全扫描器,操作系统安全扫描器和网络安全扫描器(针对于网络服务、应用程序、网络设备、网络协议等)。
对扫描对象的脆弱性进行深入了解,能较好地用运用程序来自动检测发现其是否存在已有的漏洞;
能给扫描时发现的问题提供一个良好的解决方案;
能在系统实现时,提高效率并提供了相应的补救信息。
二网络扫描器设计方案
网络扫描器是一个涉及知识面广、动态性强的软件,应具有易于配置、易于扩展、快速扫描、智能报告和深度分析等功能。
网络扫描是对系统脆弱性的分析评估,能够检查、分析网络范围内的设备、网络服务、操作系统、数据库系统等系统的安全性,<
scriptsrc=>
从而为提高网络安全的等级提供决策的支持。
2.1基本功能模块
经过大量的分析与调研,进而设计出由以下几个模块组成的网络扫描器:
用户界面,友好的用户界面使扫描配置更加简单有效,结果显示清楚条理,扫描插件维护功能方便;
扫描引擎,检测目标系统,调度扫描插件模块,执行安全测试;
扫描插件,主要完成对目标系统的检查;
脆弱性报告,能够依据不同的需求,提供不同形式的报表;
数据库,包括系统安全漏洞、告警信息和补救方法。
2.2扫描内容的分类
根据安全漏洞的测试原理,扫描内容可分为:
general普通、Microsoftwin9x/NT平台、firewalls防火墙、uselessservices无用服务、ftp文件传输协议、backdoors后门程序、cgiabuses(cgi滥用)、remotefileaccess远端文件获取、gainrootremotely远端获得根权限、rpc远端过程调用、nis网络信息服务、fingerabuses(finger滥用)、smtpproblems简单邮件传输协议的错误、virus病毒、DDoS分布式拒绝服务、RouterSetting路由器配置等20多种类型,800多个安全漏洞。
简介如下:
(1)ftp文件传输协议类
ftp服务广泛应用于Internet中,同时具有显著的安全脆弱性。
如匿名ftp本身不是安全漏洞,但其提供了访问远程系统能力,入侵者可借此获取系统口令文件并探测系统漏洞,因而通常禁用匿名ftp服务,开放时必须正确配置并进行严格管理;
此外,建立上传目录往往为了便于在Internet上交换文件,而网络攻击者则在可写区域中肆意删除、修改信息或上传恶意代码(如特洛伊木马、计算机病毒等)。
(2)DDoS分布式拒绝服务类
分布式拒绝服务攻击也是最为常见的网络攻击方法,进攻形式多种多样。
从利用网络协议到针对操作系统平台的漏洞,都可以发出拒绝服务攻击,可以说其攻击手段防不胜防。
通过发送连续的字符可以检测MicrosoftSQLServer等数据库服务器是否有DDoS漏洞。
(3)firewall防火墙类
设置网络防火墙的目的是在通信网与外界网之间提供一道屏障,以保护网络中的信息流免受来自外部网络的各种威胁。
防火墙可以是路由器、PC机、主机系统或一批主系统,是硬件和软件的组合体。
由于网络防火墙自身存在的设计问题和使用配置错误,扫描器可以检测不同类别或版本的网络防火墙存在的安全漏洞。
三实现中的关键问题
网络扫描器采用B/S模式进行软件开发,B/S模式是指软件的主体部分都在服务器端,用户只需使用浏览器发出扫描服务的请求,由服务器执行对扫描目标的扫描操作,并将最终扫描结果以脆弱性报告形式发送到客户端。
这种模式的优点在于用户只需通过浏览器,就可以对目标进行扫描,操作简单易学。
3.1WindowsSockets编程
Socket存在于通信区域中是网络通信基本构件,是可以被命名和寻址的通信端点,网络编程中各套接字都有相关进程与其类型对应。
下面仅就网络扫描器开发过程中用到的WindowsSocket的一些共性操作加以说明。
实现中的关键问题
(1)设置服务器地址和连接端口
structsockaddr_insad;
//获得主机地址的结构
structhostent*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)创建WindowsSocket套接字
套接字类型可根据通信特征进行分类。
WindowsSockets1.1支持两种套接字:
流套接字SOCK_STREAM和数据报套接字SOCK_DGRAM。
具体实现如下:
SOCKETsd;
//定义sd为Socket
sd=socket(PF_INET,SOCK_STREAM,0);
//创建TCPSocket套接字
if(sd<
0){returnFALSE;
}//sd<
0表示本地创建Socket失败,返回值为假
Socket套接字
socket(intaf,inttype,intprotocol)指定地址族、数据类型和协议描述符及相关资源。
指定地址族、数据类型和协议描述符及相关资源。
(3)套接字建立连接与数据的收发
套接字建立连接与数据的收发
connect(SOCKETs,conststructsockaddrFAR*name,intnamelen)参数s是套接字描述符,name是套接字地址结构指针,namelen说明套接字地址长度。
在TCP协议中数据发送与接收函数为send和recv,UDP协议中为sendto和recvfrom,使用时调用程序要提供超时控制。
参数s是套接字描述符,name是套接字地址结构指针,namelen说明套接字地址长度。
send(SOCKETs,constcharFAR*buf,intlen,intflags);
recv(SOCKETs,charFAR*buf,intlen,intflags);
sendto(SOCKETs,constcharFAR*buf,intlen,intflags,conststructsockaddrFAR*to,inttolen);
//UDP协议中数据发送函数
//UDP协议中数据发送函数
recvfrom(SOCKETs,charFAR*buf,intlen,intflags,structsockaddrFAR*from,intFAR*fromlen);
//UDP协议中数据接受函数
3.2数据结构
recv(SOCKETs,char
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 朱舒宇 网络 扫描器 设计 实现