端口扫描技术

端口扫描技术
端口扫描技术

端口扫描技术

前言第一部分,我们讲述TCP 连接的建立过程(通常称作三阶段握手),然后讨论与扫描程序有关的一些实现细节。然后,简单介绍一下经典的扫描器(全连接)以及所谓的SYN (半连接)扫描器。第三部分主要讨论间接扫描和秘密扫描,还有隐藏攻击源的技术。

前言

第一部分,我们讲述TCP连接的建立过程(通常称作三阶段握手),然后讨论与扫描程序有关的一些实现细节。

然后,简单介绍一下经典的扫描器(全连接)以及所谓的SYN(半连接)扫描器。

第三部分主要讨论间接扫描和秘密扫描,还有隐藏攻击源的技术。

秘密扫描基于FIN段的使用。在大多数实现中,关闭的端口对一个FIN 段返回一个RST,但是打开的端口通常丢

弃这个段,不作任何回答。间接扫描,就像它的名字,是用一个欺骗主机来帮助实施,这台主机通常不是自愿的。

第四部分介绍了一种与应用协议有关扫描。这些扫描器通常利用协议实现中的一些缺陷或者错误。认证扫描

(ident scanning)也被成为代理扫描(proxy scanning)。

最后一部分,介绍了另外一些扫描技术。考虑了一些不是基于TCP端口和主要用来进行安全扫描的扫描工具(

例如SATAN)。另外分析了使用扫描器的栈指纹。栈指纹通过检测主机TCP并将应答跟已知操作系统TCP/IP协议栈应答

相比较,解决了识别操作系统的问题。

一:TCP/IP相关问题

连接端及标记

IP地址和端口被称作套接字,它代表一个TCP连接的一个连接端。为了获得TCP服务,必须在发送机的一个端口上

和接收机的一个端口上建立连接。TCP连接用两个连接端来区别,也就是(连接端1,

连接端2)。连接端互相发送数

据包。

一个TCP数据包包括一个TCP头,后面是选项和数据。一个TCP头包含6个标志位。它们的意义分别为:

SYN: 标志位用来建立连接,让连接双方同步序列号。如果SYN=1而ACK=0,则表示该数据包为连接请求,如果SYN=1而

ACK=1则表示接受连接。

FIN: 表示发送端已经没有数据要求传输了,希望释放连接。

RST: 用来复位一个连接。RST标志置位的数据包称为复位包。一般情况下,如果TCP 收到的一个分段明显不是属于该主

机上的任何一个连接,则向远端发送一个复位包。

URG: 为紧急数据标志。如果它为1,表示本数据包中包含紧急数据。此时紧急数据指针有效。

ACK: 为确认标志位。如果为1,表示包中的确认号时有效的。否则,包中的确认号无效。

PSH: 如果置位,接收端应尽快把数据传送给应用层。

TCP连接的建立

TCP是一个面向连接的可靠传输协议。面向连接表示两个应用端在利用TCP传送数据前必须先建立TCP连接。TCP的

可靠性通过校验和,定时器,数据序号和应答来提供。通过给每个发送的字节分配一个序号,接收端接收到数据后发送

应答,TCP协议保证了数据的可靠传输。数据序号用来保证数据的顺序,剔除重复的数据。在一个TCP会话中,有两个数

据流(每个连接端从另外一端接收数据,同时向对方发送数据),因此在建立连接时,必须要为每一个数据流分配ISN

(初始序号)。为了了解实现过程,我们假设客户端C希望跟服务器端S建立连接,然

后分析连接建立的过程(通常称作

三阶段握手):

1:C --SYN XXà S

2:C ?-SYN YY/ACK XX+1------- S

3:C ----ACK YY+1--à S

1:C发送一个TCP包(SYN 请求)给S,其中标记SYN(同步序号)要打开。SYN 请求指明了客户端希望连接的服务器端端

口号和客户端的ISN(XX是一个例子)。

2:服务器端发回应答,包含自己的SYN信息ISN(YY)和对C的SYN应答,应答时返回下一个希望得到的字节序号(YY+1)。

3:C 对从S 来的SYN进行应答,数据发送开始。

一些实现细节

大部分TCP/IP实现遵循以下原则:

1:当一个SYN或者FIN数据包到达一个关闭的端口,TCP丢弃数据包同时发送一个RST数据包。

2:当一个RST数据包到达一个监听端口,RST被丢弃。

3:当一个RST数据包到达一个关闭的端口,RST被丢弃。

4:当一个包含ACK的数据包到达一个监听端口时,数据包被丢弃,同时发送一个RST 数据包。

