文档库 最新最全的文档下载
当前位置:文档库 › 网络扫描技术有哪些

网络扫描技术有哪些

网络扫描技术有哪些
网络扫描技术有哪些

三. 常见扫描主要技术

1、存活性扫描:是指大规模去评估一个较大网络的存活状态。例如跨地域、跨系统的大型企业。但是被扫描主机可能会有一些欺骗性措施,例如使用防火墙阻塞ICMP数据包,可能会逃过存活性扫描的判定。

2、端口扫描:针对主机判断端口开放和关闭情况,不管其是不是存活。端口扫描也成为存活性扫描的一个有益补充,如果主机存活,必然要提供相应的状态,因此无法隐藏其存活情况。

3、服务识别:通过端口扫描的结果,可以判断出主机提供的服务及其版本。

4、操作系统识别:利用服务的识别,可以判断出操作系统的类型及其版本。

3.1 主机存活扫描技术

主机扫描的目的是确定在目标网络上的主机是否可达。这是信息收集的初级阶段,其效果直接影响到后续的扫描。Ping就是最原始的主机存活扫描技术,利用icmp的echo字段,发出的请求如果收到回应的话代表主机存活。

常用的传统扫描手段有:

1. ICMP Echo扫描精度相对较高。通过简单地向目标主机发送ICMP Echo Request 数据包,并等待回复的ICMP Echo Reply 包,如Ping。

2. ICMP Sweep 扫描:sweep这个词的动作很像机枪扫射,icmp进行扫射式的扫描,就是并发性扫描,使用ICMP Echo Request一次探测多个目标主机。通常这种探测包会并行发送,以提高探测效率,适用于大范围的评估。

3. Broadcast ICMP扫描:广播型icmp扫描,利用了一些主机在icmp实现上的差异,设置ICMP请求包的目标地址为广播地址或网络地址,则可以探测广播域或整个网络范围内的主机,子网内所有存活主机都会给以回应。但这种情况只适合于UNIX/Linux系统。

4. Non-Echo ICMP扫描:在ICMP协议中不光光只有ICMP ECHO的ICMP 查询信息类型,在ICMP扫描技术中也用到Non-ECHO ICMP技术(不仅仅能探测主机,也可以探测网络设备如路由)。利用了ICMP的服务类型(Timestamp和Timestamp Reply 、Information Request和Information Reply 、Address Mask Request 和Address Mask Reply)。

3.2 规避技术

为到达规避防火墙和入侵检测设备的目的, ICMP协议提供网络间传送错误信息的功能也成为了主要的扫非常规描手段。其主要原理就是利用被探测主机产生的ICMP错误报文来进行复杂的主机探测。

常用的规避技术大致分为4类:

1. 异常的IP包头:向目标主机发送包头错误的IP包,目标主机或过滤设备会反馈ICMP Parameter Problem Error信息。常见的伪造错误字段为Header Length 和IP Options。不同厂家的路由器和操作系统对这些错误的处理方式不同,返回的结果也不同。

2. 在IP头中设置无效的字段值:向目标主机发送的IP包中填充错误的字段值,目标主机或过滤设备会反馈ICMP Destination Unreachable信息。这种方法同样可以探测目标主机和网络设备。

3. 通过超长包探测内部路由器:若构造的数据包长度超过目标系统所在路由器的PMTU且设置禁止分片标志, 该路由器会反馈 Fragmentation Needed and Don’t Fragment Bit was Set差错报文。

4. 反向映射探测:用于探测被过滤设备或防火墙保护的网络和主机。构造可能的内部IP地址列表,并向这些地址发送数据包。当对方路由器接收到这些数据包时,会进行IP识别并路由,对不在其服务的范围的IP包发送ICMP Host Unreachable或ICMP Time Exceeded 错误报文,没有接收到相应错误报文的IP 地址可被认为在该网络中。

3.3 端口扫描技术

在完成主机存活性判断之后,就应该去判定主机开放信道的状态,端口就是在主机上面开放的信道,0-1024为知名端口,端口总数是65535。端口实际上就是从网络层映射到进程的通道。通过这个关系就可以掌握什么样的进程使用了什么样的通信,在这个过程里面,能够通过进程取得的信息,就为查找后门、了解系统状态提供了有力的支撑。常见流行的端口扫描技术通常有:

3.3.1 TCP扫描:

利用三次握手过程与目标主机建立完整或不完整的TCP连接。

TCP connect()扫描: tcp的报头里,有6个连接标记,分别是urg、ack、psh、rst、syn、fin。通过这些连接标记不同的组合方式,可以获得不同的返回报文。例如,发送一个syn置位的报文,如果syn置位瞄准的端口是开放的,syn 置位的报文到达的端口开放的时候,他就会返回syn+ack,代表其能够提供相应的服务。我收到syn+ack后,返回给对方一个ack。这个过程就是著名的三次握手。这种扫描的速度和精度都是令人满意的。

Reverse-ident扫描:这种技术利用了Ident协议(RFC1413),tcp端口113.很多主机都会运行的协议,用于鉴别TCP连接的用户。

identd 的操作原理是查找特定 TCP/IP 连接并返回拥有此连接的进程的用户名。它也可以返回主机的其他信息。但这种扫描方式只能在tcp全连接之后才有效,并且实际上很多主机都会关闭ident服务。

Tcp syn扫描:向目标主机的特定端口发送一个SYN包,如果端口没开放就不会返回syn+ack,这时会给你一个rst,停止建立连接。由于连接没有完全建立,所以称为半开放扫描。但由于syn flood作为一种ddos攻击手段被大量采用,因此很多防火墙都会对syn报文进行过滤,所以这种方法并不能总是有用。

其他还有fin、NULL、Xmas等扫描方式。

3.3.2 UDP扫描

由于现在防火墙设备的流行,tcp端口的管理状态越来越严格,不会轻易开放,并且通信监视严格。为了避免这种监视,达到评估的目的,就出现了秘密扫描。这种扫描方式的特点是利用UDP端口关闭时返回的ICMP信息,不包含标准的TCP三次握手协议的任何部分,隐蔽性好,但这种扫描使用的数据包在通过网络时容易被丢弃从而产生错误的探测信息。

但是,UDP扫描方式的缺陷很明显,速度慢、精度低。UDP的扫描方法比较单一,基础原理是:当你发送一个报文给udp端口,该端口是关闭状态时,端口会返回给一个icmp信息,所有的判定都是基于这个原理。如果关闭的话,什么信息都不发。

