版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、简单端口扫描器的设计与实现目录设计原理总体设计3任务与目标12详细设计45系统测试与改进任务与目标一、任务目标(1)、掌握端口扫描技术的基本原理。(2)、设计并实现一个简单的端口扫描器。(3)、进一步熟悉C语言或其他程序设计语言。二、设计原理 扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过这种方法可以搜集到很多关于目标主机的各种有用的信息,例如远程系统是否支持匿名登录、是否存在可写的FTP目录、是否开发TELNET服务和HTTPD服务等。二、设计原理2.1、TCP connect扫描 这是最基本的TCP扫描方式,其原理是直接使用系统提供的连接函数完成完整的三次握手。
2、连接函数在几乎具有支持网络编程的编程语言里都能找到,在Windows Socket2中是connect函数,在CSocket类中是该类的Connect方法。 优缺点:这项扫描技术的优点是:不需要关注三次握手的细节,并且该函数对于使用用户的权限没有太多的限制。它的缺点是安全性差,很容易被对方发觉,或者被对方的防火墙过滤掉。目标主机的日志文件也会记录下这一连串的连接和连接出错的服务消息,并被反向查出来。二、设计原理1、TCP connect端口扫描服务端与客户端建立连接成功的过程: Client端发送SYN; Server端返回SYN/ACK,表明端口开放; Client端返回ACK,表明连接已建
3、立; Client端主动断开连接。2、TCP connect端口扫描服务端与客户端未建立连接成功(目标端口关闭)过程: Client端发送SYN; Server端返回RST/ACK,表明端口未开放。二、设计原理2.2、TCP SYN扫描 TCP SYN扫描又称“半开扫描”。回顾TCP连接的三次握手,申请方首先发送的是一个SYN数据包,服务方在接到这个SYN数据包后,如果该端口处于侦听状态,则会回复一个SYN|ACK的数据包。如果该端口没有处于侦听状态,则会回复一个RST的数据包。而此时如果对方处于侦听状态,申请方还需要再向对方回复一个ACK数据包以示建立连接。此时对方就认为连接建立,并记入日志
4、。这种扫描技术的优点在于一般不会在目标计算机上留下记录,有时即使在用netstat命令也显示不出来;但这种方法的一个缺点是必须要有管理员权限才能建立自己的SYN数据包。二、设计原理端口开放:1、Client发送SYN ; 2、Server端发送SYN/ACK 3、Client发送RST断开(只需要前两步就可以判断端口开放);端口关闭:1、Client发送SYN; 2、Server端回复RST(表示端口关闭);二、设计原理2.3、TCP FIN扫描TCP FIN扫描也和TCP SYN扫描原理差不多,当申请方主机向目标主机一个端口发送的TCP标志位FIN置位的数据包,如果目标主机该端口是“关”状态
5、,则返回一个TCP RST数据包;否则不回复。根据这一原理可以判断对方端口是处于“开”还是“关”状态。这种方法的缺点是,该原理不是协议规定,因而与具体的协议系统实现有一定的关系,因为有些系统在实现的时候,不管端口是处于“开”还是“关”状态,都会回复RST数据包,从而导致此方法失效。不过,二、设计原理2.4TCP反向Ident扫描 Ident(Identification Protocol,标识协议)提供了一种方法,可以对建立TCP连接的用户身份进行标识,该协议使用113端口,一旦建立连接,该服务就会读取指定TCP连接的查询数据,将拥有指定TCP连接的用户信息反馈给对方。Ident 协议(RFC
6、1413)允许通过TCP连接查询对方的任何进程的用户名,即使这个连接不是由该进程开始的。根据这一原理,扫描程序可以通过TCP连接到对方的WWW端口(默认的80),然后通过Ident协议判断对方是否正以管理员权限运行。这种方法的缺点是只能在和目标端口建立了一个完整的TCP连接后才能看到。2.4、ip分段扫描它并不是直接发送TCP探测数据包,是将数据包分成两个较小的IP段。这样就将一个TCP头分成好几个数据包,从而过滤器就很难探测到。三、总体设计3.1 系统主要目标本程序主要实现了:简易的TCP connect()扫描,支持多线程;UDP扫描功能;能对单个指定的主机进行扫描或扫描指定网段内的主机;
7、能扫描特定的部分端口号或对指定的端口段内的端口进行逐个扫描;3.2 开发环境及工具测试平台:win7使用软件:eclipse开发语言:java语言三、总体设计3.3 功能模块与系统结构(1)、单个指定的主机进行扫描或扫描指定网段内的主机;(2)、扫描特定的部分端口号或对指定的端口段内的端口进行逐个扫描;(3)、对指定ip段进行扫描;三、总体设计指定端口段的扫描指定ip段的扫描四、详细设计4.1、 获取待扫描的端口 通过eclipse的run configurate 设置要扫描端口段,将端口段由String类型转化为int类型数据,判断端口号是否合法。端口号只能是165535范围内的值而且第一个
8、输入的端口小于第二个输入的端口号。4.2、获取待扫描的IP地址通过eclipse的run configurate 设置ip地址,然后读取第一个参数,然后判断IP地址是否合法。通过InetAddress.getByName(ip)方法判断IP地址是否是合法的IP地址。四、详细设计4.3、指定端口段的扫描4.3.1 基本原理调用connect()函数,根据返回值来判断端口是否打开的,isConnected()函数返回1说明建立连接成功,说明该端口是打开的,否则说明是端口是关闭的,同时会对常用的网络服务端口给出提示。Socket s=new Socket(address,nport); /建立连接
9、if(s.isConnected()result.add(端口号:+nport+typeport+ open); s.close();/将打开的端口添加到ArrayList result里面 catch(IOException e)System.out.println(e.toString();result.add(端口号:+nport+typeport+ close); 四、详细设计4.3.2扫描结果的显示使用ArrayList存储扫描端口后的状态,然后用ArrayList的ListIterator一条一条端口状态读出来,显示到屏幕上。ListIterator li = result.lis
10、tIterator(); /获得ArrayList的ListIterator while(li.hasNext() /如果li里面有元素 System.out.println(li.next().toString(); /打印出指向的元素,同时将指向下一个元素 四、详细设计4.4、指定ip段的扫描操作系统提供的connect()系统调用,用来与每一个感兴趣的指定计算机的IP段进行连接。如果指定IP段的计算机存在,那么connect()就能成功。否则,这个IP是不能用的,即IP不存在。4.4.1 基本原理首先得到指定IP段的开始值和结束值,然后判断IP地址是否合法,然后使用socket()函数创建套接字,如果抛出异常且异常是.ConnectException: Connection timed out: connec
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省长沙市师大附中教育集团第十2025-2026学年中考复习全程精练模拟卷(全国卷)数学试题含解析
- 脊椎骨折患者的职业康复与重返工作
- 山东南山集团东海外国语校2026年初三下学期第三次验收物理试题理试卷含解析
- 江苏省溧水区重点中学2026届初三期中考试数学试题试卷含解析
- 河北省石家庄高邑县联考2026年初三下学期第一次月考(数学试题-文)试卷含解析
- 河南省安阳市六十三中重点达标名校2026年初三下学期5月适应性考试物理试题含解析
- 福建省泉州2025-2026学年初三年级物理试题二模试题含解析
- 2026年浙江省绍兴市诸暨市浣江教育集团中考物理试题仿真卷:物理试题试卷(3)含解析
- 张家港市2025-2026学年初三考前适应性测试物理试题含解析
- 市场研究深度分析:2026年中国风电运维行业市场全景调查及投资前景预测报告
- 2026湖南张家界市桑植县招聘城市社区专职工作者20人考试参考试题及答案解析
- 2025年国家保安员资格证考试题库+答案
- 2026年温州永嘉县国有企业面向社会公开招聘工作人员12人考试备考试题及答案解析
- (新教材)2026年春期人教版三年级下册数学教学计划+教学进度表
- (正式版)HGT 22820-2024 化工安全仪表系统工程设计规范
- 2023版思想道德与法治专题4 继承优良传统 弘扬中国精神 第2讲 做新时代的忠诚爱国者
- 林义《社会保险基金管理》(第2版)笔记和课后习题详解
- 2023年安徽汽车职业技术学院单招职业适应性测试题库及答案解析
- 拉丁舞比赛服饰装饰元素的演变,服装设计论文
- YY/T 0698.2-2022最终灭菌医疗器械包装材料第2部分:灭菌包裹材料要求和试验方法
- 二次函数中几何图形的最值问题课件
评论
0/150
提交评论