5:当一个SYN位关闭的数据包到达一个监听端口时,数据包被丢弃。

6:当一个SYN数据包到达一个监听端口时,正常的三阶段握手继续,回答一个SYN|ACK数据包。

7:当一个FIN数据包到达一个监听端口时,数据包被丢弃。"FIN行为"(关闭得端口返回RST,监听端口丢弃包),在

URG和PSH标志位置位时同样要发生。所有的URG,PSH和FIN,或者没有任何标记的TCP数据包都会引起"FIN行为"。

二:全TCP连接和SYN扫描器

全TCP连接

全TCP连接是长期以来TCP端口扫描的基础。扫描主机尝试(使用三次握手)与目的机指定端口建立建立正规的连接。

连接由系统调用connect()开始。对于每一个监听端口,connect()会获得成功,否则返回-1,表示端口不可访问。由于

通常情况下,这不需要什么特权,所以几乎所有的用户(包括多用户环境下)都可以通过connect来实现这个技术。

这种扫描方法很容易检测出来(在日志文件中会有大量密集的连接和错误记录)。Courtney,Gabriel和TCP Wrapper

监测程序通常用来进行监测。另外,TCP Wrapper可以对连接请求进行控制,所以它可以用来阻止来自不明主机的全连接

扫描。

TCP SYN扫描

在这种技术中,扫描主机向目标主机的选择端口发送SYN数据段。如果应答是RST,那么说明端口是关闭的,按照设

定就探听其它端口;如果应答中包含SYN和ACK,说明目标端口处于监听状态。由于所有的扫描主机都需要知道这个信息,

传送一个RST给目标机从而停止建立连接。由于在SYN扫描时,全连接尚未建立,所以这种技术通常被称为半打开扫描。

SYN扫描的优点在于即使日志中对扫描有所记录,但是尝试进行连接的记录也要比全扫描少得多。缺点是在大部分操作系

统下,发送主机需要构造适用于这种扫描的IP包,通常情况下,构造SYN数据包需要超级用户或者授权用户访问专门的系

统调用。

三:秘密扫描与间接扫描

秘密扫描技术

由于这种技术不包含标准的TCP三次握手协议的任何部分,所以无法被记录下来,从而必SYN扫描隐蔽得多。另外,

FIN数据包能够通过只监测SYN包的包过滤器。

秘密扫描技术使用FIN数据包来探听端口。当一个FIN数据包到达一个关闭的端口,数据包会被丢掉,并且回返回一

个RST数据包。否则,当一个FIN数据包到达一个打开的端口,数据包只是简单的丢掉(不返回RST)。

Xmas和Null扫描是秘密扫描的两个变种。Xmas扫描打开FIN,URG和PUSH标记,而Null扫描关闭所有标记。这些组合的目

的是为了通过所谓的FIN标记监测器的过滤。

秘密扫描通常适用于UNIX目标主机,除过少量的应当丢弃数据包却发送reset信号的操作系统(包括CISCO,BSDI,

HP/UX,MVS和IRIX)。在Windows95/NT环境下,该方法无效,因为不论目标端口是否打开,操作系统都发送RST。

跟SYN扫描类似,秘密扫描也需要自己构造IP 包。

间接扫描

间接扫描的思想是利用第三方的IP(欺骗主机)来隐藏真正扫描者的IP。由于扫描主机会对欺骗主机发送回应信息,

所以必须监控欺骗主机的IP行为,从而获得原始扫描的结果。间接扫描的工作过程如下:

假定参与扫描过程的主机为扫描机,隐藏机,目标机。扫描机和目标记的角色非常明显。隐藏机是一个非常特殊的角色,

在扫描机扫描目的机的时候,它不能发送任何数据包(除了与扫描有关的包)。

四:认证扫描和代理扫描

认证扫描

到目前为止,我们分析的扫描器在设计时都只有一个目的:判断一个主机中哪个端口上有进程在监听。然而,最近的

几个新扫描器增加了其它的功能,能够获取监听端口的进程的特征和行为。

认证扫描是一个非常有趣的例子。利用认证协议,这种扫描器能够获取运行在某个端口上进程的用户名(userid)。

认证扫描尝试与一个TCP端口建立连接,如果连接成功,扫描器发送认证请求到目的主机的113TCP端口。认证扫描同时也

被成为反向认证扫描,因为即使最初的RFC建议了一种帮助服务器认证客户端的协议,然而在实际的实现中也考虑了反向

应用(即客户端认证服务器)。

代理扫描