Traceroute扫描:tracert 向30000以上的高端口(一般认为,主机的30000以上高端口利用率非常低,任何主机都不会轻易开放这种高端口,默认都是关闭的)。如果对方端口关闭,会返回给icmp信息,根据这个往返时间,计算跳数、路径信息,了解延时情况。这是tracerote原理,也是从这个原理上演变出来udp扫描技术。

使用udp扫描要注意的是1、udp状态、精度比较差,因为udp是不面向连接的,所以整个精度会比较低。2、udp扫描速度比较慢,tcp扫描开放1秒的延时,在udp里可能就需要2秒,这是由于不同操作系统在实现icmp协议的时候为了避免广播风暴都会有峰值速率的限制(因为icmp信息本身并不是传输载荷信息,不会有人拿他去传输一些有价值信息。操作系统在实现的时候是不希望icmp报文过多的。为了避免产生广播风暴,操作系统对icmp报文规定了峰值速率,不同操作系统的速率不同)利用udp作为扫描的基础协议,就会对精度、延时产生较大影响。

当前在渗透测试过程中对于端口的扫描是非常灵活的,06年的黑帽大会上,就有人利用了开发了工具探测网内哪台主机打开了80端口,这样的技术在当前的互联网上利用的非常普遍。

3.4 服务及系统指纹

在判定完端口情况之后,继而就要判定服务。

3.4.1 根据端口判定

这种判定服务的方式就是根据端口,直接利用端口与服务对应的关系,比如23端口对应telnet,21对应ftp,80对应http。这种方式判定服务是较早的一种方式,对于大范围评估是有一定价值的,但其精度较低。例如使用nc这样的工具在80端口上监听,这样扫描时会以为80在开放,但实际上80并没有提供http服务,由于这种关系只是简单对应,并没有去判断端口运行的协议,这就产生了误判,认为只要开放了80端口就是开放了http协议。但实际并非如此,这就是端口扫描技术在服务判定上的根本缺陷。

为了判断服务类型、应用版本、OS平台,通过模拟各种协议初始化握手,就可以获取信息。

3.4.3 指纹技术

指纹技术利用TCP/IP协议栈实现上的特点来辨识一个操作系统。可辨识的OS的种类,包括哪些操作系统,甚至小版本号。指纹技术有主动和被动两种。

主动识别技术:采用主动发包,利用多次的试探,去一次一次筛选不同信息,比如根据ACK值判断,有些系统会发送回所确认的TCP分组的序列号,有些会发回序列号加1。还有一些操作系统会使用一些固定的tcp窗口。某些操作系统还会设置IP头的DF位来改善性能。这些都成为判断的依据。这种技术判定windows的精度比较差,只能够判定一个大致区间,很难判定出其精确版本,但是在unix,网络设备时甚至可以判定出小版本号,比较精确。如果目标主机与源主机跳数越多,精度越差。因为数据包里的很多特征值在传输过程中都已经被修改或模糊化,会影响到探测的精度。nmap –O参数就是其代表。

被动识别技术:不是向目标系统发送分组,而是被动监测网络通信,以确定所用的操作系统。利用对报头内DF位,TOS位,窗口大小,TTL的嗅探判断。因为并不需要发送数据包,只需要抓取其中的报文,所以叫做被动识别技术。例如telnet对方,并用snort监听数据包:

ICMP指纹识别技术:这种工具的出现较晚,大概在2001-2002年,在黑帽大会上提出,并开发出相应的工具xprobe,其优势是只需要通过icmp,发送一批UDP包给高端关闭的端口,然后计算返回来的不可达错误消息。通常情况下送回IP头+8个字节,但是个别系统送回的数据更多一些。根据ICMP回应的TOS、TTL值、校验和等信息,通过这些信息以树状的形式去过滤,最终精确锁定。下图只是整个判定过程中的一小量部分,类似的图还有很多张。

例如TTL值,当你发送icmp 的echo请求,对方回应的ttl值是有一定规律可循的,一般是4个数值,32(win95,唯一值为32的操作系统),64,128(windows家族,只有win95例外),256。64和256比较难以分辨,大多数的unix和linux都可能是。代表性扫描工具 Xprobe。

2013年专业技术人员考试——信息安全技术(单选,多选,判断)

