logo资料库

nmap使用大全.pdf

第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
资料共20页,剩余部分请下载后查看
nmap用法
1、什么是nmap(取自百度)?
2、功能?
2.1、zenmap
3、选项(取自nmap官网)?
3.1、用法:nmap [扫描类型] [选项] {目标规格}
3.2、目标规格:
3.3、主机发现:
3.4、扫描技术:
3.5、端口规格和扫描订单:
3.6、服务/版本检测:
3.7、脚本扫描:
3.8、操作系统检测:
3.9、时间和性能:
3.10、防火墙/ IDS逃避和SPOOFING:
3.11、OUTPUT:
3.12、MISC:
4、Nmap基本扫描方法(取自aspirationflow的CSDN博客):
4.1、用法引入
4.2、完整全面的扫描
4.3、主机发现的用法
4.4、端口扫描原理
4.4.1、TCP SYN scanning
4.4.2、TCP connect scanning
4.4.3、TCP ACK scanning
4.4.4、TCP FIN/Xmas/NULL scanning
4.4.5、UDP scanning
4.5、版本侦测
4.5.1、版本侦测原理
4.5.2、版本侦测的用法
4.5.3、版本侦测的演示
4.6、OS侦测
4.6.1、OS侦测原理
4.6.2、OS侦测用法
4.6.3、OS侦测演示
4.7、Nmap高级用法
4.7.1、防火墙/IDS规避
4.7.1.1、规避原理
4.7.1.1.1、分片(Fragmentation)
4.7.1.1.2、IP诱骗(IP decoys)
4.7.1.1.3、IP伪装(IP Spoofing)
4.7.1.1.4、指定源端口
4.7.1.1.5、扫描延时
4.7.1.1.6、其他技术
4.7.1.2、规避用法
4.7.1.3、规避演示
4.7.2、NSE脚本引擎
4.7.2.1、NSE创建脚本方法
4.7.2.2、NSE脚本用法
4.7.2.3、NSE用法演示
5、结束语:
6、参考资料:
www.cnbreak.org nmap 用法 作者:Break 博客:www.cnbreak.org 注:所有操作及演示均是在 VMware 虚拟机环境下进行的!仅供安全测试及安全学习,禁止非法使用! 前言:一眼不懂就动手!本文以 kali linux v2017.1 操作系统为主进行演示!nmap 版本为 v7.40 1、什么是 nmap(取自百度)? nmap 是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断 计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。 安装可以参考官网:https://nmap.org/ 2、功能? Nmap 包含四项基本功能: 1. 主机发现(Host Discovery) 2. 端口扫描(Port Scanning) 3. 版本侦测(Version Detection) 4. 操作系统侦测(Operating System Detection) 而这四项功能之间,又存在大致的依赖关系(通常情况下的顺序关系,但特殊应用另外考虑),首先需要进行主机发 现,随后确定端口状况,然后确定端口上运行具体应用程序与版本信息,然后可以进行操作系统的侦测。而在四项基 本功能的基础上,Nmap 提供防火墙与 IDS(IntrusionDetection System,入侵检测系统)的规避技巧,可以综合应用到 四个基本功能的各个阶段;另外 Nmap 提供强大的 NSE(Nmap Scripting Language)脚本引擎功能,脚本可以对基 本功能进行补充和扩展。 2.1、zenmap Zenmap 是 Nmap 官方提供的图形界面,通常随 Nmap 的安装包发布。Zenmap 是用 Python 语言编写而成的开源免费 的图形界面,能够运行在不同操作系统平台上(Windows/linux/Unix/Mac OS 等)。Zenmap 旨在为 nmap 提供更加简
单的操作方式。简单常用的操作命令可以保存成为 profile,用户扫描时选择 profile 即可;可以方便地比较不同的扫描 结果;提供网络拓扑结构(NetworkTopology)的图形显示功能。 www.cnbreak.org 3、选项(取自 nmap 官网)? 以 Nmap 7.40 为演示版本。 3.1、用法:nmap [扫描类型] [选项] {目标规格} 3.2、目标规格: 可以通过主机名,IP 地址,网络等 例如:scanme.nmap.org,microsoft.com/24,192.168.0.1; 10.0.0-255.1-254 -iL :从主机/网络列表输入 -iR :选择随机目标 --exclude :排除主机/网络 --excludefile :从文件中排除列表
www.cnbreak.org 3.3、主机发现: -sL:列表扫描 - 只需列出要扫描的目标 -sn:Ping 扫描 - 禁用端口扫描 -Pn:将所有主机视为在线 - 跳过主机发现 -PS / PA / PU / PY [portlist]:向给定端口发送 TCP SYN / ACK,UDP 或 SCTP -PE / PP / PM:ICMP 回显,时间戳和网络掩码请求发现探测 -PO [协议列表]:IP 协议 Ping -n / -R:不要做 DNS 解析/总是解决[默认:有时] --dns-servers :指定自定义 DNS 服务器 --system-dns:使用操作系统的 DNS 解析器 --traceroute:跟踪每个主机的跳转路径 3.4、扫描技术: -sS / sT / sA / sW / sM:TCP SYN / Connect()/ ACK / Window / Maimon 扫描 -sU:UDP 扫描 -sN / sF / sX:TCP Null,FIN 和 Xmas 扫描 --scanflags :自定义 TCP 扫描标志 -sI :空闲扫描 -sY / sZ:SCTP INIT / COOKIE-ECHO 扫描 -sO:IP 协议扫描 -b :FTP 反弹扫描 3.5、端口规格和扫描订单: -p <端口范围>:仅扫描指定的端口 例如:-p22 -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9 --exclude-ports :从扫描中排除指定的端口 -F:快速模式 - 扫描比默认扫描少的端口 -r:连续扫描端口 - 不要随机化 --top-ports :扫描最常用的端口 --port-ratio :扫描端口比更常见 3.6、服务/版本检测: -sV:探测打开端口以确定服务/版本信息 --version-intensity :从 0(亮)到 9(尝试所有探针) - 变换光:极限探测器(强度 2) --version-all:尝试每一个探针(强度 9) --version-trace:显示详细的版本扫描活动(用于调试) 3.7、脚本扫描: -sC:相当于--script = default --script = 是一个逗号分隔的列表目录,脚本文件或脚本类 --script-args = :为脚本提供参数 --script-args-file = filename:在文件中提供 NSE 脚本参数 --script-trace:显示发送和接收的所有数据
www.cnbreak.org --script-updatedb:更新脚本数据库。 --script-help = :显示有关脚本的帮助。 是逗号分隔的脚本文件列表脚本的类别。 3.8、操作系统检测: -O:启用操作系统检测 --osscan-limit:将操作系统检测限制为有希望的目标 - 可以猜测:猜测操作系统更积极 3.9、时间和性能: 采取
www.cnbreak.org --open:仅显示打开(或可能打开)的端口 --packet-trace:显示发送和接收的所有数据包 --iflist:打印主机接口和路由(用于调试) --append-output:追加而不是 clobber 指定的输出文件 --resume :恢复中止的扫描 --stylesheet :将 XML 输出转换为 HTML 的 XSL 样式表 --webxml:来自 Nmap.Org 的引用样式表,用于更多的便携式 XML --no-stylesheet:防止 XSL 样式表与 XML 输出关联 3.12、MISC: -6:启用 IPv6 扫描 -A:启用操作系统检测,版本检测,脚本扫描和跟踪路由 --datadir :指定自定义 Nmap 数据文件位置 --send-eth / - send-ip:使用原始以太网帧或 IP 数据包发送 --privileged:假设用户是完全特权的 --unprivileged:假设用户缺少原始套接字权限 -V:打印版本号 -h:打印此帮助摘要页面。 4、Nmap 基本扫描方法(取自 aspirationflow 的 CSDN 博客): Nmap 主要包括四个方面的扫描功能,主机发现、端口扫描、应用与版本侦测、操作系统侦测。在详细讲解每个 具体功能之前,首先可以看看 Nmap 的典型用法。 4.1、用法引入 如果直接针对某台计算的 IP 地址或域名进行扫描,那么 Nmap 对该主机进行主机发现过程和端口扫描。该方式执 行迅速,可以用于确定端口的开放状况。 命令形式: nmap targethost 可以确定目标主机在线情况及端口基本状况。
www.cnbreak.org 4.2、完整全面的扫描 如果希望对某台主机进行完整全面的扫描,那么可以使用 nmap 内置的-A 选项。使用了改选项,nmap 对目标主 机进行主机发现、端口扫描、应用程序与版本侦测、操作系统侦测及调用默认 NSE 脚本扫描。 命令形式: nmap -T4 -A -v targethost 其中-A 选项用于使用进攻性(Aggressive)方式扫描;-T4 指定扫描过程使用的时序(Timing),总有 6 个级别 (0-5),级别越高,扫描速度越快,但也容易被防火墙或 IDS 检测并屏蔽掉,在网络通讯状况良好的情况推荐使 用 T4;-v 表示显示冗余(verbosity)信息,在扫描过程中显示扫描的细节,从而让用户了解当前的扫描状态。 break@kali:~$ nmap -T4 -A -v 10.10.10.130 Starting Nmap 7.40 ( https://nmap.org ) at 2017-06-17 14:14 EDT NSE: Loaded 143 scripts for scanning. NSE: Script Pre-scanning. Initiating NSE at 14:14 Completed NSE at 14:14, 0.00s elapsed Initiating NSE at 14:14 Completed NSE at 14:14, 0.00s elapsed Initiating Ping Scan at 14:14 Scanning 10.10.10.130 [2 ports] Completed Ping Scan at 14:14, 0.00s elapsed (1 total hosts) Initiating Parallel DNS resolution of 1 host. at 14:14 Completed Parallel DNS resolution of 1 host. at 14:14, 0.02s elapsed Initiating Connect Scan at 14:14 Scanning 10.10.10.130 [1000 ports] Discovered open port 445/tcp on 10.10.10.130
www.cnbreak.org Discovered open port 1025/tcp on 10.10.10.130 Discovered open port 135/tcp on 10.10.10.130 Discovered open port 80/tcp on 10.10.10.130 Discovered open port 139/tcp on 10.10.10.130 Discovered open port 21/tcp on 10.10.10.130 Discovered open port 6002/tcp on 10.10.10.130 Discovered open port 8099/tcp on 10.10.10.130 Discovered open port 1026/tcp on 10.10.10.130 Discovered open port 777/tcp on 10.10.10.130 Discovered open port 1521/tcp on 10.10.10.130 Discovered open port 1031/tcp on 10.10.10.130 Discovered open port 7002/tcp on 10.10.10.130 Discovered open port 1027/tcp on 10.10.10.130 Discovered open port 7001/tcp on 10.10.10.130 Completed Connect Scan at 14:14, 0.06s elapsed (1000 total ports) Initiating Service scan at 14:14 Scanning 15 services on 10.10.10.130 Completed Service scan at 14:16, 141.14s elapsed (15 services on 1 host) NSE: Script scanning 10.10.10.130. Initiating NSE at 14:16 Completed NSE at 14:16, 15.18s elapsed Initiating NSE at 14:16 Completed NSE at 14:16, 1.01s elapsed Nmap scan report for 10.10.10.130 Host is up (0.00032s latency). Not shown: 985 closed ports PORT STATE SERVICE VERSION 21/tcp open ftp Microsoft ftpd |_ftp-anon: Anonymous FTP login allowed (FTP code 230) 80/tcp open http Microsoft IIS httpd 6.0 | http-methods: | Supported Methods: OPTIONS TRACE GET HEAD POST |_ Potentially risky methods: TRACE |_http-server-header: Microsoft-IIS/6.0 |_http-title: Under Construction 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn Microsoft Windows netbios-ssn 445/tcp open microsoft-ds Windows Server 2003 3790 microsoft-ds 777/tcp open multiling-http? 1025/tcp open msrpc Microsoft Windows RPC 1026/tcp open msrpc Microsoft Windows RPC 1027/tcp open msrpc Microsoft Windows RPC 1031/tcp open msrpc Microsoft Windows RPC 1521/tcp open oracle-tns Oracle TNS Listener 10.2.0.1.0 (for 32-bit Windows) 6002/tcp open http SafeNet Sentinel Protection Server httpd 7.3 | http-methods: |_ Supported Methods: GET |_http-title: Sentinel License Monitor 7001/tcp open afs3-callback? 7002/tcp open http SafeNet Sentinel Keys License Monitor httpd 1.0 (Java Console) | http-methods: |_ Supported Methods: GET |_http-title: Sentinel Keys License Monitor 8099/tcp open http Microsoft IIS httpd 6.0 |_http-server-header: Microsoft-IIS/6.0 |_http-title: The page must be viewed over a secure channel
www.cnbreak.org 1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service : SF-Port777-TCP:V=7.40%I=7%D=6/17%Time=594571B0%P=x86_64-pc-linux-gnu%r(Ker SF:beros,5,"\x01\0\t\xe0\x06")%r(SMBProgNeg,5,"\x01\0\t\xe0\x06")%r(Termin SF:alServer,A,"\x01\0\t\xe0\x06\x01\0\t\xe0\x06")%r(WMSRequest,5,"\x01\0\t SF:\xe0\x06"); Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows, cpe:/o:microsoft:windows_server_2003 Host script results: | nbstat: NetBIOS name: ROOT-TVI862UBEH, NetBIOS user: , NetBIOS MAC: 00:0c:29:1a:e7:0d (VMware) | Names: | ROOT-TVI862UBEH<00> Flags: | WORKGROUP<00> Flags: | SNTL_ROOT-TVI86<32> Flags: | ROOT-TVI862UBEH<20> Flags: | WORKGROUP<1e> Flags: | WORKGROUP<1d> Flags: |_ \x01\x02__MSBROWSE__\x02<01> Flags: | smb-os-discovery: | OS: Windows Server 2003 3790 (Windows Server 2003 5.2) | OS CPE: cpe:/o:microsoft:windows_server_2003::- | Computer name: root-tvi862ubeh | NetBIOS computer name: ROOT-TVI862UBEH\x00 | Workgroup: WORKGROUP\x00 |_ System time: 2017-06-18T02:16:33+08:00 | smb-security-mode: | account_used: guest | authentication_level: user | challenge_response: supported |_ message_signing: disabled (dangerous, but default) |_smbv2-enabled: Server doesn't support SMBv2 protocol NSE: Script Post-scanning. Initiating NSE at 14:16 Completed NSE at 14:16, 0.00s elapsed Initiating NSE at 14:16 Completed NSE at 14:16, 0.00s elapsed Read data files from: /usr/bin/../share/nmap Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 157.96 seconds 从扫描得出的结果我们可以看出目标开放的端口上运行的具体的应用程序和版本信息,还有操作系统的版本等等等等 信息。 4.3、主机发现的用法 通常主机发现并不单独使用,而只是作为端口扫描、版本侦测、OS 侦测先行步骤。而在某些特殊应用(例如确定大型 局域网内活动主机的数量),可能会单独专门适用主机发现功能来完成。 不管是作为辅助用法还是专门用途,用户都可以使用 Nmap 提供的丰富的选项来定制主机发现的探测方式。 -sL: List Scan 列表扫描,仅将指定的目标的 IP 列举出来,不进行主机发现。 -sn: Ping Scan 只进行主机发现,不进行端口扫描。 -Pn: 将所有指定的主机视作开启的,跳过主机发现的过程。
分享到:
收藏