网络端口扫描实验指导_第1页
网络端口扫描实验指导_第2页
网络端口扫描实验指导_第3页
网络端口扫描实验指导_第4页
网络端口扫描实验指导_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、网络端口扫描实验指导一、实验目的1、学习端口扫描技术的基本原理,理解端口扫描技术在网络攻防中的应用;2、通过上机实验,熟练掌握目前最为常用的网络扫描工具Nmap的使用,并能利用工具扫描漏洞,更好地弥补安全不足。二、实验预习提示1、网络扫描概述扫描是通过向目标主机发送数据报文,然后根据响应获得目标主机的情况。根据扫描对象的不同,可以分为基于主机的扫描和基于网络的扫描2种,其中基于主机的扫描器又称本地扫描器,它与待检查系统运行于同一节点,执行对自身的检查。通常在目标系统上安装了一个代理(Agent)或者是服务(Services),以便能够访问所有的文件与进程,它的主要功能为分析各种系统文件内容,查

2、找可能存在的对系统安全造成威胁的漏洞或配置错误;而基于网络的扫描器又称远程扫描器,一般它和待检查系统运行于不同的节点上,通过网络来扫描远程计算机。根据扫描方式的不同,主要分为地址扫描、漏洞扫描和端口扫描3类。(1)地址扫描地址扫描是最简单、最常见的一种扫描方式,最简单的方法是利用Ping程序来判断某个IP地址是否有活动的主机,或者某个主机是否在线。其原理是向目标系统发送ICMP回显请求报文,并等待返回的ICMP回显应答。传统的Ping扫描工具一次只能对一台主机进行测试,效率较低,现在如Fping(Fast ping)等工具能以并发的形式向大量的地址发出Ping请求,从而很快获得一个网络中所有在

3、线主机地址的列表。但随着安全防范意识的提供,很多路由器和防火墙都会进行限制,只要加入丢弃ICMP回显请求信息的相关规则,或者在主机中通过一定的设置禁止对这样的请求信息应答,即可对ICMP回显请求不予响应,(2)漏洞扫描漏洞扫描是使用漏洞扫描器对目标系统进行信息查询,检查目标系统中可能包含的已知漏洞,从而发现系统中存在的不安全地方。其原理是采用基于规则的匹配技术,即根据安全专家对网络系统安全漏洞、黑客攻击案例的分析和系统管理员对网络系统安全配置的实际经验,形成一套标准的网络系统漏洞库,然后在此基础上构成相应的匹配规则,通过漏洞库匹配的方法来检查目标设备是否存在漏洞。在端口扫描后,即可知道目标主机

4、开启的端口以及端口上提供的网络服务,将这些相关信息与漏洞库进行匹配,即可查看是否有满足匹配条件的漏洞存在。漏洞扫描大体包括CGI、POP3、FTP、HTTP和SSH漏洞扫描等。漏洞扫描的关键是所使用的漏洞库,漏洞库信息的完整性和有效性决定了漏洞扫描器的性能,漏洞库的修订和更新的性能也会影响漏洞扫描器运行的时间。(3)端口扫描端口是网络连接的附着点,不同的应用进程使用不同的端口,如果一个应用程序希望提供某种服务,它将自己附着在端口上等待客户请求的到来(即对端口进行监听),希望使用此服务的客户则在本地主机分配一个端口,与远程主机的服务端口连接,客户通过联系这些特殊的端口来获取特殊的服务。在网络连接

5、中,服务器端的进程需要一直处于监听状态,并且持续使用相同端口;而客户端的进程则只需要在和服务器建立连接时动态地创建一个端口,并在连接结束后立即释放。一般来说,端口扫描的对象是前者,即作为网络服务开放的端口。由于网络端口是计算机和外界相连的通道,因此疏于管理可能留下严重的安全隐患。端口扫描是利用网络协议的安全漏洞,通过非常规的方法来确定连接在网络上目标主机的哪些端口是开放的技术。其原理是通过向目标系统的TCPhuoUDP端口发送一定数量、带有各种特殊标识的报文,然后记录目标系统反馈的报文信息,再分析判断其上端口的状态。2、端口扫描的用途一般来说,端口扫描有以下三种用途:(1)获取目标系统上的端口