专业技术人员考试——信息安全技术(单选) ____是在蜜罐技术上逐步发展起来的一个新的概念,在其中可以部署一个或者多个蜜罐,来构成一个黑客诱捕网络体系架构。A 蜜网 Backup 命令的功能是用于完成UNIX /Linux 文件的备份,下面说法不正确的是____。D Backup —d 命令当备份设备为磁带时使用此选项 FTP(文件传输协议,File Transfer Protocol ,简称FFP)服务、SMTP(简单邮件传输协议,Simple Mail Transfer Protocol ,简称SMTP)服务、HTTP(超文本传输协议,Hyper Text Transport Protocol ,简称HTTP)、HTTPS(加密并通过安全端口传输的另一种HTTP)服务分别对应的端口是____。B 21 25 80 443 iptables 中默认的表名是____。A filter UNIX /Linux 操作系统的文件系统是____结构。B 树型 UNIX /Linux 系统中,下列命令可以将普通帐号变为root 帐号的是____。D /bin /su 命令 UNIX 工具(实用程序,utilities)在新建文件的时候,通常使用____作为缺省许可位,而在新建程序的时候,通常使用____作为缺省许可位。B 666 777 Windows 系统安装完后,默认隋况下系统将产生两个帐号,分别是管理员帐号和____。C 来宾帐号 Windows 系统的用户帐号有两种基本类型,分别是全局帐号和____。A 本地帐号 Window 系统中对所有事件进行审核是不现实的,下面不建议审核的事件是____。C 用户打开关闭应用程序 包过滤防火墙工作在OSI 网络参考模型的____。C 网络层 保障UNIX /Linux 系统帐号安全最为关键的措施是____。A 文件/etc /passwd 和/etc /group 必须有写保护 不能防止计算机感染病毒的措施是_____。A 定时备份重要文件 不需要经常维护的垃圾邮件过滤技术是____。B 简单DNS 测试 布置电子信息系统信号线缆的路由走向时,以下做法错误的是____。A 可以随意弯折 采用“进程注入”可以____。C 以其他程序的名义连接网络 从系统结构上来看,入侵检测系统可以不包括____。C 审计 代表了当灾难发生后,数据的恢复程度的指标是____。A RPO 代表了当灾难发生后,数据的恢复时间的指标是____。B RTO 当您收到您认识的人发来的电子邮件并发现其中有意外附件,您应该____。C 用防病毒软件扫描以后再打开附件 对电磁兼容性(Electromagnetic Compatibility ,简称EMC)标准的描述正确的是____。C 各个国家不相同 防火墙是____在网络环境中的应用。B 访问控制技术 防火墙提供的接入模式不包括____。D 旁路接入模式 符合复杂性要求的WindowsXP 帐号密码的最短长度为____。B 6 关于NA T 说法错误的是____。D 动态NAT 又叫做网络地址端口转换NAPT 关于包过滤防火墙说法错误的是____。C 包过滤防火墙可以有效防止利用应用程序漏洞进行的攻击 关于网闸的工作原理,下面说法错误的是____. C 网闸工作在OSI 模型的二层以上 关于应用代理网关防火墙说法正确的是____。B 一种服务需要一种代理模块,扩展服务较难 关于用户角色,下面说法正确的是____。B 角色与身份认证无关 会让一个用户的“删除”操作去警告其他许多用户的垃圾邮件过滤技术是____。D 分布式适应性黑名单 基于网络的入侵检测系统的信息源是____。D 网络中的数据包 计算机网络组织结构中有两种基本结构,分别是域和____。B 工作组 美国国防部发布的可信计算机系统评估标准(TCSEC)定义了____个等级。C 七 某病毒利用RPCDCOM 缓冲区溢出漏洞进行传播,病毒运行后,在%System %文件夹下生成自身的拷贝nvchip4.exe ,添加注册表项,使得自身能够在系统启动时自动运行。通过以上描述可以判断这种病毒的类型为____。C 网络蠕虫病毒 某公司的工作时间是上午8点半至12点,下午1点555点半,每次系统备份需要一个半小时,下列适合作为系统数据备份的时间是____。D 凌晨l 点 目前对于大量数据存储来说,容量大、成本低、技术成熟、广泛使用的介质是____。B 磁带 内容过滤技术的含义不包括____。D 过滤用户的输入从而阻止用户传播非法内容 企业在选择防病毒产品时不应该考虑的指标为____。D 产品能够防止企业机密信息通过邮件被传出 容灾的目的和实质是____。C 保持信息系统的业务持续性 A B C D H G F J M N Q R

实验2-网络端口的扫描

南昌航空大学实验报告 二〇一三年十一月八日 课程名称:信息安全实验名称:实验网络端口扫描 班级:姓名:同组人: 指导教师评定:签名: 一、实验目的 通过练习使用网络端口扫描器,可以了解目标主机开放的端口和服务程序,从而获取系统的有用信息,发现网络系统的安全漏洞。在实验中,我们将在操作系统下使用进行网络端口扫描实验,通过端口扫描实验,可以增强学生在网络安全方面的防护意识。利用综合扫描软件“流光”扫描系统的漏洞并给出安全性评估报告。 二、实验原理 .端口扫描的原理 对网络端口的扫描可以得到目标计算机开放的服务程序、运行的系统版本信息,从而为下一步的入侵做好准备。对网络端口的扫描可以通过执行手工命令实现,但效率较低;也可以通过扫描工具实现,效率较高。 扫描工具根据作用的环境不同,可分为两种类型:网络漏洞扫描工具和主机漏洞扫描工具。 .端口的基础知识 为了了解扫描工具的工作原理,首先简单介绍一下端口的基本知识。 端口是协议中所定义的,协议通过套接字()建立起两台计算机之间的网络连接。套接字采用[地址:端口号]的形式来定义,通过套接字中不同的端口号可以区别同一台计算机上开启的不同和连接进程。对于两台计算机间的任意一个连接,一台计算机的一个[地址:端口]套接字会和另一台计算机的一个[地址:端口]套接字相对应,彼此标识着源端、目的端上数据包传输的源进程和目标进程。这样网络上传输的数据包就可以由套接字中的地址和端口号找到需要传输的主机和连接进程了。由此可见,端口和服务进程一一对应,通过扫描开放的端口,就可以判断出计算机中正在运行的服务进程。 /的端口号在~范围之内,其中以下的端口保留给常用的网络服务。例如,端口为服务,端口为服务,端口为服务,端口为服务,端口为服务等。 .扫描的原理 扫描的方式有多种,为了理解扫描原理,需要对协议简要介绍一下。 一个头的数据包格式如图所示。它包括个标志位,其中:、、、。 图数据包格式 根据上面介绍的知识,下面我们介绍基于和协议的几种端口扫描方式。

端口扫描实验报告

综合实验报告 ( 2010 -- 2011 年度第二学期) 名称:网络综合实验 题目:端口扫描程序 院系:信息工程系 班级: 学号: 学生姓名: 指导教师:鲁斌李莉王晓霞张铭泉设计周数: 2 周 成绩: 日期:2011年7月1日

一、综合实验的目的与要求 1.任务:设计并实现一个端口扫描程序,检测某个IP或某段IP的计算机的端口工作情况。 2.目的:加深对课堂讲授知识的理解,熟练掌握基本的网络编程技术和方法,建立网络编程整体概念,使得学生初步具有研究、设计、编制和调试网络程序的能力。 3.要求:熟悉有关定义、概念和实现算法,设计出程序流程框图和数据结构,编写出完整的源程序,基本功能完善,方便易用,操作无误。 4.学生要求人数:1人。 二、综合实验正文 1.端口扫描器功能简介:服务器上所开放的端口就是潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息,进行端口扫描的方法很多,可以是手工进行扫描、也可以用端口扫描软件进行。扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过这种方法可以搜集到很多关于目标主机的各种有用的信息,例如远程系统是否支持匿名登陆、是否存在可写的FTP目录、是否开放TELNET 服务和HTTPD服务等。 2.实验所用的端口扫描技术:端口扫描技术有TCP connect()扫描、TCP SYN扫描、TCP FIN 扫描、IP段扫描等等。本次实验所用的技术是TCP connect()扫描,这是最基本的TCP 扫描,操作系统提供的connect()系统调用可以用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么connect()就能成功。否则,这个端口是不能用的,即没有提供服务。这个技术的一个最大的优点是,你不需要任何权限。系统中的任何用户都有权利使用这个调用。 3.实验具体实现方案:编写一个端口扫描程序,能够显示某个IP或某段IP的计算机的某一个或某些端口是否正在工作。基本工作过程如下: (1) 设定好一定的端口扫描范围; (2) 设定每个端口扫描的次数,因为有可能有的端口一次扫描可能不通; (3) 创建socket,通过socket的connect方法来连接远程IP地址以及对应的端口; (4) 如果返回false,表示端口没有开放,否则端口开放。 4.有关TCP/IP的知识: 4.1套接字概念 1)在网络中要全局地标识一个参与通信的进程,需要采用三元组:协议、主机IP地址、端口号。

