2024年最新Nmap超详细使用指南(1),字节跳动HarmonyOS鸿蒙三面凉凉

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

初识Nmap

Nmap是被专业人员广泛使用的一款功能全面的端口扫描工具。它由Fyodor编写并维护。由 于Nmap品质卓越,使用灵活,它已经是渗透测试人员必备的工具。

除了端口扫描外,Nmap还具备如下功能:

1
2
3
4
5
6
7
8
9

|

主机探测:Nmap可査找目标网络中的在线主机。默认情况下,Nmap通过4种方式—— ICMP echo请求(ping)、向443端口发送TCP	SYN	包、向80端口发送TCP ACK包和ICMP 时间戳请求——发现目标主机。

服务/版本检测:在发现开放端口后,Nmap可进一步检查目标主机的检测服务协议、应用 程序名称、版本号等信息。

操作系统检测:Nmap	向远程主机发送一系列数据包,并能够将远程主机的响应与操作系统 指纹数据库进行比较。如果发现了匹配结果,它就会显示匹配的操作系统。它确实可能无法 识别目标主机的操作系统;在这种情况下,如果您知道目标系统上使用的何种操作系统,可 在它提供的	URL	里提交有关信息,更新它的操作系统指纹数据库。

网络路由跟踪:它通过多种协议访问目标主机的不同端口,以尽可能访问目标主机。Nmap 路由跟踪功能从TTL的高值开始测试,逐步递减TTL,直到它到零为止。

Nmap脚本引擎:这个功能扩充了Nmap的用途。如果您要使用Nmap实现它(在默认情况 下)没有的检测功能,可利用它的脚本引擎手写一个检测脚本。目前,Nmap可检査网络服务 的漏洞,还可以枚举目标系统的资源。

|

安装Nmap

nmap的安装很简单,Windows的话直接去官网下载安装包直接安装就行了->下载链接

kali已经自带了nmap,centos如果没有安装的话,yum install nmap就直接安装了

入门Nmap

刚开始使用的时候可能会因为信息量太大无从下手,最简单的使用就是nmap your-ip(域名) 就可以扫描出其对外开放的服务。

1
2
3
4
5
6
7
8
9
10
11

|

