Nmap扫描工具实验报告
实验报告
实验内容
- 通过ping进行操作系统探测
- 利用Zenmap/Nmap进行TCP connet扫描、TCP SYN扫描和操作系统扫描
实验目的
- 了解扫描的一般步骤
- 熟练使用ping命令并能够进行数据传输层面分析
- 学会利用zenmap/Nmap等工具进行端口和主机部分信息的扫描,并在一定程度上进行数据包分析
实验步骤
此试验基于虚拟机Win2kserver_sp0_target和自己的真实主机进行。使用扫描工具Zenmap扫描in2kserver_sp0_target,将Win2kserver_sp0_target称为B机,将自己的主机称为A机。
1、ping探测
- 打开主机A上的wireshark软件进行捕包。
- 主机A开启命令行,对主机B进行ping探测。

- 结束捕包,并对捕获的ICMP的数据包进行截图和分析。回答:

- ping命令发送过程中,A机和B机之间有几组ICMP的请求和响应包?
答:4组
- 如何确定哪几个包是请求包,哪几个包是响应包?
答:在length一列上中,显示request是请求包,显示reply的是响应包。
- 请求包和响应包中的TTL值分别是多少?根据该数值判断A机和B机的操作系统分别有可能是什么?
答:请求包的TTL是64,响应包的TTL是128
A机的TTL是64(WIN7以上的windows系统或者Linux)
B机的TTL是128(WINDOWS NT/2000、WINDOWS 95/98)
2、Zenmap/Nmap扫描
- 主机A启动软件Zenmap,如下图所示。

- 在下图中标记出的位置输入nmap相应的扫描命令,点击scan即可进行扫描。

- (1)对主机B的80号端口使用TCP connect扫描方式进行端口扫描
- 主机A打开wireshark软件准备捕包;
- A使用扫描命令 nmap -sT -p 80 192.168.199.111对主机B的80端口进行TCP connect端口扫描;扫描结果为 80/tcp filtered http。
- 扫描结束后结束捕包,并对所捕获的数据包进行截图和分析。

- 观察所捕获到的一组数据包。针对本次扫描,主机A和B分别发出了哪些数据包,试用图示表示出来。A和B之间数据包的交互是如何体现TCP CONNECT扫描的特征的?
答:扫描方A通过三次握手过程与目标主机B建立完整的TCP连接
- 试通过数据包的交互情况分析主机B的80端口是否开放。
答:主机B的80端口未开放
- (2)对主机B的5号端口使用TCP connect扫描方式进行端口扫描,并且限定主机A进行扫描时始终以“学号后四位”为源端口进行扫描
- 主机A打开wireshark软件准备捕包;
- 主机A使用扫描命令 nmap -sS -p 5 -g 9301 192.168.199.111 对主机B的5号端口进行TCP connect端口扫描;扫描结果为 Host seems down。
- 扫描结束后结束捕包,并对所捕获的数据包进行截图和分析。

- 观察所捕获到的数据包。本次扫描与前一次相比,主机A收到和发出数据包与上次扫描各自有何区别?试根据数据包交互情况分析5号端口的开放情况。
答:数据包没有得到响应 9301端口未开放
- (3)对主机B的(学号后两位)~(学号后两位+10)端口使用TCP connect扫描方式进行端口扫描,并且设定扫描时按照从小到大的顺序依次进行扫描
- 主机A打开wireshark软件准备捕包;
- 主机A使用扫描命令 nmap -sT -p 28-38 -r 192.168.199.111对主机B的x-x+20号端口进行TCP connect端口扫描;扫锚结果显示开放的端口有: 关闭。
- 扫描结束后结束捕包,并对所捕获的数据包进行截图和分析。

- 观察所捕获到的数据包。针对本次扫描,主机A共收到几个SYN ACK回复包,它们分别是B机哪些端口所发送的?它们和开放端口有何关系?主机A分别发送了几个SYN ACK回复包和RST包?
答:没有收到SYN与ACK的包
- (4)对主机B的80号端口使用TCP SYN扫描方式进行端口扫描
- 主机A打开wireshark软件准备捕包;
- 主机A使用扫描命令 nmap -sS -p 80 192.168.199.111对主机B的80端口进行TCP SYN扫描,扫描结果为: 80/tcp open http。
- 扫描结束后结束捕包,并对所捕获的数据包进行截图和分析。

- 观察所捕获到的数据包。针对本次扫描,主机A一共发出了几个数据包?分别是哪些标志位置1的包?主机B一共发出了几个数据包?分别是哪些标志位置1的包?与使用TCP connect扫描80端口相比较,主机A在数据包的发送方面有何区别?
- A和B之间数据包的交互是如何体现TCP SYN扫描的特征的?
- 试通过数据包的交互情况分析主机B的80端口是否开放。
答:端口未开放,始终没有的到响应包反馈
- (5)对主机B的8号端口使用TCP SYN扫描方式进行端口扫描
- 主机A打开wireshark软件准备捕包;
- 主机A使用扫描命令 nmap -sS -p 8 192.168.199.111对主机B的8号端口进行TCP SYN扫描,扫描结果为**8/tcp closed unknown。
- 扫描结束后结束捕包,并对所捕获的数据包进行截图和分析。

- 观察所捕获到的数据包。本次扫描与(4)中的相比,主机A收到的数据包有何区别?试根据数据包交互情况分析8号端口的开放情况。
答:端口未开放
- (6)对主机B的(学号最后两位+100)~(学号最后两位+110)端口使用TCP SYN扫描方式进行端口扫描,并且设定扫描时按照随机顺序进行扫描
- 主机A打开wireshark软件准备捕包;
- 主机A使用扫描命令 nmap -sS -p 101-111 192.168.199.111对主机B的1-x号端口进行TCP SYN扫描,扫描显示开放的端口有:135
- 扫描结束后结束捕包,并对所捕获的数据包进行截图和分析。

