20169205 2016-2017-2 实验二Nmap的使用与分析

实验所用知识总结

  • Nmap扫描基础

当用户对Nmap工具了解后,即可使用该工具实施扫描。通过上一章的介绍,用户可知Nmap工具可以分别对主机、端口、版本、操作系统等实施扫描。但是,在实施这些扫描工作之前,需要先简单了解下Nmap工具的使用,以方便后面实施扫描。

  • Nmap扫描概述

在实施基本的扫描之前,需要先了解一些Nmap网络扫描的基本知识,及需要考虑的一些法律边界问题。这里将对网络基本扫描进行一个简单介绍。

  • 网络扫描基础知识

在使用网络扫描之前,需要先理解以下内容:

当目标主机上使用了防火墙、路由器、代理服务或其它安全设备时,使用Nmap扫描结果可能会存在一些偏差。或者当扫描的远程目标主机不在本地网络内时,也有可能会出现误导信息。

在使用Nmap实施扫描时,一些选项需要提升权限。在Unix和Linux系统中,必须使用root登录或者使用sudo命令执行Nmap命令。

  • 法律边界问题

在实施网络扫描时,需要考虑一些法律边界问题。如下所示:

在扫描互联网服务提供商网络时(如政府或秘密服务器网站),如果没有被允许的话,不要进行扫描。否则,会惹上法律麻烦。

全面扫描某些主机时,可能会导致主机崩溃、停机或数据丢失等不良结果。所以,在扫描关键任务时要小心谨慎。

  • Nmap扫描指定扫描目标

当用户有明确的扫描目标时,可以直接使用Nmap工具实施扫描。根据扫描目标的多少,可以分为扫描单个目标、多个目标及目标列表三种情况。本节将依次讲解这三种情况的扫描方式。

Nmap扫描扫描单个目标

通过指定单个目标,使用Nmap工具可以实现一个基本的扫描。指定的目标可以是一个IP地址,也可以是主机名(Nmap会自动解析其主机名)。其中,语法格式如下所示:

  1. nmap [目标]

其中,参数[目标]可以是一个IP地址,也可以是一个主机名。

实验过程

直接扫描

扫描局域网中IP地址为192.168.200.125的主机。

