您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 实验2-端口扫描和操作系统类型探测实验
网络攻击与防御实验报告1.实验报告如有雷同,雷同各方当次实验成绩均以0分计。2.在规定时间内未上交实验报告的,不得以其他方式补交,当次成绩按0分计。3.实验报告文件以PDF格式提交。实验2端口扫描和操作系统类型探测实验【实验目的】(1)掌握端口扫描这种信息探测技术的原理。(2)学会使用常见的端口扫描工具。(3)了解各种常用网络服务所对应的端口号。【实验内容】(1)使用Nmap的命令行工具进行端口扫描。(2)使用Nmap的命令行工具进行网络服务及其版本探测。(3)使用Nmap的命令行工具进行操作系统类型鉴别。(4)使用Nmap的图形化前端Zenmap工具同样进行上述任务。【实验环境】实验主机操作系统:Window7IP地址:172.18.32.188目标机1操作系统:Ubuntu12.04IP地址:172.18.34.24目标机2操作系统:Window7IP地址:172.18.34.132网络环境:校园网。【实验原理】(1)端口及服务的基本概念“端口”是专门为计算机通信而设计的,在下CP/IP协议中规定,用IP地址和端口作为套接字(socket),代表TCP或UDP通信的一端。端口分为知名(known)端口号和一般端口号,其中知名端口号的数值一般为1-1023,分配给常用应用服务程序固定使用。下面是常用的TCP知名端口号列表。服务名称端口号说明FTP21文件传输服务SSH22加密远程登录服务Telnet23远程登录服务SMTP25简单邮件传输服务HTTP80(Web)POP3110邮件接受服务(2)Nmap的功能介绍和技术原理Nmap(NetworkMapper,网络映射器)是一款开放源代码的网络探测和安全审核的工具。其设计目标是快速地扫描大型网络,也可以扫描单个主机。Nmap以新颖的方式使用原始IP报文来发现网络上有哪些主机,及其提供的服务,包括其应用程序名和版本,这些服务运行在什么操作系统,包括版本信息,它们使用什么类型的报文过滤器/防火墙,以及一些其它功能。虽然Nmap通常用于安全审核,也可以用它来做一些日常管理维护的工作,比如查看警示网络攻击与防御实验报告整个网络的信息,管理服务升级计划,以及监视主机和服务的运行。Nmap输出的是扫描目标的列表,以及每个目标的补充信息,至于是哪些信息则依赖于所使用的选项。“所感兴趣的端口表格”是其中的关键。状态可能是open(开放的)、filtered(被过滤的)、closed(关闭的)、或者unfiltered(未被过滤的)。Open”意味着目标机器上的应用程序正在该端口监听连接/报文,Filtered''意味着防火墙、过滤器或者其它网络障碍阻止了该端口被访问,Closed”意味着没有应用程序在该端口上面监听,但是他们随时可能开放。当端口对Nmap的探测做出响应,但是Nmap无法确定它们是关闭还是开放时,这些端口就被认为是unfiltered。如果Nmap报告状态组合open|filtered和closed|filtered时,那说明Nmap无法确定该端口处于两个状态中的哪一个状态。当要求进行版本探测时,端口表也可以包含软件的版本信息。当要求进行IP协议扫描时。(-sO),Nmap提供关于所支持的IP协议而不是正在监听的端口的信息。除了所感兴趣的端口表,Nmap还能提供关于目标机的进一步信息,包括反向域名、操作系统猜测、设备类型和MAC地址。Nmap的基本命令格式如下所示:nmap[扫描类型…][选项]{扫描目标说明}主机发现任何网络探测任务的最初几个步骤之一就是把一组IP范围缩小为一列活动的或者有意扫描的主机。扫描每个IP的每个端口很慢,通常也没必要,主要依赖于扫描的目的。由于主机发现的需求五花八门,Nmap提供了很多的选项来方便定制。运行Nmap命令就可以发现主机发现的一些基本参数,如下图:HOSTDISCOVERY:-sL:ListScan-simplylisttargetstoscan-sn:PingScan-disableportscan-Pn:Treatallhostsasonline--skiphostdiscovery-PS/PA/PU/PY[portlist]:TCPSYN/ACK,UDPorSCTPdiscoverytogivenports-PE/PP/PM:ICMPecho,timestamp,andnetmaskrequestdiscoveryprobes-PO[protocollist]:IPProtocolPing-n/-R:NeverdoDNSresolution/Alwaysresolve[default:sometimes]--dns-serversserv1[,serv2],...:SpecifycustomDNSservers--system-dns:UseOS'sDNSresolver--traceroute:Tracehoppathtoeachhost参数释义-sL列表扫描。仅将指定的目标的IP列举出来,不进行主机发现-sn只进行主机发现,不进行端口扫描-Pn将所有指定的主机视作开启的,跳过主机发现的过程-PS/PA/PU/PY使用TCPSYN/ACK或SCTPINIT/ECHO方式进行发现-PE/PP/PM使用ICMPecho,timestamp,andnetmask请求包发现主机-PO使用IP协议包探测对方主机是否开启-n/-R-n表示不进行DNS解析;-R表示总是进行DNS解析--dns-servers指定DNS服务器--system-dns指定使用系统的DNS服务器--traceroute追踪每个路由节点网络攻击与防御实验报告其中,比较常用的使用的是-sn,表示只单独进行主机发现过程;-Pn表示直接跳过主机发现而进行端口扫描等高级操作(如果已经确知目标主机已经开启,可用该选项);-n,如果不想使用DNS或reverseDNS解析,那么可以使用该选项。端口扫描Nmap把端口分成六个状态:open(开放的),closed(关闭的),filtered(被过滤的),unfiltered(未被过滤的),open|filtered(开放或者被过滤的),或者closed|filtered(关闭或者未被过滤的)。Nmap支持大约十几种扫描技术。一般一次只用一种方法,除了UDP扫描(-sU),可以和任何一种TCP扫描类型结合使用。SCANTECHNIQUES:-sS/sT/sA/sW/sM:TCPSYN/Connect()/ACK/Window/Maimonscans-sU:UDPScan-sN/sF/sX:TCPNull,FIN,andXmasscans--scanflagsflags:CustomizeTCPscanflags-sIzombiehost[:probeport]:Idlescan-sY/sZ:SCTPINIT/COOKIE-ECHOscans-sO:IPprotocolscan-bFTPrelayhost:FTPbouncescan参数释义-sS/sT/sA/sW/sM指定使用TCPSYN/Connect()/ACK/Window/Maimonscans的方式来对目标主机进行扫描-sU指定使用UDP扫描方式确定目标主机的UDP端口状况-sN/sF/sX指定使用TCPNull,FIN,andXmasscans秘密扫描方式来协助探测对方的TCP端口状态--scanflags定制TCP包的flags-sI指定使用idlescan方式来扫描目标主机(前提需要找到合适的zombiehost)-sY/sZ使用SCTPINIT/COOKIE-ECHO来扫描SCTP协议端口的开放的情况-sO使用IPprotocol扫描确定目标机支持的协议类型-b使用FTPbouncescan扫描方式除了所有前面讨论的扫描方法,Nmap提供选项说明那些端口被扫描以及扫描是随机还是顺序进行。默认情况下,Nmap用指定的协议对端口1到1024以及nmap-services文件中列出的更高的端口在扫描。PORTSPECIFICATIONANDSCANORDER:-pportranges:OnlyscanspecifiedportsEx:-p22;-p1-65535;-pU:53,111,137,T:21-25,80,139,8080,S:9-F:Fastmode-Scanfewerportsthanthedefaultscan-r:Scanportsconsecutively-don'trandomize--top-portsnumber:Scannumbermostcommonports--port-ratioratio:Scanportsmorecommonthanratio参数释义网络攻击与防御实验报告-pportranges扫描指定的端口-F快速模式,仅扫描TOP100的端口-r不进行端口随机打乱的操作(如无该参数,nmap会将要扫描的端口以随机顺序方式扫描,以让nmap的扫描不易被对方防火墙检测到)--top-portsnumber扫描开放概率最高的number个端口(nmap的作者曾经做过大规模地互联网扫描,以此统计出网络上各种端口可能开放的概率。以此排列出最有可能开放端口的列表,具体可以参见文件:nmap-services。默认情况下,nmap会扫描最有可能的1000个TCP端口)--port-ratioratio扫描指定频率以上的端口。与上述--top-ports类似,这里以概率作为参数,让概率大于--port-ratio的端口才被扫描。显然参数必须在在0到1之间,具体范围概率情况可以查看nmap-services文件服务和版本探测把Nmap指向一个远程机器,它可能告诉端口25/tcp、80/tcp和53/udp是开放的。使用包含大约2,200个著名的服务的nmap-services数据库,Nmap可以报告那些端口可能分别对应于一个邮件服务器(SMTP)、web服务器(HTTP)和域名服务器(DNS)。在用某种其它类型的扫描方法发现TCP或者UDP端口后,版本探测会询问这些端口,确定到底什么服务正在运行。nmap-service-probes数据库包含查询不同服务的探测报文和解析识别响应的匹配表达式。Nmap试图确定服务协议(如ftp,ssh,telnet,http),应用程序名(如ISCBind,Apachehttpd,Solaristelnetd),版本号,主机名,设备类型(如打印机,路由器),操作系统家族(如Windows,Linux)以及其它的细节,如是否可以连Xserver,SSH协议版本,或者KaZaA(用户名)。当然,并非所有服务都提供所有这些信息。如果Nmap被编译成支持OpenSSL,它将连接到SSL服务器,推测什么服务在加密层后面监听。当发现RPC服务时,NmapRPCgrinder(-sR)会自动被用于确定RPC程序和它的版本号。Nmap用下列的选项打开和控制版本探测。SERVICE/VERSIONDETECTION:-sV:Probeopenportstodetermineservice/versioninfo--version-intensitylevel:Setfrom0(light)to9(tryallprobes)--version-light:Limittomostlikelyprobes(intensity2)--version-all:Tryeverysingleprobe(intensity9)--version-trace:Showdetailedversionscanactivity(fordebugging)参数释义-sV指定让Nmap进行版本侦测--version-intensitylevel指定版本侦测强度(0-9),默认为7。数值越高,探测出的服务越准确,但是运行时间会比较长--version-light指定使用轻量侦测方式(in
本文标题:实验2-端口扫描和操作系统类型探测实验
链接地址:https://www.777doc.com/doc-2947698 .html