Windows 服务基础 · 全篇合并整理版(修订美化)
来源:Windows 服务基础课程讲义(
windows服务基础笔记_修订美化版.pdf,共 35 页)。由 PDF 转为 Markdown 并抽取原文图片,仅整理排版与章节层级,正文内容未改写。
1.1 简单局域网的构成
局域网(LAN,俗称内网):在较小范围(家庭、办公室、机房)内,把设备连起来互相通信的私有网络。
简单局域网的构成:交换机、网线、PC(或其他终端)(连接互联网时需要路由器)
二层交换机:
工作在 OSI 第二层(数据链路层),处理的是数据帧。
靠 MAC 地址(网卡物理地址,固定不变,形如 00-1A-2B-…)来识别和转发数据。
内部维护一张 MAC 地址表(哪个端口接了哪个 MAC):收到数据先看目标 MAC,表里有就只从对应端口精准发出去;没有才向所有端口 “泛洪” 问一遍。
职责:把同一个局域网(同网段)内的设备连起来,负责内网之间转发;它不认 IP,也不管你能不能上外网。
比喻:办公楼里的 “内部传话员”,只负责同一栋楼里的人互相找人。
特点:隔离冲突域,但不隔离广播域(接在同一交换机下算一个广播域)。
三层交换机:
同时工作在第二层和第三层,等于 “交换机的身子 + 路由器的路由脑子”。
既认 MAC 也认 IP,既能做二层转发,又能做三层路由,核心用途是 VLAN 之间路由(跨网段互访)。
给它配 VLANIF 接口 IP,就能当各个 VLAN 的网关,实现不同 VLAN 互通。
比喻:一栋楼里又管内部传话、又管不同楼层之间往来的 “高速内部调度员”。
特点:隔离广播域;强项是内网 VLAN 间高速路由,但 NAT、VPN、广域网接口这些边界功能不如路由器全。
路由器:
工作在 OSI 第三层(网络层),处理的是数据包。
靠 IP 地址(逻辑地址,可手动 / DHCP 分配)选路转发,负责不同网络之间的互联:内网↔外网、网段 A↔网段 B。
它是局域网的出口(网关 Gateway):内网设备访问互联网,数据必须先交给路由器。
常见功能:NAT 地址转换(多台内网设备共享一个公网 IP 上网)、DHCP(自动给设备分IP)、路由选路、防火墙 / ACL。
比喻:大楼的 “门卫兼总机”,负责楼内和外界的往来。
特点:隔离广播域(每个接口是一个独立网段 / 广播域)。
一次通信怎么走?
同网段 A 找 B(如 192.168.1.2 找 192.168.1.3):只经过交换机,靠 MAC 转发,不经过路由器。
内网访问外网(打开百度):PC → 交换机 → 路由器(网关)做 NAT → 互联网 → 原路返回。
高频面试题:
(1)交换机和路由器区别?
| 对比 | 交换机 | 路由器 |
|---|---|---|
| 工作层级 | 二层・数据链路层 | 三层・网络层 |
| 转发依据 | MAC 地址 | IP 地址 |
| 核心职责 | 同网段内网互联 | 跨网段 / 连外网 |
| 处理对象 | 数据帧 | 数据包 |
| 广播域 | 不隔离 | 隔离 |
| 典型角色 | 内网接入 | 网关 / 出口 / NAT |
交换机认 MAC、二层、组内网;路由器认 IP、三层、连外网、当网关做 NAT。
(2)同一个交换机下两台电脑通信要路由器吗?
不用,同网段交换机靠 MAC 直接转发。
(3)网关是什么?
本网段通往外部网络的出口,一般就是路由器内网口 IP。
1.2 IP 地址
IP地址是网络中每台主机的" 门牌号" ,用来唯一标识一台设备;IPv4 是一段 32 位二进制编码,为了好记写成 “点分十进制”,分成 4 段、每段 8 位、取值 0~255,形如192.168.1.1。
取值范围:0.0.0.0 ~ 255.255.255.255(IPv4)。
现在用的 IPv4 是 32 位(地址已接近枯竭),新一代 IPv6 是 128 位,先了解即可。
公网IP:全球唯一,要向运营商申请,能直接上互联网,相当于 “对外的正式地址”。
私网IP(内网地址):只在内网使用、不能直接上公网,要靠路由器做 NAT 转换才能上网。私网地址固定有三段,必背:
| 类别 | 私网地址范围 |
|---|---|
| A 类私网 | 10.0.0.0 ~ 10.255.255.255 |
| B 类私网 | 172.16.0.0 ~ 172.31.255.255 |
| C 类私网 | 192.168.0.0 ~ 192.168.255.255(家用路由器最常见) |
二进制 ↔十进制转换:
IP 每段是 8 位二进制,8 个位权从高到低背下来:128、64、32、16、8 、4 、2 、1 。
二进制转十进制:哪一位是 1,就把对应位权加起来。
11000000 = 128+64 = 192;10101000 = 128+32+8 = 168。
十进制转二进制:从 128 开始从大到小比,够减就写 1 并减掉,不够就写 0。
两个端点:255 = 11111111(8 个全 1),0 = 00000000(全 0)。
1.3 子网掩码
subnet mask = SM (划分网段)
局域网通信规则:同一个局域网里,所有 IP 必须在同一网段才能直接互通;不在同一网段就要交给路由器(网关)转发。
IP 地址构成:网络位+主机位子网掩码的作用: 划清网络位和主机位。掩码为 255(二进制 1) 对应的是网络位,为 0对应的是主机位;把 IP 和掩码逐位做 “与运算(AND)",得到的就是网络地址(网段号)。
三个默认子网掩码:
| 默认掩码 | CIDR | 对应类别 |
|---|---|---|
| 255.0.0.0 | /8 | A 类 |
| 255.255.0.0 | /16 | B 类 |
| 255.255.255.0 | /24 | C 类 |
主机位:不可以全0(网络地址,代表整个网段本身) 不可以全为255(广播地址,向本网段所有主机喊话用)
可用主机数公式:可用主机数 = 2^主机位数 − 2判断两个 IP 是不是同网段:让它们各自和同一个子网掩码做与运算,得出的网络地址相同就是同网段、能直接通信;不同就是跨网段,得找网关。
| 运算 | 符号 | 规则 | 比喻 | 你在哪会遇到 |
|---|---|---|---|---|
| 与 AND | & | 有 0 得 0,全 1 才 1 | 两个开关串联,都按才通 | 子网掩码算网络地址(必会,已学) |
| 或 OR | | | 有 1 得 1,全 0 才 0 | 两个开关并联,按一个就通 | 权限位组合(了解) |
| 非 NOT | ~ | 取反,0 变 1、1 变 0 | 翻面 | 反掩码 / 通配符掩码(eNSP 会见) |
| 异或 XOR | ^ | 相同得 0,不同得 1 | 一样就灭、不一样就亮 | 加密解密、逆向、CTF(安全要认识) |
1.4 IP 地址详解
国际标准组织ISO 定义地址分类:五大类 (是以IP 地址的第一位进行区分的).
| 类别 | 第一个字节范围 | 默认掩码 | 私网地址段 | 用途 |
|---|---|---|---|---|
| A 类 | 1 ~ 126 | 255.0.0.0 (/8) | 10.0.0.0/8 | 超大型网络 |
| B 类 | 128 ~ 191 | 255.255.0.0 (/16) | 172.16~172.31 | 大中型网络 |
| C 类 | 192 ~ 223 | 255.255.255.0 (/24) | 192.168.0.0/16 | 小型局域网(最常见) |
| D 类 | 224 ~ 239 | — | — | 组播地址,普通主机不能用 |
| E 类 | 240 ~ 254 | — | — | 保留 / 科研,普通主机不能用 |
几个必须认识的特殊地址:
127.0.0.1(127 网段)= 环回地址 loopback,指向本机自己;ping 127.0.0.1 用来检测本机 TCP/IP 协议栈正不正常,不通就是本机网卡 / 协议出了问题。
255.255.255.255 = 全局广播地址,向当前网段所有主机广播,路由器默认不转发。
0.0.0.0:可表示 “本机所有网卡”,也用于默认路由。
1.5 网关(Gateway,GW)
网关是一个网段通向外面的出口,一般就是路由器内网接口的IP。
PC 发包三步走(必背):
(1)先用自己的子网掩码判断目标 IP 和自己是不是同一网段;
(2)同网段:直接发(ARP 找对方 MAC),不经过网关;
(3)不同网段:把包发给网关,让路由器转发出去。
1.6 DNS(域名服务)
作用:人记域名(www.baidu.com),机器只认 IP,DNS 负责把域名解析成 IP。
常见公共 DNS:114.114.114.114(国内)、8.8.8.8(谷歌)。
手工解析命令:nslookup 域名。
解析顺序:先查本机 hosts 文件,再找 DNS 服务器。
DNS 走 53 端口(以 UDP 为主)。
二、DOS 基本命令与批处理
2.1 DOS 基本命令
在出现图形界面前,人们都用命令来操作计算机,命令几乎可以完成鼠标可以干的所有事windows 自带的命令:DOS 命令
linux 自带的命令:Shell 命令用DOS 命令编写的脚本,一般称之为批处理脚本用shell 命令编写的脚本,一般称之为Shell 脚本(1)网络信息收集与排查
| 命令 | 作用 | 输出怎么看 / 安全用途 |
|---|---|---|
| ipconfig /all | 看完整网络配置 | 重点看 IPv4 地址、子网掩码、默认网关、物理地址 (MAC)、DNS 服务器;判断主机在内网哪个段、有没有双网卡 (双网卡可能能通内网,横向重点) |
| ping 目标 | 测连通性 | 能回包 = 主机存活;请求超时= 不在线 / 禁 ICMP;TTL 大致判断系统(Windows 默认 128、Linux 默认 64) |
| tracert 目标 | 路由跟踪 | 看数据包经过几跳、在哪一跳断,判断网络拓扑 |
| arp -a | 看 ARP 缓存表 | 列出近期和本机通信过的内网 IP+MAC,dynamic 是动态学到的;用来快速发现内网存活主机 |
| netstat -ano | 看所有连接和端口 | 应急 / 查后门第一命令,下面单独详解 |
| nslookup 域名 | DNS 解析 | 域名反查 IP |
| route print | 看路由表 | 看有没有到其他内网网段的路由,判断横向移动范围 |
netstat -ano 输出详解(重点中的重点)
Proto Local Address Foreign Address State PID TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4 TCP 192.168.1.10:5100 1.2.3.4:8080 ESTABLISHED 6024 State 状态:LISTENING= 本机正在监听这个端口(开了服务);
ESTABLISHED= 当前已建立的对外连接(可疑外联 / 反弹 Shell 就藏在这里);
拿到 PID 反查是哪个程序:tasklist | findstr 6024,或 tasklist /fi “pid eq 6024”(2)系统信息 / 提权信息收集
| 命令 | 作用 | 输出怎么看 / 安全用途 |
|---|---|---|
| whoami | 当前用户名 | 看是普通用户还是管理员 |
| 命令 | 作用 | 输出怎么看 / 安全用途 |
|---|---|---|
| whoami /priv | 当前拥有的特权 | 看我是谁、有没有提权特权 |
| systeminfo | 系统全部信息 | 看系统版本和补丁,找提权点 |
(3)用户与组管理
| 命令 | 作用 / 安全用途 |
|---|---|
| net user | 列出本地所有账户,看有没有可疑 / 隐藏账号 |
| net user 用户名 | 看某账户详情 |
| net localgroup | 列出所有本地组 |
| net localgroup administrators | 看管理员组成员(后渗透 / 查后门账号必看) |
| net user 新用户密码 /add | 新建用户(仅授权环境,知道原理) |
| net localgroup administrators 用户名 /add | 把用户加进管理员组(经典权限维持手法,要能识别) |
(4)进程 / 服务 / 杀软识别
| 命令 | 作用 / 安全用途 |
|---|---|
| tasklist | 列所有进程(映像名、PID、占用内存) |
| taskkill /PID xxx /F | 强制结束进程(/F 强制) |
tasklist 里要一眼认出的杀毒软件进程(找免杀 / 规避对象):
MsMpEng.exe = Windows 自带 Defender ZhuDongFangYu.exe、360tray.exe = 360 安全卫士QQPCRTP.exe = 电脑管家;avp.exe = 卡巴斯基(5)文件与目录操作
| 命令 | 作用 |
|---|---|
| dir / dir /a | 列文件;/a 连隐藏文件一起列(找隐藏后门) |
| cd /d 路径 | 切目录(/d 可跨盘符);cd .. 回上一级,cd \ 回根目录 |
| 命令 | 作用 |
|---|---|
| md 名 / rd 名 | 新建 / 删除文件夹 |
| type 文件 | 查看文本内容(等同 Linux 的 cat) |
| copy / move / del / ren | 复制 / 移动 / 删除 / 重命名 |
| echo 内容 > a.txt | 写文件(> 覆盖,» 追加) |
| findstr /s /i “关键词” *.txt | 递归 (/s) 忽略大小写 (/i) 找内容,等同 grep;常用来找配置里的密码 |
| attrib +h 文件 | 给文件加隐藏属性(要知道这也是藏后门的手法) |
(6)拿到一台 Windows(低权限)的信息收集顺序
whoami / whoami /priv —— 我是谁、有没有高特权;
systeminfo(或 wmic qfe)—— 系统版本和补丁,找提权点;
ipconfig /all + route print + arp -a —— 我在网络什么位置、能摸到谁;
netstat -ano —— 开了哪些端口、有没有可疑外联,PID 反查进程;
tasklist —— 跑着什么进程、有没有杀软;
net user + net localgroup administrators —— 有哪些用户、谁是管理员;
看完这些再决定:提权 / 横向 / 抓凭据。
口诀:
whoami /priv(身份特权)→ systeminfo(版本补丁)→ ipconfig /all(网络位置)→netstat -ano (端口连接)→ tasklist (进程杀软)→ net user / net localgroup administrators(账号权限)
2.2 批处理编写
脚本第一行常写 @echo off(不回显命令本身);pause 暂停;rem 注释。
set a=1 定义变量,用 %a% 取值;if、for 做判断循环。
覆盖、» 追加、| 管道(把前一个命令结果交给后一个,如 tasklist | findstr 360)。
会写 “批量 ping 一个网段” 这种简单脚本即可,复杂自动化用 Python。
高频面试题:
(1)拿到一台 Windows 主机先敲哪些命令?2.1 的(7)
(2)netstat -ano 各参数什么意思?怎么用 PID 找进程?
-a 所有连接、-n 数字显示、-o 显示 PID;用 tasklist | findstr PID 找进程。
(3)怎么找 Windows 提权点?
systeminfo/wmic qfe 看缺失补丁,whoami /priv 看有没有 SeImpersonate 等高特权。(4)怎么判断机器上有没有装杀毒、装了什么?
tasklist 看进程,如 MsMpEng (Defender)、ZhuDongFangYu/360tray (360)。
(5)怎么查后门账号 / 异常外联?
net localgroup administrators、net user 查账号;netstat -ano 查 ESTABLISHED 外联并反查进程。
三、服务器远程管理
3.1 远程管理类型
1、远程桌面 RDP(图形化):TCP 3389全称 Remote Desktop Protocol,Windows 服务器最常用的图形化远程管理;Linux 装xrdp 也能连。
本机命令 mstsc 打开远程桌面连接窗口。
安全注意:历史上有蠕虫级漏洞 BlueKeep(CVE-2019-0708,RDP 远程代码执行),安全岗要知道;3389 暴露公网容易被弱口令爆破,加固要改端口、限制来源 IP、强口令。
2、Telnet(命令行):TCP 23命令行远程管理,早期 Windows/Linux、路由器、交换机、防火墙都常用。
不安全:所有数据(包括账号密码)全部明文传输,用 Wireshark 抓包就能直接看到密码。现状:生产环境基本禁用,已被 SSH 取代,只在老设备或临时排错时用。
3、SSH(命令行):TCP 22全称 Secure Shell(安全外壳协议)。
命令行远程管理,安全:先用非对称加密协商出会话密钥,再用对称加密传输,防窃听、防篡改,是 Linux / 网络设备远程管理的主流。
连接命令:ssh 用户名@IP。
两种登录认证:口令登录(易被爆破)和密钥登录(公钥认证,更安全,推荐)。
对比:
| 协议 | 端口 | 界面 | 是否加密 | 主要用于 |
|---|---|---|---|---|
| RDP | TCP 3389 | 图形化 | 加密 | Windows 服务器 |
| Telnet | TCP 23 | 命令行 | 明文,不安全 | 老设备(已淘汰) |
| SSH | TCP 22 | 命令行 | 加密,安全 | Linux / 网络设备主流 |
常见默认端口:
| 端口 | 服务 | 端口 | 服务 |
|---|---|---|---|
| 21 | FTP | 80 | HTTP |
| 22 | SSH | 443 | HTTPS |
| 23 | Telnet | 445 | SMB(永恒之蓝那个) |
| 25 | SMTP 发邮件 | 3306 | MySQL |
| 53 | DNS | 3389 | RDP |
| 1433 | SQL Server | 6379 | Redis(常未授权) |
(1)为什么管理端口不能随便暴露公网?
22/23/3389 会被自动化工具(如 hydra)扫到并爆破弱口令;应禁用 Telnet、SSH 用密钥登录、改默认端口、限制来源 IP 或走 VPN 跳板。
(2)Telnet 和 SSH 区别?
Telnet 明文不安全 (23),SSH 加密安全 (22),生产用 SSH。
(3)SSH 怎么保证安全?
非对称加密协商密钥 + 对称加密传数据,支持公钥认证,防窃听篡改。
四、文件共享服务器
4.1 定义
作用:通过网络提供文件上传 / 下载,相当于 “公司内部网盘”,类似 FTP。
共享的是文件系统,支持远程读取和编辑;只能用于局域网,不能用于广域网。
协议:SMB (Server Message Block ,服务消息块),端口 TCP 445 (有SMBv1/v2/v3)。
补充:老系统里 SMB 还会走 139(NetBIOS) 端口,现代主要是 445;扫描时这两个口都代表可能开了文件共享。
前提:系统的 Server(lanmanserver)服务必须开启。
验证 445 是否真开:用 net share(推荐),别只靠 netstat -an | find “445”—— 老系统上即使关了共享,445 仍可能显示。
4.2 创建共享与权限
创建:文件夹右键 → 属性 → 共享 → 开启共享、设共享名、设共享权限。
两套权限 + 一条铁律(必背):
本地登录:只受 NTFS 权限影响;
远程访问:同时受共享权限和 NTFS 权限影响,取交集(谁更严听谁的)。
推荐做法:共享权限直接给 Everyone 完全控制,把具体权限限制都放到 NTFS 权限里去配,方便统一管理。
4.3 访问共享
在 “运行” 或资源管理器地址栏输入 UNC 路径:
\服务器IP(看这台机器所有共享)
\服务器IP\共享名(直接进某个共享)
身份验证弹窗机制:本机先用 “当前用户名密码” 去试,对方验证不过才弹出登录框让你输账号密码;两边账密一致时会直接进入、不弹窗。
4.4 隐藏共享($)
创建方法:共享名后面加 $,如 f$,浏览列表里就看不到它。
访问方法(必须写全名):\服务器IP\共享名$。
系统默认就有隐藏共享:C$、D$、admin$、IPC$(管理员用,对应每个分区)。
安全点:隐藏 ≠ 安全。$ 只是 “不显示在浏览列表”,用扫描工具照样能扫出来,别以为加了 $ 就安全。
4.5 共享相关命令
| 命令 | 作用 |
|---|---|
| net share | 列出本机所有共享(含隐藏的 C$、D$、admin$、IPC$ ) |
| net share 共享名 /del | 删除指定共享 |
4.6 关掉 / 屏蔽共享(安全加固)
(1)可通过注册表关闭系统默认隐藏共享;
(2)关445 两方法(停 Server 服务、防火墙拦 445)
4.7 安全视角
445/SMB 是攻击重灾区,最著名的就是永恒之蓝 MS17-010(针对 SMBv1 的远程代码执行),WannaCry 勒索病毒就是靠它全球传播 —— 和课件说的 “关 445 防勒索” 对应上。常见攻击面:SMB 弱口令爆破、匿名 / 空会话(IPC$)枚举用户和共享、C$/admin$ 默认共享被利用、SMBv1 漏洞。
加固清单:禁用 SMBv1、不用就关 445 / 停 Server 服务、防火墙限制来源 IP、共享最小权限(共享 + NTFS 取交集)、及时打 MS17-010 补丁、不把 445 暴露公网。
渗透信息收集:nmap 扫到 139/445 开放 → 识别 SMB 版本 → 判断有没有永恒之蓝、尝试弱口令 / 枚举共享。
五、NTFS 安全权限
5.1 基础概念(了解)
NTFS 权限作用:让不同用户对同一文件 / 文件夹有不同访问权限,防止资源被越权查看、篡改、删除。
常见文件系统:Windows 用 FAT32、NTFS;Linux 用 EXT、XFS。
NTFS 特点(考点):支持访问控制列表ACL、EFS加密、磁盘压缩/ 配额、单文件可大于4G(FAT32不行)。
5.2 NTFS 权限三大规则(必背)
1. 权限继承
默认子文件夹 / 文件会继承上级文件夹的权限。
想单独改权限,先:属性 → 安全 → 高级 → 去掉 “允许父项继承” 勾选 → 选 “复制”(保留现有权限再改;选 “删除” 则清空)。
2. 权限累加
一个用户同时属于多个组时,各组权限相加。
例:a 同时在 IT 组(读)和 HR 组(写),最终 a = 读 + 写。
3. 拒绝优先
权限整体累加,但"拒绝” 权限优先级高于 “允许”:只要在任何一处被拒绝,最终就是没有该权限。
口诀:权限相加,拒绝最大。
其他机制:
4. 与共享权限取交集
本地登录只看 NTFS;远程访问共享时,共享权限∩NTFS 权限,取更严格的。
- 取得所有权(Take Ownership)
管理员Administrator可以强制夺取任何文件/ 文件夹的所有权,哪怕原属主把权限改得谁都进不去,管理员仍能夺回再重配权限、删除文件。
安全点:这体现管理员的最高权限,应急/取证和提权分析里都会用到。
5.3 基本权限(认得出就行)
| 权限 | 能干什么 |
|---|---|
| 完全控制 | 读、写、改、删、改权限,最高 |
| 权限 | 能干什么 |
|---|---|
| 修改 | 能改内容、能重命名 / 删除(含读 + 写 + 执行) |
| 读取和执行 | 能看内容、能运行 exe |
| 读取 | 只能看内容 |
| 写入 | 能新建 / 修改(一般要配合读取) |
| 列出文件夹内容 | 能进目录、列出里面有什么(仅文件夹) |
5.4 hosts 文件(必背)
路径:C:\Windows\System32\drivers\etc\hosts作用:本机手动指定 “域名↔IP” 对应关系,优先级高于 DNS 服务器。
风险:正因为优先于 DNS,恶意软件 / 病毒常篡改 hosts,把正常网站(如百度、银行)指向恶意 IP 或直接让你打不开;也可用于内网钓鱼、域名劫持。
相关命令:ipconfig /displaydns 看 DNS 缓存、ipconfig /flushdns 清缓存(改完 hosts /排查域名问题时用)。
5.5 高频面试题
- (1)用户属于多个组,权限怎么算?
权限累加;但 “拒绝” 优先于 “允许”。
(2)远程访问共享时权限怎么算?
共享权限和 NTFS 权限取交集(更严的生效)。
(3)用户把文件夹权限锁死、管理员都进不去怎么办?
管理员用 “取得所有权” 夺回属主,再重新授权。
(4)子文件夹为什么改不了权限?
默认继承父级,先在高级里取消继承(选复制)再改。
(5)hosts 文件作用和风险?
本地域名映射、优先级高于 DNS,被篡改会导致域名劫持 / 网站无法访问。
六、DHCP 部署与安全
6.1 定义
DHCP(Dynamic Host Configuration Protocol)动态主机配置协议:自动给客户机分配IP地址、子网掩码、网关、DNS、租期。
优点:减少管理员工作量、避免手动配错导致 IP 冲突、提高地址利用率。
端口:UDP 67(服务器)/ 68(客户端)
验证服务是否开启:netstat -an | find “67”。
相关概念:地址池/作用域 = 一段可分配的 IP 范围(起始 IP ~ 结束 IP)。
6.2 DHCP 租约四步(DORA,必考)
| 步骤 | 报文 | 谁发→谁收 | 内容 |
|---|---|---|---|
| 1 | Discover 发现 | 客户机 → 广播 (255.255.255.255:67) | “有没有 DHCP 服务器?给我个 IP” |
| 2 | Offer 提供 | 服务器 → 客户机 | “用这个 IP 行不?"(只给 IP,不给掩码 / 网关 / DNS) |
| 3 | Request 请求 | 客户机 → 广播 | “我决定用这个 IP 了,其他参数都给我” |
| 4 | ACK 确认 | 服务器 → 客户机 | 确认租约,给全参数:IP、掩码、网关、DNS、租期 |
6.3 所有 DHCP 报文类型(认名字)
| 报文 | 含义 |
|---|---|
| Discover | 客户端找 DHCP 服务器(广播) |
| Offer | 服务器提供 IP |
| Request | 客户端正式请求 IP(续约也用) |
| ACK | 服务器同意 |
| NAK | 服务器拒绝(一般看不到) |
| Decline | 客户端发现 IP 冲突,告诉服务器 “这 IP 不能用” |
| Release | 客户端主动释放 IP |
6.4 租约与续约机制(必背)
租期默认 8 天;到 50%(如 4 天)时客户端主动发 Request 续约。
续约失败:到 87.5% 再发一次 Request;再失败就释放 IP、重新走 DORA 四步。
重来还是没服务器响应 → 自动给自己配 169.254.x.x。
关机再开机:租期没过 → 优先要回上次用过的 IP,被占了才换新的。
6.5 两个相关命令
ipconfig /release:释放当前 IP(取消租约)
ipconfig /renew:重新获取 IP(有 IP 发 Request 续约;没 IP 发 Discover 重新拿)
6.6 地址保留
按 MAC 地址绑定固定 IP(地址池里给某台设备永远分配同一个 IP),常用于打印机、服务器。
6.7 DHCP 攻击与防御(安全重点,必背)
安全视角一句话:DHCP是局域网” 信任" 的地基,攻击它= 控制整网客户机的网络出口,所以企业网要靠交换机防护。
(1)攻击 1:DHCP 地址池耗尽攻击原理:攻击机不断用伪造的 MAC 地址发 Discover 广播,把地址池里的 IP 全部 “租” 走,导致正常用户拿不到 IP(断网)。
工具:DHCPig。
防御:在管理型交换机端口上限制MAC地址数量。
(2)攻击 2:伪装 DHCP 服务器攻击原理:攻击者自己架一台 DHCP 服务器,客户机先应答先得,被分配攻击者控制的 IP / 网关 / DNS后果:中间人攻击、钓鱼、流量劫持(比如把网关和 DNS 指到攻击机)。
防御:交换机上只允许合法DHCP服务器所在端口发Offer。
6.8 高频面试题
(1)DHCP 工作过程?(必问)
背 DORA 四步:Discover→Offer→Request→ACK,各步内容讲清(Offer 只给 IP,ACK给全参数)。
(2)DHCP 用什么端口?
UDP 67 服务器、68 客户端。
(3)DHCP 地址耗尽攻击怎么做、怎么防?
伪造 MAC 狂发 Discover 耗尽地址池,交换机端口限 MAC 数。
(4)伪装 DHCP 服务器攻击危害?
分配恶意网关 / DNS,实现中间人、流量劫持。
(5)169.254.x.x 怎么来的?
DHCP 拿不到 IP 时自动分配的临时地址。
(6)怎么给打印机固定 IP?
DHCP 地址保留,按 MAC 绑定。
七、DNS 部署与安全
7.1 定义
DNS(Domain Name Service,域名服务):把域名解析成 IP 地址。
端口:UDP/TCP 53。
为什么需要:人记 www.baidu.com,机器访问要 IP,中间靠 DNS 翻译。
7.2 域名组成
FQDN(完全限定域名,Full Qualified Domain Name)= 主机名 + 域名后缀。
如 www.baidu.com.. = 根域(最顶层)
com = 顶级域(一级域名)
baidu = 二级域名www = 主机名重要区分:sina.com 才是全球唯一的 “域名”;www.sina.com 只是它下面的一台主机。
顶级域分类:国家 / 地区顶级域(cn、jp、uk、hk、tw)+ 通用顶级域:com 商业、gov政府、edu 教育、mil 军事、org 组织、net 网络。
7.3 域名解析记录类型(必背)
| 记录 | 全称 / 作用 |
|---|---|
| A 记录 | 正向解析:主机名 → IP(最常用,如 www.baidu.com → 3.3.3.3) |
| CNAME 记录 | 别名:一个域名指向另一个域名(如 www → 主域名) |
| PTR 记录 | 反向解析:IP → 域名(和 A 相反,做反查用) |
| MX 记录 | 邮件交换记录(邮件服务器指向) |
| NS 记录 | 域名服务器(谁管这个域) |
| SOA 记录 | 权威起始记录(区域权威信息) |
7.4 查询方式分类(重点,必背)
1. 递归查询 vs 迭代查询
递归查询:客户机 ↔ 本地DNS服务器之间。客户机问一句,DNS 服务器 “包到底”:要么给答案,要么说没有,不让你再到处问。
迭代查询:本地DNS服务器 ↔ 根/ 顶级/ 权威服务器之间。被问的服务器不包到底,只告诉你 “去问谁”,一层层指引(根 → .com 服务器 → baidu.com 权威服务器)。
2. 正向 / 反向解析
正向解析:已知域名 → 查 IP(A 记录)。
反向解析:已知 IP → 查域名(PTR 记录)。
7.5 解析完整流程(必背)
客户机访问 www.baidu.com 的顺序:客户机递归问本地,本地迭代问全网(1)本机DNS缓存(ipconfig /displaydns 查看);
(2)hosts文件(C:\Windows\System32\drivers\etc\hosts);
(3)交给本地DNS服务器(递归查询);
本地 DNS 服务器处理顺序:①自己的缓存 → ②权威区域(自己管不管这个域)→ ③转发器 → ④根提示(全球 13 个根服务器);
(4)本地服务器通过迭代查询逐级找到权威服务器,拿到 IP 返回客户机。
7.6 转发器
作用:本地 DNS 服务器自己不查根,把解析请求转交给另一个 DNS 服务器(如114.114.114.114)。
好处:减少每次都要和根服务器沟通的压力,解析更快;没配转发器时才走根提示。
7.7 相关命令
nslookup 域名:手工解析域名(验证 DNS 好不好用)。
ipconfig /displaydns:查看本机 DNS 缓存。
ipconfig /flushdns:清空本机 DNS 缓存。
7.8 安全视角
DNS 是 “互联网的电话簿”,也是攻击重灾区:
hosts 篡改(域名劫持,前面讲过);
DNS 欺骗 / 投毒(伪造解析结果,把用户引到钓鱼站);
DNS 隧道(用 DNS 查询偷传数据,隐蔽信道,后渗透会用到,先混个眼熟);
拒绝服务(向 DNS 服务器灌查询,打瘫解析)。
记住:客户端解析顺序 缓存→hosts→DNS,越靠前越优先,也越容易被本地篡改—— 这就是 hosts 安全重要的原因。
7.9 高频面试题
(1)递归查询和迭代查询的区别?
递归查询:客户机问一句,DNS 服务器 “包到底”:要么给答案,要么说没有,不让你再到处问。迭代查询:被问的服务器不包到底,只告诉你 “去问谁”,一层层指引(根 → 顶级服务器 → 权威服务器)
(2)A 记录、CNAME、PTR 各自作用?
A:域名→IP(正向),CNAME:别名,PTR:IP→域名(反向)。
(3)客户机解析域名的顺序?
缓存 → hosts → 本地 DNS 服务器。
(4)改完 hosts / 换 DNS 后解析还是旧的怎么办?
ipconfig /flushdns 清缓存。
(5)DNS 服务器解析不了新域名先查什么?
缓存→权威区域→转发器→根提示。
八、WEB 服务器
8.1 定义
Web 服务器 = 网页服务器 / HTTP 服务器:把做好的网站发布到网络上,让客户机用浏览器远程访问。
核心点:Web 服务器软件就是 “能打开 80 端口的软件”,负责接收HTTP请求、返回网页。
8.2 协议与端口
协议:HTTP(应用层);HTTPS = HTTP + SSL/TLS 加密(更安全,443)。
端口:HTTP=80、HTTPS=443。
端口范围 065535;01023 为知名端口(一般保留给服务器使用:21 FTP、22 SSH、23 Telnet、25 SMTP、53 DNS、67/68 DHCP、110 POP3、3389 RDP…);客户端端口是随机生成的(访问时临时分配一个高位端口)。
安全点:记住 “服务端口常驻固定、客户端端口随机”,抓包看连接时很有用。
8.3 常见 Web 服务器软件(背熟名字和用途)
| 软件 | 厂商 / 特点 | 用途 |
|---|---|---|
| IIS | 微软 | 发布 ASP 动态网站、FTP;Windows 系 |
| Apache | 开源 | 老牌、速度快,配 PHP 最常见 |
| Nginx | 开源 | 速度更快,高并发首选,现在最流行 |
| Tomcat | Apache 基金会 | 发布 Java 网站(JSP) |
| WebLogic | Oracle | 企业级 Java 中间件 |
| WebSphere | IBM | 企业级中间件 |
| phpStudy/XAMPP/WAMP | 第三方一键包 | 本地快速搭环境 |
面试常问:“你了解哪些 Web 中间件?“把上表背出来就是完整答案。
8.4 网站类型:静态 vs 动态(必背)
| 静态网站 | 动态网站 | |
|---|---|---|
| 交互 | 不能和用户交互 | 能和用户交互(登录、搜索、发帖) |
| 技术 | 纯 HTML,扩展名 .html/.htm | HTML + 动态脚本语言 + 数据库 |
| 有无数据库 | 无后台数据库 | 有后台数据库 |
| 例子 | 展示页 | 电商、论坛、CMS |
动态脚本语言:PHP(开源免费,用得最多)、ASP(微软)、JSP(Java)、Python。动态语言的作用:连接前台页面和后台数据库,这也解释了 SQL 注入为什么存在(动态网站要拼 SQL 查数据库)。
8.5 常见环境组合(渗透指纹识别的 “套餐”)(必背)
| 平台 | 组合 |
|---|---|
| LAMP | Linux + Apache + MySQL + PHP |
| WAMP | Windows + Apache + MySQL + PHP |
| LNMP | Linux + Nginx + MySQL + PHP |
| Windows 系 | Windows + IIS + ASP + SQL Server |
记法:第一个字母是系统、第二个是 Web 服务器、后面跟数据库和脚本。渗透时看到.asp基本就是IIS+SQL Server路线,看到.php大概率LAMP/LNMP。
8.6 虚拟主机(一台服务器发布多个网站)(必背)
两种方法:
(1)基于端口:同 IP 不同端口;
(2)基于域名(生产主流):同 IP、同端口 80、不同主机名(域名),靠 HTTP 请求头里的 Host 区分是哪个网站。
渗透关联:同一 IP 上可能挂了几十个网站(虚拟主机),扫到一个 IP 只测默认站点可能
漏掉很多目标,所以信息收集要枚举虚拟主机/ 子域名。
8.7 高频面试题
(1)HTTP 和 HTTPS 区别?
HTTPS 多了 SSL/TLS 加密,443 端口。
(2)静态网站和动态网站区别?
静态纯 HTML 无交互无数据库;动态含脚本 + 数据库,能交互。
(3)LAMP/LNMP/WAMP 分别是什么?
8.5(4)一台服务器怎么发布多个网站?
虚拟主机:基于端口或基于域名。
(5)怎么判断目标网站技术栈?
看扩展名(.asp/.php/.jsp)、响应头、默认页面、中间件指纹(IIS/Nginx/Apache),对应不同攻击路线。
(6)命令注入漏洞原理?
应用程序把用户可控的输入,直接拼接到系统命令字符串中,且未做任何过滤,导致攻击者能往命令里 “塞” 自己的命令,并在服务器上执行。
九、FTP 服务器
9.1 定义
FTP(File Transfer Protocol,文件传输协议):网络上传 / 下载文件,功能和 SMB 文件共享 (445) 几乎一样。
区别:公司内部共享用SMB/FTP;对外提供文件下载上传用FTP服务器(FTP 跨平台、通用性好)。
9.2 端口(必背)
| 端口 | 作用 |
|---|---|
| 21 控制端口 | 身份验证、指令传送(登录、发命令都走它) |
| 20 数据端口 | 默认不开启,只有在传输数据那一刻才打开,传完就关 |
9.3 主动模式 vs 被动模式(必背,重点)
默认是被动模式(PASV)。
主动模式:服务器用20端口主动连客户机的随机端口。
问题:客户机常在 NAT / 防火墙后面,服务器连不进来 → 容易失败。
被动模式:客户机主动连服务器随机开放的高位端口。
好处:客户机主动连服务器,能穿过防火墙/ NAT,所以是默认。
9.4 FTP 常用命令
登录:ftp 服务器IP → 输用户名 / 密码;anonymous 匿名(服务器允许时,密码回车即可)。
get 下载文件、put 上传文件、dir/ls 看目录、cd 切换、bye/quit 退出、help 看帮助。
9.5 权限铁律(和 SMB 一模一样)
FTP权限 和NTFS权限取交集(更严的生效)。
典型配置:FTP 站点给 “读取 + 写入”,具体每个用户能干什么靠 NTFS 权限细分。
9.6 安全视角(必背)
(1)FTP 是明文协议:账号密码、数据全部明文传输,Wireshark 抓包直接能看到密码(和 Telnet 一样,这是它最大的安全问题)。
(2)匿名登录:服务器开了匿名(anonymous)就相当于免密访问,可枚举文件甚至上传 WebShell,渗透中第一件事就是试匿名。
(3)弱口令爆破:21 是爆破重灾区,用 hydra/medusa 字典爆破。
(4)主动 / 被动模式利用:抓包看到 PORT/PASV、EPSV 就能判断模式;防火墙策略若只放行 21 不放数据端口,FTP 传输会失败 —— 这是运维和攻防都会踩的坑。
(5)文件上传点:如果 FTP 能写,攻击者常上传 WebShell 到 Web 目录直接 getshell(渗透链路常见一步)。
(6)加固:禁用匿名、强制用 SFTP/FTPS(加密版)、限制来源 IP、最小权限。
9.7 高频面试题
(1)FTP 两个端口及作用?
21 控制(验证 / 指令)、20 数据(传文件,用时才开)。
(2)主动模式和被动模式区别?
谁发起数据连接:主动 = 服务器用 20 连客户端随机端口;被动 = 客户端连服务器随机端口(默认,能过 NAT / 防火墙)。
(3)FTP 为什么不安全?
明文传输,抓包可拿账号密码;匿名登录、弱口令爆破都是攻击点。
(4)怎么给不同用户不同 FTP 权限?
FTP 权限∩ NTFS 权限取交集,细粒度靠 NTFS。
(5)拿到 FTP 能做什么?
枚举文件、下载敏感资料、弱口令 / 匿名进去后上传 WebShell 到 Web 目录 getshell。
十、AD 域
10.1 定义
域(Domain):微软的企业级网络环境,特点是不平等、有等级之分、可集中统一管理。对比工作组(WorkGroup):默认环境、人人平等、分散管理,适合中小型企业;
域适合大型企业(几千上万台 PC)。
10.2 域的成员组成
| 角色 | 说明 |
|---|---|
| 域控制器 DC (Domain Controller) | 域的 “大脑” 服务器,装了 AD 活动目录的 Windows Server |
| 成员机 | 加入域的员工电脑(Win7/XP/2003 等),受 DC 统一管理 |
部署逻辑(必背):装域必须先有一台 DC → DC 上装 AD 活动目录 + DNS 服务器。
AD(Active Directory,活动目录)= 整个域的灵魂,存着域里所有用户、计算机、组的"花名册”。
DNS 在域里的作用:定位寻址,成员机靠 DNS 找到 DC(所以装域必须装 DNS)。
10.3 部署域后的关键变化
服务器本地账号升级为域账号:本地 administrator → 域管理员,本地 guest → 域来宾。登录格式:域名\用户名(如 topsec\administrator)。
AD 里的默认安全组(眼熟即可):Domain Admins(域管理员,最高)、Domain Users、Domain Computers、Enterprise Admins(企业管理员)。
10.4 组织单位 OU 和组策略 GPO(必背)
OU(Organization Unit,组织单位):在 AD 里建的 “部门文件夹”,一个 OU 代表一个部门(市场部 / 技术部 / 北京总部…),按公司组织架构建 OU。
GPO(Group Policy,组策略):给不同部门下发的统一策略(如桌面背景、禁止上网、禁控制面板)。
关键规则:组策略是针对 OU 为单位下发的,把用户放进对应 OU,该 OU 的策略就作用到他身上。
整个体系:AD 管 “有哪些人和部门”,GPO 管 “这些部门能干什么”。
10.5 组策略应用顺序:LSDOU(必背)
顺序:L (本地Local)→S (站点Site)→D (域Domain)→OU(组织单位),一层层套下来。
冲突时,后应用的生效(OU层最晚,所以优先级最高);不冲突就各自生效。
10.6 强制 vs 阻止继承
| 机制 | 效果 |
|---|---|
| 强制(Enforced) | 上级策略强制下发给下级 OU,下级不能反抗 |
| 阻止继承(Block Inheritance) | 下级 OU 拒绝接收上级所有策略 |
| 两者同时设 | 强制生效(强制 > 阻止继承) |
10.7 安全视角(内网渗透必背)
域=内网渗透的最终目标:拿下 Domain Admins(域管理员) 就是拿下整个域,所有电脑都能登录。
渗透关键路径:普通成员机 → 提权 → 抓域凭据(Mimikatz 抓 hash)→ 横向 → 打 DC →拿域管。
常被问的攻击点:域控提权漏洞(如 Zerologon CVE-2020-1472)、黄金票据 / 白银票据(Kerberos 票据伪造,先混眼熟)、GPO 滥用(改策略下发恶意脚本)—— 后渗透阶段会细学,现在知道 “域是最终目标” 就行。
加固:DC 单独放安全区、最小化 Domain Admins 成员、补丁及时打、关不需要的服务。
10.8 高频面试题
(1)域和工作组区别?
域有等级、集中统一管理(DC+AD),工作组人人平等分散管理;域适合大企业。
(2)部署域需要什么?
一台 DC(Windows Server)+ AD 活动目录 + DNS 服务器。
(3)OU 和 GPO 关系?
GPO 以 OU 为单位下发,用户放进 OU 就受对应策略管理。
(4)组策略应用顺序?
LSDOU(本地→站点→域→OU),后应用的生效,OU 优先级最高。
(5)强制和阻止继承冲突谁生效?
强制生效。
(6)内网渗透最终目标?
拿下 Domain Admins 域管权限,控制整个域。
十一、PKI 公钥基础设施
11.1 PKI 概述
PKI(Public Key Infrastructure,公钥基础设施):用加密技术 + 数字签名保证信息存储和传输的安全。
组成:公钥加密技术+ 数字证书+ CA + RA。
应用领域:HTTPS(443,S 就是 SSL/PKI)、VPN(IPSec VPN、SSL VPN)。
11.2 信息安全三要素(必背)
| 要素 | 解决什么问题 | 用什么技术实现 |
|---|---|---|
| 机密性 | 数据不被别人看到 | 加密(对称/非对称) |
| 完整性 | 数据没被篡改 | 哈希算法 |
| 身份验证(不可否认性) | 确认是谁发的、赖不掉 | 数字签名(私钥签名) |
11.3 三大类加密算法(核心,必背)
1. 对称加密
定义:加密和解密用同一把密钥。
常见算法:DES、3DES、AES(AES 最常用)。
优点:速度快;缺点:协商密钥时明文传输,密钥容易泄露。
2. 非对称加密
定义:一对密钥(公钥 + 私钥),公钥公开、私钥私有,互相加解密、不可互推,自己生成不需要协商。
常见算法:RSA、DH(迪菲 - 赫尔曼)。
两种用法(必背):
机密性:用对方的公钥加密 → 对方用自己私钥解密;
数字签名/身份验证:用自己的私钥加密(签名)→ 别人用你的公钥验证。
优点:安全(机密性 + 身份验证);缺点:效率低、速度慢。
实际使用:非对称协商密钥 + 对称加密传输数据(HTTPS)。
3. 哈希算法(散列)
常见:MD5、SHA(sha256/512)。
三个特点(必背):
不论数据多大,加密后都是固定长度字符串;
源数据不变,结果不变;
不可逆(无法从 hash 反推原文)。
作用:保证数据完整性,发方算出 hash 一起发,收方重算对比,一致 = 没被篡改。
安全点:MD5 已不安全(可碰撞 / 彩虹表破解),现在常用 SHA-256。
11.4 数字证书与 CA(必背)
问题:公钥是公开的,怎么证明 “这个公钥真的是某某公司的”?→ 靠数字证书。
CA(Certificate Authority,证书颁发机构):类似 “公安局 / 公证处”,负责接受证书申请、核实、制作并颁发证书。
证书格式遵循 X.509 标准;证书内容:申请者公钥+ 申请者信息(域名/ IP /名称)
- 有效期+ 颁发者信息+ 颁发者的数字签名(钢印)。
信任链(必背流程):
网站生成密钥对 → 把 “公钥 + 公司信息” 打包成证书申请发给 CA → CA 核实后用CA私钥签名盖章(变成证书)→ 网站把证书绑定到 Web 服务 → 客户机访问 HTTPS 时收到证书→ 浏览器用内置的 “根证书(信任的 CA 公钥)” 验证签名真伪。
为什么浏览器报 “不信任”:CA 不是浏览器内置信任的根 CA(如自己搭的企业 CA)→ 需要手动把 CA 证书导入 “受信任的根证书颁发机构”。
11.5 HTTPS 到底怎么工作?
(1)客户机连网站,网站把证书发给浏览器;
(2)浏览器验证证书签名(信任 CA)→ 拿到网站真正的公钥;
(3)浏览器生成一个随机对称密钥,用网站公钥加密发给网站(非对称,保证机密性);(4)网站用私钥解开拿到对称密钥,之后都用对称密钥加密通信(速度快);
(5)传输内容同时带 hash 校验完整性,私钥签名保证身份。
11.6 安全视角(面试加分)
HTTPS ≠ 绝对安全:证书被钓鱼网站冒充、中间人攻击(MITM)——攻击者伪造证书骗
过浏览器(所以浏览器警告别乱点 “继续访问”)。
证书欺骗 / 钓鱼:伪装 CA 或偷私钥,能解密 HTTPS 流量。
内网渗透相关:ADCS(AD 证书服务)滥用是近年热门提权 / 横向手法(先混眼熟);自签证书在测试环境常见。
11.7 高频面试题
(1)信息安全三要素?
机密性(加密)、完整性(哈希)、身份验证(数字签名)。
(2)对称和非对称加密区别?
对称同钥、快、密钥易泄露(DES/3DES/AES);非对称公私钥对、安全但慢(RSA/DH)。
(3)数字签名原理?
私钥加密(签名),公钥验证,实现身份验证和不可否认性。
(4)哈希算法特点和作用?
定长、不可逆、防篡改,保证完整性(MD5/SHA)。
(5)CA 是干什么的?
证书颁发机构,核实并签名颁发证书,证明公钥合法性。
(6)HTTPS 怎么保证安全?
证书验身份 + 非对称协商对称密钥 + 对称加密传输 + 哈希验完整性。
← 回到笔记列表