root@kali:~# nmap 192.168.31.13
Starting Nmap 7.70 ( https://nmap.org ) at 2018-08-12 23:02 CST
Nmap scan report for 192.168.31.13
Host is up (0.00038s latency).
Not shown: 998 closed ports
PORT      STATE SERVICE
8080/tcp  open  http-proxy
10010/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端口和10010端口

nmap -p 端口 IP(域名),判断ip是否开放指定端口

1
2
3
4
5
6
7
8
9
10

|

root@kali:~# nmap -p 8080 192.168.31.13
Starting Nmap 7.70 ( https://nmap.org ) at 2018-08-12 23:05 CST
Nmap scan report for 192.168.31.13
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

|

1
2
3
4
5
6
7
8
9
10

|

root@kali:~# nmap -p 80 192.168.31.13
Starting Nmap 7.70 ( https://nmap.org ) at 2018-08-12 23:05 CST
Nmap scan report for 192.168.31.13
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端口没有开放

也可以增加端口和网段 :

1
2
3

|

nmap  -p 22,21,80 192.168.31.13

nmap  -p 22,21,80 192.168.31.1-253

|

nmap 192.168.31.1/24 扫描整个子网的端口 ,这个过程可能会比较久

进阶Nmap

在继续讲之前,先介绍一下Nmap可以识别出的6种端口状态

1
2
3
4
5
6
7
8
9
10
11

|

开放:工作于开放端口的服务器端的应用程序可以受理TCP	连接、接收UDP数据包或者响 应SCTP(流控制传输协议)请求。

关闭:虽然我们确实可以访问有关的端口,但是没有应用程序工作于该端口上。

过滤:Nmap	不能确定该端口是否开放。包过滤设备屏蔽了我们向目标发送的探测包。

未过滤:虽然可以访问到指定端口,但Nmap不能确定该端口是否处于开放状态。

打开|过滤:Nmap认为指定端口处于开放状态或过滤状态,但是不能确定处于两者之中的 哪种状态。在遇到没有响应的开放端口时,Nmap会作出这种判断。这可以是由于防火墙丢 弃数据包造成的。

关闭|过滤:Nmap	认为指定端口处于关闭状态或过滤状态,但是不能确定处于两者之中的 哪种状态。

|

常用选项

1.服务版本识别(-sV),Nmap可以在进行端口扫描的时候检测服务端软件的版本信息。版本信息将使后续的漏 洞识别工作更有针对性。

1
2
3
4
5
6
7
8
9
10
11

|

root@kali:~# nmap -sV 192.168.31.13 -p 8080
Starting Nmap 7.70 ( https://nmap.org ) at 2018-08-13 00:02 CST
Nmap scan report for 192.168.31.13
Host is up (0.00076s latency).

PORT     STATE SERVICE VERSION
8080/tcp open  http    Apache Tomcat 8.5.14
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 12.75 seconds

|

2.操作系统检测(-O),Nmap还能识别目标主机的操作系统。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

|

root@kali:~# nmap -O 192.168.31.13 
Starting Nmap 7.70 ( https://nmap.org ) at 2018-08-13 00:03 CST
Nmap scan report for 192.168.31.13
Host is up (0.00072s latency).
Not shown: 998 closed ports
PORT      STATE SERVICE
8080/tcp  open  http-proxy
10010/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);
操作系统识别(-O);
脚本扫描(-sC);
Traceroute(–traceroute)。

TCP扫描选项

1.TCP连接扫描(-sT):指定这个选项后,程序将和目标主机的每个端口都进行完整的三次 握手。如果成功建立连接,则判定该端口是开放端口。由于在检测每个端口时都需要进行三 次握手,所以这种扫描方式比较慢,而且扫描行为很可能被目标主机记录下来。如果启动 Nmap的用户的权限不足,那么默认情况下Nmap程序将以这种模式进行扫描。

2.SYN扫描(-sS):该选项也称为半开连接或者SYN stealth。采用该选项后,Nmap将使用 含有SYN标志位的数据包进行端口探测。如果目标主机回复了SYN/ACK包,则说明该端口处 于开放状态:如果回复的是RST/ACK包,则说明这个端口处于关闭状态;如果没有任何响应 或者发送了ICMP unreachable信息,则可认为这个端口被屏蔽了。SYN模式的扫描速度非常 好。而且由于这种模式不会进行三次握手,所以是一种十分隐蔽的扫描方式。如果启动Nmap 的用户有高级别权限,那么在默认情况下Nmap程序将以这种模式进行扫描。

3.TCP NULL(-sN)、FIN(-sF)及XMAS(-sX)扫描:NULL 扫描不设置任何控制位;FIN扫描仅设置FIN标志位:XMAS扫描设置FIN、PSH和URG的标识位。如果目标主机返回 了含有RST标识位的响应数据,则说明该端口处于关闭状态;如果目标主机没有任何回应, 则该端口处于打开|过滤状态。

4.TCP Maimon扫描(-sM):Uriel Maimon 首先发现了TCP Maimom扫描方式。这种模式的 探测数据包含有FIN/ACK标识。对于BSD衍生出来的各种操作系统来说,如果被测端口处于 开放状态,主机将会丢弃这种探测数据包;如果被测端口处于关闭状态,那么主机将会回复 RST。

5.TCPACK扫描(-sA):这种扫描模式可以检测目标系统是否采用了数据包状态监测技术 (stateful)防火墙,并能确定哪些端口被防火墙屏蔽。这种类型的数据包只有一个ACK标识 位。如果目标主机的回复中含有RST标识,则说明目标主机没有被过滤。

6.TCP窗口扫描(-sW):这种扫描方式检测目标返回的RST数据包的TCP窗口字段。如果目 标端口处于开放状态,这个字段的值将是正值;否则它的值应当是0。

7.TCP Idle扫描(-sI):采用这种技术后,您将通过指定的僵尸主机发送扫描数据包。本机 并不与目标主机直接通信。如果对方网络里有IDS,IDS将认为发起扫描的主机是僵尸主机。

UDP扫描选项

Nmap有多种TCP扫描方式,而UDP扫描仅有一种扫描方式(-sU)。虽然UDP扫描结果没有 TCP扫描结果的可靠度高,但渗透测试人员不能因此而轻视UDP扫描,毕竟UDP端口代表着 可能会有价值的服务端程序。但是UDP扫描的最大问题是性能问题。由干Linux内核限制1秒内最多发送一次ICMP Port Unreachable信息。按照这个速度,对一台主机的65536个UDP端口进行完整扫描,总耗时必 定会超过18个小时。

优化方法主要是:

1
2
3
4

|

1.进行并发的UDP扫描;
2.优先扫描常用端口;
3.在防火墙后面扫描;
4.启用--host-timeout选项以跳过响应过慢的主机。

|

假如我们需要找到目标主机开放了哪些 UDP端口。为提高扫描速度,我们仅扫描 53端口 (DNS)和161端口(SNMP)。

可以使用命令nmap -sU 192.168.56.103 -p 53,161

目标端口选项

默认情况下,Nmap将从每个协议的常用端口中随机选择1000个端口进行扫描。其nmapservices文件对端口的命中率进行了排名。

可以自定义端口参数:

1
2
3
4
5
6
7

|

-p端口范围:只扫描指定的端口。扫描1〜1024号端口,可设定该选项为–p	1-1024。扫描1 〜65535端口时,可使用-p-选项。

-F(快速扫描):将仅扫描100	个常用端口。

-r(顺序扫描):指定这个选项后,程序将从按照从小到大的顺序扫描端口。●	-

-top-ports <1 or=""	greater="">:扫描nmap-services	里排名前N的端口。


![img](https://img-blog.csdnimg.cn/img_convert/6d9bf4d354d617bfa49221203e4135e4.png)
![img](https://img-blog.csdnimg.cn/img_convert/d7704eae3c7461a62bac55737b03ad24.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618636735)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

-p-选项。

-F(快速扫描):将仅扫描100	个常用端口。

-r(顺序扫描):指定这个选项后,程序将从按照从小到大的顺序扫描端口。●	-

-top-ports <1 or=""	greater="">:扫描nmap-services	里排名前N的端口。


[外链图片转存中...(img-BPbgBd2u-1715708251090)]
[外链图片转存中...(img-ia47yqpu-1715708251091)]

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618636735)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 19
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: nmap 是一款功能强大的网络扫描和主机探测工具。它可以帮助用户探测网络内的设备,分析网络拓扑结构,查找开放的端口以及运行在这些端口上的服务,甚至还可以尝试确定操作系统类型。 下面是几个常用的 nmap 命令的使用方法: - 扫描整个网段的主机和端口:`nmap 192.168.1.0/24` - 扫描指定 IP 地址的主机的所有端口:`nmap 192.168.1.100` - 扫描指定 IP 地址的主机的指定端口:`nmap 192.168.1.100 -p 80,443` - 指定扫描类型:`nmap -sS 192.168.1.100` - 隐藏自己的 IP 地址:`nmap --anonymous 192.168.1.100` 这只是 nmap 的一部分功能,它还有很多其他用法。如果你想了解更多信息,可以使用 `man nmap` 或者在网上搜索 nmap 文档来获取帮助。 ### 回答2: Nmap是一种常用的网络扫描工具,用于侦测网络上的设备和服务。它可以通过发送特定的网络包来判断目标主机的开放或关闭的端口、操作系统类型和版本等信息。以下是Nmap命令的详细使用方法的举例说明: 1. 扫描单个主机: 命令:nmap 192.168.0.1 说明:该命令扫描192.168.0.1主机的所有开放端口,并显示对应的服务和状态。 2. 扫描多个主机: 命令:nmap 192.168.0.1 192.168.0.2 192.168.0.3 说明:该命令同时扫描3个主机的开放端口信息,并显示结果。 3. 扫描指定端口范围: 命令:nmap -p 1-100 192.168.0.1 说明:该命令只扫描192.168.0.1主机的1至100号端口。 4. 扫描常用的TCP端口: 命令:nmap -p T:21-25 192.168.0.1 说明:该命令扫描FTP(21)、SSH(22)、Telnet(23)、SMTP(25)端口。 5. 扫描指定端口类型: 命令:nmap -p U:53,137,T:21-25 192.168.0.1 说明:该命令扫描192.168.0.1主机的UDP 53号和137号端口,以及TCP 21至25号端口。 6. 扫描操作系统类型和版本信息: 命令:nmap -O 192.168.0.1 说明:该命令尝试识别192.168.0.1主机的操作系统类型和版本。 7. 扫描服务和版本信息: 命令:nmap -sV 192.168.0.1 说明:该命令扫描192.168.0.1主机的开放端口,并尝试获取对应服务的版本信息。 总结:以上是Nmap命令详细使用方法的举例说明,通过这些命令可以实现对单个主机或多个主机的端口扫描、识别操作系统类型和版本、获取服务和版本信息等操作。这些信息对于系统管理员和网络安全人员来说非常重要,可以帮助他们评估网络的安全性,及时发现潜在的漏洞和风险。 ### 回答3: Nmap命令是一款开源的网络扫描工具,用于探测网络上的主机和服务状态。它可以帮助我们检测网络中存在的漏洞和脆弱性,以及评估网络安全性。 Nmap的使用方法如下所示: 1. 扫描主机:使用以下命令扫描指定IP地址的主机。 `nmap 192.168.0.1` 这将扫描IP地址为192.168.0.1的主机。 2. 扫描多个主机:使用以下命令扫描指定范围内的多个IP地址。 `nmap 192.168.0.1-10` 这将扫描192.168.0.1到192.168.0.10范围内的所有主机。 3. OS识别:使用以下命令探测目标主机的操作系统。 `nmap -O 192.168.0.1` 这将使用TCP/IP堆栈特征对192.168.0.1进行操作系统识别。 4. 端口扫描:使用以下命令扫描指定主机的开放端口。 `nmap -p 1-1000 192.168.0.1` 这将扫描192.168.0.1主机的1到1000范围内的所有端口状态。 5. 服务和版本探测:使用以下命令扫描指定主机的开放端口,并尝试确定运行在这些端口上的服务和版本信息。 `nmap -sV 192.168.0.1` 这将扫描192.168.0.1主机,并尝试识别运行在开放端口上的服务和版本信息。 6. 脚本扫描:使用以下命令运行Nmap脚本来扩展扫描功能。 `nmap --script smb-os-discovery.nse 192.168.0.1` 这将运行smb-os-discovery脚本来探测指定主机的SMB服务。 使用Nmap命令,我们可以进行各种网络扫描操作。但请注意,在使用Nmap进行网络扫描时,应遵守网络安全和法律法规的规定,确保只在合法授权的范围内进行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值