端口扫描与检测技术的实现论文

端口扫描与检测技术的实现 摘要 随着Internet日益广泛的应用,黑客攻击行为也是有增无减。如何有效地抵御这种攻击行为,一直是信息安全领域的焦点。 而其中,端口扫描技术吸引了越来越多人的关注。端口扫描是黑客搜集目标主机信息的一种常用方法。为了有效地对付网络入侵行为,对端口扫描进行研究是非常有益和必要的。攻击者在攻击一个目标时,首先要获取目标的一些基本信息,端口扫描就是其中最简单最重要的方法之一,它可以扫描目标机器中开放的端口,从而确定目标机器中提供的服务,为下一步攻击做准备。针对端口扫描技术,相应的端口扫描检测技术显的越发重要,作为网络安全技术中的一个重要课题,端口扫描检测技术意义重大。 本文首先阐述了端口扫描技术以及端口扫描检测技术的基本原理和常用方法,然后在此基础上设计了一个对基于网络的端口进行扫描,能判断出目标主机端口开放情况的程序以及一个从网络信息的数据包的捕获和分析着手,再通过统计判断是否存在端口扫描行为的程序,最后从攻击和防御的角度对端口扫描和检测技术作了演示及分析。 关键词:端口;端口扫描;数据包捕获;端口检测

The Realization of Port Scanning and Detecting Technology Abstract As the widely applying of Internet, the attacking behavior made by hacker is increasing but not decreasing. How to resist this kind of attacking behavior is always the key point of the domain of the information security. And the port scanning draws people's attention more and more. Port scanning is a usual method which is used by the hacker to collect the information of the target main processor. In order to deal with the invading behavior of the Internet effectively, it is very useful and necessary to work on the port scanning. When an attacker attacks to a target, he or she will firstly gets some basic information about the target, and the port scanning is one of the most simple and important methods which can scan the opening Port of the target machine to make sure the offering service made by the target machine, and it is a preparation to the next attacking. The port detecting seems more and more important referring to the port scanning. As an important task of the secure technique of Internet, the port detecting is of great significance. In this thesis, it firstly elaborates the basic principles and usual methods of the port scanning. On this basis, it then designs a program which can scan the Port of the Internet, and assess the opening situation of the target main processor, and the other program which begins on capturing and analyzing the information packet of Internet, and then assess whether there is a behavior about port scanning through statistic analyses. Lastly, it demonstrates and analyses the technology of port scanning and port detecting from the viewpoint of attacking and resisting. Key Words:port; port scanning; packet capture; port detecting

网络安全期末复习题及答案解析

网络安全期末复习题及答案 一、选择题: 1.计算机网络安全的目标不包括( A) A.可移植性 B.保密性 C.可控性 D.可用性 2.SNMP的中文含义为( B) A.公用管理信息协议 B.简单网络管理协议 C.分布式安全管理协议 D.简单邮件传输协议 3.端口扫描技术( D) A.只能作为攻击工具 B.只能作为防御工具 C.只能作为检查系统漏洞的工具 D.既可以作为攻击工具,也可以作为防御工具 4.在以下人为的恶意攻击行为中,属于主动攻击的是( A) A、身份假冒 B、数据解密 C、数据流分析 D、非法访问 5.黑客利用IP地址进行攻击的方法有:( A) A. IP欺骗 B. 解密 C. 窃取口令 D. 发送病毒 6.使网络服务器中充斥着大量要求回复的信息,消耗带宽,导致网络或系统停止正常 服务,这属于什么攻击类型( A) A、拒绝服务 B、文件共享 C、BIND漏洞 D、远程过程调用 7.向有限的空间输入超长的字符串是哪一种攻击手段( A) A、缓冲区溢出 B、网络监听 C、拒绝服务 D、IP欺骗 8.用户收到了一封可疑的电子邮件,要求用户提供银行账户及密码,这是属于何种攻击 手段( B) A、缓存溢出攻击 B、钓鱼攻击 C、暗门攻击 D、DDOS攻击 9.Windows NT 和Windows 2000系统能设置为在几次无效登录后锁定帐号,这可以防 止:( B ) A、木马 B、暴力攻击 C、IP欺骗 D、缓存溢出攻击 10.当你感觉到你的Win2003运行速度明显减慢,当你打开任务管理器后发现CPU的使 用率达到了百分之百,你最有可能认为你受到了哪一种攻击。( B) A、特洛伊木马 B、拒绝服务 C、欺骗 D、中间人攻击 11.假如你向一台远程主机发送特定的数据包,却不想远程主机响应你的数据包。这时 你使用哪一种类型的进攻手段( B ) A、缓冲区溢出 B、地址欺骗 C、拒绝服务 D、暴力攻击 12.小李在使用super scan对目标网络进行扫描时发现,某一个主机开放了25和110端 口,此主机最有可能是什么( B) A、文件服务器 B、邮件服务器 C、WEB服务器 D、DNS服务器 13.你想发现到达目标网络需要经过哪些路由器,你应该使用什么命令( C) A、ping B、nslookup C、tracert D、ipconfig 14.黑客要想控制某些用户,需要把木马程序安装到用户的机器中,实际上安装的是 ( B) A.木马的控制端程序B.木马的服务器端程序 C.不用安装D.控制端、服务端程序都必需安装 15.为了保证口令的安全,哪项做法是不正确的( C ) A 用户口令长度不少于6个字符 B 口令字符最好是数字、字母和其他字符的混

端口扫描报告

杭州电子科技大学软件学院网络工程试验报告 端口扫描报告 09109146 王子龙

