网络安全技术实践教程 — 教案10

信息收集与漏洞扫描(一):任务5.1 踩点收集信息
教材:人民邮电出版社《网络安全技术实践教程》(微课版) | 授课教师:fashion | 课时:90分钟(2学时) | 2026-05-20 上午 | 理论+实践

一、教学目标

维度目标
知识 掌握踩点的概念与目的;理解踩点应收集的三类信息(网络/系统/组织);能区分被动/主动信息收集;熟悉whois、nslookup/dig、ping、tracert等工具的应用场景
技能 能使用whois查询域名注册信息并解读关键字段;能用nslookup/dig查询DNS记录(A/MX/NS/CNAME);能用ping/tracert探测网络连通性和路由路径
素养 建立"先侦察、后行动"的安全工作意识;培养系统化信息收集思维;理解踩点在渗透测试Kill Chain中的前置地位;树立合法合规意识

二、教学重难点

三、教材内容框架(知识准备)

5.1.1 踩点的概念

踩点指的是预先到某个地方进行考察,为后面正式到这个地方开展工作做准备。在渗透测试中,踩点的主要目的是进行信息的收集。正所谓"知己知彼,百战不殆",只有详细掌握了目标的信息,才能有针对性地对目标的薄弱点进行渗透。

5.1.2 踩点的目的

教材列举四个目的:

  1. 了解安全架构:了解目标组织使用了哪些安全设备及其信息,如防火墙的制造商和版本等,针对薄弱点进行渗透;了解网络安全人员的配备情况
  2. 缩小攻击范围:通过踩点确定目标的IP地址范围、域名、开放的端口和运行的服务,排除无关目标,聚焦有价值的信息
  3. 建立信息数据库:将搜集到的信息(域名、IP、开放的端口、服务、可能的漏洞等)分类管理,形成完整的攻击信息库
  4. 绘制网络拓扑:根据搜集到的网络设备信息(路由器、交换机、防火墙等),画出目标网络拓扑图

5.1.3 踩点的内容 新补

踩点究竟要收集哪些信息?教材将其归纳为三大类:

① 网络信息

② 系统信息

③ 组织信息

💡 这三类信息由外到内、由浅入深,构成完整的"目标画像"。网络信息告诉你"门在哪里",系统信息告诉你"门锁是什么型号",组织信息告诉你"谁有钥匙"。

5.1.4 踩点的方法

教材介绍以下常用命令行工具:

工具功能示例命令
whois查询域名注册信息whois baidu.com
nslookup查询DNS记录nslookup baidu.com
digDNS信息收集(Linux)dig baidu.com MX
ping探测主机连通性ping 192.168.1.1
tracert路由路径追踪tracert baidu.com

四、教学过程

第一阶段:导入新课(8分钟)

1. 任务情境呈现(3min)

工程师小林接到任务:为完成系统漏洞扫描,需要先收集与目标网络系统相关的信息,也就是"踩点"。他准备运用命令行工具和各种技术手段,尽可能多地收集相关信息。

2. 悬念提问(5min)

🙋 提问1:"如果我现在让你去渗透测试一个网站,你打开电脑第一步做什么?"

📝 参考答案:不是直接上工具扫描,而是先查这个网站的基本信息——它是谁的、IP是什么、服务器在哪、用的是什么技术栈。这就叫踩点/信息收集。

🙋 提问2:"为什么不能跳过踩点直接开扫?"

📝 参考答案:不知道目标的信息就盲目扫描,就像蒙着眼睛在迷宫里乱撞。可能扫到不属于目标的系统(法律风险),可能遗漏关键入口,效率极低。踩点越充分,后续行动越精准。

⚠️ 强调:所有操作必须在授权范围内!未授权踩点 = 非法入侵的前置行为

🔄 过渡语:"好,我们已经知道踩点是渗透测试的第一步。那么,踩点到底要达成什么目标?带着这个问题,我们进入今天的核心内容。"

第二阶段:踩点的概念与目的(18分钟)

2.1 踩点的概念(5min)

教材原文讲解:

踩点指的是预先到某个地方进行考察,为后面正式到这个地方开展工作做准备。

🙋 互动提问:"生活中还有哪些场景可以用'踩点'这个概念来解释?"

📝 参考答案:旅游前查攻略(踩点)→ 实地游玩(行动);面试前查公司背景(踩点)→ 去面试(行动);小偷作案前蹲点观察(踩点)→ 实施盗窃(行动,当然是违法的)。

