概述
Nmap 代表 Network Mapper,它是一个免费的开源网络发现和侦察工具,用于发现主机和收集有关主机的详细信息。nmap 是用 C,C ++ 和 Python 编写的,最初于 1997 年 9 月发布,已经成为网络安全和数字取证专业人士不可或缺的工具,依靠它们可以揭示有关目标主机和发掘潜在漏洞的详细信息。Nmap 揭示了诸如网络上的活动主机,打开的端口,操作系统和服务检测以及执行隐形扫描等信息。
1.扫描单个主机
nmap <ip地址>
示例
nmap 155.99.199.199
Starting Nmap 6.40 ( http://nmap.org ) at 2020-12-29 10:16 CST
Nmap scan report for 155.99.199.199.static.quadranet.com (155.99.199.199)
Host is up (0.017s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
873/tcp open rsync
3306/tcp open mysql
可以指定域名,而不是指定 IP 地址
nmap <域名>
2.扫描多台主机
可以在一行中指定多个 IP 地址或域,并用空格隔开
nmap <ip1> <ip2>
指定 IP 地址范围
nmap 192.168.2.1-100
3.扫描子网
nmap 192.168.2.*
nmap 192.168.2.0/24
要优化扫描并仅发现子网中的活动主机,请使用-sP 选项
nmap -sP 192.168.2.*
4.通过 -v
选项获取更多信息
nmap -v <ip>
5.扫描中排除主机
nmap 192.168.2.0/24 --exclude 192.168.2.20
要从 Nmap 扫描中排除多个主机,请在文件中指定要排除的主机,然后将命令链接到该文件
nmap 192.168.2.* --excludefile exclude.txt
上面的命令排除了 exclude.txt 文件中包含的所有主机
6.执行快速扫描
-F
选项来使用 nmap 进行更快的扫描
nmap -F <ip>
7. 扫描网络中的活动主机
这更像是 ping 扫描。它检测子网中的活动主机。要扫描活动主机,请传递-sn 选项,后跟 IP 地址和子网
nmap -sn 192.168.2.0/24
8.扫描文件中包含的主机
如果您有一个分段的网络,尤其是具有 VLAN 的分段网络,则可能主机位于不同的子网中。扫描它们的一种简单方法是在文本文件中定义它们的 IP 地址,然后使用 -iL
选项将该文件作为参数传递
nmap iL hosts.txt
主机文件的示例
cat hosts.txt
192.168.2.100
192.168.2.102
192.168.20.5-50
9.执行扫描以检测防火墙
防火墙检测在执行漏洞测试或道德黑客攻击时特别有用。它使系统管理员可以知道是否启用了目标主机的防火墙。要了解防火墙的状态,请使用 -sA
nmap -sA 192.168.2.1
这将启动 ACK 扫描,以检查数据包是否可以未经过滤通过。使用 -n
标志可防止目标主机上的 DNS 反向解析。
10.执行 OS 检测
Nmap 还可以提供有关目标系统的 OS 或操作系统以及版本检测的见解。对于 OS 检测,请如图所示传递 -O
选项。我们将扫描 Linux 系统上托管的云 VPS,看看 nmap 给我们带来了什么。
nmap -O 176.113.66.112
Nmap 会尽最大努力来识别操作系统及其版本,但是,结果可能并不总是代表准确的结果
11.执行端口扫描
nmap 工具上的基本任务之一是扫描主机系统上的端口。您可以切入程序并使用 -p
标志后跟端口号指定要扫描的端口
nmap -p 80 <ip>
另外,您可以通过使用逗号分隔多个端口来扫描多个端口
nmap -p 80,443 192.168.2.1
还可以通过用连字符分隔端口来定义要扫描的端口范围。
nmap -p 80-443 192.168.2.1
12.扫描 TCP / UDP 端口
可以缩小到扫描 TCP 或 UDP 端口。要扫描 TCP 端口,请使用 -sT
选项
nmap -sT 176.113.68.112
对于特定的 TCP 端口(例如端口 80)
nmap -p T:80 176.113.68.112
对于 UDP 端口,请使用 -sU
选项
nmap -sU 176.113.68.112
对于特定的 UDP 端口,例如端口 69
nmap -p U:69 176.113.68.112
13.收集系统服务版本和端口信息
扫描可能的漏洞时,检测正在运行的服务及其版本以及它们正在侦听的端口至关重要。这使您知道攻击者可以利用哪些服务来破坏您的系统。有关服务和端口版本的知识使您可以决定是将服务更新为最新版本还是完全卸载它们。
要收集服务和端口信息,请使用 -sV
标志
nmap -sV 176.113.68.112
14.执行隐形扫描
nmap 扫描通常会有“噪音”,并留下痕迹,这些痕迹可以由功能强大的 IDS(入侵检测系统)进行标记,并最终可以追溯到您。要保持匿名,可以使用 -sS
选项执行隐形扫描 。
nmap -sS 176.113.68.112
15.确定支持的 IP 协议
可以使用 -sO
标志检索有关目标系统支持的协议(ICMP,TCP,UDP 等)的信息
nmap -sO 176.113.68.112
16.执行主动扫描
使用 -A
选项时,nmap 会给出非常详细的扫描结果,包括打开的端口和正在运行的服务的版本,操作系统检测,甚至执行目标主机的跟踪路由。
nmap -A 176.113.68.112
17.将 nmap 输出保存到文件
默认情况下,nmap 在终端上打印出扫描结果。但是,如果您需要将结果保存在文本文件中以便在方便时进行更多分析,则可以使用所示的重定向操作符
nmap 176.113.68.112> scanme.txt
此外,您可以传递-oN 选项,然后传递输出文件和主机。
nmap -oN scanme.txt scanme.nmap.org
18.nmap 打印出主机接口和路由
有时,您可能会发现需要找到主机系统的接口和路由以进行调试。可以通过传递 –iflist
选项轻松实现
nmap --iflist
19.获得有关 nmap 的帮助
要满足您对其他 nmap 选项的好奇心,请使用 -h
标志。这与获得 nmap 命令的帮助同义。
nmap -h
20.检查 nmap 版本
要检查您正在使用的 nmap 版本,请运行以下命令
nmap -v
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于