主机发现
查找活动主机
主机发现 是 CoddyKit 上的免费 Ethical Hacking Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Ethical Hacking Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Ethical Hacking Academy 课程共包含 4 节课。
什么是主机发现
扫描端口之前,您需要知道哪些主机处于活动状态。主机发现(也称为 ping 扫描)可以识别网络中有响应的系统,避免将时间浪费在扫描无响应的地址上。
Nmap 是执行此任务以及几乎所有网络扫描任务的行业标准工具。
Ping 扫描
-sn 标志执行Ping 扫描:检查哪些主机有响应,而不扫描任何端口。它速度快,非常适合先绘制子网结构。
nmap -sn 192.168.1.0/24
# Lists which hosts in the /24 are upNmap 如何判断主机处于活动状态
默认情况下(拥有相应权限时),Nmap 会向本地和远程主机发送多种探测:
- ICMP 回显请求(经典的 ping)。
- 向 443 端口发送TCP SYN。
- 向 80 端口发送TCP ACK。
- ICMP 时间戳请求。
只要任意探测收到响应,主机就会被标记为处于活动状态。使用多种探测类型可以绕过许多过滤器。
指定目标
Nmap 接受灵活的目标语法:单个 IP、CIDR 范围、连字符范围、主机名或文件列表。
nmap -sn 10.0.0.1
nmap -sn 10.0.0.1-50
nmap -sn -iL targets.txt自定义发现探测
默认探测被过滤时,您可以选择特定的探测类型:
-PS向列出的端口发送 TCP SYN。-PA向列出的端口发送 TCP ACK。-PUUDP 探测。-PEICMP 回显。
调整探测方式有助于应对阻止默认探测的防火墙。
nmap -sn -PS22,80,443 192.168.1.0/24ICMP 被阻止时
许多防火墙会丢弃 ICMP,使主机看起来处于离线状态。-Pn 标志会告诉 Nmap跳过发现,并将每个目标视为在线,直接扫描端口。
面对经过强化的网络时,这一点至关重要;不过由于 Nmap 也会扫描可能确实处于离线状态的主机,因此速度会更慢。
nmap -Pn 192.168.1.10
# Assume host is up, go straight to port scan本地网络中的 ARP 发现
在本地以太网网段上,Nmap 使用ARP 请求进行发现。与 ICMP 相比,这种方式更快、更可靠,因为主机很难轻易忽略 ARP。
在具有相应权限的情况下运行时,Nmap 会自动对本地目标执行此操作。-PR 标志会明确强制使用 ARP 发现。
列表扫描
列表扫描 -sL完全不进行探测,只会列出 Nmap 将要扫描的目标,并执行反向 DNS 查询。
这是最隐蔽的选项,也是检查目标范围是否合理、在发送任何数据包前发现主机名的好方法。
nmap -sL 192.168.1.0/24读取发现结果
发现结果会将每台主机报告为在线,或省略处于离线状态的主机。使用 ARP 或 DNS 时,您还可能看到 MAC 地址及其厂商信息,以及主机名。
此列表将作为下一阶段的输入:仅对实际在线的主机进行详细端口扫描。
发现与隐蔽性
发现过程会生成监控工具能够察觉的流量。若要降低声量,您可以:
- 使用
-sL,不发送任何探测。 - 使用
-T1或-T2降低速度。 - 将探测类型限制为所需类型。
始终只扫描您获准测试的系统。
发现期间的 DNS
Nmap 可以在发现期间解析主机名,这会提供更多上下文,但也会生成可能被记录的 DNS 查询。
-n禁用所有 DNS 解析(更快、更安静)。-R即使主机被标记为离线,也强制进行解析。--dns-servers指定要使用的解析器。
使用 -n 禁用 DNS 可以显著加快大范围扫描。
nmap -sn -n 192.168.1.0/24快速检查
为受防火墙保护的目标选择正确的标志。
回顾
您学习了如何使用 Nmap 发现主机:
-sn执行 ping 扫描,不进行端口扫描。- Nmap 默认混合使用 ICMP、TCP SYN/ACK 和时间戳探测;在本地网段上使用 ARP。
- 自定义探测:
-PS/-PA/-PU/-PE。 - ICMP 被阻止时,
-Pn会跳过发现;-sL会在不发送任何探测的情况下列出目标。 - 调整速度和探测方式以提高隐蔽性,并且只扫描获准测试的系统。
下一步:端口扫描技术。
常见问题解答
「主机发现」课时是免费的吗?
是的 — 「主机发现」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Ethical Hacking Academy 课程的其余内容,请升级到 CoddyKit PRO。 Ethical Hacking Academy 课程共包含 4 节课。
「主机发现」这节课中我会学到什么?
查找活动主机 你通过在浏览器中直接运行的动手代码来练习 Ethical Hacking Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Ethical Hacking Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Ethical Hacking Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「主机发现」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Ethical Hacking Academy 课中编写并运行代码吗?
能。每节 Ethical Hacking Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。