Nmap命令使用教程:Nmap是什么?
Nmap 或 Network Mapper,是一种用于网络探索和安全审计的开源 Linux 命令行工具。使用 Nmap,服务器管理员可以快速揭示主机和服务、搜索安全问题并扫描开放端口。
Nmap 工具可以审计和发现本地和远程开放端口,以及网络信息和主机。
Linux如何使用Nmap命令?下面是一些Linux 中最有用的Nmap 命令以及详细的Nmap命令用法示例。
注意:如果你没有 Network Mapper,你可以按照我们关于如何在 Ubuntu 18.04 上安装 NMAP 的指南来安装该软件。
1. Nmap 命令扫描开放端口
Linux如何使用Nmap命令在扫描主机时,Nmap 命令可以使用服务器名称、IPV4 地址或 IPV6 地址。基本的 Nmap 命令将生成有关给定主机的信息。
nmap subdomain.server.com
没有标志,如上所述,Nmap 显示给定主机上的开放服务和端口。
nmap 192.168.0.1
Nmap 可以通过 IP 地址和域名显示开放的服务和端口。
nmap -F 192.168.0.1
如果你需要快速执行扫描,你可以使用“-F”标志。“-F”标志将列出nmap-services文件上的端口。因为 -F “快速扫描”标志不会扫描尽可能多的端口,所以它不是那么彻底。
2. 扫描多台主机
Nmap命令用法示例:Nmap 可以一次扫描多个位置,而不是一次扫描单个主机。这对于更广泛的网络基础设施很有用。有多种方法可以一次扫描多个位置,具体取决于你需要检查的位置数量。
nmap 192.168.0.1 192.168.0.2 192.168.0.3
连续添加多个域或多个IP地址,可以同时扫描多个主机。
nmap 192.168.0.*
使用 * 通配符一次扫描整个子网。
nmap 192.168.0.1,2,3
用逗号分隔不同的地址结尾,而不是输入整个 IP 地址。
nmap 192.168.0.1-4
使用连字符扫描 IP 地址范围。
3. 从搜索中排除主机
Nmap命令使用教程:扫描网络时,你可能希望选择整个组(例如整个子网),同时排除单个主机。
nmap 192.168.0.* --exclude 192.168.0.2
你可以使用 –exclude 标志从搜索中排除某些主机。
nmap 192.168.0.* --excludefile /file.txt
你还可以使用 –exclude 标志并链接到特定文件从搜索中排除主机列表。这是从搜索中排除多个主机的最简单方法。
4.扫描以查找操作系统信息
Linux如何使用Nmap命令?除了一般信息,Nmap 还可以提供操作系统检测、脚本扫描、traceroute 和版本检测。需要注意的是,Nmap 会尽最大努力识别操作系统和版本等信息,但它可能并不总是完全准确。
nmap -A 192.168.0.1
在你的 Nmap 命令中添加 -A 标志,你可以发现被映射的主机的操作系统信息。-A 标志可以与其他 Nmap 命令结合使用。
nmap -O 192.168.0.1
在 Nmap 命令上使用 -O 标志将显示映射主机的更多操作系统信息。-O 标志启用操作系统检测。其他标签包括 –osscan-limit 和 -osscan-guess。
“–osscan-limit”命令只会猜测简单的操作系统目标。“-osscan-guess”命令将更积极地猜测操作系统。同样,操作系统是根据某些特征进行检测的:不能确定信息是否准确。
5. 扫描检测防火墙设置
Nmap命令用法示例:检测防火墙设置在渗透测试和漏洞扫描期间很有用。可以使用多个函数来检测给定主机上的防火墙设置,但 -sA 标志是最常见的。
nmap -sA 192.168.0.1
使用 sA 标志会让你知道主机上的防火墙是否处于活动状态。这使用 ACK 扫描来接收信息。
注意:在我们的指南中了解有关渗透测试类型和方法以及渗透测试软件的更多信息。
6. 查找有关服务版本的信息
有时,你可能需要从开放端口检测服务和版本信息。这对于故障排除、扫描漏洞或定位需要更新的服务非常有用。
nmap -sV 192.168.0.1
这将为你提供有关给定主机上的服务的必要信息。
你可以使用0 到 9 之间的–version-intensity “级别”来确定此搜索的强度级别。如果扫描没有出现你通常期望的结果,你还可以使用–version-trace来显示扫描的更多详细信息。
7. Nmap命令使用教程:扫描端口
端口扫描是 Nmap 提供的基本实用程序之一,因此,可以通过多种方式自定义此命令。
nmap -p 443 192.168.0.1
使用“-p”标志后跟一个端口,你可以扫描有关主机上特定端口的信息。
nmap -p T:8888,443 192.168.0.1
通过在端口本身之前添加端口类型,你可以扫描有关特定类型连接的信息。
nmap -p 80,443 192.168.0.1
你可以使用 -p 标志扫描多个端口,方法是用逗号分隔它们。
nmap -p 80-443 192.168.0.1
你还可以通过使用连字符标记范围来使用 -p 标志扫描多个端口。要按顺序而不是随机扫描端口,请在命令中添加标志“-r”。
你还可以使用命令“ –top-ports ”后跟一个数字来查找最常见的端口,最多可达该数量。
8. 在隐形模式下完成扫描
如果需要完成隐身扫描,使用Nmap命令:
nmap -sS 192.168.0.1
使用“-sS”标志将启动 TCP SYN 的隐形扫描。“-sS”标志可以与其他类型的 Nmap 命令结合使用。但是,这种类型的扫描速度较慢,并且可能不像其他选项那样激进。
9. 识别主机名
Linux如何使用Nmap命令?有几种方法可以通过 Nmap 实现主机发现。其中最常见的是通过-sL。例如:
nmap -sL 192.168.0.1
“-sL”标志将查找给定主机的主机名,为每个主机完成 DNS 查询。此外,“-n”命令可用于跳过 DNS 解析,而“-R”命令可用于始终解析 DNS。“-Pn”标志将完全跳过主机发现,而不是将主机视为在线。
10. 从文件扫描
Nmap命令用法示例:如果你有很长的地址列表需要扫描,你可以直接通过命令行导入文件。
nmap -iL /file.txt
这将生成对给定 IP 地址的扫描。除了扫描这些 IP 地址之外,你还可以添加其他命令和标志。如果你经常需要参考一组主机,这将非常有用。
11. 使用 Verbose 获取更多信息
详细输出通常会为你提供有关命令的更多信息。有时这种输出是不必要的。但是,如果你正在调试一个特别棘手的情况或需要更多信息,你可以将给定的命令设置为详细模式。
nmap -v 192.168.0.1
“-v”标志将提供有关已完成扫描的附加信息。它可以添加到大多数命令中以提供更多信息。如果没有“-v”标志,Nmap 通常只会返回可用的关键信息。
12. 扫描 IPv6 地址
IPv6 变得越来越普遍,Nmap 支持它就像它支持域和旧 IP 地址一样。IPv6 适用于任何可用的 Nmap 命令。但是,需要一个标志来告诉 Nmap 正在引用 IPv6 地址。
nmap -6 ::ffff:c0a8:1
将 -6 命令与其他标志和命令一起使用以使用 IPv6 执行更复杂的 Nmap 功能。
13.扫描以查看哪些服务器处于活动状态
Nmap 最简单的功能之一是能够 ping 活动机器。“-sP”命令定位机器,确保机器响应,或识别网络中意外的机器。
nmap -sP 192.168.0.0/24
“-sP”命令将生成一个列表,列出哪些机器是活动的和可用的。
14. 查找主机接口、路由和数据包
Nmap命令使用教程:可能需要找到主机接口、打印接口和调试路由。
为此,请使用 iflist 命令:
nmap --iflist
“-iflist”命令将生成相关接口和路由的列表。
nmap --packet-trace
同样,“–packet-trace”将显示发送和接收的数据包,为调试提供类似的值。
15. 主动扫描和计时
有时你可能需要更积极地扫描或想要运行快速扫描。你可以通过使用计时机制来控制这一点。在 NMAP 中,时序控制扫描的速度和深度。
nmap -T5 192.168.0.1
主动扫描会更快,但也可能更具破坏性且不准确。还有其他选项,例如 T1、T2、T3 和 T4 扫描。对于大多数扫描,T3 和 T4 时间就足够了。
16. 寻求帮助
如果你对 Nmap 或任何给定命令有任何疑问,你可以使用标签来获取基于上下文的信息。
nmap -h
-h 标签将显示 Nmap 命令的帮助屏幕,包括提供有关可用标志的信息。
17. 在扫描时创建诱饵
Nmap命令用法示例:Nmap 还可用于创建诱饵,旨在欺骗防火墙。虽然诱饵可用于恶意目的,但它通常用于调试。
nmap -D 192.168.0.1,192.168.0.2,...
使用 -D 命令时,你可以跟随该命令并提供诱饵地址列表。这些诱饵地址也将显示为好像它们正在扫描网络,以混淆实际进行的扫描。
同样,可以使用诸如“–spoof-mac”之类的命令来欺骗 Nmap MAC 地址,以及使用命令“-S”来欺骗源地址。
Nmap命令使用教程总结
Linux如何使用Nmap命令?使用正确的 Nmap 命令,你可以快速找到有关端口、路由和防火墙的信息。
Nmap 有几个设置和标志供系统管理员探索。除了能够以隐身模式运行之外,还可以启动诱饵,并积极快速地扫描潜在漏洞。