Nmap使用教程图文教程(超详细)

Nmap使用教程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fOLOFnZ4-1687137500538)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230618104248167.png)]

kali的命令行中可以直接使用 nmap 命令,打开一个「终端」,输入 nmap 后回车,可以看到 nmap 的版本,证明 nmap 可用。

在这里插入图片描述

Nmap有四种基本功能:「端口扫描」、「主机探测」、「服务识别」和「系统识别」。

一、端口扫描

扫描主机的「开放端口」,在nmap后面直接跟主机IP(默认扫描1000个端口)

nmap 192.168.31.180

在这里插入图片描述
从上图可以看到:它用1.58秒扫描了1000个端口,其中991个端口关闭,结果中列出的9个端口就是开放的端口。

1. 指定端口

扫描「指定端口」,使用 -p 参数,可以一次扫描单个端口、多个端口、或扫描一个范围的端口

nmap 192.168.31.180 -p 80
nmap 192.168.31.180 -p 1-80
nmap 192.168.31.180 -p 80,3389,22,21
nmap 192.168.31.180 -p 1-65535
nmap 192.168.31.180 -p-		# -p- 等价于 -p 1-65535

在这里插入图片描述

2. 指定扫描方式

我们通过kali中的「wireshark」抓包分析不同扫描方式的请求信息,从而判断这些方式的区别。

点开kali的左上角,输入 wireshark 单击打开,选择抓包的网卡(我这里是 eth0 )。

在这里插入图片描述

输入过滤条件ip.addr == 192.168.31.180 and tcp.port == 80后,点击箭头应用。

在这里插入图片描述
这个过滤条件的意思是:过滤IP地址是 192.168.31.180 并且 端口是 TCP的80端口。

设置完过滤条件后,我们在命令行执行扫描命令,然后查看「wireshark」中的请求包。

2.1 TCP全连接扫描

使用 -sT 参数进行TCP全连接扫描。

「全连接扫描」使用完整的三次握手建立链接,能够建立链接就判定端口开放,否则判定端口关闭。

nmap 192.168.31.180 -p 80 -sT

1)如果端口开放,就会进行完整的三次握手,成功建立链接,扫描结果中,STATE字段显示为 open 。

在这里插入图片描述

2)如果端口关闭,就只能进行一次握手,无法建立链接,扫描结果中,STATE字段显示为 closed。

在这里插入图片描述

2.2 SYN半链接扫描

使用 -sS 参数进行SYN半链接扫描。

「半链接扫描」只进行两次握手,对方返回确认帧(ACK=1)就判定端口开放,否则判定端口关闭。

nmap 192.168.31.180 -p 80 -sS

1)如果端口开放,就会进行两次握手,扫描结果中,STATE字段为 open 。

在这里插入图片描述

2)如果端口关闭,就只有一次握手,扫描结果中,STATE字段为 closed。

在这里插入图片描述

2.3 隐秘扫描

隐秘扫描,只适用于Linux系统。

「隐秘扫描」向目标主机的端口发送TCP FIN包 或 Xmas tree包 或 Null包,如果收到RST响应包,就判定端口关闭,否则就判定端口开放或被屏蔽(open/filtered)

nmap 127.0.0.1 -p 80 -sF	# Fin扫描
nmap 127.0.0.1 -p 80 -sN	# Null扫描(所有flags都为0的TCP包)
nmap 127.0.0.1 -p 80 -sX	# Xmas扫描(flags的FIN、URG、PUSH都为1的包)

二、主机探测

扫描网段中有哪些主机在线,使用 -sP 参数,不扫描端口,只扫描「存活主机」。

本质上是Ping扫描,能Ping通有回包,就判定主机在线。

nmap -sP 192.168.31.0/24

在这里插入图片描述
从上图可以看到:它用2秒扫描了这个网段的256个IP,其中有3个存活主机,效率还是蛮不错的。

三、服务识别

扫描端口时,默认显示端口对应的服务,但不显示服务版本。

想要识别具体的「服务版本」,可以使用 -sV 参数。

nmap 192.168.31.180 -p 80 -sV

在这里插入图片描述
扫描结果中,VERSION字段显示服务的详细版本。

四、系统识别

想要识别「操作系统版本」,可以使用 -O 参数。

nmap 192.168.31.180 -p 80 -O

在这里插入图片描述
提示:

  1. Nmap扫描出的系统版本并完全准确,仅供参考。
  2. 当识别不出具体版本时,Nmap会以概率的形式列举出可能的操作系统,如上图所示。

五、扫描结果导出

Nmap的扫描结果可以保存到文件中,比如文本格式、XML格式。

1)将扫描结果导出为「文本格式」,结果原样保存。

nmap 192.168.31.180 -p 80 -oN result.txt

在这里插入图片描述

2)将扫描结果导出为「xml格式」,结果的保存格式会发生变化。

nmap 192.168.31.180 -p 80 -oX result.xml

在这里插入图片描述

学习计划安排


我一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣~

这里我整合并且整理成了一份【282G】的网络安全从零基础入门到进阶资料包,需要的小伙伴可以扫描下方优快云官方合作二维码免费领取哦,无偿分享!!!

如果你对网络安全入门感兴趣,那么你需要的话可以

点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

①网络安全学习路线
②上百份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥HW护网行动经验总结
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析

nmap是一个强大的网络扫描和安全审核工具,它可以用来发现网络上的设备,以及这些设备上开放的端口和提供的服务等信息。下面是nmap的一个基础使用教程: 1. 安装nmap - 在Windows上,可以访问nmap官网下载安装包,然后运行安装程序。 - 在Linux上,可以通过包管理器安装。例如,在Ubuntu上可以使用命令`sudo apt-get install nmap`进行安装。 - 在macOS上,同样可以通过包管理器Homebrew安装,使用命令`brew install nmap`。 2. 扫描单个IP地址 - 打开命令行工具。 - 输入命令`nmap [目标IP地址]`。 - 例如,`nmap 192.168.1.1`将会扫描IP地址为192.168.1.1的设备。 3. 扫描整个子网 - 如果想要扫描一个子网,可以在nmap命令后面跟上子网的网络地址和子网掩码。 - 例如,`nmap 192.168.1.0/24`将会扫描192.168.1.0到192.168.1.255的整个子网。 4. 扫描端口 - 使用`-p`参数指定要扫描的端口号。 - 例如,`nmap -p 80,443 192.168.1.1`将会扫描目标IP地址的80和443端口。 5. 扫描服务和版本信息 - 使用`-sV`参数可以获取服务和版本信息。 - 例如,`nmap -O`参数可以让nmap尝试检测目标设备的操作系统类型。 - 例如,`nmap -O 192.168.1.1`将会扫描目标设备并尝试确定其操作系统类型。 请注意,扫描网络设备可能涉及到隐私和法律问题。在没有授权的情况下对网络进行扫描是不合法的。确保你对扫描的目标拥有合法的访问权限。 由于无法提供实际的图文教程,建议通过网络搜索“nmap使用教程”来获取图文并茂的指导资料。此外,nmap的官方网站也提供了详细的文档和教程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值