1.端口及端口扫描技术简介 (2) 2.对现有端口扫描工具程序的理解 (2) 主界面 (3) 3.核心代码 (6) 4.个人总结 (13) 1.端口及端口扫描技术简介 根据提供服务类型的不同,端口分为两种,一种是TCP端口,一种是UDP端口。计算机之间相互通信的时候,分为两种方式:一种是发送信息以后,可以确认信息是否到达,也就是有应答的方式,这种方式大多采用TCP协议;一种是发送以后就不管了,不去确认信息是否到达,这种方式大多采用UDP协议。对应这两种协议的服务提供的端口,也就分为TCP 端口和UDP端口。 一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。主机不只是靠IP地址来区分网络服务,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的。 一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。进行扫描的方法很多,可以是手工进行扫描,也可以用端口扫描软件进行。 在手工进行扫描时,需要熟悉各种命令。对命令执行后的输出进行分析。用扫描软件进行扫描时,许多扫描器软件都有分析数据的功能。 通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。 2. 对现有端口扫描工具程序的理解 该程序是有C++编写的。C++是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。 该程序能够扫描主机IP的某一个端口,或者是扫描该主机IP某一范围内的端口。并且提供多次扫描功能。如果要扫描的端口很多,在扫描过程中可以暂停扫描。扫描结果在界面的下方显示。主要显示内容有IP地址、端口号、端口状态、连接次数及备注。

漏洞扫描技术

在计算机安全领域,安全漏洞(SecurityHole)通常又称作脆弱性(vulnerability)。 漏洞的来源漏洞的来源:(1)软件或协议设计时的瑕疵(2)软件或协议实现中的弱点(3)软件本身的瑕疵(4)系统和网络的错误配置 DNS区域传送是一种DNS 服务器的冗余机制。通过该机制,辅DNS服务器能够从其主DNS 服务器更新自己的数据,以便主DNS服务器不可用时,辅DNS服务器能够接替主DNS服务器工作。正常情况下,DNS区域传送操作只对辅DNS服务器开放。然而,当系统管理员配置错误时,将导致任何主机均可请求主DNS服务器提供一个区域数据的拷贝,以至于目标域中所有主机信息泄露. 网络扫描主要分为以下3个阶段:(1)发现目标主机或网络。(2)发现目标后进一步搜集目标信息,包括操作系统类型、运行的服务以及服务软件的版本等。如果目标是一个网络,还可以进一步发现该网络的拓扑结构、路由设备以及各主机的信息。(3)根据搜集到的信息判断或者进一步检测系统是否存在安全漏洞。 网络扫描的主要技术 (1)主机扫描:确定在目标网络上的主机是否可达,同时尽可能多映射目标网络的拓扑结构,主要利用ICMP 数据包 (2)端口扫描:发现远程主机开放的端口以及服务 (3)操作系统指纹扫描:根据协议栈判别操作系统 发现存活主机方法: ICMP 扫射ping 广播ICMP 非回显ICMP(ICMP时间戳请求允许系统向另一个系统询当前的时间。ICMP地址掩码请求用于无盘系统引导过程中获得自己的子网掩码。) TCP 扫射UDP 扫射 获取信息: (1)端口扫描: 端口扫描就是连接到目标机的TCP 和UDP端口上,确定哪些服务正在运行及服务的版本号,以便发现相应服务程序的漏洞。 (2)TCP connect()扫描: 利用操作系统提供的connect()系统调用,与每一个感兴趣的目标计算机的端口进行连接。如果目标端口处于侦听状态,那么connect()就能成功;否则,该端口是不能用的,即没有提供服务。 (3)TCP SYN扫描: 辨别接收到的响应是SYN/ACK报文还是RST报文,就能够知道目标的相应端口是出于侦听状态还是关闭状态(RST为关闭)。又叫“半开扫描”,因为它只完成了3次握手过程的一半. (4) TCP ACK扫描: 用来探测防火墙的规则设计。可以确定防火墙是简单的包过滤还是状态检测机制 (5):TCP Fin扫描: 扫描器发送一个FIN数据包 ?如果端口关闭的,则远程主机丢弃该包,并送回一个RST包 ?如果端口处于侦听状态忽略对FIN数据包的回复 ?与系统实现有一定的关系,有的系统不管端口是否打开,都回复RST(windows),但可以区分Unix和Windows (6) TCP XMAS 扫描(7) TCP 空扫描(8) UDP ICMP 端口不可达扫描

主机端口扫描程序设计

主机端口扫描程序设计 摘要 计算机信息网络的发展加速了信息化时代的进程,但是随着社会网络化程度的增加,对计算机网络的依赖也越来越大,网络安全问题也日益明显。端口扫描技术是发现安全问题的重要手段之一。 本程序是在Windows系统中使用C语言用MFC完成的一个端口扫描程序。此程序主要完成了TCP connect()扫描和UDP扫描功能。TCP扫描支持多线程,能对单个指定的主机进行扫描或对指定网段内的主机进行逐个扫描。能扫描特定的部分端口号或对指定的端口段内的端口进行逐个扫描。此端口扫描程序能快速地进行TCP扫描,准确地检测出对TCP协议开放的端口。而对于UDP扫描只支持单线程,速度较慢。扫描结果以列表的形式直观地展现出来。 关键词:端口扫描、TCP扫描、UDP扫描、TCP多线程扫描

目录 1引言 (1) 1.1 课题的背景及意义 (1) 1.2 端口扫描现状 (1) 2系统设计 (1) 2.1 系统主要目标 (1) 2.2 开发环境及工具 (1) 2.3 功能模块与系统结构 (2) 3系统功能程序设计 (4) 3.1 获取本机IP (4) 3.2 分割字符串函数的实现 (4) 3.3 获取待扫描的IP地址 (5) 3.4 获取待扫描的端口号 (5) 3.4.1 指定端口号的初始化 (6) 3.4.2 指定端口号的保存 (7) 3.5 TCP CONNECT()扫描 (8) 3.5.1 基本原理 (8) 3.5.2 扫描多个主机多端口多线程的实现 (8) 3.5.3 扫描结果的显示 (9) 3.6 UDP扫描 (10) 3.6.1 基本原理 (10) 3.6.2 计算效验和 (11) 3.6.3 发送UDP数据包 (11) 3.6.4 接收ICMP数据包 (12) 4测试报告 (12) 4.1 TCP扫描检测 (12) 4.1.1扫描本机 (12) 4.1.2扫描网络中其他主机 (13) 4.1.3 扫描IP段 (13) 4.2 UDP扫描检测 (14) 4.2.1 扫描本机 (14) 4.1.2扫描网络中其他主机 (15) 4.3 TCP、UDP一起扫描 (16) 结论 (17) 参考文献 (17)

