端口器立项报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
端口扫描器立项报告 学院: 软件工程 班级: 3班 成员: 冯程、梁佳、程欣 指导老师: 梁刚 目录 1.引言 1.1项目背景 1.2 项目介绍 2.项目概述 2.1工作内容 2.2小组成员 2.3运行环境 3.项目细节 3.1任务分工 3.2socket编程 3.3多线程编程 3.4端口扫描方法 3.5gtk+ 4.进度安排与交付 4.1进度安排 4.2交付日期 1.引言 1.1项目背景 随着Internet的发展,网络给我们带来了诸多好处。但与此同时,信息安全也成为了网络信息交流中不可忽略的环节。网络存在着许多安全漏洞.形成潜在的安全威胁。如果我们通过端口扫描技术来发现这些漏洞.并及时采取适当的处理措施进行修补.就可以有效地阻止入侵事件的发生。基于此种原因下,我们小组决定做一个端口扫描器。 1.2 项目介绍 使用多种扫描手段对任意IP地址下的主机进行端口扫描,同时在端口扫描成功后结果扫描结果返回当前网络中开启的主机IP和当前端口下所开启的服务的名称。 同时,我们希望我们能够通过协议栈得到当前开启主机的OS类型,并且能够一次性扫描多个IP,而不用一个完成之后才能继续扫描下一个。 2.项目概述 2.1 工作内容 小组实现端口扫描程序采用三种端口扫描方法:1.全开放式扫描,2.SYN扫描,3.FIN扫描;实现程序能够得到当前主机的OS类型;实现程序能够多线程进行端口扫描。实现端口扫描在Linux下的图形界面。 2.2 小组成员 组长:冯程 组员:程欣、梁佳 2.3 运行环境 因为程序是在虚拟机下运行的,所以主要运行环境是Vmware下red hat(Linux系统),宿主机为window7或xp。使用C与gtk. 项目细节 3.1 项目分工 冯程:实现图形界面、全开放式扫描和得到主机OS 程欣:实现FIN扫描 梁佳:实现SYN扫描 3.2 Linux下socket编程:通过网络API——套接字实现信息通信。Linux下的socket有数据流和数据报两种方式,因为数据报无连接,所以不能使用数据报来进行端口扫描。 Linux下套接字结构: struct sockaddr_in { uint8_t sin_len; sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr; char sin_zero[8]; }; 网络中通用套接字结构: struct sockaddr{ uint8_t sa_len; sa_family_t sa_family; char sa_data[14]; }; 使用TCP流套接字编程,因为我们的程序属于一个客户端程序,所以只需创建套接字,连接套接字等。 2.2 多线程编程 使用多线程是比使用多进程更好的一种方式,线程的创建都在已有的进程下创建一新的线程,他们都共享进程的数据。这种情况下,操作系统并不需要在像创建一个新进程一样为他分配新的空间,同时,线程切换的代价也小于进程切换。Linux下的线程遵循POSIX线程接口,称为pthread,同时Linux下pthread的实现是通过系统调用clone()来实现的。线程创建的函数原型如下: 2.3 端口扫描方法 全开放式扫描:客户端与被探测机的所有开启端口尝试进行TCP连接,如果一次连接成功,则代表该端口处于开启状态。 端口顺序扫描 客户机 TCP连接 被探测机 SYN扫描: TCP SYN扫描采用的扫描方式是利用三次握手的弱点,首先由扫描器向目标主机发送SYN请求数据包,如果没有收到目标主机的SYN/ACK确认报文,而收到了RST数据报文,就说明远程主机没有开放这个端口;反之,则说明远程主机端口开放。扫描器在接收到远程主机的应答后,不开回复正常建立TCP连接中三次握手的ACK应答。 TCP SYN扫描与目标主机建立连接的不同反应如下: 需要注意的是:SYN扫描需要自己构造这个数据包,同时要有root权限。 FIN扫描: 2.4 gtk+ 小组在实现此程序中用到了图形界面,而在Linux下使用GTK+比起自己编写GUI更实效,因为我们程序的主要并不在图形界面上,所以能够使用这样的一个库使得程序实现起来更加简单。因为还未使用,对其中的函数并不了解,但使用它仅仅就是为了实现我们的一个简单的图形界面。 进度安排与交付 4.1

文档评论(0)

zilaiye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档