Nmap 使用方法
Nmap可以用来做一些主动扫描
可以获得以下信息:
- 目标主机是否在线
- 目标主机所在的网络结构
- 目标主机是哪个开放的端口,例如80,135,443等端口。
- 目标主机所使用的操作系统,例如windows,macOS,linux等等
- 目标主机上所运行的服务以及版本,例如Apache httpd ssh
- 目标主机上所存在的漏洞,例如弱口令,ms08_067,ms10_054
nmap的基本用法
- 对单个主机的扫描:
nmap [目标地址]
- 可以得到一张表,一共有三个字段,分别是PORT,STATE,SERVICE,其中PORT是端口,STATE是状态,SERVICE是运行的服务。
- 后面还有mac地址
- 默认是进行在线状态和端口扫描,使用
-sn
参数只进行
在线状态扫描。
- 对多个主机进行扫描:
nmap [1] [2] ...
- 对连续范围内的主机进行扫描:
nmap 192.168.0.1-255
使用nmap来进行主机发现
- 跳过Ping扫描阶段
- 通常在进行nmap扫描的时候都会先进行ping来测试是否有反应。如果有反应就继续,无反应就跳过该次扫描。
- 有些主机会采用一些手段屏蔽掉ping。就需要跳过ping的测试来直接扫描。
nmap -PN [目标]
- 仅仅使用ping来进行主机发现
- 和上面刚好相反,如果一次要扫描大量的主机,那么如果每个都扫描的话,那么工作量是巨大的。
nmap -sP [目标]
- 使用ARP协议进行主机发现
- 不仅速度最快,而且扫描结果也是最精准的。
- 当目标主机与我们处于同一网段的时候使用ARP协议扫描是组佳的选择。
nmap -PR [目标]
- 使用TCP协议进行主机发现
- TCP 协议有三次握手。
- 如果三次都握好了,就是全开扫描。
- 当只进行到第二步骤的话,就是半开扫描。
- 半开扫描
nmap -sS [目标]
- 全开扫描
nmap -sT [目标]
- 使用UDP协议进行扫描
nmap -sU [目标]
使用namp进行端口发现
- 一般端口有4个状态
- open: 该端口接收tcp连接或者udp连接。
- closed:关闭的端口对于nmap也是可以访问的,他接收namp探测报文并作出相应,但是没有应用程序在该端口上进行监听。
- filtered:可能用防火墙设备,路由规则或者主机上的软件防火墙。
- unfiltered:未被过滤状态意味着端口可访问,但是nmap无法确定它是开放还是关闭。
- 扫描全部端口
namp -p "*" [position]
- 扫描前n个端口
nmap--top-ports 10 [position]
- 扫描指定端口
nmap -p [port] [position]
使用nmap扫描目标操作系统
nmap -O [position]
使用nmap扫描目标服务
nmap -sV [position]
将Nmap扫描的结果保存
nmap -oX [position]