6、信息,用于识别其上具有的TCP和UDP服务;(2)获得目标系统返回报文的某些特殊标识,识别目标系统的操作系统类型;(3)进一步结合其他技术得到具体端口的详细信息,从而识别某个特定服务的版本号。3、端口扫描的方法(1)基于连接的扫描1)TCP全连接扫描TCP全连接扫描是端口扫描的基本形式,扫描主机通过TCP/IP协议的三次握手与目标主机的指定端口建立一次完整的连接。建立连接成功时,目标主机回应一个SYN/ACK数据包,表明目标主机的目标端口处于监听(打开)状态;建立连接失败时,目标主机会向扫描主机发送RST响应,表明该目标端口处于关闭状态。TCP全连接扫描的优点是易于实现,系统中任何用户都有权限

7、使用此调用;缺点是很容易被发觉并被过滤掉,目标计算机的日志文件会显示一连串的成功连接和连接出错的服务信息。2)TCP SYN扫描TCP SYN扫描也称半开放扫描,扫描程序向目标主机端口发送一个SYN数据包,若收到RST响应则表明目标端口关闭,若收到SYN/ACK响应则表明目标端口开放,处于侦听状态,此时扫描程序再发送一个RST信号给目标主机,终止建立连接。由于并未建立全连接,故常将此扫描方式称为半开放扫描。TCP SYN扫描的优点是一般不会在目标主机上留下记录,但缺点是需要有管理员权限才能建立自己的SYN数据包。(2)隐蔽扫描隐蔽扫描技术不含标准的TCP三次握手协议的任何一部分,比SYN扫描更

8、隐蔽,很难被记录追踪。隐蔽扫描采用包含FIN标志的TCP包来探测端口,如果探测的端口处于关闭状态,则目标主机返回一个RST信号;如果探测的端口处于侦听状态,则目标主机会忽略对FIN数据包的回复,即目标主机不会返回RST信号。Xmas Tree和Null扫描方式是基于以上原理的变形和发展。Xmas Tree扫描打开FIN、URG和PSH标志,而Null扫描则关闭所有标志,这些组合的目的都是为了通过所谓的FIN标记监测器的过滤。隐蔽扫描的优点是比较隐蔽,不易被记录追踪,但通常用于UNIX系统及其他少数系统,对Windows系统不适用,同时与SYN扫描类似,也需要自己构造IP数据包。(3)辅助扫描手

9、段1)分段扫描分段扫描一般结合其他方法来提供更为隐蔽的扫描,它并不是直接发送TCP探测数据包,而是将原来封装在一个报文的探测信息(往往在TCP报头中)拆分至两个或多个较小的报文中,算好各自的偏移,并都置系统的标识,然后发送,使其难以被过滤。扫描器从IP分片中劈开TCP头,由于包过滤防火墙看不到一个完整的TCP头,无法对应相应的过滤规则,从而可绕过包过滤防火墙。2)ACK扫描ACK扫描并不能识别端口是否打开,但可以判断目标主机是否受到防火墙的保护,以及防火墙的类型。因为RFC文档规定对于来访的ACK报文,物理端口打开与否,均返回RST报文。因此如果发送方通过这种方式得到RST报文,就可以判断目标

10、主机上未安装防火墙或者只有简单的包过滤防火墙(它无法判断此ACK报文是否合法);如果发送方没有收到RST报文,则要么目标主机关机,要么受基于状态检测的防火墙保护,因为基于状态监测的防火墙会将突然来访的ACK报文全部丢弃,不作应答。(4)非TCP扫描1)UDP扫描端口扫描一般是扫描TCP端口,因为TCP是面向连接的协议,目标系统通常会返回一些有用的信息;而UDP为不可靠的无连接协议,为了发现正在服务的UDP端口,通常产生一个内容为空的UDP数据包发往目标端口,若目标端口上有服务正在等待,则目标端口将返回表示错误的消息;如果目标端口处于关闭状态,则目标操作系统会发现一个ICMP Unreachab

