任务 6.1:端口扫描原理与nmap实践-学生手册_第1页
任务 6.1:端口扫描原理与nmap实践-学生手册_第2页
任务 6.1:端口扫描原理与nmap实践-学生手册_第3页
任务 6.1:端口扫描原理与nmap实践-学生手册_第4页
任务 6.1:端口扫描原理与nmap实践-学生手册_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

任务6.1端口扫描原理与Nmap实践-学生手册项目六:TBOX与TSP安全任务6.1:端口扫描原理与Nmap实践【任务导入】端口扫描作为网络安全领域中的关键技术,是系统安全评估和漏洞检测中的基础。Nmap等工具在端口扫描方面相对成熟,假设你是一名网络安全工程师,如何使用Nmap工具进行端口扫描,以及如何分析扫描结果并采取相应的安全措施。【学习目标】素质目标增强学生坚持科技强国的信心;培养学生的逻辑思维能力;激发学生的创新精神和实践能力。知识目标能阐述端口扫描的基本原理[K83];能理解三次握手的基本概念[K84];能说明Nmap的核心功能和使用方法[K85]。能力目标能使用Nmap工具进行端口扫描、服务识别[A57];能对Nmap的结果数据进行解析[A58]。

【知识准备】端口端口的定义在计算机网络中,设备与设备之间通过使用ip地址,在网络上相互通信,IP地址充当每个设备的唯一标识符,如REF_Ref32200\h图6-1-1所示。为了有效通信,除了需要确定且唯一ip地址外,还需要借助端口号。图6-1-SEQ图6-1-\*ARABIC1网络通信端口(port)是计算机网络中用于识别不同应用程序或网络服务的逻辑通信终点。一台计算机可以同时运行多个不同的服务/进程,每个服务/进程都使用不同的端口号,可以把ip地址想象成一座公寓,把端口号想象成这座公寓不同的公寓号,表示特定的服务/进程。端口号范围端口号范围为0到65535(即:2^16),其中:0到1023为系统端口(知名端口),分配给常见的服务和协议,如常见的ssh、http、https保留的22、80、443端口,如REF_Ref2035\h图6-1-2所示。图6-1-SEQ图6-1-\*ARABIC2系统端口常见服务1024到49151为注册端口,分配给用户进程或应用程序,任何应用程序注册后都能使用。49152到65535为动态或私有端口,由操作系统动态分配,通常用于网络通信期间临时使用。端口基本状态open:确定端口开放,可达。closed:关闭的端口对于nmap也是可访问的,它接收nmap探测报文并作出响应。但没有应用程序在其上监听。filtered:由于包过滤阻止探测报文到达端口,Nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由规则或者主机上的软件防火墙。open|filtered:无法确定端口是开放还是被过滤,没有响应也可能意味着报文过滤器丢弃了探测报文或者它引发的任何反应。UDP,IP协议,FIN,Null等扫描会引起。closed|filtered:(关闭或者被过滤的):无法确定端口是关闭的还是被过滤的。TCP端口号是TCP(一种面向连接的、可靠的传输层协议,广泛应用于互联网通信)中的重要字段,其头部字段,如REF_Ref5500\h图6-1-3所示。图6-1-SEQ图6-1-\*ARABIC3TCP报文头部字段TCP报文头部字段包括:源端口号(SourcePortNumber,16bits)源端口号标识发送方的端口,是发送数据的应用程序所在的端口。目标端口号(DestinationPortNumber,16bits)目标端口号标识接收方的端口,是接收数据的应用程序所在的端口。序列号(SequenceNumber,32bits)序列号用于标识数据段在整个数据流中的位置。发送方使用序列号来标识数据的顺序,并确保数据在接收方按正确的顺序重组。序列号在建立连接时,由初始序列号(InitialSequenceNumber,ISN)开始,并随着每个字节的数据传输而递增。确认应答号(AcknowledgmentNumber,32bits)确认应答号用于接收方向发送方确认已经接收到的数据。接收方使用确认应答号指示下一个期望接收的字节的序列号。如果确认应答号为N,则表示接收到的所有数据段中的字节序号为N-1之前的数据已被正确接收。数据偏移(DataOffset,4bits)数据偏移字段指示TCP报文段头部的长度。该字段表示头部的32位字(即4字节)的数量,用于确定数据开始的位置。保留位(Reserved,6bits)保留位目前未使用,通常设置为0,将来可能用于协议扩展。控制标志(ControlFlags,6bits)URG(紧急指针有效):紧急指针字段有效。ACK(确认序号有效):确认序号字段有效。PSH(接收方应尽快交付数据):提示接收方尽快将数据传递给应用程序。RST(重置连接):重置连接。SYN(同步序号):同步序号,用于建立连接。FIN(发送方完成发送任务):发送方完成数据发送。窗口大小(WindowSize,16bits)窗口大小字段指示接收方的缓冲区空间,用于流量控制。发送方根据该值调整数据发送速率。校验和(Checksum,16bits)校验和字段用于检测报文段在传输过程中是否出错。发送方计算校验和并填入该字段,接收方重新计算校验和以验证数据完整性。紧急指针(UrgentPointer,16bits)紧急指针字段指示紧急数据的末尾位置,仅在URG标志设置时有效。选项(Options,variablelength)选项字段用于支持各种TCP扩展功能,如时间戳、窗口扩大因子等。选项字段长度可变。数据(Data,variablelength)数据字段包含实际传输的数据,长度可变。三次握手TCP握手是建立一个可靠的TCP连接的过程,通过这三次握手,客户端和服务端都确认了对方的序列号,并且可以开始可靠的数据传输。TCP三次握手确保了连接的可靠性和双方的同步,为后续的数据传输奠定了基础。三次握手涉及三个主要的控制位:SYN(Synchronize):用于建立连接时同步序列号。SYN包告诉接收方发起方希望建立连接,并同步初始序列号。ACK(Acknowledge):用于确认已接收到的数据包。在握手过程中,ACK包确认收到了对方发送的SYN包和序列号。SYN-ACK:这是一个同时包含SYN和ACK的包,服务器在第二次握手中使用它来同时响应客户端的连接请求和确认客户端的SYN包。TCP的三次握手过程如REF_Ref30819\h图6-1-4所示。图6-1-SEQ图6-1-\*ARABIC4TCP三次握手(1)第一次握手(SYN)客户端发送一个SYN包给服务器,表示希望建立连接。这个包包含一个初始序列号(SequenceNumber,seq),称为SYN=1。例如:Client->Server:SYN,seq=x(2)第二次握手(SYN-ACK)服务器接收到客户端的SYN包后,向客户端发送一个SYN-ACK包,表示接收到连接请求并同意建立连接。这个包包含服务器的初始序列号和对客户端序列号的确认(AcknowledgmentNumber,ack),称为SYN=1,ACK=1。例如:Server->Client:SYN,seq=y,ACK,ack=x+1(3)第三次握手(ACK)客户端接收到服务器的SYN-ACK包后,再发送一个ACK包给服务器,确认收到服务器的响应,并且可以开始传输数据。这个包只包含对服务器序列号的确认,称为ACK=1。例如:Client->Server:ACK,seq=x+1,ack=y+1端口扫描端口扫描的定义及目的端口扫描的定义端口扫描是一种网络探测技术,用于识别目标主机上开放的端口,以了解该主机提供的服务和应用。它是网络安全领域中非常重要的一部分,广泛用于网络安全评估、渗透测试和攻击者的侦查活动。端口扫描的主要目的识别开放端口:确定目标主机上哪些端口是开放的。识别运行的服务:确定每个开放端口上运行的服务或应用程序。检测漏洞:识别目标主机上的潜在安全漏洞。端口扫描的常见技术TCP连接扫描(TCPConnectScan)TCP连接扫描方法直接尝试与目标端口建立TCP连接。其过程如下:扫描器向目标端口发送一个SYN数据包。如果目标端口开放,会返回一个SYN-ACK数据包。扫描器回应一个ACK数据包以完成三次握手,然后立即发送一个RST数据包断开连接。TCPSYN扫描(半开放扫描)TCPSYN扫描是最常见的扫描技术之一,被称为“半开放”扫描,因为它不会完成整个TCP三次握手。其过程如下:扫描器向目标端口发送一个SYN数据包。如果目标端口开放,会返回一个SYN-ACK数据包。扫描器立即发送一个RST数据包中断连接。这种方法比TCP连接扫描隐蔽,因为它不会在目标系统上建立完整的连接。UDP扫描UDP扫描用于检测目标主机上开放的UDP端口。由于UDP是无连接协议,没有三次握手过程,因此扫描方法有所不同:扫描器向目标端口发送一个UDP数据包。如果目标端口开放,通常不会收到任何响应(因为UDP没有确认机制)。如果目标端口关闭,会返回一个ICMP端口不可达消息。Xmas扫描Xmas扫描通过发送带有特定标志(FIN、URG、PUSH)的TCP数据包来检测端口状态。其过程如下:扫描器向目标端口发送一个带有FIN、URG和PUSH标志的TCP数据包。如果目标端口关闭,目标会返回一个RST数据包。如果目标端口开放或被过滤,不会收到任何响应。NULL扫描NULL扫描通过发送没有设置任何标志位的TCP数据包来检测端口状态。其过程如下:扫描器向目标端口发送一个没有设置任何标志位的TCP数据包。如果目标端口关闭,目标会返回一个RST数据包。如果目标端口开放或被过滤,不会收到任何响应。端口扫描工具-NmapNmap简介Nmap(NetworkMapper)是一款开源免费的针对大型网络的端口扫描工具,Nmap不仅是网络安全专家的利器,同时也是网络管理员和系统管理员的重要工具。它可以帮助管理员进行日常的网络管理、故障排除以及安全检查。Nmap支持多种操作系统,包括Windows、Linux、macOS等,并且提供图形用户界面(Zenmap)供用户选择。由于其强大的功能和灵活性,Nmap成为了网络安全领域中不可或缺的工具之一。如REF_Ref4511\h图6-1-5所示。图6-1-SEQ图6-1-\*ARABIC5Nmap图标Nmap的主要功能包括:主机发现:确定网络上哪些主机是在线的。端口扫描:检测目标主机上哪些端口是开放的,从而确定主机上运行的服务。服务版本检测:识别开放端口上运行的应用程序和版本信息。操作系统检测:通过分析响应数据包来推测目标主机的操作系统。脚本引擎:NmapScriptingEngine(NSE)允许用户编写脚本以自动执行各种网络任务,如漏洞扫描、后门检测等。高级检测:包括防火墙规避、探测弱点等。Nmap的基础使用方法Nmap支持命令行操作和Zenmap图像化操作两种方式。命令行操作界面如REF_Ref16825\h图6-1-6所示。图6-1-SEQ图6-1-\*ARABIC6命令行界面Zenmap图形化操作界面如REF_Ref7066\h图6-1-7所示。图6-1-SEQ图6-1-\*ARABIC7Zenmap图形化界面无论使用命令行还是图形化界面进行Nmap操作,都是基于命令的方式进行操作,所以掌握Nmap命令是掌握Nmap使用的基础。一般的Nmap命令组成为:nmap[ScanType(s)][Options][Target]nmap:这是运行nmap工具的命令。[ScanType(s)]:指定要执行的扫描类型,常见的扫描类型,见REF_Ref28003\h表6-1-1。表6-1-SEQ表6-1-\*ARABIC1扫描类型参数列表扫描类型描述说明-sSTCPSYN扫描比较隐藏,效率高,使用广泛-sTTCPConnect扫描不隐秘,在完整TCP连接会留下痕迹-sATCPACK扫描确定防火墙是否屏蔽某个端口,辅助TCPSYN的方式判断目标主机防火墙状况-sFTCPFIN扫描到达关闭的端口,数据包会被丢弃,并且返回一个RST数据包,到达打开的端口则没返回-sUUDP扫描收到回复说明端口关闭,没有则说明端口可能打开[Options]:指扫描的通用选项,用于自定义你的扫描,比如指定端口、服务版本检测、扫描时机选项、输出格式等,见REF_Ref31050\h表6-1-2。表6-1-SEQ表6-1-\*ARABIC2通用选项参数列表通用选项说明-P0nmap扫描前不Ping目标主机。-PTnmap扫描前使用TCPACK包确定主机是否在运行-PS

