[工具使用] 常用的渗透测试工具 ——Nmap (安装教程&入门教程)

289 0
Honkers 2025-3-6 06:06:12 | 显示全部楼层 |阅读模式

1.Nmap详解

Nmap(Network Mapper,网络映射器)是一款开放源代码的网络探测和安全审核工具。它被设计用来快速扫描大型网络,包括主机探测与发现、开放的端口情况、操作系统与应用服务指纹识别、WAF识别及常见安全漏洞。它的图形化界面是Zenmap,分布式框架为DNmap。

Nmap的特点如下所示:

● 主机探测:探测网络上的主机,如列出响应TCP和ICMP请求、ICMP请求、开放特别端口的主机。

● 端口扫描:探测目标主机所开放的端口。

● 版本检测:探测目标主机的网络服务,判断其服务名称及版本号。

● 系统检测:探测目标主机的操作系统及网络设备的硬件特性。

● 支持探测脚本的编写:使用Nmap的脚本引擎(NSE)和Lua编程语言。

2.安装Nmap

Nmap的下载地址为https://nmap.org/download.html,本节下载的版本是7.40。读者在安装的过程中按照提示一步步安装即可,如下图所示:

3.Nmap入门

3.1 扫描参数

进入安装目录后,在命令行直接执行Nmap或查看帮助文档(输入nmap–help)将显示Namp的用法及其功能,如下图所示:

在讲解具体的使用方法前,先介绍一下Nmap的相关参数的含义与用法。 首先介绍设置扫描目标时用到的相关参数,如下所示:

  1. ● -iL:从文件中导入目标主机或目标网段。
  2. ● -iR:随机选择目标主机。
  3. ● --exclude:后面跟的主机或网段将不在扫描范围内。
  4. ● --excludefile:导入文件中的主机或网段将不在扫描范围中。
  5. 与主机发现方法相关的参数如下。
  6. ● -sL:List Scan(列表扫描),仅列举指定目标的IP,不进行主机发现。
  7. ● -sn:Ping Scan,只进行主机发现,不进行端口扫描。
  8. ● -Pn:将所有指定的主机视作已开启,跳过主机发现的过程。
  9. ● -PS/PA/PU/PY[portlist]:使用TCP SYN/ACK或SCTP INIT/ECHO方式来发现。
  10. ● -PE/PP/PM:使用ICMP echo、timestamp、netmask请求包发现主机。
  11. ● -PO[protocollist]:使用IP协议包探测对方主机是否开启。
  12. ● -n/-R:-n表示不进行DNS解析;-R表示总是进行DNS解析。
  13. ● --dns-servers<serv1[, serv2], ...>:指定DNS服务器。
  14. ● --system-dns:指定使用系统的DNS服务器。
  15. ● --traceroute:追踪每个路由节点。
  16. 与常见的端口扫描方法相关的参数如下。
  17. ● -sS/sT/sA/sW/sM:指定使用TCP SYN/Connect()/ACK/Window/Maimon scans的方式对目标主机进行扫描。
  18. ● -sU:指定使用UDP扫描的方式确定目标主机的UDP端口状况。
  19. ● -sN/sF/sX:指定使用TCP Null/FIN/Xmas scans秘密扫描的方式协助探测对方的TCP端口状态。
  20. ● --scanflags<flags>:定制TCP包的flags。
  21. ● -sI<zombie host[:probeport]>:指定使用Idle scan的方式扫描目标主机(前提是需要找到合适的zombie host)。
  22. ● -sY/sZ:使用SCTP INIT/COOKIE-ECHO扫描SCTP协议端口的开放情况。
  23. ● -sO:使用IP protocol扫描确定目标机支持的协议类型。
  24. ● -b<FTP relay host>:使用FTP bounce scan扫描方式。
  25. 跟端口参数与扫描顺序的设置相关的参数如下。
  26. ● -p<port ranges>:扫描指定的端口。
  27. ● -F:Fast mode(快速模式),仅扫描TOP 100的端口。
  28. ● -r:不进行端口随机打乱的操作(如无该参数,Nmap会将要扫描的端口以随机顺序的方式进行扫描,让Nmap的扫描不易被对方防火墙检测到)。
  29. ● --top-ports<number>:扫描开放概率最高的number个端口(Nmap的作者曾做过大规模的互联网扫描,以此统计网络上各种端口可能开放的概率,并排列出最有可能开放端口的列表,具体可以参见nmap-services文件。默认情况下,Nmap会扫描最有可能的1000个TCP端口)。
  30. ● --port-ratio<ratio>:扫描指定频率以上的端口。与上述--top-ports类似,这里以概率作为参数,概率大于--port-ratio的端口才被扫描。显然参数必须在0~1之间,想了解具体的概率范围可以查看nmap-services文件。
  31. 与版本侦测相关的参数如下所示。
  32. ● -sV:指定让Nmap进行版本侦测。
  33. ● --version-intensity<level>:指定版本侦测的强度(0~9),默认为7。数值越高,探测出的服务越准确,但是运行时间会比较长。
  34. ● --version-light:指定使用轻量级侦测方式(intensity 2)。
  35. ● --version-all:尝试使用所有的probes进行侦测(intensity 9)。
  36. ● --version-trace:显示出详细的版本侦测过程信息。
  37. 在了解以上参数及其含义后,再来看用法会更好理解,扫描命令格式:Nmap+扫描参数+目标地址或网段。比如一次完整的Nmap扫描命令如下:
  38. nmap -T4 -A -v ip
复制代码

其中-A表示使用进攻性(Aggressive)方式扫描;-T4表示指定扫描过程使用的时序(Timing),共有6个级别(0~5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通信状况良好的情况下推荐使用T4。-v表示显示冗余(verbosity)信息,在扫描过程中显示扫描的细节,有助于让用户了解当前的扫描状态。

3.2 常用方法

Nmap的参数较多,但是通常用不了那么多,以下是在渗透测试过程中比较常见的命令。

1.扫描单个目标地址

在Nmap后面直接添加目标地址即可扫描,如下图所示:

  1. nmap 192.168.0.100
复制代码

2.扫描多个目标地址

如果目标地址不在同一网段,或在同一网段但不连续且数量不多,可以使用该方法进行扫描,如下图所示:

  1. nmap 192.168.0.100 192.168.0.105
复制代码

3.扫描一个范围内的目标地址

可以指定扫描一个连续的网段,中间使用“-”连接,例如,下列命令表示扫描范围为192.168.0.100~192.168.0.110,如下图所示:

  1. nmap 192.168.0.100-110
复制代码

4.扫描目标地址所在的某个网段

以C段为例,如果目标是一个网段,则可以通过添加子网掩码的方式扫描,下列命令表示扫描范围为192.168.0.1~192.168.0.255,如下图所示:

  1. nmap 192.168.0.100/24
复制代码

5.扫描主机列表targets.txt中的所有目标地址

扫描targets.txt中的地址或者网段,此处导入的是绝对路径,如果targets.txt文件与 nmap.exe在同一个目录下,则直接引用文件名即可,如下图所示:

  1. nmap -iL C:\Users\Aerfa\Desktop\targets.txt
复制代码

学习计划安排


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

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

如果你对网络安全入门感兴趣,

那么你需要的话可以点击这里网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Honkers

特级红客

关注
  • 3156
    主题
  • 36
    粉丝
  • 0
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行