2.2 踩点的四个目的(13min)

🔄 过渡语:"既然踩点是'出发前的准备工作',那么做这些准备具体要达到什么目的呢?教材上给出了四个——我们来一一拆解。"

目的1:了解安全架构(4min)

🙋 提问:"如果你踩点发现目标雇了10个人的安全团队,和发现目标根本没有安全团队,你的后续策略会有什么不同?"

📝 参考答案:有专业安全团队 → 需要更隐蔽的被动信息收集,避开IDS/IPS,行动要更谨慎、更慢;没有安全团队 → 可能管理松散,信息暴露面更大,但也不能掉以轻心——可能是外包了安全服务。

目的2:缩小攻击范围(3min)

🙋 提问:"为什么要缩小范围?IP多扫几个不行吗?"

📝 参考答案:① 大规模扫描容易被IDS发现,打草惊蛇;② 浪费时间,大部分IP可能是打印机、空地址;③ 可能误扫到目标以外的系统,引发不必要的法律问题。

目的3:建立信息数据库(3min)
域名: cqupt.edu.cn
├── IP地址: 202.202.43.125
├── 开放端口: 80(HTTP), 443(HTTPS), 22(SSH)
│   └── Web服务器: Nginx 1.18.0
├── DNS服务器: dns1.cqupt.edu.cn, dns2.cqupt.edu.cn
├── 邮件服务器: mail.cqupt.edu.cn (MX记录)
├── 子域名: www / lib / jw / vpn / oa ...
└── 注册信息: 2005年注册, 注册商: 阿里云
目的4:绘制网络拓扑(3min)

🔄 过渡语:"四个目的讲完了——了解架构、缩小范围、建库、绘图。那么问题来了:具体要收集哪些信息才能支撑这四个目的呢?这就是下一节要讲的——踩点的内容。"

第三阶段:踩点的内容 — 三类信息(12分钟)新补

🔄 过渡语:"目的是'为什么踩点',内容是'踩点什么'。就像你去菜市场买菜,要知道自己要买肉、菜、调料,才不至于瞎逛。踩点也一样——信息收集有章法,教材把它归纳为三大类。"

3.1 网络信息(4min)

是什么:围绕目标网络基础设施的一切数据。

信息类型具体内容踩点价值
域名信息主域名、子域名、whois注册信息了解组织规模、业务范围
IP地址IP范围、子网划分、公网/内网IP确定攻击可达面
端口与服务开放端口号、对应服务及版本发现潜在漏洞入口
网络节点DNS服务器、邮件服务器、VPN入口找到关键攻击路径

🎯 举例:你踩点发现目标有 vpn.xxx.com 子域名指向 211.x.x.100,开放了8443端口(非标准HTTPS端口),运行的是某品牌SSL VPN。去查这个VPN的历史漏洞——很可能就是一个突破口。

🙋 提问:"子域名信息为什么重要?主域名保护好了不就够了吗?"

📝 参考答案:很多组织主站安全加固做得好,但子站往往疏于管理。比如主站用了WAF,但 test.xxx.com 可能是一个没人维护的老旧测试系统,成了攻击的软肋。

3.2 系统信息(4min)

是什么:目标主机、服务器上运行的操作系统和软件环境数据。

信息类型具体内容踩点价值
操作系统类型、版本、补丁级别判断可用的漏洞利用方式
账户信息用户名、组名、权限分配社工攻击、密码爆破目标
网络配置路由表、ARP表、DNS设置理解内网拓扑
中间件Web服务器、数据库、应用框架版本针对特定版本漏洞攻击

🎯 举例:通过HTTP响应头 Server: Apache/2.4.49 发现目标用了Apache 2.4.49版本,这个版本有一个著名的路径穿越漏洞(CVE-2021-41773),攻击者可以直接读取服务器任意文件。

🙋 提问:"如果我从外网访问,怎么知道内网服务器的操作系统和软件版本?"

📝 参考答案:方法很多——① HTTP响应头里的Server字段;② 网站报错页面可能暴露框架信息(如"PHP Fatal error");③ 404页面风格暗示Web服务器类型;④ favicon.ico的hash匹配可以识别CMS;⑤ 端口扫描后根据开放的服务特征推断OS(下节课Nmap会讲到)。

3.3 组织信息(4min)