文件传输协议(FTP)支持一个非常有意思的选项:代理ftp连接。这个选项最初的目的(RFC959)是允许一个客户端

同时跟两个FTP服务器建立连接,然后在服务器之间直接传输数据。然而,在大部分实现中,实际上能够使得FTP服务器发

送文件到Internet的任何地方。许多攻击正是利用了这个缺陷。最近的许多扫描器利用这个弱点实现ftp代理扫描。

ftp端口扫描主要使用ftp代理服务器来扫描tcp端口。扫描步骤如下:

1:假定S是扫描机,T是扫描目标,F是一个ftp服务器,这个服务器支持代理选项,能够跟S和T建立连接。

2:S与F建立一个ftp会话,使用PORT命令声明一个选择的端口(称之为p-T)作为代理传输所需要的被动端口。

3:然后S使用一个LIST命令尝试启动一个到p-T的数据传输。

4:如果端口p-T确实在监听,传输就会成功(返回码150和226被发送回给S)。否

则S回收到"425无法打开数据连接"

的应答。

5:S持续使用PORT和LIST命令,直到T上所有的选择端口扫描完毕。

FTP代理扫描不但难以跟踪,而且当ftp服务器在防火墙后面的时候

五:其它扫描方法

Ping扫描

如果需要扫描一个主机上甚至整个子网上的成千上万个端口,首先判断一个主机是否开机就非常重要了。这就是Ping扫描

器的目的。主要由两种方法用来实现Ping扫描。

1:真实扫描:例如发送ICMP请求包给目标IP地址,有相应的表示主机开机。

2:TCP Ping:例如发送特殊的TCP包给通常都打开且没有过滤的端口(例如80端口)。对于没有root权限的扫描者,

使用标准的connect来实现。否则,ACK数据包发送给每一个需要探测的主机IP。每一个返回的RST表明相应主机开机了。

另外,一种类似于SYN扫描端口80(或者类似的)也被经常使用。

安全扫描器

安全扫描器是用来自动检查一个本地或者远程主机的安全漏洞的程序。象其它端口扫描器一样,它们查询端口并记录

返回结果。但是它们。它们主要要解决以下问题:

1:是否允许匿名登录。

2:是否某种网络服务需要认证。

3:是否存在已知安全漏洞。

可能SATAN是最著名的安全扫描器。1995年四月SATAN最初发布的时候,人们都认为这就是它的最终版本,认为它不但

能够发现相当多的已知漏洞,而且能够针对任何很难发现的漏洞提供信息。但是,从它发布以来,安全扫描器一直在不断

地发展,其实现机制也越来越复杂。

栈指纹

绝大部分安全漏洞与缺陷都与操作系统相关,因此远程操作系统探测是系统管理员关心的一个问题。

远程操作系统探测不是一个新问题。近年来,TCP/IP实现提供了主机操作系统信息服务。FTP,TELNET,HTTP和DNS服

务器就是很好的例子。然而,实际上提供的信息都是不完整的,甚至有可能是错误的。最初的扫描器,依靠检测不同操作

系统对TCP/IP的不同实现来识别操作系统。由于差别的有限性,现在只能最多只能识别出10余种操作系统。

最近出现的两个扫描器,QueSO和NMAP,在指纹扫描中引入了新的技术。QueSO第一个实现了使用分离的数据库于指纹。

NMAP包含了很多的操作系统探测技术,定义了一个模板数据结构来描述指纹。由于新的指纹可以很容易地以模板的形式加入,

NMAP指纹数据库是不断增长的,它能识别的操作系统也越来越多。

这种使用扫描器判断远程操作系统的技术称为(TCP/IP)栈指纹技术。

另外有一种技术称为活动探测。活动探测把TCP的实现看作一个黑盒子。通过研究TCP 对探测的回应,就可以发现TCP

实现的特点。TCP/IP 栈指纹技术是活动探测的一个变种,它适用于整个TCP/IP协议的实现和操作系统。栈指纹使用好几种

技术来探测TCP/IP协议栈和操作系统的细微区别。这些信息用来创建一个指纹,然后跟已知的指纹进行比较,就可以判断

出当前被扫描的操作系统。

栈指纹扫描包含了相当多的技术。下面是一个不太完整的清单:

1:FIN探测

2:BOGUS标记探测

3:TCP ISN 取样

4:TCP 初始窗口

5:ACK值

6:ICMP错误信息

7:ICMP信息

8:服务类型

9:TCP选项

本文来自:鱼C工作室 详细出处参考:https://www.360docs.net/doc/422699775.html,/a/bianchengjiqiao/wangluo/998.html

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

