Nmap

Namp详解

~1.1什么是Nmap:

    Namp(Network Mapper,网络映射器)是一看开放源代码的网络探测和安全审核工具。它被设计用来快速扫描大型网络,包括主机探测与发现、开放的端口情况、操作系统与应用服务指纹识别、WAF识别及常见安全漏洞。它的图形化界面是Zenmap,分布式框架DNmap。
    Nmap的特点如下所示:
    ·主机探测:探测网络上的主机,列出TCP和CMP请求、ICMP请求、开放特别端口的主机
    ·端口扫描:探测目标主机的网络服务,判断其服务名称及版本号。
    ·系统探测:探测目标主机的操作系统及网络设备的硬件特性。
    ·支持探测脚本的编写:使用Namp的脚本引擎(NSE)和Lua编程语言。

~1.2Namp入门

——1.2.1扫描参数

    设置扫描目标时遇到的相关参数:
    ·-iL:从文件中导入目标主机或目标网段。
    ·iR:随机选择目标主机。
    ·-exclude:后面跟的主机或网段将不在扫描范围内。
    ·-excludefile:导入文件中的主机或网段不在扫描范围内。
    与主机发现方法相关的参数如下:
    ·-sL:List Scan(列表扫描),仅列举指定目标的IP,不进行主机发现。
    ·-sn:Ping Scan,只进行主机返现,跳过主机发现的过程。
    ·-Pn:将所有指定的主机视作已开启,跳过主机发现的过程。
    ·-Ps/PA/PU/PY [postlist]:使用TCP SYN/ACK或SCTP INIT/ECHO 方式来发现。
    ·-PE/PP/PM:使用ICMP echo、timestamp、netmask请求包发现主机。
    -PO [protocollist]:使用IP协议包探测对方主机是否开启。
    -n/-R:-n表示不进行DNS解析;-R表示总是进行DNS解析。
    ·-dns-servers<serv1 [,serv2],...>:指定DNS服务器。
    ·-system-dns:指定使用系统的DNS服务器。
    ·--traceroute;追踪每个路由节点。
    与常见的端口扫描方法相关的参数如下:
    ·-sS/sT/sW/sM:指定使用TCP SYN/Connect/ACK/Window/Maimon scans的方式对目标主机进行扫描。
    ·-sU:指定使用UDP扫描的方式确定目标主机的UDP端口状况。
    ·-sN/sF/sX:指定使用TCP Null/Xmas scans秘密扫描的方式协助探测对方的TCP端口状态。
    ·-scanflags<flags>:定制TCP包的flags。
    ·-sl<zombie host [: probeport] >:指定使用idle scan的方式扫描目标主机。
    ·-sY/sZ:使用SCTP INIT/COOKIE-ECHO扫描SCTP协议端口的开放情况。
    ·-sO:使用IP protocol扫描确立目标机支持的协议类型。
    --b<FTP relay host>:使用FTP bounce scan扫描方式。
    跟端口参数与扫描顺序的设置有关的参数如下:
    ·-p<port ranges>:扫描指定的端口。
    ·-F:Fast mode(快速模式),仅扫描TOP 100的端口。
    ·-r:不进行端口随机打乱的操作
    ·-top-ports<number>:扫描开放概率最高的number个端口。
    ·-ports-ratio<ratio>:扫描指定频率以上的端口。
    与版本侦测相关的参数:
    ·-sV:指定让Nmap进行版本探测。
    ·-version-intensity<level>:指定版本侦测的强度(0-9),默认为7.
    ·-version-light:指定使用轻量级侦测方式。
    ·-version-all:尝试使用所以的probes进行侦测。
    ·-version-trace:显示出详细的版本侦测过程信息。
    在了解以上参数及其含义后,再来看用法会更好理解,扫描命令格式:
    Nmap+扫描参数+目标地址或网段。比如一次完整的Nmap扫描命令如下:
    nmap -T4 -A -v ip   其中-A表示使用进攻性方式扫描;-T4表示指定扫描过程使用的时序,共6个级别(0-5)级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通信良好的情况下推荐使用T4。-v表示显示冗余信息,显示扫描细节。

——1.2.1常用方法

    ·扫描单个目标地址:nmap 192.168.0.100
    ·扫描多个目标地址:nmap 192.168.0.100 192.168.0.105
    ·扫描一个范围内的目标主机:nmap 192.168.0.100-110
    ·扫描目标地址所在的某一个网段:nmap 192.168.0.100/24     (1-255)
    ·扫描主机列表targets.txt中的所有目标地址:namp -iL C:\targets.txt
    ·扫描除某一个目标地址之外的所有目标主机:nmap 192.168.0.100/24 -exclude 192.168.0.105
    ·扫描扫描除某一个文件中的目标地址之外的所有目标主机: nmap 192.168.0.100/24 -excludefile C:\target.txt
    ·扫描某一目标地址的21、22、23/80端口: nmap 192.168.0.100 -p 21, 22, 23, 80
    ·对目标地址进行路由跟踪: nmap --traceroute 192.168.0.105
    ·扫描目标地址所在C段的在线状态:nmap -sP 192.168.0.100/24
    ·目标地址的操作系统指纹识别:nmap -O 192.168.0.105
    ·目标地址提供的服务版本检测:nmap -sV 192.168.0.105
    ·探测防火墙状态:nmap -sF -T4 192.168.0.105

