20169214 2016-2017-2 网络攻防实验二 nmap扫描
nmap原理介绍
- Nmap是一款网络扫描和主机检测的非常有用的工具。Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器。它可以适用于winodws,linux,mac等操作系统。Nmap非常强大且实用,可用于:检测活在网络上的主机(主机发现)检测主机上开放的端口(端口发现或枚举)检测到相应的端口(服务发现)的软件和版本检测操作系统,硬件地址,以及软件版本检测脆弱性的漏洞(Nmap的脚本)Nmap是一个非常普遍的工具
- nmap功能
其基本功能有三个,一是探测一组主机是否在线;其次是扫描 主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统 。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。Nmap 还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所 使用的操作系统;还可以将所有探测结果记录到各种格式的日志中, 供进一步分析操作。 - Nmap支持的四种最基本的扫描方式:
⑴ TCP connect()端口扫描(-sT参数)
⑵ TCP同步(SYN)端口扫描(-sS参数)
⑶ UDP端口扫描(-sU参数)
⑷ Ping扫描(-sP参数) - 本实验涉及的扫描方式
- TCP SYN scanning
这是Nmap默认的扫描方式,通常被称作半开放扫描(Half-open scanning)。该方式发送SYN到目标端口,如果收到SYN/ACK回复,那么判断端口是开放的;如果收到RST包,说明该端口是关闭的。如果没有收到回复,那么判断该端口被屏蔽(Filtered)。因为该方式仅发送SYN包对目标主机的特定端口,但不建立的完整的TCP连接,所以相对比较隐蔽,而且效率比较高,适用范围广。 - UDP扫描
UDP扫描方式用于判断UDP端口的情况。向目标主机的UDP端口发送探测包,如果收到回复“ICMP port unreachable”就说明该端口是关闭的;如果没有收到回复,那说明UDP端口可能是开放的或屏蔽的。因此,通过反向排除法的方式来断定哪些UDP端口是可能出于开放状态。
- TCP SYN scanning
实验过程
扫描Linux靶机:
- 测试靶机IP地址是否活跃?
- 靶机开放了哪些TCP端口
- 靶机开放了哪些UDP端口
命令:nmap -sU -T4 -A -v <target>
扫描过程:
扫描结果: - 靶机的操作系统版本是?
命令:nmap -O <target>
经检验,该Linux系统的版本是:Linux 2.6.9-2.6.33 - 靶机上安装了什么网络服务?
命令:nmap -sV <target>
如上,有ftp、ssh、telnet、stamp等服务。
扫描Windows靶机
- 测试靶机IP是否活跃?
命令:nmap -sP <target>
- 靶机开放了哪些TCP端口和UDP端口
- 靶机的操作系统版本是?
- 靶机上安装了什么网络服务?
扫描SEED靶机
- 测试靶机IP是否活跃?
命令:nmap -sP <target>
- 靶机开放了哪些TCP端口
命令:nmap -sS <target>
- 靶机开放了哪些UDP端口
命令:nmap -sU <target>
- 两个靶机的操作系统版本是?
命令:nmap -O <target>
- 靶机上安装了什么网络服务?
命令:nmap -sV <target>
遇到的问题和解决办法
总结和体会
此次实验虽然只是简单的nmap参数扫描,但在巩固基础的同时,发现自己并没有熟练区分各参数的功能,基础没有打好。因此在日后的学习中应该注意此方面。