端口扫描实验报告

综合实验报告 ( 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地址、端口号。

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

网络安全期末复习题及答案 一、选择题: 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 口令字符最好是数字、字母和其他字符的混

端口扫描实验报告

网络端口扫描实验报告 一、网络端口扫描简介 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 ==============");

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

常见的端口扫描类型及原理 常见的扫描类型有以下几种: 秘密扫描 秘密扫描是一种不被审计工具所检测的扫描技术。 它通常用于在通过普通的防火墙或路由器的筛选(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文件会显示一连串的连接和连接出错的服务信息,并且能很快地使它关闭。

端口扫描报告

杭州电子科技大学软件学院网络工程试验报告 端口扫描报告 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地址、端口号、端口状态、连接次数及备注。

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

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

计算机网络设计说明书 学院名称:计算机与信息工程学院 班级名称:网络工程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之间的一个数。点击开始后就会运行,直到扫描完毕显示出开放端口,如果没有开放端口,则只显示扫描完毕。 本系统要实现的功能: ①端口扫描功能:扫描开放的端口,并将扫描到的开放端口号送到前台。 ②图像显示功能:显示图形界面,以及显示扫描结果。 ③多线程功能:当客户端要求与服务器端建立连接时,服务器端就将用到多线程功能,为每一个建立起来的连接创建一个线程。 ④异常抛出功能:对于明显的数据错误,能提示出错误的类型并阻止程序的运行。 流程图:

端口扫描

一、高级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这种非连接的不可靠协议来说,如果我们没

信息安全技术试题2答案

1.通常为保证信息处理对象的认证性采用的手段是___C_______ A.信息加密和解密 B.信息隐匿 C.数字签名和身份认证技术 D.数字水印 2.关于Diffie-Hellman算法描述正确的是____B______ A.它是一个安全的接入控制协议 B.它是一个安全的密钥分配协议 C.中间人看不到任何交换的信息 D.它是由第三方来保证安全的 3.以下哪一项不在 ..证书数据的组成中? _____D_____ A.版本信息 B.有效使用期限 C.签名算法 D.版权信息 4.关于双联签名描述正确的是____D______ A.一个用户对同一消息做两次签名B.两个用户分别对同一消息签名 C.对两个有联系的消息分别签名D.对两个有联系的消息同时签名5.Kerberos中最重要的问题是它严重依赖于____C______ A.服务器B.口令 C.时钟D.密钥 6.网络安全的最后一道防线是____A______ A.数据加密B.访问控制 C.接入控制D.身份识别 7.关于加密桥技术实现的描述正确的是____A______ A.与密码设备无关,与密码算法无关B.与密码设备有关,与密码算法无关 C.与密码设备无关,与密码算法有关D.与密码设备有关,与密码算法有关 8.身份认证中的证书由____A______ A.政府机构发行B.银行发行 C.企业团体或行业协会发行D.认证授权机构发行 9.称为访问控制保护级别的是____C______ A.C1 B.B1 C.C2 D.B2 10.DES的解密和加密使用相同的算法,只是将什么的使用次序反过来? ____C______ A.密码B.密文 C.子密钥D.密钥 11.PKI的性能中,信息通信安全通信的关键是_____C_____ A.透明性B.易用性 C.互操作性D.跨平台性 12.下列属于良性病毒的是____D_____ A.黑色星期五病毒B.火炬病毒 C.米开朗基罗病毒D.扬基病毒 13.目前发展很快的基于PKI的安全电子邮件协议是____A______A.S/MIME B.POP C.SMTP D.IMAP 14.建立计算机及其网络设备的物理环境,必须要满足《建筑与建筑群综合布线系统工程设计规范》的要求,计算机机房的室温应保持在___A_______ A.10℃至25℃之间B.15℃至30℃之间 C.8℃至20℃之间D.10℃至28℃之间 15.SSL握手协议的主要步骤有____B______ A.三个B.四个 C.五个D.六个 16.SET安全协议要达到的目标主要有____C______ A.三个B.四个 C.五个D.六个 17.下面不属于SET交易成员的是_____B_____ A.持卡人B.电子钱包 C.支付网关D.发卡银行 18.使用加密软件加密数据时,往往使用数据库系统自带的加密方法加密数据,实施 _____A_____ A.DAC B.DCA C.MAC D.CAM 19.CTCA指的是____B______ A.中国金融认证中心B.中国电信认证中心 C.中国技术认证中心D.中国移动认证中心 20.下列选项中不属于SHECA证书管理器的操作范围的是_____C_____ A.对根证书的操作B.对个人证书的操作 C.对服务器证书的操作D.对他人证书的操作 1. Windows系统安全模型由登录流程、本地安全授权、安全账号管理器和安全引用监视器组合而成。 2. 注册表是按照子树、项、子项和值组成的分层结构。实际上注册表只有两个子树: HKEY_LOCAL_MACHINE和HKEY_USERS,但为了便于检索,用注册表编辑器打开注册表时,展现为五个子树,这些子树的总体组成了Windows中所有的系统配置。 3. 在Windows 2000 网络中有两种主要的帐号类型:域用户账号和本地用户账号。 5. E-mail系统主要由邮件分发代理、邮件传输代理、邮件用户代理及邮件工作站组成。 6. 电子邮件安全技术主要包括身份证认证技术、加密签名技术、协议过滤技术、防火墙 技术和邮件病毒过滤技术。 1. 信息安全的狭义解释 信息安全在不同的应用环境下有不同的解释。针对网络中的一个运行系统而言,信息安全就是指

11_网络扫描攻击防护实训

实训十网络扫描攻击防护实训 一、实训目的 1、了解基本的网络扫描攻击方法; 2、掌握WAF防护网络扫描攻击的配置方法。 二、应用环境 本次实训我们将模拟网络扫描行为,对网站进行网络扫描攻击,并使用WAF进行攻击防护。 三、实训设备 1、WAF设备1台 2、PC机2台 3、双绞线(直通)2根 四、实训拓扑 透明部署模式 五、实训要求 1、按照拓扑连接网络 2、按照拓扑中的IP地址配置设备IP 六、实训步骤 第一步:在PC机2上部署要进行网络扫描的网站,并在本地访问正常,在PC机2上打开浏览器输入http://127.0.0.1/

第二步:在PC机1上打开浏览器输入https://192.168.1.2/登录WAF设备,将保护网站添加到WAF站点管理中,左侧功能树进入站点->站点管理,点击新建按钮

输入web服务器IP地址和端口,点击确定,将网站加入WAF保护中 注意:此步骤中策略集选择“无” 第三步:在PC机1上安装网络扫描软件APPSCAN,先将PC机上的杀毒软件关闭,将压缩包解压后,请确认有下面三个文件 点击APP SCAN7.8.1中文版.exe进行安装,安装完毕后,不要立即运行,先将keygen.exe 和patch.exe拷贝到C:\Program Files\IBM\Rational AppScan该目录下,先点击patch.exe

点击按钮patch,然后点击exit关闭,再点击keygen.exe 点击Generate按钮,生成一个license.lic文件 这时回到系统桌面,运行APPSCAN

软件打开以后,点击帮助->许可证

端口扫描-史上最全常用端口号

端口扫描必须了解的端口数 1、21端口: 端口说明:21端口主要用于FTP(File Transfer Protocol,文件传输协议)服务。 操作建议:因为有的FTP服务器可以通过匿名登录,所以常常会被黑客利用。另外,21端口还会被一些木马利用,比如Blade Runner、FTP Trojan、Doly Trojan、WebEx等等。如果不架设FTP服务器,建议关闭21端口。 2、23端口 端口说明:23端口主要用于Telnet(远程登录)服务。 操作建议:利用Telnet服务,黑客可以搜索远程登录Unix的服务,扫描操作系统的类型。而且在Windows 2000中Telnet服务存在多个严重的漏洞,比如提升权限、拒绝服务等,可以让远程服务器崩溃。Telnet服务的23端口也是TTS(Tiny Telnet Server)木马的缺省端口。所以,建议关闭23端口。 3、25端口 端口说明:25端口为SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)服务器所开放,主要用于发送邮件 端口漏洞: 1. 利用25端口,黑客可以寻找SMTP服务器,用来转发垃圾邮件。 2. 25端口被很多木马程序所开放,比如Ajan、Antigen、Email Password Sender、ProMail、trojan、Tapiras、Terminator、WinPC、WinSpy等等。拿WinSpy来说,通过开放25端口,可以监视计算机正在运行的所有窗口和模块。 操作建议:如果不是要架设SMTP邮件服务器,可以将该端口关闭。 4、53端口 端口说明:53端口为DNS(Domain Name Server,域名服务器)服务器所开放,主要用于域名解析。 端口漏洞:如果开放DNS服务,黑客可以通过分析DNS服务器而直接获取Web服务器等主机的IP地址,再利用53端口突破某些不稳定的防火墙,从而实施攻击。近日,美国一家公司也公布了10个最易遭黑客攻击的漏洞,其中第一位的就是DNS服务器的BIND漏洞。 操作建议:如果当前的计算机不是用于提供域名解析服务,建议关闭该端口。 5、67与68端口 端口说明:67、68端口分别是为Bootp服务的Bootstrap Protocol Server(引导程序协议服务端)和

网络安全技术复习题

复习题 1、简述TCP/IP各层的功能是什么? 2、什么是扫描技术,区分端口扫描和漏洞扫描的不同之处? 3、口令的安全建议有那些? ?不要将口令写下来 ?不要将口令存于计算机文件中 ?口令要容易记住 ?不要用字典中有的词作为自己的口令 ?不要用生日、电话号码、纯数字或纯字母做口令 ?口令应包含特殊字符 ?口令应该在允许的范围内尽可能取长一点 ?不要在不同系统上使用同一口令 ?在输入口令时应确认没有人偷窥 ?定期改变口令,至少6个月要改变一次。 4、计算机病毒与蠕虫和木马的区别有哪些? 5、如何防止脚本病毒? 6、什么是间谍软件及间谍软件的特征? 7、什么是网络攻击,网络攻击主要采用哪些方式? 8、代理防火墙的工作原理是什么?与包过滤防火墙比有什么特点? 9、什么是ARP协议和ARP欺骗?普通用户如何防范ARP欺骗? 10、简述木马隐藏方式有哪些? 11、口令攻击中,字典文件的作用是什么? 一次字典攻击能否成功,决定于字典文件,一个字典文件本身就是一个标准的文本文件,其中的每一行就代表一个可能的密码,目前有很多工具软件专门来创建字典文件。 通过使用字典文件可以提高口令攻击的效率,大多数的用户使用标准单词作为一个密码,一个字典攻击试图通过利用包含单词列表的文件去破解密码。 使用一部1万个单词的词典一般能猜测出系统中70%的口令。在多数系统中,和尝试所有的组合相比,词典攻击能在很短的时间内完成。 12、缓冲区溢出原理是什么? 13、什么是Cookie及Cookie欺骗? Cookie是当你浏览某网站时,网站存储在你机器上的一个小文本文件,它记录了你的用户ID,密码、浏览过的网页、停留的时间等信息,当你再次来到该网站时,网站通过读取Cookie,得知你的相关信息,就可以做出相应的动作。 Cookie记录着用户的帐户ID、密码之类的信息,通常使用MD5方法加密。加密处理后的信息即使被截获看不懂,因为只是一些无意义的字母和数字。 但是,截获Cookie的人不需要知道这些字符串的含义,只要把别人的Cookie向服务器

目前主要端口扫描技术

目前主要端口扫描技术 目前主要的端口扫描技术有以下几种。 1.TCP connect Scan(TCP连接扫描) 这种方法也称之为“TCP全连接扫描”。它是最简单的一种扫描技术,所利用的是TCP协议的3次握手过程。它直接连到目标端口并完成一个完整的3次握手过程(SYN、SYN/ACK和ACK)。操作系统提供的“connect()”函数完成系统调用,用来与目标计算机的端口进行连接。如果端口处于侦听状态,那么“connect()”函数就能成功。否则,这个端口是不能用的,即没有提供服务。 TCP连接扫描技术的一个最大的优点是不需要任何权限,系统中的任何用户都有权利使用这个调用。另一个好处是速度快。如果对每个目标端口以线性的方式,使用单独的“connect()”函数调用,那么将会花费相当长的时间,用户可以同时打开多个套接字,从而加速扫描。使用非阻塞I/O允许用户设置一个低的时间以用尽周期,并同时观察多个套接字。但这种方法的缺点是很容易被发觉,并且很容易被过滤掉。目标计算机的日志文件会显示一连串的连接和连接出错的服务消息,目标计算机用户发现后就能很快使它关闭。 2.TCP SYN Scan(TCP同步序列号扫描) 若端口扫描没有完成一个完整的TCP连接,即在扫描主机和目标主机的一指定端口建立连接的时候,只完成前两次握手,在第三步时,扫描主机中断了本次连接,使连接没有完全建立起来,所以这种端口扫描又称为“半连接扫描”,也称为“间接扫描”或“半开式扫描”(Half Open Scan)。 SYN扫描,通过本机的一个端口向对方指定的端口,发送一个TCP的SYN 连接建立请求数据报,然后开始等待对方的应答。如果应答数据报中设置了SYN 位和ACK位,那么这个端口是开放的;如果应答数据报是一个RST连接复位数据报,则对方的端口是关闭的。使用这种方法不需要完成Connect系统调用所封装的建立连接的整个过程,而只是完成了其中有效的部分就可以达到端口扫描的目的。 此种扫描方式的优点是不容易被发现,扫描速度也比较快。同时通过对MAC地址的判断,可以对一些路由器进行端口扫描,缺点是需要系统管理员的权限,不适合使用多线程技术。因为在实现过程中需要自己完成对应答数据报的查找、分析,使用多线程容易发生数据报的串位现象,也就是原来应该这个线程接收的数据报被另一个线程接收,接收后,这个数据报就会被丢弃,而等待线程只好在超时之后再发送一个SYN数据报,等待应答。这样,所用的时间反而会增加。 3.TCP FIN Scan(TCP结束标志扫描) 这种扫描方式不依赖于TCP的3次握手过程,而是TCP连接的“FIN”(结束)位标志。原理在于TCP连接结束时,会向TCP端口发送一个设置了FIN位的连接终止数据报,关闭的端口会回应一个设置了RST的连接复位数据报;而开放的端口则会对这种可疑的数据报不加理睬,将它丢弃。可以根据是否收到RST数据报来判断对方的端口是否开放。 此扫描方式的优点比前两种都要隐秘,不容易被发现。该方案有两个缺点:首先,要判断对方端口是否开放必须等待超时,增加了探测时间,而且容易得出错误的结论;其次,一些系统并没有遵循规定,最典型的就是Microsoft公司所开发的操作系统。这些系统一旦收到这样的数据报,无论端口是否开放都会回应一个RST连接复位数据报,这样一来,这种扫描方案对于这类操作系统是无效

端口扫描

端口扫描 应用场景 随着计算机网络的普及和发展,人们利用网络可以方便快捷地进行各种信息处理,例如,网上办公、电子商务、分布式数据处理等。但网络也存在不容忽视的问题,例如,用户的数据被篡改、合法用户被冒充、通信被中断等。面临着大量的网络入侵事件,就必须要求在一个开放式的计算机网络物理环境中构造一个封闭的逻辑环境来保障敏感信息和保密数据不受到攻击。为此迫切需要对网络安全作分类研究,把各种网络安全问题清楚有序地组织起来,从而构建一个合理、安全、高效的网络防御体系。 网络安全保护的核心是如何在网络环境下保证数据本身的秘密性、完整性与操作的正确性、合法性与不可否认性。而网络攻击的目的正相反,其立足于以各种方式通过网络破坏数据的秘密性和完整性或进行某些非法操作。 网络及其应用的广泛发展,安全威胁呈现出攻击的种类、方法和总体数量越来越多、破坏性和系统恢复难度也越来越大。这就要求我们对攻击方法有更进一步的研究;对安全策略有更完善的发展,建立起一个全面的、可靠的、高效的安全体系。 端口扫描就是通过连接到目标系统的TCP 或UDP 端口,来确定什么服务正在运行。一个端口就是一个潜在的通信通道,也就是一个入侵通道。从对黑客攻击行为的分析和收集的漏洞来看,绝大多数都是针对某一个网络服务,也就是针对某一个特定的端口的。对目标计算机进行端口扫描,能得到许多有用的信息。 实验目标: ● 掌握端口扫描技术原理 ● 熟悉各种常用服务监听端口号 ● 掌握典型的端口扫描工具 实验环境: 虚拟机: Windows 2000,XP ,2003,Nmap 扫描软件 实验过程指导: 启动虚拟机,并设置虚拟机的IP 地址,以虚拟机为目标主机进行攻防试验。个别实验VM Server VM Client

端口扫描技术和算法

对于ICMP关心的destination unreachable hearder layout 中的0-3,9,10位的标记。 其中 TCP SYN Scan (-sS) 结果状态三种:open,closed,filtered 在扫描过程中当确定一个端口开放后,为了不建立完整链接需要发送一个RST包,告知服务器放弃连接。Nmap自身将根据情况发送一个RST包。 关闭的端口,直接收到一个RST包。 过滤的端口,发送SYN包后没有回复,Nmap自行决定时间,发送第二次,如果没有回复则 TCP扫描(-sT) 建立TCP连接(3次握手),目标发送SSH banner,接收后,终端连接。Nmap发送RST包,让目标终止。对于大量扫描端口为关闭或过滤,此时扫描发包同SYN扫描一致。 UDP扫描(-sU) 主要针对服务DNS、SNMP和DHCP(53,161/162,67/68)

UDP扫描除了open/filtered问题外,速度相对较慢。扫描1000个端口带盖需要17min。 区分出open端口(-sV) nmap有nmap-service-probes格式,可以找到对应相应服务的包格式进行发送,(-sV)任何的open/filtered包回复则可以确认为open。 SNMP只有当确切的正确字符串给出,才能给出回复,很多设备配置开始为字符串public,但不是所有的都是。 对于nmap自动化来说,检测版本方法为唯一方法。 手工方法还有:一些特殊的traceroute,可以使用hping2等工具对一只的开放TCP或UDP 端口进行traceroute。接着对有问题的UDP端口进行,跳数的不同可以区分出open和filtered 端口。 对UDP扫描提速 nmap会根据主机的情况降低扫描速度和并限制速率,防止网络洪灾而导致目标机器丢弃。对于linux类型规定1包/s方法: 1、增加主机并行 --min-hostgroup 2、优先扫描主要端口-F设置 3、添加—version-intensity 0 给版本扫描nmap直接查找最可能的端口数。使用nmap-service-probes文件中的内容。 4、从防火墙后开始 5、使用—host-timeout跳过慢主机 6、使用-v 给出预测扫描技术时间

端口扫描技术

端口扫描技术 前言第一部分,我们讲述TCP 连接的建立过程(通常称作三阶段握手),然后讨论与扫描程序有关的一些实现细节。然后,简单介绍一下经典的扫描器(全连接)以及所谓的SYN (半连接)扫描器。第三部分主要讨论间接扫描和秘密扫描,还有隐藏攻击源的技术。 前言 第一部分,我们讲述TCP连接的建立过程(通常称作三阶段握手),然后讨论与扫描程序有关的一些实现细节。 然后,简单介绍一下经典的扫描器(全连接)以及所谓的SYN(半连接)扫描器。 第三部分主要讨论间接扫描和秘密扫描,还有隐藏攻击源的技术。 秘密扫描基于FIN段的使用。在大多数实现中,关闭的端口对一个FIN 段返回一个RST,但是打开的端口通常丢 弃这个段,不作任何回答。间接扫描,就像它的名字,是用一个欺骗主机来帮助实施,这台主机通常不是自愿的。 第四部分介绍了一种与应用协议有关扫描。这些扫描器通常利用协议实现中的一些缺陷或者错误。认证扫描 (ident scanning)也被成为代理扫描(proxy scanning)。 最后一部分,介绍了另外一些扫描技术。考虑了一些不是基于TCP端口和主要用来进行安全扫描的扫描工具( 例如SATAN)。另外分析了使用扫描器的栈指纹。栈指纹通过检测主机TCP并将应答跟已知操作系统TCP/IP协议栈应答 相比较,解决了识别操作系统的问题。 一:TCP/IP相关问题 连接端及标记 IP地址和端口被称作套接字,它代表一个TCP连接的一个连接端。为了获得TCP服务,必须在发送机的一个端口上 和接收机的一个端口上建立连接。TCP连接用两个连接端来区别,也就是(连接端1,

连接端2)。连接端互相发送数 据包。 一个TCP数据包包括一个TCP头,后面是选项和数据。一个TCP头包含6个标志位。它们的意义分别为: SYN: 标志位用来建立连接,让连接双方同步序列号。如果SYN=1而ACK=0,则表示该数据包为连接请求,如果SYN=1而 ACK=1则表示接受连接。 FIN: 表示发送端已经没有数据要求传输了,希望释放连接。 RST: 用来复位一个连接。RST标志置位的数据包称为复位包。一般情况下,如果TCP 收到的一个分段明显不是属于该主 机上的任何一个连接,则向远端发送一个复位包。 URG: 为紧急数据标志。如果它为1,表示本数据包中包含紧急数据。此时紧急数据指针有效。 ACK: 为确认标志位。如果为1,表示包中的确认号时有效的。否则,包中的确认号无效。 PSH: 如果置位,接收端应尽快把数据传送给应用层。 TCP连接的建立 TCP是一个面向连接的可靠传输协议。面向连接表示两个应用端在利用TCP传送数据前必须先建立TCP连接。TCP的 可靠性通过校验和,定时器,数据序号和应答来提供。通过给每个发送的字节分配一个序号,接收端接收到数据后发送 应答,TCP协议保证了数据的可靠传输。数据序号用来保证数据的顺序,剔除重复的数据。在一个TCP会话中,有两个数 据流(每个连接端从另外一端接收数据,同时向对方发送数据),因此在建立连接时,必须要为每一个数据流分配ISN (初始序号)。为了了解实现过程,我们假设客户端C希望跟服务器端S建立连接,然

相关文档
最新文档