20169205 2016-2017-2 实验二nmap的使用与分析
20169205 2016-2017-2 实验二Nmap的使用与分析
实验所用知识总结
- Nmap扫描基础
当用户对Nmap工具了解后,即可使用该工具实施扫描。通过上一章的介绍,用户可知Nmap工具可以分别对主机、端口、版本、操作系统等实施扫描。但是,在实施这些扫描工作之前,需要先简单了解下Nmap工具的使用,以方便后面实施扫描。
- Nmap扫描概述
在实施基本的扫描之前,需要先了解一些Nmap网络扫描的基本知识,及需要考虑的一些法律边界问题。这里将对网络基本扫描进行一个简单介绍。
- 网络扫描基础知识
在使用网络扫描之前,需要先理解以下内容:
当目标主机上使用了防火墙、路由器、代理服务或其它安全设备时,使用Nmap扫描结果可能会存在一些偏差。或者当扫描的远程目标主机不在本地网络内时,也有可能会出现误导信息。
在使用Nmap实施扫描时,一些选项需要提升权限。在Unix和Linux系统中,必须使用root登录或者使用sudo命令执行Nmap命令。
- 法律边界问题
在实施网络扫描时,需要考虑一些法律边界问题。如下所示:
在扫描互联网服务提供商网络时(如政府或秘密服务器网站),如果没有被允许的话,不要进行扫描。否则,会惹上法律麻烦。
全面扫描某些主机时,可能会导致主机崩溃、停机或数据丢失等不良结果。所以,在扫描关键任务时要小心谨慎。
- Nmap扫描指定扫描目标
当用户有明确的扫描目标时,可以直接使用Nmap工具实施扫描。根据扫描目标的多少,可以分为扫描单个目标、多个目标及目标列表三种情况。本节将依次讲解这三种情况的扫描方式。
Nmap扫描扫描单个目标
通过指定单个目标,使用Nmap工具可以实现一个基本的扫描。指定的目标可以是一个IP地址,也可以是主机名(Nmap会自动解析其主机名)。其中,语法格式如下所示:
nmap [目标]
其中,参数[目标]可以是一个IP地址,也可以是一个主机名。
实验过程
直接扫描
扫描局域网中IP地址为192.168.200.125的主机。
执行命令如下所示:
root@bt:~# nmap 192.168.200.125
Starting Nmap 6.47 ( http://nmap.org ) at 2017-04-26 14:44 CST
Nmap scan report for localhost (192.168.1.125)
Host is up (0.00010s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
1025/tcp open msrpc
5000/tcp open upnp
MAC Address: 00:0C:29:4D:2C:C6 (VMware)
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地址是否活跃
nmap -sP 192.168.200.125
nmap -sP 192.168.200.124
由结果可以看出,windows XP(192.168.200.125)和ubuntu(192.168.200.124)靶机都是活跃的
检查靶机开放了的TCP和UDP端口
nmap -sS 192.168.200.125
nmap -sU 192.168.200.125
可以看到window靶机192.168.200.125上开启的TCP端口有139、1025、5000、135、445,及这些端口所对应的服务。UDP端口有123、135、137、138、445等以及他们相应的服务。
检查靶机的操作系统版本
nmap -O 192.168.200.125
nmap -O 192.168.200.124
通过检测判断ubuntu的系统内核版本为Linux2.6.15-2.6.30判断正确
通过检测判断winXP的系统内核版本为Microsoft Windows 2000 | XP 判断正确
靶机上安装了的网络服务
nmap -sV 192.168.200.125
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等服务。
其他命令
检查一个网段主机存活情况
nmap 192.168.200.1/24
24是指子网掩码255.255.255.0
nmap ip(域名)就可以扫描出其对外开放的服务
nmap www.163.com
nmap 192.168.200.1
判断某ip是否开放某端口
nmap -p 1521 192.168.200.125
也可以增加端口和网段
nmap -p 22,21,80 192.168.200.125
nmap -p 22,21,80 192.168.200.1-253
扫描整个子网的端口
nmap 192.168.200.1/24
nmap -P0 -p 22-3000 192.168.200.1-100 扫描一个IP段的 22-3000端口
扫描1.txt这个文档中所有主机
nmap -iL 1.txt
实验中的问题和解决过程
用nmap扫描外网ip遇到错误
显示未能确定dst MAC地址为目标,然后退出
错误信息
NSE: Loaded 106 scripts for scanning.
NSE: Script Pre-scanning.
nexthost: Failed to determine dst MAC address for target ####(这里是ip)
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% |
学习目标
通过学习网络攻防相关知识,掌握安全防护技能,提升自己的综合能力和素质。
参考资料
- [网络攻防技术与实践](http://book.douban.com/subject/6558082 /) (官网)