常见的端口扫描类型及原理

常见的端口扫描类型及原理 常见的扫描类型有以下几种: 秘密扫描 秘密扫描是一种不被审计工具所检测的扫描技术。 它通常用于在通过普通的防火墙或路由器的筛选(filtering)时隐藏自己。 秘密扫描能躲避IDS、防火墙、包过滤器和日志审计,从而获取目标端口的开放或关闭的信息。由于没有包含TCP 3次握手协议的任何部分,所以无法被记录下来,比半连接扫描更为隐蔽。 但是这种扫描的缺点是扫描结果的不可靠性会增加,而且扫描主机也需要自己构造IP包。现有的秘密扫描有TCP FIN 扫描、TCP ACK扫描、NULL扫描、XMAS扫描和SYN/ACK 扫描等。 1、Connect()扫描: 此扫描试图与每一个TCP端口进行“三次握手”通信。如果能够成功建立接连,则证明端口开发,否则为关闭。准确度很高,但是最容易被防火墙和IDS检测到,并且在目标主机的日志中会记录大量的连接请求以及错误信息。 TCP connect端口扫描服务端与客户端建立连接成功(目标

端口开放)的过程: ① Client端发送SYN; ② Server端返回SYN/ACK,表明端口开放; ③ Client端返回ACK,表明连接已建立; ④ Client端主动断开连接。 建立连接成功(目标端口开放)如图所示 TCP connect端口扫描服务端与客户端未建立连接成功(目标端口关闭)过程: ① Client端发送SYN; ② Server端返回RST/ACK,表明端口未开放。 未建立连接成功(目标端口关闭)如图所示。 优点:实现简单,对操作者的权限没有严格要求(有些类型的端口扫描需要操作者具有root权限),系统中的任何用户 都有权力使用这个调用,而且如果想要得到从目标端口返回banners信息,也只能采用这一方法。 另一优点是扫描速度快。如果对每个目标端口以线性的方式,使用单独的connect()调用,可以通过同时打开多个套接字,从而加速扫描。 缺点:是会在目标主机的日志记录中留下痕迹,易被发现,并且数据包会被过滤掉。目标主机的logs文件会显示一连串的连接和连接出错的服务信息,并且能很快地使它关闭。

端口扫描实验报告

网络端口扫描实验报告 一、网络端口扫描简介 TCP/IP协议在网络层是无连接的,而“端口”,就已经到了传输层。端口便是计算机与外部通信的途径。一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。进行扫描的方法很多,可以是手工进行扫描,也可以用端口扫描软件进行。在手工进行扫描时,需要熟悉各种命令,对命令执行后的输析出进行分,效率较低。用扫描软件进行扫描时,许多扫描器软件都有分析数据的功能。通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。扫描工具根据作用的环境不同可分为:网络漏洞扫描工具和主机漏洞扫描工具。前者指通过网络检测远程目标网络和主机系统所存在漏洞的扫描工具。后者指在本机运行的检测本地系统安全漏洞的扫描工具。本实验主要针对前者。 端口是TCP协议中定义的,TCP协议通过套接字(socket)建立起两台计算机之间的网络连接。它采用【IP地址:端口号】形式定义,通过套接字中不同的端口号来区别同一台计算机上开启的不同TCP和UDP连接进程。端口号在0~~65535之间,低于1024的端口都有确切的定义,它们对应着因特网上常见的一些服务。这些常见的服务可以划分为使用TCP端口(面向连接如打电话)和使用UDP端口

(无连接如写信)两种。端口与服务进程一一对应,通过扫描开放的端口就可以判断计算机中正在运行的服务进程。 二、实验目的 1.了解熟悉MFC及的基本原理和方法。 2.加深对tcp的理解,学习端口扫描技术和,原理熟悉socket编程。 3.通过自己编程实现简单的IP端口扫描器模型。 4.通过端口扫描了解目标主机开放的端口和服务程序。 三、实验环境 Windows操作系统 VC++6.0开发环境 四、实验设计 实验原理 通过调用socket函数connect()连接到目标计算机上,完成一次完整的三次握手过程,如果端口处于侦听状态,那么connect()就可以成功返回,否则这个端口不可用,即没有提供服务。 实验内容 1. 设计实现端口扫描器 2. IP地址、端口范围可以用户输入。 3. 要求有有好的可视化操作界面。 实验步骤: 1、用户界面:使用vc6.0里的MFC来开发用户界面 2、端口扫描:使用socket函数中的connect()连接计算机来判定目标计算机是否开放了要测试的端口 五、代码实现 #include #include #pragma comment(lib,"wsock32.lib") #define ZERO (fd_set *)0 int maxth, scanok, scannum; int portip, hoststart, hoststop, startport, endport; long searchnum, searched; void usage(char *); void playx(int); void setip2(char *); void customport(char *, char *, char *); void portscannow(int); int main(int argc, char *argv[]) { WSADATA wsadata; system("cls.exe"); printf("\r\n============== 命令行端口扫描器PortScanner V1.0 ==============");

以太网中网络扫描原理与检测

以太网中网络扫描原理与检测 以太网中网络扫描原理与检测 摘要:对网络扫描原理和现有基本方法进行了分析,并设计了一个陷阱机来检测所在网段中的网络扫描行为。 关键词:网络扫描网络扫描检测陷阱机 网络扫描通过扫描本地主机,能检测主机当前可用的服务及其开放端口,帮助网络管理员查找安全漏洞,查杀木马、蠕虫等危害系统安全的病毒。一些扫描器还封装了简单的密码探测,利用自定义规则的密码生成器来检测过于简单和不安全的密码。 网络扫描一般包括2个阶段:(1)对整个网络扫描一遍,从而找到活动主机(因为许多子网配置得很稀疏,大部分IP地址是空的)。(2)对每个活动主机进行穷尽式的端口扫描。 网络扫描也是网络入侵的基础。一次成功的网络入侵离不开周密的网络扫描。攻击者利用网络扫描探知目标主机的各种信息,根据扫描的结果选择攻击方法以达到目的。因此,若能及时监测、识别网络扫描,就能预防网络攻击。为了得到被扫描主机的信息,网络扫描报文对应的源地址往往是真正的地址,因此监测网络扫描可以定位攻击者。 1网络扫描原理 网络扫描通过检测目标主机TCP/IP不同端口的服务,记录目标给予的回答。通过这种方法,可以搜集到很多目标主机的各种信息(如是否能用匿名登录,是否有可写的FTP目录,是否能用Telnet等)。在获得目标主机

