Nmap介绍
简介:
- Nmap是Linux下一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具,软件名字Nmap是Network Mapper的简称。
- Nmap最初由Fyodor在1996年开始创建,随后在开源社区众多的志愿者参与下,该工具逐渐成为最为流行的安全必备工具之一。
- Nmap使用原始IP报文来发现网络上有哪些主机,这些主机提供什么服务(应用程序名和版本),服务运行在什么操作系统,它们使用什么类型的报文过滤器/防火墙,以及一些其他功能
安装包下载:
Download the Free Nmap Security Scanner for Linux/Mac/Windows
Nmap基本功能
基本功能
- 主机发现
- 端口扫描
- 应用程序与版本信息侦测
- 操作系统侦测
附加功能
- 规避FW/IDS
- NSE脚本定制与使用
- Nmap命令语法格式:
nmap【空格】【选项|多选项|协议】【空格】【扫描目标说明】
注意:多个选项之间也是用空格进行分割的,如果某些选项需要指定某些参数,那么在这些选项与指定的参数之间一般也需要用空格进行分割。特殊情况下,有的选项与参数可以直接“连写” ,如-p80,-p是选项,80是参数。为了使Nmap语法更加严谨,建议严格用空格进行分割。
默认方式扫描
nmap <目标地址>
全面扫描
nmap -A -T -4 -v <目标地址>
主机发现
- 目标:确定目标主机是否在线(Alive,处于开启状态)
- 原理:与ping命令类似,发送探测包到目标主机,如果收到回复,则说明目标主机是开启的
- 探测方式
主机发现相关的命令选项
局域网内执行ping扫描
目标:扫描局域网192.168.40.1-192.168.40.254内哪些IP的主机在线。
命令:nmap -sP 192.168.40.1-254,或nmap -sP 192.168.40.0/24
说明:在局域网内,无论采用哪一种选项,Nmap都是通过ARP包来询问IP地址上的主机是否活动的,如果收到ARP回复包,那么说明主机在线。
跨网段执行ping扫描
目标:扫描跨网段目标主机192.168.50.5是否在线。
命令:nmap -sP 192.168.50.5
说明:扫描跨网段目标主机时,使用-sP或-sn选项,默认情况下Nmap会依次发送4种不同类型的数据包(ICMP echo request、TCP SYN packet to port 443、TCP ACK packet to port 80、ICMPtimestamp request)来探测目标。主机是否在线,只要收到其中一个包的回复,就证明目标机在线。
端口扫描
目标:确定目标主机的TCP/UDP端口的开放情况
原理:发送TCP、UDP等类型的探测包到目标端口,根据收到的回复包判定端口是否开放
- 端口的六个状态
- open:端口是开放的
- closed:端口是关闭的
- filtered:端口被防火墙IDS/IPS屏蔽,无法确定其状态
- unfiltered:端口没有被屏蔽,但是否开放需要进一步确定
- open|filtered:端口是开放的或被屏蔽
- closed|filtered :端口是关闭的或被屏蔽
端口扫描相关的命令选项