11、le消息。2)ICMP扫描Ping命令发送ICMP请求包给目标IP地址,如果有应答则表示主机开机。如果要探测目标网络内主机的情况,可以构造ICMP广播报文,如果有机器响应,则可判断其开机。ICMP扫描方法也可用来探测局域网的地址分配结构(如果有一个以上的主机响应广播报文,则表示此广播地址就是目标网络的广播地址)。如果已设置了目标网络的网关默认将外来的IP广播地址转换成第二层的物理广播地址,则可以结合IP欺骗技术,通过发送Ping的广播报文对目标实现DDos分布式拒绝服务攻击。3)操作系统指纹识别不同的网络操作系统在处理网络信息时是不完全相同的,有着各自不同的特点,这些特点被称为系统的“指纹”。

12、通过识别这些指纹可以实现网络系统的识别。4、常见的扫描工具常见的免费扫描工具有Nmap、Superscan、Nessus、流光、Microsoft的系统漏洞检测工具MBSA、X-Scan的那个,商业安全扫描产品有Symantec的NetRecon、NAI的CyberCops Scanner、Cisco的Secure Scanner、ISS的系列扫描产品等。Nmap是一款开放源代码的网络探测和安全审核的工具,基本上包括了所有知名的扫描方式,并且提供了许多非常实用的辅助功能以对目标主机作进一步的侦测,如操作系统指纹识别、进程用户分析以及众多可选的方式来逃避目标系统的监测等。Nmap可任意指定主机、

13、网段甚至整个网络作为扫描目标,扫描方式也可通过添加合适的选项按需组合。Nmap运行通常会得到被扫描主机端口的列表、周知端口的服务名(如果可能)、端口号、状态和协议等信息。每个端口由Open、Filtered和Unfiltered三种状态,其中Open状态表明目标主机能够在此端口使用accept()系统调用接受路径;Filtered状态表明防火墙、包过滤和其他网络安全软件掩盖了此端口,禁止Nmap探测是否打开;Unfiltered状态表明此端口关闭,且无防火墙/包过滤软件来隔离Nmap的探测企图。5、反扫描技术(1)禁止不必要的服务系统上开放的某一个端口,运行的每一个服务都可能为入侵者提供信息,

14、成为入侵者攻击的目标。因此,对抗网络扫描的基本措施是将系统不必要的服务全部禁止。(2)屏蔽敏感信息系统中一些看起来无用的信息往往对入侵者来说比较重要,例如FTP服务的Banner等,入侵者通过这些信息,能够判断出操作系统的类型、服务软件的版本等。(3)合理配置防火墙和入侵检测系统IDS。一台配置合理的防火墙能够过滤掉大多数的扫描;同样,配置合理的入侵检测系统IDS,也能发现和记录大部分的扫描行为。(4)陷阱/蜜罐技术。将攻击者引导到一个蜜罐上,能够帮助用户收集最新的扫描,并判断有什么样的扫描能穿过防火墙。本实验通过实际操作,了解扫描技术的工作原理,加深对网络底层的理解,掌握常用扫描工具的基本用

15、法。三、实验过程和指导(一)实验要求1、阅读Nmap文档,了解命令行参数。2、选择局域网中的主机作为扫描对象(不可非法扫描Internet中的主机),使用Nmap提供的默认配置文件,以及自行设定相关参数,对指定范围的主机进行全面TCP扫描、PING扫描、TCP connect扫描、UDP扫描、秘密扫描、操作系统指纹识别等,记录并分析扫描结果。(二)实验准备1、阅读教材有关章节,理解TCP/IP协议等扫描技术的相关工作原理。2、阅读相关资料,熟悉Nmap的相关操作步骤和命令行参数的含义。(三)上机实验Nmap有命令行和GUI两种运行方式,这里以GUI的Zenmap 5.51为例。运行Zenmap