TCP/IP端口和其对应的网络访问服务的相关信息后,与网络漏洞扫描系统提供的漏洞库进行匹配,如果满足匹配条件,则视为漏洞存在。 在匹配原理上,网络漏洞扫描器一般采用基于规则的匹配技术。根据安全专家对网络系统安全漏洞、黑客攻击案例的分析和系统管理员关于网络系统安全配置的实际经验,形成一套标准的系统漏洞库,然后在此基础上构成相应的匹配规则,由程序自动进行系统漏洞扫描的分析工作。如在对TCP 80端口的扫描过程中,发现/cgi-bin/phf或/cgi-bin/Count.cgi,则根据专家经验以及CGI程序的共享性和标准化,可以推知该WWW服务存在2个CGI漏洞。 1.1主机在线探测 为了避免不必要的空扫描,在扫描之前一般要先探测主机是否在线。其实现原理和常用的ping命令相似。具体方法是向目标主机发送ICMP报文请求,根据返回值来判断主机是否在线。所有安装了TCP/IP协议的在线网络主机,都会对这样的ICMP报文请求给予答复。该方法不仅能探测主机是否在线,而且能根据ICMP应答报文的TTL(TTL是位于IP首部的生存时间字段)值来粗略分辨出目标主机操作系统,为下一步的扫描工作提供依据。RFC793说明了TCP怎样响应特别的信息包:这些响应基于2个TCP状态,即关闭(CLOSED)和监听(LISTEN)。 RFC793描述了当一个端口在关闭状态时,必须采用下面的规则:(1)任意进入的包含RST标志的信息段(segment)将被丢弃。(2)任意进入的不包含RST标志的信息段(如SYN、FIN和ACK)会导致在响应中回送一个RST。 当一个端口处于监听状态时,将采用下面的规则:(1)任意进入的包含

基于多线程的端口扫描程序课程设计报告

滁州学院 课程设计报告 课程名称: 设计题目:基于多线程的端口扫描程序 院部:计算机与信息工程学院 专业:网络工程 组别:第六组 起止日期: 2012 年12月31日~2013 年1月6日指导教师: 计算机与信息工程学院二○一二年制

课程设计任务书 目录 1 需求分析. 0 1..1 网络安全 0 1.2 课程背景 0 1.3 扫描器 0 1.4 多线程扫描器介绍 (1) 错误! 未定义书签。

错误! 未定义书签。 错误! 未定义书签。 错误! 未定义书签。 1.5 端口扫描 (2) 2 概要设计. (3) 2.1 整体框架设计 (3) 2.2 流程图描述 (3) 3 详细设计. (3) 3.1 端口扫描线程启动 (3) 3.2 GUI 图形界面 (5) 3.3 按钮监听及异常处理 (6) 4 调试与操作说明. (8) 4.1 运行界面 (8) 4.2 扫描结果 (8) 4.3 错误提示 (8) 5 课程设计总结与体会. (8) 6 参考文献. (9) 7 致谢. (9) 8 附录. 0 1 需求分析 1..1 网络安全二十一世纪是信息化、网络化的世纪,信息是社会发展的重要资源。信息安全保障能力是一个国家综合国力、经济竞争实力和生存能力的重要组成部分,是世界各国在奋力攀登的制高点。网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行。网络安全包括技术领域和非技术领域两大部分: 非技术领域包括一些制度、政策、管理、安全意识、实体安全

等方面的内容; 技术领域包括隐患扫描、防火墙、入侵检测、访问控制、虚拟专用网、CA 认证、操作系统等方面的内容。这些技术的目标是保证信息的可控性、可用性、保密性、完整性、和不可抵赖性。端口扫描属于安全探测技术范畴,对应于网络攻击技术中的网络信息收集技术。 1.2 课程背景 随着Internet 的不断发展,信息技术已成为促进经济发展、社会进步的巨大推动力。端口扫描技术是网络安全扫描技术一个重要的网络安全技术。与防火墙、入侵检测系统互相配合,能够有效提高网络的安全性。安全扫描是安全技术领域中重要的一类。通过扫描能自动检测远端或本地主机系统信息,包括主机的基本信息(如计算机名、域名、组名、操作系统 型等)、服务信息、用户信息以及漏洞信息,它的重要性在于能够对网络进行安全评估,及时发现安全隐患,防患于未然。 网络的安全状况取决于网络中最薄弱的环节,任何疏忽都有可能引入不安全的因素,最有效的方法是定期对网络系统进行安全分析,及时发现并修正存在的脆弱,保证系统安全。 国外安全扫描技术的历史可以追溯到20 世纪90 年代,当时因特网刚刚起步,但是在过去的十年内,扫描技术飞速发展,迄今为止,其扫描技术已经非常完善,但是在全面性,隐蔽性和智能性上还有待提高。安全扫描从最初专门为UNIX 系统而编写的一些只有简单功能的小程序发展到现在,已经出现了可以运行多个操作系统平台上的,具有复杂功能的系统程序。 国内的扫描技术是在国外的扫描器基础上发展起来的。其中有一些专门从事安全技术的公司。这些公司的扫描器以硬件为主,其特点是执行速度快,不像软件一样受到安装主机系统的限制。 然而对于更多的基于主机的端口扫描而言,简单,实用,可靠才是它们的长处。 1.3 扫描器扫描器是一种自动检测远程或本地主机安全性弱点的程序,通过使用扫描器你可以不留痕迹的发现远程服务器的各种TCP端口的分配。这就能让我们间接的或直观的了解到远程主机所存在的安全问题。为了保证网络中计算机的安全性,必须采取主动策略, 快速、及时、准确、安全的检测出网络中计算机及防火墙开放的和未开放的端口。计算机端口扫描技术就是这种主动防御策略实现的重要技术手段。 扫描器采用模拟攻击的形式对目标可能存在的已知安全漏洞进行逐项检查。目标可以是工作站、服务器、交换机、数据库应用等各种对象。然后根据扫描结果向系统管理员提供周 密可靠的安全性分析报告,为提高网络安全整体水平产生重要依据。在网络安全体系的建设中,安全扫描工具花费低、效果好、见效快、与网络的运行相对对立、安装运行简单,可以大规模减少安全管理员的手工劳动,有利于保持全网安全政策的统一和稳定。 1.4 多线程扫描器介绍 在java 中,组件放置在窗体上的方式是完全基于代码的。组件放置在窗体上的方式通常不是通过绝对坐标控制,而是由“布局管理器”根据组件加入的顺序决定其位置。每个容器都有一个属于的自己布局管理器。使用不同的布局管理器,组件大小,位置和形状将大不相同。表格型布局管理器将容器划分成为一个多行多列的表格,表格的大小全部相同,是由其中最大的组件所决定。通过add 方法可以将组件一一放在每个表格