nmap使用TCPSYN包进行扫描。-PInmap进行Ping扫描。-PB结合-PT和-PI功能,这是默认的ping扫描选项。-ONmap扫描TCP/IP指纹特征,确定目标主机系统类型。-I反向标志扫描,扫描监听端口的用户。-f分片发送SYN、FIN、Xmas、和Null扫描的数据包-v冗余模式扫描,可以得到扫描详细信息-oN扫描结果重定向到文件-resume使被中断的扫描可以继续-iL扫描目录文件列表-p指定端口或扫描端口列表及范围,默认扫描1-1024端口和/usr/share/nmap/nmap-services文件中指定端口。[Target]:在这里指定你要扫描的目标,可以是IP地址、主机名或者IP列表。

【任务实施】实施准备工具设备准备分类名称数量图例实训设备笔记本电脑(含鼠标和充电线)1套准备工作检查电脑是否安装Nmap。键盘按win键+R键,调出“运行”对话框,然后输入cmd,点击确定,如REF_Ref16628\h图6-1-8所示。图6-1-SEQ图6-1-\*ARABIC8启动终端框在终端框输入命令nmap查看是否安装成功,输出Nmap的版本号及相关帮助信息,表示Nmap已经安装成功,如REF_Ref16596\h图6-1-9所示。nmap图6-1-SEQ图6-1-\*ARABIC9Nmap安装成功扫描网络信息常规扫描在终端框中输入以下命令,扫描本机ip的端口信息,扫描结果如REF_Ref31397\h图6-1-10所示。nmap图6-1-SEQ图6-1-\*ARABIC10本机IP扫描结果Nmapscanreportfor:这是扫描结果的报告头部,指示nmap扫描的目标IP地址为,也就是本地主机的回环地址。Hostisup(0.000088slatency):这表示扫描的主机是活跃的,且Latency延迟为0.000088秒,即非常快速地得到响应。Notshown:998closedtcpports(reset):这告诉你有998个TCP端口是关闭的,而这些端口并没有在扫描结果中显示出来。PORTSTATESERVICE:这是端口扫描结果的列标题,说明下面的内容是端口状态和服务的列表。135/tcpopenmsrpc:这显示了135/tcp端口是开放的,运行着msrpc服务。msrpc是Microsoft远程过程调用服务。445/tcpopenmicrosoft-ds:这显示了445/tcp端口也是开放的,运行着microsoft-ds服务。microsoft-ds是Microsoft的文件共享服务。Nmapdone:1IPaddress(1hostup)scannedin5.88seconds:这是nmap扫描完成的提示信息,指示扫描了1个IP地址,发现1个活跃的主机,并在5.88秒内完成了扫描。服务漏洞扫描在终端框中输入以下命令,扫描服务漏送,扫描结果如REF_Ref31348\h图6-1-11所示。nmap--script=vuln--script=vuln指定了运行名为vuln的漏洞扫描脚本。这将导致nmap对指定的目标进行漏洞扫描,以查找已知的安全漏洞并提供相关的漏洞信息。图6-1-SEQ图6-1-\*ARABIC11本机服务漏洞扫描①Pre-scanscriptresults:这是nmap预扫描脚本的结果部分,显示了在真正扫描之前运行的一些脚本的输出。broadcast-avahi-dos:这个脚本探测了可能存在的Avahi服务的DoS(拒绝服务攻击)漏洞。结果显示发现了主机51,并确认该主机不受CVE-2011-1002漏洞影响,因此不易受攻击。②Hostscriptresults:这是关于主机脚本的结果部分,显示了运行在目标主机上的一些脚本的输出。smb-vuln-ms10-061:尝试检测目标主机是否受CVE-2010-061漏洞影响,但在尝试建立连接时出现错误。smb-vuln-ms10-054:显示没有检测到CVE-2010-054漏洞。samba-vuln-cve-2012-1182:尝试检测目标主机是否受CVE-2012-1182漏洞影响,但在尝试建立连接时出现错误。若检测出服务漏洞,会出现VULNAERABLE以及具体的CVE字段,判断可能存在一些已知漏洞,如REF_Ref20986\h图6-1-12所示。图6-1-SEQ图6-1-\*ARABIC12检测出服务漏洞常见的漏洞数据库和漏洞ID标识符包括:CommonVulnerabilitiesandExposures(CVE):CVE是一个用于标识公共漏洞的标准化命名系统。每个CVE条目都有一个唯一的标识符,如"CVE-YYYY-NNNN"。例如,CVE-2021-1234。CommonWeaknessEnumeration(CWE):CWE是一种用于标识软件缺陷、弱点和漏洞的分类系统。每个CWE条目都有一个唯一的标识符,如"CWE-123"。例如,CWE-119。OpenWebApplicationSecurityProject(OWASP):OWASP提供了针对Web应用程序安全的一系列最常见漏洞,每个漏洞都有一个独特的标识符。例如,OWASPTop10中的A1表示Injection。NationalVulnerabilityDatabase(NVD):NVD是一个美国政府的漏洞数据库,收集了全球公开披露的漏洞信息,每个漏洞都有一个唯一的标识符。系统识别在终端框中输入以下命令,进行系统识别,如REF_Ref595\h图6-1-13所示。nmap-O-O选项用于进行操作系统探测,可以尝试确定目标主机运行的操作系统类型。通过对目标主机的响应进行分析,nmap可以尝试猜测目标主机所使用的操作系统。图6-1-SEQ图6-1-\*ARABIC13系统识别UDP扫描在终端框中输入以下命令,进行UDP扫描,如REF_Ref2022\h图6-1-14所示。nmap-sU-sU是nmap命令的一个选项,用于指定进行UDP端口扫描。UDP(UserDatagramProtocol,用户数据报协议)是一种无连接的传输协议,与TCP(TransmissionControlProtocol,传输控制协议)不同,UDP不会建立连接,而是直接发送数据包。在网络中,许多服务和应用程序使用UDP进行通信,因此进行UDP端口扫描可以帮助识别主机上开放的UDP端口和相关的服务。图6-1-SEQ图6-1-\*ARABIC14UDP扫描扫描报告显示,主机是活跃的,延迟为0.00030秒。在对的1000个UDP端口进行扫描后,所有端口都处于被忽略状态。扫描结果显示了以下内容:903closedudpports(port-unreach):903个UDP端口是关闭的,且产生了端口不可达的错误响应。97open|filteredudpports(no-response):97个UDP端口是开放或被过滤的,没有响应。网段主机发现在终端框中输入以下命令,扫描当前ip的网络地址,如REF_Ref3775\h图6-1-15所示。ipconfig图6-1-SEQ图6-1-\*ARABIC15ip地址返回以如REF_Ref3775\h图6-1-15中的IPv4地址为例(具体ip根据实际情况而定):67则为本机ip地址,网段地址为,终端框中输入以下命令,扫描出到55的所有子网地址,如REF_Ref5634\h图6-1-16所示。nmap-sL/24-sL是nmap命令的一个选项,用于执行主机列表扫描。主机列表扫描是一种特殊类型的扫描,它仅涉及主机发现,而不进行端口扫描。当使用-sL选项时,nmap将列出目标主机范围内的所有IP地址,而不会尝试扫描这些主机的端口。/24:是网络地址,表示一个特定的IPv4子网。/24:这个数字告诉我们子网掩码的长度,也就是网络前缀的位数。在IPv4中,/24对应的子网掩码是,这意味着网络部分是前三个字节(24位),主机部分是最后一个字节(8位)。图6-1-SEQ图6-1-\*ARABIC16网络目标清单ip在线情况查询在终端框中输入以下命令,展示每一个ip的在线情况,如REF_Ref12841\h图6-1-17所示。nmap-sn/24/24表示一个CIDR表示法的IP地址范围,包含了从到55的所有IP地址。nmap将对这个IP地址范围内的所有主机进行Ping扫描,以确定哪些主机是活动的,即对Ping请求做出响应。图6-1-SEQ图6-1-\*ARABIC17在线情况查询以ip为例,nmap扫描了256个IP地址,其中有44台主机处于活跃状态(up)。整个扫描过程耗时3.87秒。这意味着在目标IP地址范围内,有44台主机是活跃的,而其余主机可能处于离

温馨提示

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

最新文档

评论

0/150

提交评论