nmap网络探测工具使用
1.NMAP介绍
Nmap是一款开放源代码的网络探测和安全审核工具。它被设计用来快速扫描大型网络,包括主机探测与发现、开放的端口情况、操作系统与应用服务指纹、WAF识别及常见安全漏洞。它的图形化界面是Zenmap,分布式框架为Dnmap。
Nmap的主要特点如下所示:
主机探测:探测网络上的主机,如列出相应tcp和ICMP请求、ICMP请求、开放特别端口的主机。
端口扫描:探测目标主机所开放的端口。
版本检测:探测目标主机的网络服务,判断其服务名称及版本号。
系统检测:探测目标主机的操作系统及网络设备的硬件特性。
支持探测脚本的编写:使用Nmap的脚本引擎和Lua编程语言。
2.NAMP入门
2.1 扫描单个目标地址
Nmap 192.168.181.129
2.2 扫描多个目标地址
Nmap 150.109.68.57 192.168.181.129
2.3 扫描一个范围内的目标地址
Nmap 192.168.181.100-110
2.4 扫描目标地址所在的某个网段
Nmap 192.168.181.100/24
2.5 扫描主机列表targets.txt中所有的目标地址
Nmap –iL C:\Users\targets.txt
2.6 扫描除某一目标地址之外的所有目标地址
Nmap 192.168.181.100/24 –exclude 192.168.181.128
2.7 扫描除某一文件中的目标地址之外的目标地址
Nmap 192.168.0.100/24 –excludefile C:\Users\targests.txt
2.8 扫描某一目标地址的21、22、23、80端口
Nmap 192.168.0.100 –p 21,22,23,80
2.9 对目标地址进行路由追踪
Nmap --traceroute 192.168.0.105
2.10 扫描目标地址所在C段的在线状况
Nmap –sP 192.168.0.100/24
2.11 目标地址的操作系统指纹识别
Nmap –O 192.168.0.100
2.12 目标地址提供的服务版本检测
Nmap –sV 192.168.0.100
2.13 探测防火墙状态
Nmap –sF –T4 192.168.181.129
状态识别
复制代码
状态 含义
Open 开放的,表示应用程序正在监听该端口的连接,外部可以访问
Filtered 被过滤的,表示端口被防火墙或其他网络设备阻止,不能访问
Closed 关闭的,表示目标主机未开启该端口
Unfiltered 未被过滤的,表示Nmap无法确定端口所处状态,需进一步探测
open/filtered 开放的或被过滤的,Nmap不能识别
Closed/filtered 关闭的或未被过滤的,Nmap不能识别
复制代码
3.NMAP进阶
3.1 鉴权扫描
使用--script=auth可以对目标主机或目标主机所在的网段进行应用弱口令检测。
Nmap --script=auth 192.168.0.105
3.2 暴力破解攻击
Nmap具有暴力破解的功能,可对数据库,smb,snmp等进行简单密码的暴力猜解。
Nmap --script=brute 192.168.0.105
3.3 扫描常见漏洞
Nmap具有漏洞扫描的功能,可以检查目标主机或网段是否存在常见的漏洞。
Nmap --script=vuln 192.168.0.105
3.4 应用服务扫描
Nmap具有很多常见应用服务的扫描脚本,例如vnc服务、mysql服务、Telnet服务、rsync服务等,此处以vnc服务为例。
Nmap --script=realvnc-auth-bypass 192.168.0.105
3.5 探测局域网内更多服务开启的情况
Nmap –n –p 445 --script=broadcast 192.168.0.105
3.6 Whois解析
Nmap –script external baidu.com
4.参数详解
复制代码
用法:nmap [扫描类型] [选项] {目标规范}
目标规格:可以传递主机名,IP地址,网络等。
-iL <输入文件名>:从主机/网络列表中输入
-iR
--exclude
--excludefile
主机发现:
-sL:列表扫描-仅列出要扫描的目标
-sP:Ping扫描-只能确定主机是否在线
-P0:将所有主机视为在线-跳过主机发现
-PS / PA / PU [端口列表]:对给定端口的TCP SYN / ACK或UDP发现探针-PE / PP / PM:ICMP回显,时间戳和网络掩码请求发现探针
-n / -R:从不进行DNS解析/始终解决
扫描技术:
-sS / sT / sA / sW / sM:TCP SYN / Connect()/ ACK / Window / Maimon扫描
-sN / sF / sX:TCP Null,FIN和Xmas扫描
--scanflags <标志>:自定义TCP扫描标志
-sI <僵尸主机[:probeport]>:Idlescan
-sO:IP协议扫描
-b
端口规格和扫描顺序:-p <端口范围>:仅扫描指定的端口,例如:-p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080
-F:快速-仅扫描nmap-services文件中列出的端口)
-r:连续扫描端口-不要随机化
OS检测:
-O:启用OS检测
--osscan-limit:将OS检测限制在有希望的目标上
--osscan-guess:猜测OS
-T [0-6]:设置定时模板(越高越快)
--min-hostgroup / max-hostgroup
--min-parallelism / max-parallelism
--min-rtt-timeout / max-rtt-timeout / initial-rtt -timeout
服务/版本检测:
-sV:探测打开的端口以确定服务/版本信息
--version-light :仅限于可能的探针以进行更快的识别
--version-all:尝试对每个探针进行版本检测
--version-trace:显示详细的版本扫描活动(用于调试)
MISC的XSL样式表:
-6:启用IPv6扫描
-A:启用OS检测和版本检测
--datadir
--send-eth /-send-ip:使用原始以太网帧或IP数据包发送数据包
--privileged:假定用户具有完全特权
-V:打印版本号
-h:打印此帮助摘要页面。
例子:
nmap -v -A scanme.nmap.org
nmap -v -sP 192.168.0.0/16 10.0.0.0/8
nmap -v -iR 10000 -P0 -p 80
探针往返时间
--host-timeout
--scan-delay /-max-scan-delay
-f; --mtu
-D
-S
-e
-g /-source-port <端口号>:
--data-length
--ttl
--spoof-mac