是什么:与目标组织相关的人员、制度、合作伙伴等"人的因素"数据。

信息类型具体内容踩点价值
员工信息姓名、职务、邮箱、电话、社交账号社工攻击入口
组织架构部门设置、管理层名单、IT团队规模判断安全投入水平
物理信息办公地址、分支机构、机房位置Wi-Fi攻击、物理入侵评估
泄露信息代码注释、文档元数据、GitHub泄露凭据泄漏、内部架构暴露

🎯 举例:某攻防演练中,红队通过LinkedIn找到目标公司网管的全名,再用Google搜索发现他在某技术论坛提问"XX品牌防火墙怎么配置端口映射",暴露了防火墙品牌和型号,直接帮助锁定了攻击面。

🙋 提问:"员工信息跟网络安全有什么关系?"

📝 参考答案:人是安全系统中最薄弱的环节。知道网管姓名→可以做针对性钓鱼邮件;知道IT团队小→安全运维可能不到位;GitHub上泄露的代码可能包含硬编码的数据库密码。所以安全不仅是技术问题,也是"人的问题"。

🔄 小结过渡语:"好,我们梳理一下——踩点要收三类信息:网络信息(门在哪里)、系统信息(锁是什么型号)、组织信息(谁有钥匙)。知道了要收集什么,接下来就是——怎么收集?"

🙋 承上启下提问:"有人能猜一猜,踩点的方法可以怎么分类?"

📝 参考答案:有的方法是悄悄查公开资料(被动),有的是主动去探目标系统(主动)。前者隐蔽但不深入,后者深入但可能被察觉。这就引出主动/被动信息收集的概念——

拓展补充:被动 vs 主动信息收集(2min)

维度被动信息收集主动信息收集
方式查询公开信息,不与目标直接交互主动向目标发送探测、扫描
工具whois、搜索引擎、Shodan、DNS查询Nmap扫描、端口探测、漏洞扫描
风险几乎零风险,目标无感知可能触发IDS告警,有暴露风险
深度信息有限,多为表层信息深入,可获取服务版本、OS类型
类比站在楼外观察、查房产信息上门按门铃、试探门锁
💡 本节5.1的工具(whois/nslookup/ping/tracert)偏被动收集,下节课5.2的Nmap则进入主动扫描阶段。

第四阶段:踩点方法——命令行工具实操(35分钟)

🔄 过渡语:"理论讲完了,接下来动手。教材推荐了五个命令行工具,我们从whois开始——它是所有踩点工作最常用的起点。"

4.1 whois 域名注册信息查询(10min)

教材知识点:whois是一个标准的互联网协议,可用于收集网络注册信息、注册域名、IP地址等信息。

# 查询域名注册信息
whois baidu.com

# 关键输出信息解读:
# Domain Name: BAIDU.COM
# Registrar: MarkMonitor Inc.        ← 注册商
# Creation Date: 1999-10-11          ← 注册时间
# Expiry Date: 2028-10-11            ← 到期时间
# Name Server: NS1.BAIDU.COM         ← DNS服务器

教师演示:

  1. 打开Kali Linux终端
  2. 执行 whois cqupt.edu.cn(以重庆邮电大学为例,贴近学生生活)
  3. 逐行解读输出:注册商、注册时间、到期时间、DNS服务器、注册人/联系邮箱

🙋 提问:"whois查到的联系邮箱能用来做什么?"

📝 参考答案:可以反查这个邮箱注册了哪些其他域名(关联域名挖掘),也可以用这个邮箱做钓鱼邮件的发件人伪造(社工攻击)。所以现在很多域名开启了WHOIS隐私保护。

拓展内容:

4.2 DNS信息收集 — nslookup / dig(10min)

🔄 过渡语:"whois让我们知道了域名的'户口信息'。接下来,怎么把域名翻译成IP地址?这就靠DNS了。而DNS记录里藏着比whois更多的'料'。"

教材知识点:DNS记录包含A记录、MX记录、NS记录、CNAME记录等,通过这些记录可以获取目标的IP地址、邮件服务器、域名服务器等信息。