——1.2.2状态识别

    ·open:开放。表示应用程序正在监听该端口的连接,外部可以访问。
    ·filtered:被过滤的。表示端口被防火墙或其他网络设备阻止,不能访问。
    ·closed:关闭的。表示目标主机未开启。
    ·unfiltered:未被过滤的。表示无法确定端口所处状态,需要进一步探测。
    ·open/filtered:开放的或被过滤的。nmap不能识别。
    ·closed/filtered:关闭的或被过滤的。nmap不能识别。

~1.3Namp进阶

——1.3.1脚本介绍

    Nmap的脚本默认存放在/nmap/scripts文件夹下
    Nmap的脚本主要分为以下几类。
    ●Auth:负责处理鉴权证书(绕过鉴权)的脚本。
    ●Broadcast:在局域网内探查更多服务的开启情况,如DHCP/DNS/SQLServer等。
    ●Brute:针对常见的应用提供暴力破解方式,如HTTP/SMTP等。
    ●Default:使用-sC或A选项扫描时默认的脚本,提供基本的脚本扫描能力。
    ●Discovery: 对网络进行更多信息的搜集,如SMB枚举、SNMP查询等。
    ●Dos: 用于进行拒绝服务攻击。
    ●Exploit: 利用已知的漏洞入侵系统。
    ● External: 利用第三方的数据库或资源。例如,进行Whois解析。
    ●Fuzzer: 模糊测试脚本,发送异常的包到目标机,探测出潜在漏洞。
    ●Intrusive:入侵性的脚本,此类脚本可能弓发对方的IDS/IPS的记录或屏蔽。
    ●Malware:探测目标机是否感染了病毒、开启后]等信息。
    ●Safe:此类与Intrusive相反,属于安全性脚本。
    ●Version: 负责增强服务与版本扫描功能的脚本。
    ●Vuln:负责检查目标机是否有常见漏洞,如MS08 067.
~1.3.2常用脚本
    用户还可根据需要设置--script=类别进行扫描,常用参数如下所示:
    ●-sC/--script=default: 使用默认的脚本进行扫描。
    ●--script= <Lua scripts>: 使用某个脚本进行扫描。
    ●--script- args= key1 =value1, key2=value2--. 该参数用于传递脚本里的参数,key1是参数名,该参数对应value1这个值。如有更多的参数,使用逗号连接。
    ●-script args file= filename:使用文件为脚本提供参数。
    ●- script-trace: 如果设置该参数,则显示脚本执行过程中发送与接收的
    ●-script updatedb:在Nmap的scripts目录里有一 个script.db文件, 该文件保存了当前Nmap可用的脚本,类似于一个小型数据库,如果我们开启Nmap并调用了此参数,则Nmap会自行扫描scripts目录中的扩展脚本,进行数据库更新。
    ●- script-help: 调用该参数后,Nmap会输出该脚本对应的脚本使用参数,以及详细的介绍信息。

——1.3.3实例

    ●鉴权扫描:使用--script=auth可以对目标主机或目标主机所在网段进行应用弱口令检测: nmap --script=auth 192.168.1.105
    ●暴力破解攻击:可对数据库、SMB、SNMP进行简单密码猜解,如: nmap --script=brute 192.168.1.105
    ●扫描常见的漏洞:nmap --script=vuln 192.168.1.105
    ●应用服务扫描:如VNC服务、MySQL服务、Telnet服务、Rsync服务,如vnc服务: nmap --script=realvnc-auth-bypass 192.168.0.105
    ●探测局域网内更多服务开启的情况:nmap -n -p 445 --script=broadcast 192.168.1.105
    ●Whois解析:nmap -script external baidu.com





  • 添加到短语集
     
    • 没有此单词集:中文(简体) -> 英语...
       
    • 创建新的单词集...
  • 拷贝
  • 添加到短语集
     
    • 没有此单词集:中文(简体) -> 英语...
       
    • 创建新的单词集...
  • 拷贝
  • 添加到短语集
     
    • 没有此单词集:中文(简体) -> 英语...
       
    • 创建新的单词集...
  • 拷贝
posted @ 2020-07-19 17:24  l2sec  阅读(272)  评论(0编辑  收藏  举报