16、程序后,在Target列表框中输入扫描的目标,在Command文本框中设置所需的扫描参数,单击Scan按钮,系统就开始进行扫描,结束后会显示扫描结果。1、全面TCP扫描这是一种基本的扫描模式,不需要任何命令选项开关,即可对目标主机进行全面TCP扫描,显示监听端口的服务情况。命令行格式为:nmap IP地址,如nmap ,则可对目标主机进行全面TCP扫描,输出结果如图3.1.1所示。这种扫描模式的缺点是允许了日志服务的主机可以很容易地监测到这类扫描。要达到隐蔽功能,必须设置一些命令选项开关,从而实现较高级的功能。2、PING扫描如果想知道网络上有哪些主

17、机是开放的,可以使用Ping扫描方式探测主机,nmap通过对指定的ip地址发送icmp的echo request信息包来做到这一点,有回应的主机就是开放的。命令行格式为:nmap sn IP地址,如nmap sn ,则可对目标主机进行探测,输出结果包括开放主机的IP地址和MAC地址,如图3.1.2所示。3、TCP connect扫描这是对TCP的最基本形式的侦测,也是nmap的默认扫描方式。操作系统提供的connect()系统调用可以用来对目标主机上感兴趣的端口进行连接试探,如果该端口处于监听状态,则连接成功,否则代表这个端口无法到达。该方式的优点是

18、不需要任何权限,系统中任何用户都有权利使用此调用;使用非阻塞I/O允许设置一个低的时间用尽周期,通过同时打开多个套接字可以加速扫描。其缺点是很容易被察觉,并且被防火墙将扫描信息包过滤掉;目标主机的log文件会显示一连串的连接和连接出错信息,并且能很快使它关闭。命令行格式为:nmap sT IP地址,如nmap sT ,则可对目标主机进行TCP连接扫描,输出结果如图3.1.3所示。图3.1.1 全面TCP扫描图3.1.2 使用Ping扫描方式探测主机图3.1.3 TCP连接扫描4、UDP扫描Nmap默认监听的是目标主机的TCP端口,由于现在防火墙设备的

19、流行,TCP端口的管理状态越来越严格,不会轻易开放,并且通信监视严格。UDP扫描可以用来确定主机上哪些UDP端口处于开放状态,其原理是通过发送零字节的UDP信息包到目标机器的各个端口,如果收到一个ICMP端口无法到达的回应,那么该端口是关闭的,否则可以认为它是开放的。该方式的优点是利用UDP端口关闭时返回的ICMP信息,不包含标准的TCP三次握手协议的任何部分,因此隐蔽性好。其缺点是由于UDP是不面向连接的,这种扫描使用的数据包在通过网络时容易被丢弃从而产生错误的探测信息,所以整个精度会比较低;同时,由于不同操作系统在实现ICMP协议的时候为了避免广播风暴都会有峰值速率的限制,因此扫描速度比较

20、慢。这一扫描方法命令行格式为:nmap sU IP地址,如nmap sU ,则可对目标主机进行UDP扫描,输出结果如图3.1.4所示。图3.1.4 UDP扫描5、秘密扫描1)TCP SYN扫描这种方式是半开放式的TCP同步扫描,扫描程序不打开完整的TCP连接,发送一个SYN信息包并等待对方的回应。扫描原理参见“实验预习提示”中的“TCP SYN扫描”。这种扫描的的最大好处是可以进行更加隐蔽的扫描,防止被目标主机监测到,只有极少的站点会对它作出记录,但是需要有root权限来定制这些SYN包。命令行格式为:nmap sS IP地址,如nmap sS 19

21、,则可对目标主机进行TCP SYN扫描,输出结果如图3.1.5所示。将TCP SYN扫描与前面的TCP connect扫描进行对比,可以看出TCP SYN扫描的速度明显比TCP connect扫描快,扫描结果略有不同。图3.1.5 TCP SYN扫描SYN扫描在有些情况下仍不够隐蔽,一些防火墙及信息包过滤装置会在重要端口守护,只要安装了过滤和日志软件来检测同步空闲字符SYN,则-sS的隐蔽作用就失效了,SYN包在此时便会被截获,一些应用软件如Synlogger以及Courtney对侦测这种类型的扫描都是行家。所以,需要有更进一步的隐蔽扫描方式。2)FIN

