IT评测·应用市场-qidao123.com
标题: Nmap超详细利用指南 [打印本页]
作者: 泉缘泉 时间: 2024-6-9 14:49
标题: Nmap超详细利用指南
初识Nmap
Nmap是被专业职员广泛利用的一款功能全面的端口扫描工具。它由Fyodor编写并维护。由 于Nmap品格卓越,利用灵活,它已经是渗透测试职员必备的工具。
除了端口扫描外,Nmap还具备如下功能࿱
a;
| - 主机探测࿱
- a;Nmap可査找目标网络中的在线主机。默认情况下,Nmap通过4种方式—— ICMP echo请求(ping)、向443端口发送TCP SYN 包、向80端口发送TCP ACK包和ICMP 时间戳请求——发现目标主机。
- 服务/版本检测࿱
- a;在发现开放端口后,Nmap可进一步检查目标主机的检测服务协议、应用 程序名称、版本号等信息。
- 操作系统检测࿱
- a;Nmap 向远程主机发送一系列数据包,并能够将远程主机的响应与操作系统 指纹数据库进行比较。如果发现了匹配结果,它就会显示匹配的操作系统。它确实可能无法 识别目标主机的操作系统࿱
- b;在这种情况下,如果您知道目标系统上使用的何种操作系统,可 在它提供的 URL 里提交有关信息,更新它的操作系统指纹数据库。
- 网络路由跟踪࿱
- a;它通过多种协议访问目标主机的不同端口,以尽可能访问目标主机。Nmap 路由跟踪功能从TTL的高值开始测试,逐步递减TTL,直到它到零为止。
- Nmap脚本引擎࿱
- a;这个功能扩充了Nmap的用途。如果您要使用Nmap实现它(在默认情况 下)没有的检测功能,可利用它的脚本引擎手写一个检测脚本。目前,Nmap可检査网络服务 的漏洞,还可以枚举目标系统的资源。
复制代码 |
安装Nmap
nmap的安装很简单,Windows的话直接去官网下载安装包直接安装就行了->下载链接
kali已经自带了nmap,centos如果没有安装的话,yum install nmap就直接安装了
入门Nmap
刚开始利用的时候可能会因为信息量太大无从动手,最简单的利用就是nmap your-ip(域名) 就可以扫描出其对外开放的服务。
| - root@kali:~# nmap 1
- 92.1
- 68.31
- .1
- 3
- Starting Nmap 7.70 ( https://nmap.org ) at 201
- 8-08-1
- 2 23:02 CST
- Nmap scan report for 1
- 92.1
- 68.31
- .1
- 3
- Host is up (0.00038s latency).
- Not shown: 998 closed ports
- PORT STATE SERVICE
- 8080/tcp open http-proxy
- 1
- 001
- 0/tcp open rxapi
- MAC Address: 00:0C:29:99:D3:E6 (VMware)
- Nmap done: 1
- IP address (1
- host up) scanned in 1
- .85 seconds
复制代码 |
可以看出只开放了8080端口和1
001
0端口
nmap -p 端口 IP(域名),判断ip是否开放指定端口
| - root@kali:~# nmap -p 8080 1
- 92.1
- 68.31
- .1
- 3
- Starting Nmap 7.70 ( https://nmap.org ) at 201
- 8-08-1
- 2 23:05 CST
- Nmap scan report for 1
- 92.1
- 68.31
- .1
- 3
- Host is up (0.00045s latency).
- PORT STATE SERVICE
- 8080/tcp open http-proxy
- MAC Address: 00:0C:29:99:D3:E6 (VMware)
- Nmap done: 1
- IP address (1
- host up) scanned in 0.36 seconds
复制代码 |
| - root@kali:~# nmap -p 80 1
- 92.1
- 68.31
- .1
- 3
- Starting Nmap 7.70 ( https://nmap.org ) at 201
- 8-08-1
- 2 23:05 CST
- Nmap scan report for 1
- 92.1
- 68.31
- .1
- 3
- Host is up (0.00049s latency).
- PORT STATE SERVICE
- 80/tcp closed http
- MAC Address: 00:0C:29:99:D3:E6 (VMware)
- Nmap done: 1
- IP address (1
- host up) scanned in 0.42 seconds
复制代码 |
可以看出8080端口开放,80端口没有开放
也可以增长端口和网段 ࿱
a;
| - nmap -p 22,21
- ,80 1
- 92.1
- 68.31
- .1
- 3
- nmap -p 22,21
- ,80 1
- 92.1
- 68.31
- .1
- -253
复制代码 |
nmap 1
92.1
68.31
.1
/24 扫描整个子网的端口 ,这个过程可能会比较久
进阶Nmap
在继续讲之前,先先容一下Nmap可以辨认出的6种端口状态
| - 开放࿱
- a;工作于开放端口的服务器端的应用程序可以受理TCP 连接、接收UDP数据包或者响 应SCTP(流控制传输协议)请求。
- 关闭࿱
- a;虽然我们确实可以访问有关的端口,但是没有应用程序工作于该端口上。
- 过滤࿱
- a;Nmap 不能确定该端口是否开放。包过滤设备屏蔽了我们向目标发送的探测包。
- 未过滤࿱
- a;虽然可以访问到指定端口,但Nmap不能确定该端口是否处于开放状态。
- 打开|过滤࿱
- a;Nmap认为指定端口处于开放状态或过滤状态,但是不能确定处于两者之中的 哪种状态。在遇到没有响应的开放端口时,Nmap会作出这种判断。这可以是由于防火墙丢 弃数据包造成的。
- 关闭|过滤࿱
- a;Nmap 认为指定端口处于关闭状态或过滤状态,但是不能确定处于两者之中的 哪种状态。
复制代码 |
常用选项
1
.服务版本辨认(-sV),Nmap可以在进行端口扫描的时候检测服务端软件的版本信息。版本信息将使后续的漏 洞辨认工作更有针对性。
| - root@kali:~# nmap -sV 1
- 92.1
- 68.31
- .1
- 3 -p 8080
- Starting Nmap 7.70 ( https://nmap.org ) at 201
- 8-08-1
- 3 00:02 CST
- Nmap scan report for 1
- 92.1
- 68.31
- .1
- 3
- Host is up (0.00076s latency).
- PORT STATE SERVICE VERSION
- 8080/tcp open http Apache Tomcat 8.5.1
- 4
- MAC Address: 00:0C:29:99:D3:E6 (VMware)
- Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
- Nmap done: 1
- IP address (1
- host up) scanned in 1
- 2.75 seconds
复制代码 |
2.操作系统检测(-O),Nmap还能辨认目标主机的操作系统。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 1
- 01
- 1
- 1
- 21
- 31
- 41
- 51
- 61
- 7
复制代码 | - root@kali:~# nmap -O 1
- 92.1
- 68.31
- .1
- 3
- Starting Nmap 7.70 ( https://nmap.org ) at 201
- 8-08-1
- 3 00:03 CST
- Nmap scan report for 1
- 92.1
- 68.31
- .1
- 3
- Host is up (0.00072s latency).
- Not shown: 998 closed ports
- PORT STATE SERVICE
- 8080/tcp open http-proxy
- 1
- 001
- 0/tcp open rxapi
- MAC Address: 00:0C:29:99:D3:E6 (VMware)
- Device type: general purpose
- Running: Linux 3.X|4.X
- OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
- OS details: Linux 3.2 - 4.9
- Network Distance: 1
- hop
- OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
- Nmap done: 1
- IP address (1
- host up) scanned in 3.49 seconds
复制代码 |
3.禁用主机检测(-Pn),如果主机屏蔽了ping请求,Nmap可能会以为该主机没有开机。这将使得Nmap无法进行进一 步检测,比如端口扫描、服务版本辨认和操作系统辨认等探测工作。为了降服这一问题,就 必要禁用Nmap的主机检测功能。在指定这个选项之后,Nmap会以为目标主机已经开机并会 进行全套的检测工作
4.强力检测选项(-A),启用-A选项之后,Nmap将检测目标主机的下述信息
服务版本辨认(-sV)࿱
b;
操作系统辨认(-O)࿱
b;
脚本扫描(-sC)࿱
b;
Traceroute(–traceroute)。
TCP扫描选项
1
.TCP连接扫描(-sT)࿱
a;指定这个选项后,程序将和目标主机的每个端口都进行完整的三次 握手。如果成功创建连接,则判断该端口是开放端口。由于在检测每个端口时都必要进行三 次握手,以是这种扫描方式比较慢,而且扫描行为很可能被目标主机记录下来。如果启动 Nmap的用户的权限不足,那么默认情况下Nmap程序将以这种模式进行扫描。
2.SYN扫描(-sS)࿱
a;该选项也称为半开连接大概SYN stealth。采用该选项后,Nmap将利用 含有SYN标记位的数据包进行端口探测。如果目标主机回复了SYN/ACK包,则说明该端口处 于开放状态࿱
a;如果回复的是RST/ACK包,则说明这个端口处于关闭状态࿱
b;如果没有任何响应 大概发送了ICMP unreachable信息,则可以为这个端口被屏蔽了。SYN模式的扫描速度非常 好。而且由于这种模式不会进行三次握手,以是是一种非常隐蔽的扫描方式。如果启动Nmap 的用户有高级别权限,那么在默认情况下Nmap程序将以这种模式进行扫描。
3.TCP NULL(-sN)、FIN(-sF)及XMAS(-sX)扫描࿱
a;NULL 扫描不设置任何控制位࿱
b;FIN扫描仅设置FIN标记位࿱
a;XMAS扫描设置FIN、PSH和URG的标识位。如果目标主机返回 了含有RST标识位的响应数据,则说明该端口处于关闭状态࿱
b;如果目标主机没有任何回应, 则该端口处于打开|过滤状态。
4.TCP Maimon扫描(-sM)࿱
a;Uriel Maimon 首先发现了TCP Maimom扫描方式。这种模式的 探测数据包含有FIN/ACK标识。对于BSD衍生出来的各种操作系统来说,如果被测端口处于 开放状态,主机将会丢弃这种探测数据包࿱
b;如果被测端口处于关闭状态,那么主机将会回复 RST。
5.TCPACK扫描(-sA)࿱
a;这种扫描模式可以检测目标系统是否采用了数据包状态监测技术 (stateful)防火墙,并能确定哪些端口被防火墙屏蔽。这种类型的数据包只有一个ACK标识 位。如果目标主机的回复中含有RST标识,则说明目标主机没有被过滤。
6.TCP窗口扫描(-sW)࿱
a;这种扫描方式检测目标返回的RST数据包的TCP窗口字段。如果目 标端口处于开放状态,这个字段的值将是正值࿱
b;否则它的值应当是0。
7.TCP Idle扫描(-sI)࿱
a;采用这种技术后,您将通过指定的僵尸主机发送扫描数据包。本机 并不与目标主机直接通信。如果对方网络里有IDS,IDS将以为发起扫描的主机是僵尸主机。
UDP扫描选项
Nmap有多种TCP扫描方式,而UDP扫描仅有一种扫描方式(-sU)。虽然UDP扫描效果没有 TCP扫描效果的可靠度高,但渗透测试职员不能因此而轻蔑UDP扫描,究竟UDP端口代表着 可能会有价值的服务端程序。但是UDP扫描的最大问题是性能问题。由干Linux内核限制1
秒内最多发送一次ICMP Port Unreachable信息。按照这个速度,对一台主机的65536个UDP端口进行完整扫描,总耗时必 定会超过1
8个小时。
优化方法重要是࿱
a;
| - 1
- .进行并发的UDP扫描࿱
- b;
- 2.优先扫描常用端口࿱
- b;
- 3.在防火墙后面扫描࿱
- b;
- 4.启用--host-timeout选项以跳过响应过慢的主机。
复制代码 |
如果我们必要找到目标主机开放了哪些 UDP端口。为提高扫描速度,我们仅扫描 53端口 (DNS)和1
61
端口(SNMP)。
可以利用命令nmap -sU 1
92.1
68.56.1
03 -p 53,1
61
目标端口选项
默认情况下,Nmap将从每个协议的常用端口中随机选择1
000个端口进行扫描。其nmapservices文件对端口的掷中率进行了排名。
可以自界说端口参数࿱
a;
| - -p端口范围࿱
- a;只扫描指定的端口。扫描1
- 〜1
- 024号端口,可设定该选项为–p 1
- -1
- 024。扫描1
- 〜65535端口时,可使用-p-选项。
- -F(快速扫描)࿱
- a;将仅扫描1
- 00 个常用端口。
- -r(顺序扫描)࿱
- a;指定这个选项后,程序将从按照从小到大的顺序扫描端口。● -
- -top-ports <1
- or=
- ;"" greater=
- ;"">࿱
- a;扫描nmap-services 里排名前N的端口。
复制代码 |
输出选项
Nmap可以把扫描效果保存为外部文件。在必要利用其他工具处置惩罚Nmap的扫描效果时,这一 功能非常有用。纵然您设定程序把扫描效果保存为文件,Nmap还是会在屏幕上表现扫描效果。
| - Nmap支持以下几种输出形式。
- 正常输出(-oN)࿱
- a;不显示runtime信息和警告信息。
- XML 文件(-oX)࿱
- a;生成的 XML 格式文件可以转换成 HTML 格式文件,还可被Nmap 的图 形用户界面解析,也便于导入数据库。本文建议您尽量将扫描结果输出为XML文件。
- 生成便于Grep使用的文件(-oG)࿱
- a;虽然这种文件格式已经过时,但仍然很受欢迎。这种格 式的文件,其内容由注释(由#开始)和信息行组成。信息行包含6个字段,每个字段的字段 名称和字段值以冒号分割,字段之间使用制表符隔开。这些字段的名称分别为Host、Ports、Protocols、Ignored State、OS、Seq Index、IP ID Seq 和Status。这种格式的文件便于 grep或awk之类的UNIX指令整理扫描结果。
- 输出至所有格式(-oA)
- 为使用方便,利用-oA选项 可将扫描结果以标准格式、XML格式和Grep格式一次性输出。分别存放在.nmap,.xml和.gnmap文件中。
复制代码 |
时间排程控制选项
Nmap可通过-T选项指定时间排程控制的模式。它有6种扫描模式。
| - paranoid(0)࿱
- a;每5分钟发送一次数据包,且不会以并行方式同时发送多组数据。这种模式 的扫描不会被IDS检测到。
- sneaky(1
- )࿱
- a;每隔1
- 5秒发送一个数据包,且不会以并行方式同时发送多组数据。
- polite(2)࿱
- a;每0.4 秒发送一个数据包,且不会以并行方式同时发送多组数据。
- normal(3)࿱
- a;此模式同时向多个目标发送多个数据包,为 Nmap 默认的模式,该模式能自 动在扫描时间和网络负载之间进行平衡。
- aggressive(4)࿱
- a;在这种模式下,Nmap 对每个既定的主机只扫描5 分钟,然后扫描下一 台主机。它等待响应的时间不超过1
- .25秒。
- insane(5)࿱
- a;在这种模式下,Nmap 对每个既定的主机仅扫描75 秒,然后扫描下一台主 机。它等待响应的时间不超过0.3秒。
复制代码 |
默认的扫描模式通常都没有问题。除非您想要进行更隐匿或更快速的扫 描,否则没有必要调解这一选项。
扫描IPv6主机
启用Nmap的-6选项即可扫描IPv6的目标主机。当前,只能逐个指定目标主机的IPv6地点。
| - nmap -6 fe80::a00:27ff:fe43:1
- 51
- 8
复制代码 |
同一台主机在IPv6网络里开放的端口比它在IPv4网络里开放的端口数量要 少。这是因为部分服务程序尚未支持IPv6网络。
脚本引擎功能(Nmap Scripting Engine,NSE)
末了但是同样紧张的,Nmap本身已经很强大了,但是加上它的脚本引擎更加开挂了,NSE 可利用户的各种网络检査工作更为自动化,有助于辨认应 用程序中新发现的毛病、检测程序版本等Nmap原本不具有的功能。虽然Nmap软件包具有各 种功能的脚本,但是为了满意用户的特定需求,它还支持用户撰写自界说脚本。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 1
- 01
- 1
- 1
- 21
- 31
- 41
- 51
- 61
- 71
- 81
- 92021
- 222324252627282930
复制代码 | - auth࿱
- a;此类脚本利用暴力破解等技术找出目标系统上的认证信息。default࿱
- a;启用--sC 大概-A 选项时运行此类脚本。这类脚本同时具有下述特点࿱
- a;执行速度快࿱
- b;输出的信息有指导下一步操作的价值࿱
- b;输出信息内容丰富、形式简洁࿱
- b;必须可靠࿱
- b;不会侵入目标系统࿱
- b;能泄露信息给第三方。discovery࿱
- a;该类脚本用于探索网络。dos࿱
- a;该类脚本可能使目标系统拒绝服务,请谨慎利用。exploit࿱
- a;该类脚本利用目标系统的安全毛病。在运行这类脚本之前,渗透测试职员必要获取 被测单位的举措许可。external࿱
- a;该类脚本可能泄露信息给第三方。fuzzer࿱
- a;该类脚本用于对目标系统进行含糊测试。instrusive࿱
- a;该类脚本可能导致目标系统瓦解,或耗尽目标系统的所有资源。malware࿱
- a;该类脚本检査目标系统上是否存在恶意软件或后门。safe࿱
- a;该类脚本不会导致目标服务瓦解、拒绝服务且不利用毛病。version࿱
- a;共同版本检测选项(-sV),这类脚本对目标系统的服务程序进行深入的版本检 测。vuln࿱
- a;该类脚本可检测检査目标系统上的安全毛病。在Kali Linux系统中,Nmap脚本位于目录/usr/share/nmap/scripts。-sC 或--script=
- ;default࿱
- a;启动默认类NSE 脚本。--script <filename>|<category>|<directories>࿱
- a;根据指定的文件名、类别名、目录名,执行 相应的脚本。--script-args <args>࿱
- a;这个选项用于给脚本指定参数。例如,在利用认证类脚本时,可通过 这个选项指定用户名和暗码
复制代码 |
| - nmap --script http-enum,http-headers,http-methods,http-php-version -p 80 1
- 92.1
- 68.56.1
- 03
复制代码 |
规避检测的选项
在渗透测试的工作中,目标主机通常处于防火墙或 IDS 系统的掩护之中。在这种情况中利用 Nmap 的默认选项进行扫描,不仅会被发现,而且往往一无所获。此时,我们就要利用Nmap 规避检测的有关选项。
| - -f(利用小数据包)࿱
- a;这个选项可制止对方辨认出我们探测的数据包。指定这个选项之后, Nmap将利用8字节乃至更小数据体的数据包。--mtu࿱
- a;这个选项用来调解数据包的包大小。MTU(Maximum Transmission Unit,最大传输 单元)必须是8的整数倍,否则Nmap将报错。-D(诱饵)࿱
- a;这个选项应指定假 IP,即诱饵的 IP。启用这个选项之后,Nmap 在发送侦测 数据包的时候会掺杂一些源地点是假IP(诱饵)的数据包。这种功能意在以藏木于林的方法 掩饰本机的真实 IP。也就是说,对方的log还会记录下本机的真实IP。您可利用RND天生随机 的假IP地点,大概用RND࿱
- a;number的参数天生<number>个假IP地点。您所指定的诱饵主机 应当在线,否则很容易击溃目标主机。别的,利用了过多的诱饵可能造成网络拥堵。尤其是 在扫描客户的网络的时候,您应当极力制止上述情况。Kali Linux 渗透测试的艺术(中文版)1
- 51
- 第 6章 服务枚举--source-port <portnumber>或-g(模拟源端口)࿱
- a;如果防火墙只允许某些源端口的入站流 量,这个选项就非常有用。--data-length࿱
- a;这个选项用于改变Nmap 发送数据包的默认数据长度,以制止被辨认出来是 Nmap的扫描数据。--max-parallelism࿱
- a;这个选项可限制Nmap 并发扫描的最大连接数。--scan-delay <time>࿱
- a;这个选项用于控制发送探测数据的时间隔断,以制止达到IDS/IPS端 口扫描规则的阈值。
复制代码 |
黑客&网络安全工程师企业级学习路线
如图片过大被平台压缩导致看不清的话,点击**CSDN大礼包࿱
a;《黑客&网络安全入门&进阶学习资源包》免费分享**
[img]https://img-blog.csdnimg.cn/7929e1
e9c7594fb48dcc72b5a48bf4f0.png[/img]
视频配套资料&国内外网安册本、文档&工具
固然除了有配套的视频,同时也为各人整理了各种文档和册本资料&工具,而且已经帮各人分好类了。
[img]https://img-blog.csdnimg.cn/69ab0c080ea94332b51
bd55d6afec28f.png[/img]
一些我自己买的、其他平台白嫖不到的视频教程࿱
a;
[img]https://img-blog.csdnimg.cn/95c51
a2db203495cacd852a94dbe081
4.png[/img]
必要的话可以点击**CSDN大礼包࿱
a;《黑客&网络安全入门&进阶学习资源包》免费分享**
结语
网络安全财产就像一个江湖,各色人等聚集。相对于欧美国家底子扎实(懂加密、会防护、能挖洞、擅工程)的众多王谢正派,我国的人才更多的属于旁门左道(许多白帽子可能会不服气),因此在未来的人才造就和创建上,必要调解结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、创建”,才气解人才之渴,真正的为社会全面互联网化提供安全保障。
特殊声明࿱
a;
此教程为纯技术分享!
;本文的目的决不是为那些怀有不良动机的人提供及技术支持!
;也不承担因为技术被滥用所产生的连带责任!
;本文的目的在于最大限度地唤醒各人对网络安全的重视,并采取相应的安全步伐,从而淘汰由网络安全而带来的经济丧失。!
;!
;!
;
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao1
2
3
.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) |
Powered by Discuz! X3.4 |