nmap实 验 报 告

实验报告

Nmap (“Network Mapper(网络映射器)”) 是一款开放源代码的网络探测和安全审核的工具。它可以快速地扫描大型网络,也可用它扫描单个主机。Nmap使用原始IP报文来发现网络上有哪些主机,那些主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息),它们使用什么类型的报文过滤器/防火墙,以及其它功能。Nmap通常用于安全审核,系统管理员和网络管理员也用它来做一些日常的网络管理工作,比如查看整个网络的信息,管理服务升级计划,以及监视主机和服务的运行。一.实验目的

1. 了解NMAP使用方法;

2. 掌握使用NMAP进行端口扫描的方法;

3.掌握使用NMAP进行服务和操作系统识别的方法。

二.实验原理

常用扫描探测命令:ping、tracert

扫描工具:Superscan和Nmap

1.Ping以及tracert ·ping ping命令首先会构建一个固定格式的ICMP请求数据包echo request,发给远端计算机;远端计算机收到后,构造一个ICMP应答包echo reply,发送回本机;本机收到应答包后,即可判断出目的主机是否开机,并根据发送包和应答包携带的时间信息计算出网络延迟。

2.·tracert 源主机将构造并向目标主机发送不同TTL值的ICMP请求数据包,tracert诊断程序根据ICMP 的回应数据包来确定到目标所采取的路由;

3.Tracert程序首先发送TTL 为1的请求数据包,该包经过第一个路由设备后TTL减1为0,第一个路由设备就将给源主机发回“ICMP已超时”的消息;源主机的tracert命令通过该消息中的IP信息就获得了第一个路由设备的IP;在随后的每次发送过程将TTL依次递增1,直到目标响应或TTL达到最大值,从而确定从源主机到目的主机中间的路由。

4.端口扫描的原理扫描的过程就是向目标主机的端口发送请求数据包,希望建立“连接”,根据目标主

机的回应判断其端口是否开放;通过扫描判断目标主机端口是否打开的一个最简单的方法,是利用TCP 协议的三次握手机制;只要和目标主机的端口能建立TCP的三次握手,说明目标主机的端口是开的,反之则没有打开。

·三次握手

第一次握手:主机A的某个端口向主机B的某个端口发出TCP连接请求数据包,其TCP包头的标志位设置为SYN=1,ACK=0,同时选择一个序号x,表明在后面传送数据时的第一个数据字节的序号是x,这个过程称为第一次握手。

第二次握手:主机B的相应端口收到连接请求数据包后,如端口是开放的,则发回确认数据包。在确认数据包中,TCP包头的标志位设置为SYN=1,ACK=1,确认序号为x+1,同时B主机也会生成一个自己的序号y,这个过程称为第二次握手。

第三次握手:主机A收到此数据包后,还要向B给出确认数据包,其TCP包头的标志位设置为ACK=1,其确认序号为y+1,这个过程称为第三次握手。3 扫描分类1)全TCP连接这种扫描方法使用三次握手,与目标计算机建立标准的TCP连接;攻击者首先向目的端口发送一个SYN数据包,如果收到来自该端口的SYN/ACK数据包,就可以判定该端口是开放的;然后攻击者再发送一个ACK数据包;如果目标端口是关闭的,攻击者就会收到一个直接返回的RST/ACK数据包;2)半打开式扫描(SYN扫描)在这种扫描技术中,扫描主机同样向目标计算机的指定端口发送SYN数据包,表示希望建立连接。a.当端口开放时,目标计算机回应SYN/ACK数据包,这和全TCP连接扫描类似。但是扫描主机接着发送一个RST=1的数据包给目标主机,RST数据包将对TCP连接进行重置,目标计算机因为没有接到相应ACK数据包,从而不会建立三次握手。b.如果端口是关闭的,则按照TCP协议中端口未开规则处理,由目标主机发送RST/ACK数据包给扫描主机,此时TCP连接依然没有建立。扫描主机根据目标计算机的回应数据包是SYN/ACK数据包,还是RST/ACK数据包即可判断端口是否打开。3)秘密扫描这种方法的优点在于没有涉及TCP连接的部分,所以比前2种都要安全,所以也被称做秘密扫描;缺点就是不够准确,不能完全识别开放的端口。FIN标记扫描:攻击者发送一个FIN=1的TCP报文到目标主机:端口关闭时,该报文会被丢掉,并返回一个RST报文。端口开放时,该报文只是简单的丢掉,不会返回任何回应。

三.实验设备:

软件:Nmap - Zenmap GUI

操作系统:Microsoft Windows 10

网络平台: TCP/IP网络

机器IP: 10.16.222.189

四.实验过程

1. 实验环境搭建

软件:Nmap - Zenmap GUI

操作系统:Microsoft Windows 10

网络平台:TCP/IP网络

机器IP:10.16.222.189

2.实验步骤

1.打开nmap软件

2.输入目标(要扫描的ip或网址)

3.输入扫描命令,确定要扫描的作业类型

4.输入扫描配置

5.观察结果并分析

五.实验结果

1.实验结果(截图)

①-------------------

②-------------

③---------------

2.实验结果分析

①扫描命令nmap -T4 -A -v https://www.360docs.net/doc/2b3072089.html,

可以看出https://www.360docs.net/doc/2b3072089.html,开放的tcp端口是80.443.2000,不开的端口是113,可以据此猜测被扫描主机的开放服务是什么,而且知道大概经过了多少跳,可以查看主机是否开启,并且查看主机类型。

②扫描命令nmap -sU https://www.360docs.net/doc/2b3072089.html, -p 53 -Pn

通过以上可以得到udp的信息,得到udp端口的开放信息。

③nmap -sS https://www.360docs.net/doc/2b3072089.html,

隐藏扫描:在扫描过程中,源主机(10.16.222.189)向目标主机(https://www.360docs.net/doc/2b3072089.html,)最可能打开的1000个端口发送了TCP同步包,其中只有80端口和443 以及2000端口返回了SYN|ACK包,说明目标主机开放了这3个端口。从Nmap扫描结果可以看出80端口提供的是http服务,cisco-sccp/

六.实验心得

本实验让我明白了端口扫描是很重要的一个网络工具,再强大的黑客进行攻击之前都要使用端口扫描,以确定目标机所的基本情况,同样的,我们可以使用端口扫描自己的机器来确定端口的开放情况,及时关闭不用的端口,用来防止被攻击,因为有些黑客进行攻击的往往是一些不常用的端口,采用的端口如果很常用就会容易被杀毒软件给发现,并且针对常用端口的防范也是最严密的,因此可以说,掌握端口扫描就具备保护自己的入门卷。

相关文档
最新文档