22、扫描、Xmas Tree扫描和Null扫描由于关闭的端口会对发送的探测信息返回一个RST,而打开的端口则对其忽略不理。所以,FIN扫描使用空的FIN信息包作为探针,Xmas Tree使用FIN、URG、PUSH标记,Null扫描则不用任何标记。需要注意的是此方法与系统的实现有一定的关系,由于微软的坚持和独特,对于运行Windows 95/98或NT的机器不管端口是否打开都会回复RST,因此FIN、Xmas Tree和Null扫描的结果都是端口关闭。命令行格式分别为:nmap sF IP地址,nmap sX IP地址,nmap sN IP地址,如nmap sF ,则可对目标

23、主机进行FIN扫描,输出结果如图3.1.6所示;nmap sX ,则可对目标主机进行Xmas Tree扫描,输出结果如图3.1.7所示;nmap sN ,则可对目标主机进行Null扫描,输出结果如图3.1.8所示。按照上述原理,这其实也是一个很好的区分Windows和Unix/Linux两种平台的方法,如果扫描发现了打开的端口,那就能知道目标主机运行的不是Windows;如果-sF、-sX、-sN的扫描显示所有端口都是关闭的,但一个SYN扫描却显示有打开端口,则能大致推断目标主机是Wi

24、ndows平台。当然,这只是一个简单应用,nmap有更彻底的操作系统辨别方法。6、操作系统指纹识别该方法经由TCP/IP来获取“指纹”,从而判别目标主机的操作系统类型,其原理是用一连串的信息包探测出所扫描的主机位于操作系统有关堆栈的信息,并区分其精细差异,以此判别操作系统。它用搜集到的信息建立一个“指纹”,用来同已知的操作系统的指纹相比较,这样判定操作系统就有了依据。命令行格式为:nmap O IP地址,如nmap O ,则可对目标主机进行操作系统类型探测,输出结果如图3.1.9所示。图3.1.6 FIN扫描图3.1.7 Xmas Tree扫描图3.

25、1.8 Null扫描图3.1.9 操作系统指纹识别注意,nmap的这种方式有时也会得到错误的诊断信息,比如系统有端口开放。但nmap返回不可识别的操作系统,这也是有可能的,这时可以用nmap的-d参数来测试,详见nmap参考文档。7、其他应用(1)扫描主机群除了扫描单个目标主机,还可以同时扫描一个主机群,如:nmap sT O -10就可以同时扫描并探测IP地址在-0之间的每一台主机。当然这需要更多的时间,耗费更多的系统资源和网络带宽,输出结果页可能会很长。此时可以用下面的命令将结果重定向输送到一个文件中:nmap sT O o

26、N scan_result.txt -10,输出结果如图3.1.10所示。(2)其他常用参数1)-I:进行TCP反向用户认证扫描,可以透露扫描用户信息。其原理是利用了Ident协议(RFC1413),Ident协议允许看到通过TCP连接的任何进程的拥有者的用户名,即使这个连接不是由该进程发起的。例如可以连接到一个http端口,然后通过ident来发现服务器是否正在以root权限运行。但这种扫描方式只能在和目标端口建立了一个完整的TCP全连接之后才有效,并且实际上很多主机都会关闭ident服务,因此在高版本Nmap中已不再支持这种扫描方式。命令行格式为:nmap I IP地

27、址,如nmap I ,则可对目标主机进行TCP反向用户认证扫描,输出结果如图3.1.11所示。图3.1.10 扫描主机群图3.1.11 TCP反向用户认证扫描2)-iR:进行随机主机扫描。命令行格式为:nmap iR 扫描主机数,如nmap iR 3,则可对3个随机目标主机进行扫描,输出结果如图3.1.12所示。3)-p:扫描特定的端口范围,默认扫描的是从1到1024端口。命令行格式为:nmap p 端口范围IP地址,如nmap p 1025-3000 ,则可对目标主机中1025-3000范围内的端口进行扫描,输出结果如图3.1.13所示。图3.1.12 随机主机扫描图3.1.1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论