课程设计 端口扫描器的设计与实现.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计 端口扫描器的设计与实现

网络与信息安全课程设计 前言 网络中的每一台计算机如同一座城堡,在这些城堡中,有的对外完全开放,有的却是紧锁城门。入侵者们是如何找到,并打开它们的城门的呢?这些城门究竟通向城堡的何处呢?在网络技术中,把这些城堡的“城门”称之为计算机的“端口”。端口扫描是入侵者搜集信息的几种常用手法之一,也正是这一过程最容易使入侵者暴露自己的身份和意图。一般来说,扫描端口有如下目的: ·判断目标主机上开放了哪些服务; ·判断目标主机的操作系统; 如果入侵者掌握了目标主机开放了哪些服务,运行何种操作系统,他们就能够使用相应的手段实现入侵,本课程设计将会通过用JAVA语言实现一个小的端口扫描软件,详细描述端口扫描的原理,分析端口扫描所涉及的问题,以便更加清楚地了解入侵者如何扫描目标主机的端口,同时掌握如何确保本机的安全性,为将来设计更为安全的系统打下牢固基础。 目录 一、网络基础知识 4 1、端口的基本概念 4 2、端口的分类 4 二、端口扫描的基本原理 5 1、基本原理 5 2、基于JAVA语言实现的核心代码 5 三、端口扫描器视图 6 1、工作窗口 6 2、异常窗口 6 3、窗口核心代码 6 四、多线程快速扫描 7 1、多线程机制 7 2、多线程核心代码 8 五、用户使用方法 9 1、页面说明 9 2、按主机名扫描 9 3、按IP地址扫描 9 六、常用端口 9 七、异常检测 10 结语 12 端口扫描器的设计与实现 一、网络基础知识 1、端口的基本概念 “端口”在计算机网络领域中是个非常重要的概念。它是专门为计算机通信而设计的,它不是硬件,不同于计算机中的“插槽”,可以说是个“软插槽”。如果有需要的话,一台计算机中可以有上万个端口。 端口是由计算机的通信协议TCP/IP协议定义的。其中规定,用IP地址和端口作为套接字,它代表TCP连接的一个连接端,一般称为Socket。具体来说,就是用IP端口来定位一台主机中的进程。可以做这样的比喻,端口相当于两台计算机进程间的大门,可以随便定义,其目的只是为了让两台计算机能够找到对方的进程。计算机就像一座大楼,这个大楼有好多入口(端口),进到不同的入口中就可以找到不同的公司(进程)。如果要和远程主机A的程序通信,那么只要把数据发向A端口就可以实现通信了。 可见,端口与进程是一一对应的,如果某个进程正在等待连接,称之为该进程正在监听,那么就会出现与它相对应的端口。由此可见,通过扫描端口,便可以判断出目标计算机有哪些通信进程正在等待连接。 2、端口的分类 端口是一个16 bit的地址,用端口号进行标识不同作用的端口,参见表2-2和表2-3。端口一般分为两类。 ■熟知端口号:范围从0到1023,这些端口号一般固定分配给一些服务。比如21端口分配给FTP服务,25端口分配给SMTP服务,80端口分配给HTTP服务,135端口分配给RPC服务等等 ■动态端口//在多线程的控制下,利用for循环对端口逐一扫描 for (i =XXXXXX; i XXXXXX; i+=XXXXXX){ try{ theTCPsocket=new Socket(hostAddress,i); theTCPsocket.close(); //判断端口的类别 switch(i){ case 21: } //将开放端口内容添加到显示区域 synchronized (ThreadScan.Result) { ThreadScan.Result.append( +i); ThreadScan.Result.append(:+porttype+\n); } //对相应开放端口和没有开放即连接失败的端口作记录,放入显示区。 catch (IOException e){ //同时也对程序加锁防止出现序。 synchronized (ThreadScan.ResultAll) { //将所有端口内容添加到显示区域 ThreadScan.ResultAll.append( +i); ThreadScan.ResultAll.append(:Closed+\n); } } } 2、异常窗口 当用户操用不当,例如输入的IP地址超过255,或者端口范围大于65535时,用户点击“开始扫描”按钮都会抛出相应的异常,并提示错误原因。如下图示例: 3、窗口核心代

文档评论(0)

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

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

1亿VIP精品文档

相关文档