DNS记录类型含义命令(Windows)命令(Linux)
A记录域名→IPv4地址nslookup baidu.comdig baidu.com A
MX记录邮件服务器nslookup -type=mx baidu.comdig baidu.com MX
NS记录DNS服务器nslookup -type=ns baidu.comdig baidu.com NS
CNAME记录别名/CDNnslookup -type=cname www.baidu.comdig www.baidu.com CNAME
TXT记录文本信息(SPF/DKIM等)nslookup -type=txt baidu.comdig baidu.com TXT
# Windows (nslookup)
nslookup baidu.com
nslookup -type=mx baidu.com
nslookup -type=ns baidu.com

# Linux (dig) — 信息更详细
dig baidu.com
dig baidu.com MX
dig baidu.com NS

🙋 提问1:"为什么baidu.com的A记录会返回多个IP?"

📝 参考答案:这是负载均衡——大型网站不会只用一台服务器,会配置多个IP,DNS轮流返回不同的IP给不同用户,分散流量压力。踩点时发现了多个IP,说明目标规模大、基础设施强。

🙋 提问2:"MX记录和A记录有什么区别?查邮件服务器为什么重要?"

📝 参考答案:A记录把域名映射到IP(你去谁家),MX记录指定谁来收邮件(你的信件寄到哪个邮局)。找到邮件服务器后,可以测试它是否开放了SMTP中继,或者判断邮件系统品牌(Exchange? Postfix?),为后续攻击做准备。

记忆技巧(快递系统类比):

拓展内容(仅介绍,不实操):

4.3 ping 连通性探测(7min)

🔄 过渡语:"DNS帮我们把域名变成了IP。有了IP地址,第一件事是什么?——看看它'在不在家'!"

教材知识点:ping命令通过发送ICMP回显请求数据包来测试与目标主机的连通性。

# Windows
ping 192.168.1.1              # 默认发4个包
ping -n 10 baidu.com          # 发送10个包
ping -t baidu.com             # 持续ping,Ctrl+C停止

# Linux
ping -c 4 192.168.1.1         # 指定发送4个包
ping -i 0.5 baidu.com         # 每0.5秒发一个包(需root)

教师演示:

  1. ping 127.0.0.1 → 测试本机TCP/IP协议栈是否正常("自己ping自己")
  2. ping 网关地址 → 测试本地网络连通性
  3. ping baidu.com → 测试互联网连通性、观察DNS解析过程
  4. ping 192.168.99.99 → ping一个不存在的IP,观察"请求超时"

TTL值判断操作系统(拓展技巧):

TTL初始值常见操作系统
64Linux / Unix / macOS / Android
128Windows
255网络设备(路由器/交换机)

🙋 提问:"我ping baidu.com返回TTL=52,它是Linux还是Windows?"

📝 参考答案:TTL=52,最接近的初始值是64。52 = 64 - 12,说明数据包经过了大约12跳到达百度。百度服务器是Linux系统。TTL≈128→Windows;≈64→Linux/Unix。

⚠️ 重要提醒:"ping不通 = 主机不在线"是很多初学者的误解!很多服务器/防火墙禁用了ICMP协议 → ping不通但Web服务正常。下节课Nmap会教多种探测方式,绕过ICMP限制。

4.4 tracert 路由追踪(8min)

🔄 过渡语:"ping告诉我们目标'是否能通'。但数据包从我们这儿到目标,走了哪些路、经过了哪些节点?——tracert来告诉你。"

教材知识点:tracert(Linux下为traceroute)用于追踪数据包从源到目标经过的路由节点。

# Windows
tracert baidu.com
tracert -d baidu.com          # 不解析主机名,速度更快

# Linux
traceroute baidu.com
traceroute -n baidu.com       # 不解析主机名

教师演示:

  1. tracert baidu.com → 观察经过多少跳到达目标
  2. 解读每一行输出:
 1    <1 ms    <1 ms    <1 ms  192.168.1.1        ← 本地网关
 2     3 ms     2 ms     3 ms  10.0.0.1           ← ISP第一跳
 3     5 ms     4 ms     5 ms  221.7.xx.xx        ← ISP骨干
 ...
12    35 ms    36 ms    35 ms  110.242.68.66      ← 目标
  1. 出现 * * * 请求超时 → 该节点不响应ICMP(防火墙过滤)

🙋 提问:"如果tracert中间某跳全是***,是不是网络断了?"

📝 参考答案:不一定!如果最终还是到达了目标,说明只是中间那个节点配置了不响应ICMP,但数据包正常转发了。这其实也是一种信息——那个节点可能是防火墙或安全设备。

实战价值(拓展):