- 观察所捕获到的数据包。针对本次扫描,主机A共收到几了SYN ACK回复包?分别是B机哪些端口所发送的?它们和开放端口有何关系?主机A发出了几个SYN ACK回复包?发出了几个RST包?
答:本次实验中所有的扫描和补包都未成功 不知道是电脑设置上有误还是什么原因。
- (7)对主机B操作系统进行探测,并将扫描结果自动写入“c:\学号.txt”文件中
- 主机A使用命令 nmap -O -oN C://20199301.txt 192.168.199.111对主机B进行TCP/IP指纹特征扫描,观察到的扫描结果为 20199301.txt for writing
- 对扫描过程中所捕获的数据包进行截图和观察,结合原理推测nmap是如何探测出主机B的操作系统类型的。

Nmap扫描工具实验报告的更多相关文章
- nmap扫描工具
1.NMap工具 主要功能:探测主机是否在线.扫描主机开放端口和嗅探网络服务,用于网络探测和安全扫描. NMap支持很多扫描技术,例如:UDP.TCPconnect().TCPSYN(半开扫描).ft ...
- nmap 扫描工具
Nmap 7.30 ( https://nmap.org ) 使用方法: nmap [扫描类型(s)] [选项] {目标说明}目标说明:通过主机名称, IP 地址, 网段, 等等.协议: scanme ...
- Linux下安装nmap扫描工具
NMAP是一款流行的网络扫描和嗅探工具,被广泛应用在黑客领域做漏洞探测以及安全扫描,更多的nmap是一个好用的网络工具,在生产和开发中也经常用到,主要做端口开放性检测和局域网信息的查看收集等,不同Li ...
- Linux抓包与扫描工具
一.nmap扫描工具介绍: 1.安装nmap,如下: 2.检查目标主机所开启的TCP服务: 3.检查x.x.x.x/24网段内哪些主机开启了FTP.SSH服务 二.使用tcpdump分析 1.执行FT ...
- nmap端口扫描工具安装和使用方法
nmap(Network Mapper)是一款开源免费的针对大型网络的端口扫描工具,nmap可以检测目标主机是否在线.主机端口开放情况.检测主机运行的服务类型及版本信息.检测操作系统与设备类型等信息. ...
- NMAP分布式扫描工具dnmap
NMAP分布式扫描工具dnmap NMAP是一款知名的网络扫描工具.它提供丰富和强大的网络扫描功能.但很多时候,需要渗透测试人员从多个终端发起扫描任务,以快速扫描大型网络,或规避IP限制等安全策略 ...
- 『安全工具』Nmap 强悍的端口扫描工具
作为时下流行的端口扫描工具,Nmap有因其扫描的隐密性有“端口扫描之王”之称 上图是黑客帝国(The Matrix)中崔妮蒂用Nmap入侵核发电站的能源管理系统 0x 01 Nmap介绍 Nmap是一 ...
- 网络扫描工具nmap
nmap一般就用来扫描主机是否在线(特别是扫描局域网内存活的机器).开放了哪些端口.其他的功能用的比较少,做渗透的人可能要了解的多些. 1.1 选项说明 nmap需要自行安装. shell> y ...
- NMAP网络扫描工具的安装与使用
简介 NMAP是一款流行的网络扫描和嗅探工具也是一个强大的端口扫描类安全测评工具,被广泛应用在黑客领域做漏洞探测以及安全扫描,更多的nmap是一个好用的网络工具,在生产和开发中也经常用到,主要做端口开 ...
随机推荐
- PHPExcel 中文使用手册参数详解 三
设置excel的属性:创建人$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");最后修改人$ob ...
- Android MVP框架实现登录案例
一.Model package com.czhappy.mvpdemo.model; /** * author: chenzheng * created on: 2019/5/16 11:06 * d ...
- SpringBoot中的@ConfigurationProperties
有什么用 该注解的作用类似于@Value,即为组件中的属性进行赋值. 怎么用 首先是建立一个springboot的工程,不再赘述. 首先我们建立一个Person类和一个Dog类. package co ...
- 不同编程语言实现输出“HelloWorld!”
对于大多数程序语言,第一个入门编程代码便是"Hello World!",下面分别使用不同的语言输出"Hello World!":1. java语言 public ...
- int main(int argc, char *argv[])解释
int main(int argc, char *argv[]) 详解: #include <stdio.h> int main(int argc, char *argv[]) { int ...
- Linux 进程间通信(管道、共享内存、消息队列、信号量)
进程通信 : 不同进程之间传播或交换信息 为什么要进程通信呢? 协同运行,项目模块化 通信原理 : 给多个进程提供一个都能访问到的缓冲区. 根据使用场景,我们能划分为以下几种通信 ...
- 【Linux】一步一步学Linux——Centos7.5安装图解(08)
00. 目录 参考博客:https://mp.csdn.net/mdeditor/95031775# 01. Centos7.5简介 CentOS(Community Enterprise Opera ...
- docker自动化脚本
使用脚本从git上拉取项目并运行, 有些不足的地方 编写脚本 run.sh 如果用到redis和myslq,要先启动redis和mysql #!/bin/bash # author:qiao # 更新 ...
- SAS学习笔记61 set和union的区别
好久没发博客了,水一篇,直接来代码 set的结果如下 union的结果如下
- mysql常用处理时间的相关函数
1.DATE_ADD() 函数向日期添加指定的时间间隔 DAY) AS OrderPayDate FROM Orders 2.DATE_SUB() 函数从日期减去指定的时间间隔 DAY) AS Sub ...