执行命令如下所示:

  1. root@bt:~# nmap 192.168.200.125
  2. Starting Nmap 6.47 ( http://nmap.org ) at 2017-04-26 14:44 CST
  3. Nmap scan report for localhost (192.168.1.125)
  4. Host is up (0.00010s latency).
  5. Not shown: 995 closed ports
  6. PORT STATE SERVICE
  7. 135/tcp open msrpc
  8. 139/tcp open netbios-ssn
  9. 445/tcp open microsoft-ds
  10. 1025/tcp open msrpc
  11. 5000/tcp open upnp
  12. MAC Address: 00:0C:29:4D:2C:C6 (VMware)
  13. Nmap done: 1 IP address (1 host up) scanned in 23.83 seconds

从输出信息中,可以看到目标主机192.168.200.125上开启的端口有139、1025、5000、135、445,及这些端口所对应的服务。而且,还可以看到该目标主机的MAC地址为00:0C:29:4D:2C:C6。从最后一行信息,可以看出目标主机是活动的(up),并且扫描该目标主机共用了23.83秒。

检查靶机IP地址是否活跃

  1. nmap -sP 192.168.200.125
  2. nmap -sP 192.168.200.124

由结果可以看出,windows XP(192.168.200.125)和ubuntu(192.168.200.124)靶机都是活跃的

检查靶机开放了的TCP和UDP端口

  1. nmap -sS 192.168.200.125
  2. nmap -sU 192.168.200.125



可以看到window靶机192.168.200.125上开启的TCP端口有139、1025、5000、135、445,及这些端口所对应的服务。UDP端口有123、135、137、138、445等以及他们相应的服务。

检查靶机的操作系统版本

  1. nmap -O 192.168.200.125
  2. nmap -O 192.168.200.124



通过检测判断ubuntu的系统内核版本为Linux2.6.15-2.6.30判断正确

通过检测判断winXP的系统内核版本为Microsoft Windows 2000 | XP 判断正确

靶机上安装了的网络服务

  1. nmap -sV 192.168.200.125
  2. nmap -sV 192.168.200.124

可以看到ubuntu靶机192.168.200.124上开启的网络服务有ftp、ssh、telnet、smtp、http、mysql等服务。

可以看到winXP靶机192.168.200.125上开启的网络服务有msrpc、upnp、netbios-ssn、microsoft-ds等服务。

其他命令

检查一个网段主机存活情况

  1. nmap 192.168.200.1/24

24是指子网掩码255.255.255.0

nmap ip(域名)就可以扫描出其对外开放的服务

  1. nmap www.163.com
  2. nmap 192.168.200.1

判断某ip是否开放某端口

  1. nmap -p 1521 192.168.200.125

也可以增加端口和网段

  1. nmap -p 22,21,80 192.168.200.125
  2. nmap -p 22,21,80 192.168.200.1-253

扫描整个子网的端口

  1. nmap 192.168.200.1/24
  2. nmap -P0 -p 22-3000 192.168.200.1-100 扫描一个IP段的 22-3000端口

扫描1.txt这个文档中所有主机

  1. nmap -iL 1.txt

实验中的问题和解决过程

用nmap扫描外网ip遇到错误

显示未能确定dst MAC地址为目标,然后退出

错误信息

  1. NSE: Loaded 106 scripts for scanning.
  2. NSE: Script Pre-scanning.
  3. nexthost: Failed to determine dst MAC address for target ####(这里是ip)
  4. QUITTING!

解决

NSE: Loaded 106 scripts for scanning. 意思是你导入了 106个lua脚本,一定是某个lua脚本中做了ARP扫描,nexthost: Failed to determine dst MAC address for target ####(这里是ip)这个错误应该是有ARP扫描的脚本错误造成的。

需要加参数-Pn ,就可以完成扫描了。

实验总结

步骤 耗时 百分比
需求分析 20min 13.8%
设计 30min 20.7%
实验过程 60min 41.4%
测试 15min 10.3%
总结分析 20min 13.8%

学习目标

通过学习网络攻防相关知识,掌握安全防护技能,提升自己的综合能力和素质。

参考资料

20169205 2016-2017-2 实验二nmap的使用与分析的更多相关文章

  1. 20169205实验二 Java面向对象程序设计

    20169205实验二 Java面向对象程序设计 实验内容及步骤 (一)单元测试 1.三种代码 伪代码:以简洁的自然语言表明设计步骤: 产品代码:用以实现特定功能的程序或机器语言: 测试代码:用以对产 ...

  2. 2016年 实验二、C2C模拟实验

    实验二.C2C模拟实验 [实验目的] 掌握网上购物的基本流程和C2C平台的运营 [实验条件] ⑴.个人计算机一台 ⑵.计算机通过局域网形式接入互联网. (3).奥派电子商务应用软件 [知识准备] 本实 ...

  3. 20145218&20145240 《信息安全系统设计基础》实验二 固件设计

    20145218&20145240 <信息安全系统设计基础>实验二 固件设计 实验报告链接:http://www.cnblogs.com/20145240lsj/p/6035512 ...

  4. 20145227&20145201 《信息安全系统设计基础》实验二 固件开发

    北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1452 姓名:(按贡献大小排名)鄢曼君 李子璇 学号:(按贡献大小排名)20145227 20145201 成绩: ...

  5. 20145236 《Java程序设计》实验二实验报告

    北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1452 指导教师:娄嘉鹏 实验日期:2016.04.08 实验名称: Java面向对象程序设计 实验内容: 初步掌握单元测试和T ...

  6. 20145120 《Java程序设计》实验二实验报告

    20145120 <Java程序设计>实验二实验报告 实验名称:Java面向对象程序设计 实验目的与要求: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握U ...

  7. 20162330 实验二 《Java面向对象程序设计》 实验报告

    2016-2017-2 实验报告目录: 1 2 3 4 5 20162330 实验二 <Java面向对象程序设计> 实验报告 课程名称:<程序设计与数据结构> 学生班级:162 ...

  8. 实验二Java面向对象程序设计实验报告(2)

    实验二 Java面向对象程序设计 实验概述: 课程:程序设计与数据结构 班级:1623班 姓名: 邢天岳 学号:2309 指导老师:娄老师 王老师 实验日期:2017.4.16 实验名称: Java面 ...

  9. 2016-2017-2 20155312 实验二《Java面向对象程序设计》实验报告

    知识总结 伪代码 产品代码 Java编程时,程序员对类实现的测试叫单元测试. 测试用例是为某个特殊目标而编制的一组测试输入.执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求. 先写 ...

随机推荐

  1. 《快学Scala》

    Robert Peng's Blog - https://mr-dai.github.io/ <快学Scala>Intro与第1章 - https://mr-dai.github.io/S ...

  2. maven库 mvn依赖

    http://maven.outofmemory.cn/ http://mvnrepository.com/ 先执行 mvn clean  然后执行  mvn 命令 如:mvn  compile  . ...

  3. 【路由达人】简单两步搞定小米路由新增功能-DDNS(解析域名地址转向在线工具)

    DDNS(Dynamic Domain Name Server)是动态域名服务的缩写! 简单来说目前ISP大多为我们提供动态IP(如ADSL拨号上网),而很多设备或服务需要通过远程访问时需要一个固定的 ...

  4. 黄聪:VS2010启动程序提示文件加载 使用 简体中文(GB2312)编码加载文件解决办法

    vs2010 错误提示框:文件加载 使用 简体中文(GB2312)编码加载文件C:\Users\Administrator\AppData\Local\Temp\nxhgjasi.5au \Temp\ ...

  5. Windows 10 修改系统环境变量后,CMD生效,Powershell未生效

    Windows 10 修改系统环境变量后 1.CMD重新打开,新环境变量已经生效: 2.Shift+右键Powershell重新打开,新环境变量没有生效: 3.貌似服务(Apache24)中使用的环境 ...

  6. VS2017如何配置openGL环境

    转自:http://blog.csdn.net/qq_26982531/article/details/62056913 这里着重介绍vs2017配置openGL环境与以前版本的不同之处:       ...

  7. Linux操作系统-基本命令(一)

    熟悉Linux命令基础 Linux系统的终端窗口 字符终端为用户提供了一个标准的命令行接口,在字符终端窗口中,会显示一个Shell提示符,通常为$. 用户可以在提示符后输入带有选项和参数的字符命令,并 ...

  8. 给iOS开发新手送点福利,简述UIView的属性和用法

    UIView 1.alpha 设置视图的透明度.默认为1. // 完全透明 view.alpha = 0; // 不透明 view.alpha = 1; 2.clipsToBounds // 默认是N ...

  9. leetcode 几何题 位运算 面试编程

    [BZOJ][CQOI2014]数三角形 Description给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个.下图为4x4的网格上的一个三角形. 注意三角形的三点不能共线. Input ...

  10. tensorflow-windows下安装,python3.6

    安装: pip install tensorflow ps:我第一次安装了,但是导入却失败了. 进入\python3\Lib\site-packages\删除了tensorflow,再次pip ins ...