🔄 阶段小结:"五个工具讲完了——whois查域名户口、nslookup/dig查DNS、ping测连通性、tracert看路由。它们分工明确,但实战中往往组合使用。比如:whois发现目标IP段→ping测试哪些IP在线→nslookup反查IP对应域名→tracert看网络路径。踩点不是一个工具就能搞定的,是组合拳。"

第五阶段:学生实操练习(12分钟)

🔄 过渡语:"看老师敲命令很简单,自己敲一遍才知道坑在哪儿。下面12分钟,大家动手——"

任务:完成目标信息收集

给定目标:cqupt.edu.cn(重庆邮电大学官网)

每组独立完成以下任务,将结果记录到实验报告中:

序号任务使用工具记录要求
1域名注册信息查询whois注册商、注册时间、DNS服务器、是否开启隐私保护
2获取IP地址nslookup域名对应的A记录IP(有几个IP?)
3查询邮件服务器nslookup -type=mxMX记录指向的服务器及优先级
4查询DNS服务器nslookup -type=ns所有NS记录列表
5连通性测试ping是否可达?TTL值?推测OS类型
6路由追踪tracert经过几跳?中间有无*号节点?

操作规范提醒:

教师巡视要点:

第六阶段:总结与预告(5分钟)

本节要点回顾:

  1. 踩点的概念:渗透测试的第一步,为后续攻击提供情报支撑
  2. 四个目的:了解安全架构 → 缩小攻击范围 → 建立信息数据库 → 绘制网络拓扑
  3. 三类踩点内容 新补:网络信息(门在哪)→ 系统信息(锁的型号)→ 组织信息(谁有钥匙)
  4. 主动 vs 被动收集 新补:本节工具偏被动(不直接交互),下节课Nmap进入主动扫描
  5. 五个工具:whois(域名户口)→ nslookup/dig(DNS)→ ping(连通性)→ tracert(路由)

下节预告:

任务5.2 使用Nmap识别主机、端口及操作系统——从「暗中观察」升级到「主动敲门」,看看目标主机到底开的是什么端口、运行的是什么服务。

课后作业:

五、板书设计

项目5 信息收集与漏洞扫描 — 任务5.1 踩点收集信息
一、踩点的概念
预先考察 → 为后续工作做准备 | 渗透中 = 信息收集阶段
二、踩点的四个目的
① 了解安全架构(防火墙/IDS/安全团队)
② 缩小攻击范围(锁定目标,精准打击)
③ 建立信息数据库(系统化条目管理)
④ 绘制网络拓扑(还原攻击路线图)
三、踩点的三类内容 新补
┌ 网络信息:域名/IP/端口/服务(门在哪里)
├ 系统信息:OS/账户/中间件版本(锁的型号)
└ 组织信息:员工/架构/泄露信息(谁有钥匙)
四、被动 vs 主动信息收集 新补
被动:暗中观察,不留痕迹 | 主动:上门试探,深入但可能暴露
五、五个命令行工具
whois → 域名户口 | nslookup → DNS记录(A/MX/NS/CNAME)
dig → DNS查询(Linux) | ping → 连通性+TTL判OS
tracert → 路由路径追踪
🔑 侦察越充分,攻击越精准  |  ⚠️ 未授权踩点 = 违法!

六、教学反思预设

  1. 学生可能问:whois查不到信息怎么办?
    → 介绍在线whois工具(chinaz.com)、ICP备案查询(beian.miit.gov.cn)、以及使用多个whois服务器交叉验证
  2. 学生可能问:ping不通是不是目标就不在线?
    → 讲解防火墙禁ICMP的情况 → 自然引出Nmap的多协议探测优势(下节课内容,制造期待)
  3. 学生可能问:踩点信息这么多,怎么管理?
    → 推荐使用Markdown或表格做信息清单,高阶可用OneNote/Notion;渗透测试中常用专用工具如Maltego做信息关联分析
  4. 时间弹性策略:
    如果实操超时:tracert部分可口头讲解+演示,学生课后自行练习
    如果进度快:补充Google Hacking技巧(site:/intitle:/inurl:),展示搜索引擎在踩点中的高级用法
  5. 抬头率关注点:
    实操演示时学生注意力最集中(看到命令行输出很新鲜);DNS记录类型讲解较抽象,用"快递系统"类比后穿插提问化解;5.1.3踩点的内容部分多用生活化举例(菜市场买菜/旅游攻略),降低认知负担