端口扫描

一、高级ICMP扫描技术 Ping就是利用ICMP协议走的,高级的ICMP扫描技术主要是利用ICMP协议最基本的用途:报错。根据网络协议,如果按照协议出现了错误,那么接收端将产生一个ICMP的错误报文。这些错误报文并不是主动发送的,而是由于错误,根据协议自动产生。 当IP数据报出现checksum和版本的错误的时候,目标主机将抛弃这个数据报,如果是checksum出现错误,那么路由器就直接丢弃这个数据报了。有些主机比如AIX、HP-UX等,是不会发送ICMP的Unreachable数据报的。 我们利用下面这些特性: 1、向目标主机发送一个只有IP头的IP数据包,目标将返回Destination Unreachable的ICMP错误报文。 2、向目标主机发送一个坏IP数据报,比如,不正确的IP头长度,目标主机将返回Parameter Problem的ICMP错误报文。 3、当数据包分片但是,却没有给接收端足够的分片,接收端分片组装超时会发送分片组装超时的ICMP数据报。

向目标主机发送一个IP数据报,但是协议项是错误的,比如协议项不可用,那么目标将返回Destination Unreachable的ICMP报文,但是如果是在目标主机前有一个防火墙或者一个其他的过滤装置,可能过滤掉提出的要求,从而接收不到任何回应。可以使用一个非常大的协议数字来作为IP头部的协议内容,而且这个协议数字至少在今天还没有被使用,应该主机一定会返回Unreachable,如果没有Unreachable的ICMP数据报返回错误提示,那么就说明被防火墙或者其他设备过滤了,我们也可以用这个办法来探测是否有防火墙或者其他过滤设备存在。 利用IP的协议项来探测主机正在使用哪些协议,我们可以把IP头的协议项改变,因为是8位的,有256种可能。通过目标返回的ICMP错误报文,来作判断哪些协议在使用。如果返回Destination Unreachable,那么主机是没有使用这个协议的,相反,如果什么都没有返回的话,主机可能使用这个协议,但是也可能是防火墙等过滤掉了。NMAP的IP Protocol scan也就是利用这个原理。 利用IP分片造成组装超时ICMP错误消息,同样可以来达到我们的探测目的。当主机接收到丢失分片的数据报,并且在一定时间内没有接收到丢失的数据报,就会丢弃整个包,并且发送ICMP分片组装超时错误给原发送端。我们可以利用这个特性制造分片的数据包,然后等待ICMP组装超时错误消息。可以对UDP 分片,也可以对TCP甚至ICMP数据包进行分片,只要不让目标主机获得完整的数据包就行了,当然,对于UDP这种非连接的不可靠协议来说,如果我们没

基于多线程的端口扫描程序

计算机网络课程课程设计任务书

计算机网络设计说明书 学院名称:计算机与信息工程学院 班级名称:网络工程122班 学生姓名: 学号: 题目:基于多线程的端口扫描程序 指导教师 姓名: 起止日期:2015年6月13日至2015年6月20日

一、选题背景 随着互联网的飞速发展,网络入侵行为日益严重,网络安全成为人们关注的焦点。端口扫描技术是网络安全扫描技术的重要技术之一。对目标系统进行端口扫描,是网络系统入侵者进入目标系统的第一步。网络安全探测在网络安全中起着主动防御的作用,占有非常重要的地位。网络安全探测的所有功能都是建立在端口扫描的基础上,所以对端口扫描技术的研究有着非常重要的现实意义。 现实世界中的很多过程都具有多条线索同时动作的特性。Java语言的一大特性就是内置对多线程的支持。多线程是指同时存在几个执行体,按几条不同的执行线索共同工作的情况,它使得编程人员可以很方便地开发出具有多线程功能、能同时处理多个任务的功能强大的应用程序。 端口是由计算机的通信协议TCP/IP协议定义的。其中规定,有IP地址和端口号作为套接字,它代表TCP连接的一个连接端,一般称为Socket。具体来说,就是用[IP:端口]来定位一台主机的进程。 可见端口与进程是一一对应的,如果某个进程正在等待连接,称之为该进程正在监听,那么就会出现与它相对应的端口。由此可见,通过扫描端口,就可以判断出目标计算机有哪些通信进程正在等待连接。 利用TCP connect扫描原理,扫描主机通过TCP/IP协议的三次握手与目标主机的指定端口建立一次完整的连接,如果目标主机该端口有回复,则说明该端口开放。利用多线程技术实现了对一目标IP进行设定数目的端口扫描,对多IP段的特定端口进行扫描。 二、方案设计 多线程端口扫描器是实现计算机的端口的扫描,只要在在前台设置好所要扫描的IP、起始端口、结束端口以及所要用到的线程数,点击扫描,就可以扫描到所输入IP地址主机的开放端口,并显示在主窗体中;点击退出,则可以退出该程序。IP设置应为所在主机的IP地址,起始端口和结束端口应为0~65535之间的一个数,且起始端口应小于结束端口的大小。线程数为0~200之间的一个数。点击开始后就会运行,直到扫描完毕显示出开放端口,如果没有开放端口,则只显示扫描完毕。 本系统要实现的功能: ①端口扫描功能:扫描开放的端口,并将扫描到的开放端口号送到前台。 ②图像显示功能:显示图形界面,以及显示扫描结果。 ③多线程功能:当客户端要求与服务器端建立连接时,服务器端就将用到多线程功能,为每一个建立起来的连接创建一个线程。 ④异常抛出功能:对于明显的数据错误,能提示出错误的类型并阻止程序的运行。 流程图:

相关文档