网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
网络扫描器的设计与实现
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
置并进行严格管理;此外,建立上传目录往往为了便于在Internet上交换文件,而网络攻击者则在可写区域中肆意删除、修改信息或上传恶意代码(如特洛伊木马、计算机病毒等)。  
  
(2) DDoS分布式拒绝服务类  
  
分布式拒绝服务攻击也是最为常见的网络攻击方法,进攻形式多种多样。从利用网络协议到针对操作系统平台的漏洞,都可以发出拒绝服务攻击,可以说其攻击手段防不胜防。通过发送连续的字符可以检测Microsoft SQL Server等数据库服务器是否有DDoS漏洞。  
  
(3) firewall防火墙类  
  
设置网络防火墙的目的是在通信网与外界网之间提供一道屏障,以保护网络中的信息流免受来自外部网络的各种威胁。防火墙可以是路由器、PC机、主机系统或一批主系统,是硬件和软件的组合体。由于网络防火墙自身存在的设计问题和使用配置错误,扫描器可以检测不同类别或版本的网络防火墙存在的安全漏洞。  
  
三 实现中的关键问题  
  
网络扫描器采用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失败,返回值为假   
  
socket(int af, int type, int protocol)指定地址族、数据类型和协议描述符及相关资源。  
  
(3)套接字建立连接与数据的收发  
  
connect(SOCKET s, const struct sockaddr FAR * name, int namelen)参数s是套接字描述符,name是套接字地址结构指针,namelen说明套接字地址长度。  
  
在TCP协议中数据发送与接收函数为send和recv,UDP协议中为sendto和recvfrom,使用时调用程序要提供超时控制。  
  
send ( SOCKET s, const char FAR * buf, int len, int flags );   
  
recv ( SOCKET s, char FAR * buf, int len, int flags );   
  
sendto(SOCKET s,const char FAR * buf,int len,int flags,const struct sockaddr FAR * to, int tolen ); //UDP协议中数据发送函数  
  
recvfrom ( SOCKET s, char FAR * buf,int len, int flags, struct sockaddr FAR * from, int FAR * fromlen ); //UDP协议中数据接受函数  
  
3.2 数据结构  
  
检测系统存在的安全漏洞是不断被发现与升级的,这要求网络扫描器的开发应具有很强扩展性,通过准实时的增加扫描功能或扩展扫描插件可较好解决这一问题,插件的开发利用Microsoft Visual C++ 6.0编译链接后生成DLL文件。为便于统一管理
  • 上一篇资讯: VC命名管道通信的实现
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号