nmap的英文全称:Network Mapper,网络映射器
nmap的基本功能
- 探测一组主机是否在线
- 扫描主机端口,嗅探所提供的网络服务
- 推断主机所用的操作系统
nmap的扫描输出
输出的是扫描目标的列表,以及每个目标的补充信息。扫描结果的基本常见参数有如下几种:
- Open意味着目标机器上的应用程序正在该端口监听连接/报文。
- Filtered意味着防火墙、过滤器或者其他网络障碍阻止了该端口被访问,nmap无法确认该端口是open还是closed
- Closed意味着端口上面没有程序监听,但是它们可能随时放开
nmap脚本
在namp按照目录share/nmap/scripts中,有多种已经写好的脚本,可以使用这些脚本发起渗透测试。
nmap的一些基本命令
选项 | 解释 |
---|---|
-A | 全面扫描,扫描所有端口及系统信息 |
-sP | Ping扫描 |
-P0 | 无ping扫描,可防止被禁止ping的防火墙发现 |
-PS | TCP SYN Ping扫描, |
-PA | TCP ACK Ping扫描 |
-PU | UDP Ping扫描 |
-PE;-PP;-PM | ICMP Ping Types扫描 |
-PR | ARP Ping扫描 |
-n | 禁止DNS反向解析 |
-R | 反向解析域名 |
--system-dns | 使用系统域名解析器 |
-sL | 列表扫描 |
-6 | 扫描IPV6地址 |
--traceroute | 路由跟踪 |
-PY | SCTP INIT Ping扫描 |
ping扫描的简单介绍
- ping扫描只进行ping,然后显示在线主机,不会返回太多的信息来满足对结果的分析。
- 无ping扫描用于扫描防火墙禁止Ping的主机。这可以穿透防火墙,也可以避免被防火墙发现。
-PS和-PA选项
- -PS选项发送一个设置了SYN标志位的空TCP报文。默认目的端口80(可以通过改变nmap.h文件中的DEFAULT-TCP-PROBE-PORT值进行配置)
- 通常情况下,Nmap默认Ping扫描是使用TCP ACK和ICMP Echo请求对目标进行是否存活的响应。
- -PA选项进行TCP ACK Ping扫描。去-PS的不同是TCP的标志位是ACK而不是SYN。
- 可以使用-PS和-SA选择,来同时发送SYN和ACK。因为有的防火墙可能会阻止ACK或SYN请求。使用两个选项,可以提高通过防火墙的概率。
-PU选项
-PU选项是发送一个空的UDP报文到指定的端口。如果不指定端口,则默认端口是40125.
使用UDP Ping扫描时Nmap会发送一个空的UDP包到目标主机,如果目标主机响应则返回一个ICMP端口不可达错误;如果目标机不是存活状态,则返回各种ICMP错误消息。
-PE;-PP;-PM选项
这几个选项可以进行ICMP Ping扫描。ICMP是TCP/IP的一个子协议,用于在IP主机、路由器之间传递控制消息。
-PR选项
ARP Ping扫描,是namp对目标进行一个ARP Ping的过程。适用内网扫描,因为在本地局域网中防火墙不会禁止ARP请求。