网络端口扫描实验指导汇总
- 格式:doc
- 大小:2.22 MB
- 文档页数:14
实验二、网络安全扫描实验一、实验目的1、了解端口扫描的原理2、掌握使用端口扫描器技术,3、掌握基本的防止网络被监听的方法二、背景知识1、什么是端口扫描端口是主机上面开放的信道,是目标系统对外提供服务的窗口,也是黑客入侵的通道。
确定当前监听的端口,对于确定所使用的操作系统和应用程序的类型,对目标系统的TCP和UDP进行边接,以达到了解该系统正在运行哪些服务的过程称为端口扫描。
2、端口扫描原理端口扫描就是利用操作系统提供的CONNECT()系统调用,与每一个感兴趣的目标计算机的端口进行连接。
如果端口处于侦听状态,那么connect()就能成功。
否则,这个端口不能用,既没有提供服务。
进行端口扫描的方法很多,可以是手工扫描,也可以用端正扫描软件进行扫描。
一般端口扫描可分为以下四种方式:(1)全TCP连接:经过“三次握手”,与目标主机建立标准的TCP连接,这种方法容易被目标主机记录,但获取信息比较详细。
(2)半开放式扫描(SYN):向目标主机的指定端口发送SYN报文,请求建立连接,由于在扫描过程中,尚未建立连接,大大降低了被目标系统发现记录的可能,也加快了扫描速度。
(3)FIN扫描:依靠发送FIN报文来判断目标主机指定的端口是否活动。
(4)第三方扫描代理:利用“肉机”代为扫描。
“肉机”一般是安全防御比较低的个人计算机,被入侵者控制。
三、实验内容1、Nmap扫描工具介绍(1)Nmap简介Nmap(Network Mapper)是一款自由软件,可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。
它是网络管理员必用的软件之一,用以评估网络系统安全。
和大多数被用于网络安全的工具一样,nmap 也是不少黑客爱用的工具。
系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。
Nmap通常用在信息搜集阶段(information gathering phase),用于搜集目标机主机的基本状态信息。
实验5:端口扫描器的设计与实现姓名:学号:专业年级:(一)实验目的和内容:目的:加深对TCP的理解,学习端口扫描技术和原理,熟悉socket编程。
内容:实现一个扫描器,使用TCP connect进行端口扫描,并对扫描结果进行记录。
(二)课程设计要求:Windows或Linux环境下,程序在单机上运行;使用端口扫描器对一台主机进行扫描,并显示出结果;编程语言不限;提供友好的用户界面。
(三)端口扫描技术:“端口”是专门为计算机通信而设计的,它不是硬件,不同于计算机中的“插槽”,可以说是个“软插槽”。
“端口”是由计算机的通信协议TCP/IP协议定义的。
其中规定,用IP地址和端口作为套接字,它代表TCP连接的一个连接端,一般称为Socket。
具体来说,就是用[IP:端口]来定位一台主机中的进程。
计算机就像一座大楼,这个大楼有好多入口(端口),进到不同的入口中就可以找到不同的公司(进程)。
端口与进程是一一对应的,入侵者通过扫描端口,便可以判断出目标计算机有哪些通信进程正在等待连接。
(四)扫描端口的目的:端口扫描是入侵者搜集信息的几种常用手法之一,也正是这一过程最容易使入侵者暴露自己的身份和意图。
•判断目标主机上开放了哪些服务;•判断目标主机的操作系统。
如果入侵者掌握了目标主机开放了哪些服务,运行何种操作系统,他们就能够使用相应的手段实现入侵。
(五)端口的分类:端口是一个16 bit的地址,用端口号进行标识不同的作用。
端口一般分为两类。
•熟知端口号(公认端口号):由因特网指派名字和号码公司ICANN负责分配给一些常用的应用层程序固定使用的熟知端口,其数值一般为0~1023。
•一般端口号:用来随时分配给请求通信的客户进程。
(六)扫描原理的基础知识:TCP/IP模型四层结构TCP与UDP协议TCP报文结构TCP连接和释放过程(七)TCP/IP模型四层结构:(八)TCP与UDP协议:Internet的网络通信大多是建立在这两个协议之上的,各个主机遵循着TCP/IP协议封装数据包进行通信。
实验三:网络扫描一:端口扫描分析主机扫描或端口扫描的原理,进行扫描器扫描主机或端口实验,捕获扫描时交互的数据包,通过分析扫描数据包,验证扫描原理。
网络扫描步骤:1.扫描目标主机识别工作状态(开/关机)2.识别目标主机端口状态(监听/关闭)3.识别目标主机系统及服务程序的类型和版本4.根据已知漏洞信息,分析系统脆弱点5.生成扫描结果报告扫描原理分析:因为我选择的是TCP扫描方式,TCP端口扫描的原理:1.先来说下正常情况下TCP的三次握手1)客户端发一个SYN包,带目的端口2)观察下返回的包:返回SYN/ACK包,说明端口打开在监听返回RST/ACK包,说明端口关闭,连接重置3)若返回SYN/ACK,客户端发一个ACK,完成这次连接2.下面是TCP扫描的几种形式①开放扫描1:TCP Connect 扫描与目的主机建立一次TCP连接,此时目的主机会将这次连接记录到log中方法:调用socket函数connect()连接到目标计算机上,完成一次完整的三次握手过程。
如果端口处于侦听状态,那么connect()就能成功返回。
2:TCP反向ident扫描:需要建立完整的TCP连接方法:ident 协议允许(rfc1413)看到通过TCP连接的任何进程的拥有者的用户名,即使这个连接不是由这个进程开始的。
开放扫描特点:产生大量审计数据,容易被发现和屏蔽,但可靠性高。
②半开放扫描1:TCP SYN扫描:发送SYN包,当收到SYN/ACK包时,不回ACK包给目的主机,立刻发送RST包来终止连接,那么一般很少会被记录,但构造SYN包需要较高权限2.间接扫描:通过第三方IP(欺骗主机)半开放特点:隐蔽性和可靠性在①③之间③隐蔽扫描又可分为SYN/ACK扫描,FIN扫描,XMAS扫描,NULL扫描,TCP ftp proxy扫描,分段扫描等。
SYN/ACK和FIN扫描都直接绕过连接第一步,目的主机会发RST来拆除连接,就得到了需要信息FIN原理:当一个FIN数据包到达一个关闭端口时候,返回一个RST,否则就会被简单丢弃不返回XMAS和NULL扫描相反,XMAS将6个标志位(URG,ACK,RST,PSH,SYN,FIN)全1,NULL全0。
一、实验目的1. 理解网络端口扫描的基本原理和作用。
2. 掌握常用的网络端口扫描工具,如Xscan、Nmap和流光等。
3. 学习如何进行网络端口扫描,并对扫描结果进行分析。
4. 了解网络端口扫描在网络安全中的应用。
二、实验环境1. 操作系统:Windows 102. 网络端口扫描工具:Xscan、Nmap、流光3. 实验网络:实验室内部局域网三、实验步骤1. 安装网络端口扫描工具(1)下载并安装Xscan、Nmap和流光等网络端口扫描工具。
(2)确保实验网络连接正常,打开扫描工具。
2. 使用Xscan进行端口扫描(1)在Xscan中输入目标IP地址或域名。
(2)选择扫描方式,如全端口扫描、快速扫描等。
(3)点击“开始扫描”按钮,等待扫描完成。
(4)查看扫描结果,了解目标主机开放的端口和服务。
3. 使用Nmap进行端口扫描(1)在Nmap中输入目标IP地址或域名。
(2)选择扫描选项,如-sT(全端口扫描)、-sS(半开放扫描)等。
(3)运行命令:nmap -sT 目标IP地址或域名。
(4)查看扫描结果,了解目标主机开放的端口和服务。
4. 使用流光进行端口扫描(1)在流光中输入目标IP地址或域名。
(2)选择扫描模式,如快速扫描、全端口扫描等。
(3)点击“开始扫描”按钮,等待扫描完成。
(4)查看扫描结果,了解目标主机开放的端口和服务。
5. 分析扫描结果(1)对比三种扫描工具的扫描结果,了解不同扫描工具的特点。
(2)分析目标主机开放的端口和服务,了解其可能存在的安全风险。
四、实验结果与分析1. Xscan扫描结果通过Xscan扫描,发现目标主机开放了80(HTTP)、21(FTP)、22(SSH)等端口。
2. Nmap扫描结果通过Nmap扫描,发现目标主机开放了80(HTTP)、21(FTP)、22(SSH)等端口,并获取了更详细的信息,如操作系统类型、服务版本等。
3. 流光扫描结果通过流光扫描,发现目标主机开放了80(HTTP)、21(FTP)、22(SSH)等端口,并提供了端口对应的程序信息。
一、实验目的1. 了解端口扫描的基本概念和原理。
2. 掌握常用端口扫描工具的使用方法。
3. 学会分析端口扫描结果,识别潜在的安全风险。
二、实验环境1. 实验主机:Windows 10操作系统2. 实验工具:Nmap、Xscan、Nessus等端口扫描工具3. 实验对象:互联网上的目标主机三、实验内容1. 端口扫描概述2. 使用Nmap进行端口扫描3. 使用Xscan进行端口扫描4. 使用Nessus进行端口扫描5. 分析端口扫描结果四、实验步骤1. 端口扫描概述端口扫描是指通过网络发送特定数据包,检测目标主机上开放的服务端口的过程。
通过端口扫描,我们可以了解目标主机上运行的服务,从而评估其安全风险。
2. 使用Nmap进行端口扫描(1)安装Nmap:从官方网站下载Nmap安装包,按照提示进行安装。
(2)运行Nmap:在命令行中输入“nmap 目标IP”进行扫描。
(3)查看扫描结果:Nmap会生成一个文本文件,其中包含了扫描结果。
3. 使用Xscan进行端口扫描(1)安装Xscan:从官方网站下载Xscan安装包,按照提示进行安装。
(2)运行Xscan:在Xscan界面输入目标IP,点击“开始扫描”按钮。
(3)查看扫描结果:Xscan会生成一个HTML文件,其中包含了扫描结果。
4. 使用Nessus进行端口扫描(1)安装Nessus:从Tenable官方网站下载Nessus安装包,按照提示进行安装。
(2)运行Nessus:在Nessus界面输入目标IP,选择扫描模板,点击“开始扫描”按钮。
(3)查看扫描结果:Nessus会生成一个报告,其中包含了扫描结果。
5. 分析端口扫描结果(1)识别开放端口:根据扫描结果,找出目标主机上开放的端口。
(2)分析服务类型:根据开放端口,确定目标主机上运行的服务类型。
(3)评估安全风险:根据服务类型,评估目标主机的安全风险。
五、实验结果与分析1. 使用Nmap扫描目标主机,发现其开放了80、443、22、21等端口。
课程实验报告课程名称:网络安全技术实验项目名称:端口扫描专业班级:姓名:学号:指导教师:完成时间:2011 年9 月9 日计算机科学与工程系实验题目:端口扫描实验内容:(1)Nmap软件的使用。
(2)X-scan软件的使用。
(3)Protectx软件的测试。
实验结果:1、Nmap软件的使用。
实验中,我使用的是GUI的Zenamp。
如图1所示,它提供了一个下拉列表框,其中列出了常用的扫描方式。
图1 Zenamp常用扫描方式输入要扫描主机的IP地址,选择扫描方式,则自动生成扫描命令。
点击扫描按钮,则开始以选定的扫描方式扫描指定的主机。
图2为一个扫描实例。
图2 扫描结果2、X-scan软件的使用。
X-scan集成了一些常用的工具,比如物理地址查询、Trace route和Ping等,如图3所示。
图3 X-Scan集成小工具X-Scan功能很强大,可以对开放服务、漏洞以及弱口令进行扫描检测,通过采用并发扫描使得扫描速度异常的快,并且提供了多种扫描结果报告形式。
图4为其扫描参数的设置。
图4 X-Scan扫描参数设置使用X-Scan扫描一主机,结果如图5、6所示。
图5 X-Scan普通信息图6 X-Scan漏洞信息3、Protectx软件的使用。
ProtectX是一款用于保护计算机,防止被恶意扫描的软件。
如图7所示,它可以提供端口、木马等多种防护,当主机被恶意扫描的时候,ProtectX将会发出警告信息。
图7 ProtectX设置选项ProtectX也提供了一些Ping、Trace route等的实用小工具,如图8所示。
图8 ProtectX使用小工具实验总结:实验内容全部完成,通过此次实验,我学习到了漏洞扫描、端口扫描等的一些基本知识,并学会了使用一些常用的扫描工具及防护工具。
实验是在虚拟机上的两台主机上完成的,在搭建实验环境的过程中,我也学习了一些相关的知识。
《网络端口扫描》实验指导一、实验目的1、学习端口扫描技术的基本原理,理解端口扫描技术在网络攻防中的应用;2、通过上机实验,熟练掌握目前最为常用的网络扫描工具Nmap的使用,并能利用工具扫描漏洞,更好地弥补安全不足。
二、实验预习提示1、网络扫描概述扫描是通过向目标主机发送数据报文,然后根据响应获得目标主机的情况。
根据扫描对象的不同,可以分为基于主机的扫描和基于网络的扫描2种,其中基于主机的扫描器又称本地扫描器,它与待检查系统运行于同一节点,执行对自身的检查。
通常在目标系统上安装了一个代理(Agent)或者是服务(Services),以便能够访问所有的文件与进程,它的主要功能为分析各种系统文件内容,查找可能存在的对系统安全造成威胁的漏洞或配置错误;而基于网络的扫描器又称远程扫描器,一般它和待检查系统运行于不同的节点上,通过网络来扫描远程计算机。
根据扫描方式的不同,主要分为地址扫描、漏洞扫描和端口扫描3类。
(1)地址扫描地址扫描是最简单、最常见的一种扫描方式,最简单的方法是利用Ping程序来判断某个IP地址是否有活动的主机,或者某个主机是否在线。
其原理是向目标系统发送ICMP回显请求报文,并等待返回的ICMP回显应答。
传统的Ping扫描工具一次只能对一台主机进行测试,效率较低,现在如Fping(Fast ping)等工具能以并发的形式向大量的地址发出Ping请求,从而很快获得一个网络中所有在线主机地址的列表。
但随着安全防范意识的提供,很多路由器和防火墙都会进行限制,只要加入丢弃ICMP回显请求信息的相关规则,或者在主机中通过一定的设置禁止对这样的请求信息应答,即可对ICMP回显请求不予响应,(2)漏洞扫描漏洞扫描是使用漏洞扫描器对目标系统进行信息查询,检查目标系统中可能包含的已知漏洞,从而发现系统中存在的不安全地方。
其原理是采用基于规则的匹配技术,即根据安全专家对网络系统安全漏洞、黑客攻击案例的分析和系统管理员对网络系统安全配置的实际经验,形成一套标准的网络系统漏洞库,然后在此基础上构成相应的匹配规则,通过漏洞库匹配的方法来检查目标设备是否存在漏洞。
在端口扫描后,即可知道目标主机开启的端口以及端口上提供的网络服务,将这些相关信息与漏洞库进行匹配,即可查看是否有满足匹配条件的漏洞存在。
漏洞扫描大体包括CGI、POP3、FTP、HTTP和SSH漏洞扫描等。
漏洞扫描的关键是所使用的漏洞库,漏洞库信息的完整性和有效性决定了漏洞扫描器的性能,漏洞库的修订和更新的性能也会影响漏洞扫描器运行的时间。
(3)端口扫描端口是网络连接的附着点,不同的应用进程使用不同的端口,如果一个应用程序希望提供某种服务,它将自己附着在端口上等待客户请求的到来(即对端口进行监听),希望使用此服务的客户则在本地主机分配一个端口,与远程主机的服务端口连接,客户通过联系这些特殊的端口来获取特殊的服务。
在网络连接中,服务器端的进程需要一直处于监听状态,并且持续使用相同端口;而客户端的进程则只需要在和服务器建立连接时动态地创建一个端口,并在连接结束后立即释放。
一般来说,端口扫描的对象是前者,即作为网络服务开放的端口。
由于网络端口是计算机和外界相连的通道,因此疏于管理可能留下严重的安全隐患。
端口扫描是利用网络协议的安全漏洞,通过非常规的方法来确定连接在网络上目标主机的哪些端口是开放的技术。
其原理是通过向目标系统的TCPhuoUDP端口发送一定数量、带有各种特殊标识的报文,然后记录目标系统反馈的报文信息,再分析判断其上端口的状态。
2、端口扫描的用途一般来说,端口扫描有以下三种用途:(1)获取目标系统上的端口信息,用于识别其上具有的TCP和UDP服务;(2)获得目标系统返回报文的某些特殊标识,识别目标系统的操作系统类型;(3)进一步结合其他技术得到具体端口的详细信息,从而识别某个特定服务的版本号。
3、端口扫描的方法(1)基于连接的扫描1)TCP全连接扫描TCP全连接扫描是端口扫描的基本形式,扫描主机通过TCP/IP协议的三次握手与目标主机的指定端口建立一次完整的连接。
建立连接成功时,目标主机回应一个SYN/ACK数据包,表明目标主机的目标端口处于监听(打开)状态;建立连接失败时,目标主机会向扫描主机发送RST响应,表明该目标端口处于关闭状态。
TCP全连接扫描的优点是易于实现,系统中任何用户都有权限使用此调用;缺点是很容易被发觉并被过滤掉,目标计算机的日志文件会显示一连串的成功连接和连接出错的服务信息。
2)TCP SYN扫描TCP SYN扫描也称半开放扫描,扫描程序向目标主机端口发送一个SYN数据包,若收到RST响应则表明目标端口关闭,若收到SYN/ACK响应则表明目标端口开放,处于侦听状态,此时扫描程序再发送一个RST信号给目标主机,终止建立连接。
由于并未建立全连接,故常将此扫描方式称为半开放扫描。
TCP SYN扫描的优点是一般不会在目标主机上留下记录,但缺点是需要有管理员权限才能建立自己的SYN数据包。
(2)隐蔽扫描隐蔽扫描技术不含标准的TCP三次握手协议的任何一部分,比SYN扫描更隐蔽,很难被记录追踪。
隐蔽扫描采用包含FIN标志的TCP包来探测端口,如果探测的端口处于关闭状态,则目标主机返回一个RST信号;如果探测的端口处于侦听状态,则目标主机会忽略对FIN数据包的回复,即目标主机不会返回RST信号。
Xmas Tree和Null扫描方式是基于以上原理的变形和发展。
Xmas Tree扫描打开FIN、URG和PSH标志,而Null扫描则关闭所有标志,这些组合的目的都是为了通过所谓的FIN标记监测器的过滤。
隐蔽扫描的优点是比较隐蔽,不易被记录追踪,但通常用于UNIX系统及其他少数系统,对Windows系统不适用,同时与SYN扫描类似,也需要自己构造IP数据包。
(3)辅助扫描手段1)分段扫描分段扫描一般结合其他方法来提供更为隐蔽的扫描,它并不是直接发送TCP探测数据包,而是将原来封装在一个报文的探测信息(往往在TCP报头中)拆分至两个或多个较小的报文中,算好各自的偏移,并都置系统的标识,然后发送,使其难以被过滤。
扫描器从IP分片中劈开TCP头,由于包过滤防火墙看不到一个完整的TCP头,无法对应相应的过滤规则,从而可绕过包过滤防火墙。
2)ACK扫描ACK扫描并不能识别端口是否打开,但可以判断目标主机是否受到防火墙的保护,以及防火墙的类型。
因为RFC文档规定对于来访的ACK报文,物理端口打开与否,均返回RST报文。
因此如果发送方通过这种方式得到RST报文,就可以判断目标主机上未安装防火墙或者只有简单的包过滤防火墙(它无法判断此ACK报文是否合法);如果发送方没有收到RST报文,则要么目标主机关机,要么受基于状态检测的防火墙保护,因为基于状态监测的防火墙会将突然来访的ACK报文全部丢弃,不作应答。
(4)非TCP扫描1)UDP扫描端口扫描一般是扫描TCP端口,因为TCP是面向连接的协议,目标系统通常会返回一些有用的信息;而UDP为不可靠的无连接协议,为了发现正在服务的UDP端口,通常产生一个内容为空的UDP数据包发往目标端口,若目标端口上有服务正在等待,则目标端口将返回表示错误的消息;如果目标端口处于关闭状态,则目标操作系统会发现一个ICMP Unreachable消息。
2)ICMP扫描Ping命令发送ICMP请求包给目标IP地址,如果有应答则表示主机开机。
如果要探测目标网络内主机的情况,可以构造ICMP广播报文,如果有机器响应,则可判断其开机。
ICMP 扫描方法也可用来探测局域网的地址分配结构(如果有一个以上的主机响应广播报文,则表示此广播地址就是目标网络的广播地址)。
如果已设置了目标网络的网关默认将外来的IP广播地址转换成第二层的物理广播地址,则可以结合IP欺骗技术,通过发送Ping的广播报文对目标实现DDos分布式拒绝服务攻击。
3)操作系统指纹识别不同的网络操作系统在处理网络信息时是不完全相同的,有着各自不同的特点,这些特点被称为系统的“指纹”。
通过识别这些指纹可以实现网络系统的识别。
4、常见的扫描工具常见的免费扫描工具有Nmap、Superscan、Nessus、流光、Microsoft的系统漏洞检测工具MBSA、X-Scan的那个,商业安全扫描产品有Symantec的NetRecon、NAI的CyberCops Scanner、Cisco的Secure Scanner、ISS的系列扫描产品等。
Nmap是一款开放源代码的网络探测和安全审核的工具,基本上包括了所有知名的扫描方式,并且提供了许多非常实用的辅助功能以对目标主机作进一步的侦测,如操作系统指纹识别、进程用户分析以及众多可选的方式来逃避目标系统的监测等。
Nmap可任意指定主机、网段甚至整个网络作为扫描目标,扫描方式也可通过添加合适的选项按需组合。
Nmap运行通常会得到被扫描主机端口的列表、周知端口的服务名(如果可能)、端口号、状态和协议等信息。
每个端口由Open、Filtered和Unfiltered三种状态,其中Open状态表明目标主机能够在此端口使用accept()系统调用接受路径;Filtered状态表明防火墙、包过滤和其他网络安全软件掩盖了此端口,禁止Nmap探测是否打开;Unfiltered状态表明此端口关闭,且无防火墙/包过滤软件来隔离Nmap的探测企图。
5、反扫描技术(1)禁止不必要的服务系统上开放的某一个端口,运行的每一个服务都可能为入侵者提供信息,成为入侵者攻击的目标。
因此,对抗网络扫描的基本措施是将系统不必要的服务全部禁止。
(2)屏蔽敏感信息系统中一些看起来无用的信息往往对入侵者来说比较重要,例如FTP服务的Banner等,入侵者通过这些信息,能够判断出操作系统的类型、服务软件的版本等。
(3)合理配置防火墙和入侵检测系统IDS。
一台配置合理的防火墙能够过滤掉大多数的扫描;同样,配置合理的入侵检测系统IDS,也能发现和记录大部分的扫描行为。
(4)陷阱/蜜罐技术。
将攻击者引导到一个蜜罐上,能够帮助用户收集最新的扫描,并判断有什么样的扫描能穿过防火墙。
本实验通过实际操作,了解扫描技术的工作原理,加深对网络底层的理解,掌握常用扫描工具的基本用法。
三、实验过程和指导(一)实验要求1、阅读Nmap文档,了解命令行参数。
2、选择局域网中的主机作为扫描对象(不可非法扫描Internet中的主机),使用Nmap 提供的默认配置文件,以及自行设定相关参数,对指定范围的主机进行全面TCP扫描、PING 扫描、TCP connect扫描、UDP扫描、秘密扫描、操作系统指纹识别等,记录并分析扫描结果。
(二)实验准备1、阅读教材有关章节,理解TCP/IP协议等扫描技术的相关工作原理。