news 2026/9/10 14:49:44

《计算机网络-自顶向下方法》8.10 小结、课后习题和Wireshark实验 读书笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
《计算机网络-自顶向下方法》8.10 小结、课后习题和Wireshark实验 读书笔记

目录

  • 导语
  • 一、第8章知识体系回顾
  • 二、复习题
  • 三、习题
  • 四、Wireshark实验:探究TLS
  • 五、IPsec实验
  • 本章核心总结(必看)
  • 结语

导语

大家好呀~恭喜你来到第8章的最后一节!这一章我们学习了计算机网络中的安全——从网络安全的基本概念,到密码学原理,到报文完整性和数字签名,到端点鉴别,到安全电子邮件(PGP),到TLS/HTTPS,到IPsec/VPN,到无线网络安全,再到防火墙和入侵检测系统。内容非常丰富,几乎涵盖了网络安全的所有核心领域。

这一节我们会做三件事:第一,回顾整个第8章的知识体系,把零散的知识点串成一张网;第二,做一些复习题和习题,检验和巩固所学;第三,用Wireshark实际抓包分析TLS握手过程,并了解IPsec实验。理论结合实践,才能真正掌握网络安全。准备好了吗?让我们开始最后的冲刺~


一、第8章知识体系回顾

1. 安全的层次结构

第8章的内容可以按照TCP/IP协议栈的层次来组织:

层次安全技术对应章节
应用层PGP安全电子邮件、HTTPS8.5
运输层TLS/SSL8.6
网络层IPsec、VPN8.7
链路层WiFi安全(WPA2/WPA3)、4G/5G安全8.8
运行安全防火墙、IDS/IPS8.9
基础密码学、散列、数字签名、鉴别8.2-8.4

2. 核心概念地图

整个第8章围绕四个安全目标展开:

  • 机密性:对称加密(AES)、公钥加密(RSA)、混合加密
  • 完整性:散列函数(SHA-256)、MAC(HMAC)
  • 鉴别:数字签名、端点鉴别、数字证书
  • 可用性:防火墙、IDS/IPS、DDoS防御

密码学是基础(8.2-8.4),各层安全协议是应用(8.5-8.8),运行安全是防护(8.9)。

3. 关键技术对比

技术层次机密性完整性鉴别典型应用
PGP应用层安全邮件
TLS运输层是(服务器)HTTPS
IPsec网络层VPN
WPA2/3链路层WiFi
防火墙运行层---流量过滤
IDS/IPS运行层---攻击检测/阻断

二、复习题

8.1 什么是网络安全

1. 网络安全通信需要满足哪四个要素?

机密性(只有授权方能理解消息)、报文完整性(消息未被篡改)、端点鉴别(确认对方身份)、运行安全性(保护网络基础设施)。

2. CIA三元组指什么?

机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)。

3. 列举三种常见的网络攻击类型。

窃听(被动截获数据)、篡改(修改数据)、冒充(伪造身份)、DoS/DDoS(拒绝服务)、中间人攻击、恶意软件、钓鱼等。

8.2 密码学原理

4. 对称加密和公钥加密的主要区别是什么?

对称加密加密解密用同一个密钥,速度快但密钥分发困难;公钥加密用一对密钥(公钥加密、私钥解密),解决了密钥分发但速度慢。实际中用混合加密结合两者。

5. 为什么AES取代了DES?

DES的56位密钥太短,随着计算机算力提升可以被暴力破解(1999年22小时破解)。AES支持128/192/256位密钥,更安全,且算法设计更优。

6. 什么是柯克霍夫原则?

加密算法应该公开,只有密钥需要保密。安全性不依赖于算法的保密,而依赖于密钥的保密。

8.3 报文完整性和数字签名

7. 密码散列函数需要满足哪些特性?

单向性(不能从散列值反推输入)、抗弱碰撞(不能找到和指定输入有相同散列值的另一输入)、抗强碰撞(不能找到任意两个有相同散列值的输入)、雪崩效应(输入微小变化导致输出巨大变化)。

8. MAC和数字签名有什么区别?

MAC用共享密钥生成校验码,提供完整性和来源鉴别,但不能提供不可否认性(双方都有密钥);数字签名用私钥签名、公钥验证,提供完整性、鉴别和不可否认性。

9. 为什么需要数字证书?

解决公钥分发问题——确认某个公钥确实属于声称的身份。由可信的CA签发证书,证明公钥和身份的绑定关系。

8.4 端点鉴别

10. 什么是重放攻击?怎么防御?

重放攻击是攻击者窃听到鉴别消息后重新发送,冒充合法用户。防御方法是使用nonce(一次性随机数),服务器每次发不同的nonce,客户端用密钥加密nonce返回,旧的nonce无效。

11. 中间人攻击的原理是什么?怎么防御?

攻击者插入到通信双方之间,分别和双方建立连接,双方都以为在直接通信。防御核心是验证公钥的真实性(数字证书、证书固定、带外验证指纹)。

8.5 安全电子邮件

12. PGP怎么同时实现加密和签名?

先对邮件计算散列值并用私钥签名,然后生成随机会话密钥加密邮件+签名,再用收件人公钥加密会话密钥。收件人先用私钥解密得到会话密钥,再解密邮件,最后验证签名。

13. PGP的Web of Trust和S/MIME的CA层次有什么不同?

PGP用去中心化的信任网——用户互相签名公钥,通过信任链建立信任;S/MIME用中心化的CA层次——由可信的CA签发证书,通过证书链验证。

8.6 TLS

14. TLS握手的主要步骤是什么?

ClientHello(版本+加密套件+随机数)→ ServerHello(选定参数+随机数)→ 服务器证书+密钥交换参数 → 客户端验证证书+发送加密的预主密钥 → 双方派生密钥 → 双方发送Finished消息验证握手完整性。

15. 什么是前向保密?TLS怎么实现?

前向保密指即使服务器的长期私钥在未来泄露,之前的会话密钥也不会被破解。TLS通过ECDHE(临时椭圆曲线Diffie-Hellman)实现——每次会话生成临时密钥对,用完即弃,长期私钥只用于签名认证。

16. TLS 1.3相比1.2有哪些主要改进?

1-RTT握手(1.2是2-RTT)、0-RTT恢复、强制前向保密、移除不安全算法(RC4/MD5/3DES/CBC)、握手消息加密、简化加密套件。

8.7 IPsec和VPN

17. IPsec的传输模式和隧道模式有什么区别?

传输模式只保护传输层数据,保留原始IP首部,开销小,用于端到端通信;隧道模式保护整个IP数据报,添加新的外部IP首部,开销大,隐藏真实IP,用于VPN。

18. 什么是安全关联(SA)?

SA是IPsec中发送方和接收方之间的单向逻辑连接,定义了安全参数(SPI、加密/鉴别算法和密钥、模式、生存期等)。双向通信需要两个SA。

19. AH和ESP的区别是什么?

AH只提供数据源鉴别和完整性,不提供加密,且不兼容NAT;ESP同时提供加密和鉴别,兼容NAT,是目前的主流。

8.8 无线网络安全

20. WPA2四次握手的目的是什么?

在AP和STA之间协商出加密用的会话密钥(PTK和GTK),同时验证双方都拥有正确的PMK(由WiFi密码派生)。四次握手过程中WiFi密码本身不在网络上传输。

21. WPA3相比WPA2的主要安全改进是什么?

用SAE(同时对等认证)替代PSK,抵抗离线字典攻击;强制前向保密;支持192位加密;简化IoT设备配置。

22. 蜂窝网络AKA鉴权怎么实现双向认证?

网络通过用户返回的RES验证用户身份(用户知道SIM卡中的长期密钥K);用户通过验证AUTN(用K加密的网络认证令牌)确认网络是真实的,防止伪基站。

8.9 防火墙和IDS

23. 包过滤防火墙和状态检测防火墙的区别?

包过滤对每个数据包独立检查IP/端口/协议,不跟踪连接状态;状态检测维护连接状态表,只允许属于已建立连接的数据包通过,更安全。

24. IDS和IPS的区别?

IDS被动监控网络流量,检测攻击并告警,不阻断流量;IPS在线部署,检测到攻击后主动阻断。IDS误报不影响业务,IPS误报会中断正常业务。

25. 基于特征和基于异常的入侵检测各有什么优缺点?

基于特征的检测准确率高、误报低,但只能检测已知攻击;基于异常的检测能发现未知攻击(零日漏洞),但误报率高,需要建立正常行为基线。


三、习题

习题1:对称加密和公钥加密的性能对比

假设AES-256的加密速度是100MB/s,RSA-2048的加密速度是1000次/秒(每次加密256字节)。如果要加密一个10MB的文件:

  • 只用AES加密需要多长时间?
  • 只用RSA加密需要多长时间?
  • 用混合加密(AES加密文件+RSA加密AES密钥)需要多长时间?

解答:

  • AES:10MB ÷ 100MB/s = 0.1秒
  • RSA:10MB = 10485760字节,每次加密256字节,需要10485760÷256 = 40960次,40960÷1000 = 40.96秒
  • 混合加密:AES加密文件0.1秒 + RSA加密密钥(一次)0.001秒 ≈ 0.1秒

结论:混合加密比纯RSA快约400倍,这就是为什么实际安全协议都用混合加密。

习题2:RSA计算

假设p=3,q=11(仅用于演示,实际用大素数):

  • 计算n和φ(n)
  • 选择e=3(满足gcd(e,φ(n))=1),计算d
  • 对明文m=7加密,得到密文c
  • 解密密文c,验证得到m=7

解答:

  • n = p×q = 3×11 = 33
  • φ(n) = (p-1)(q-1) = 2×10 = 20
  • d = e^(-1) mod 20,3×7=21≡1 mod 20,所以d=7
  • 加密:c = m^e mod n = 7^3 mod 33 = 343 mod 33 = 343-10×33 = 343-330 = 13
  • 解密:m = c^d mod n = 13^7 mod 33。132=169≡4,134≡42=16,137=134×132×13≡16×4×13=832≡832-25×33=832-825=7。验证正确。

习题3:TLS握手分析

在TLS 1.2握手中,客户端发送的ClientHello包含client_random,服务器发送的ServerHello包含server_random,客户端发送用服务器公钥加密的pre_master_secret。请说明主密钥(master_secret)是怎么派生的,以及为什么需要三个随机数(client_random、server_random、pre_master_secret)而不是只用pre_master_secret。

解答:

  • 主密钥通过PRF(伪随机函数)派生:master_secret = PRF(pre_master_secret, “master secret”, client_random + server_random)
  • 需要三个随机数的原因:
    • pre_master_secret提供长期安全性(由公钥加密保护)
    • client_random和server_random确保每次会话的主密钥不同(即使pre_master_secret相同,随机数不同则主密钥不同)
    • 防止重放攻击(每次握手的随机数不同)
    • 增加熵,提高密钥强度

习题4:防火墙规则设计

公司网络有一个Web服务器(192.168.1.10,提供HTTP和HTTPS)、一个邮件服务器(192.168.1.20,提供SMTP和IMAPS)、员工工作站(192.168.1.0/24)。请设计包过滤防火墙规则,满足:

  • 外部可以访问Web服务器的80和443端口
  • 外部可以访问邮件服务器的25和993端口
  • 员工可以访问外部的HTTP、HTTPS、DNS
  • 禁止外部主动访问员工工作站
  • 禁止ICMP从外部进入

解答(规则按顺序匹配):

规则方向源IP目的IP协议目的端口动作
1入站任意192.168.1.10TCP80,443允许
2入站任意192.168.1.20TCP25,993允许
3入站任意192.168.1.0/24TCP任意丢弃(禁止外部主动访问内网)
4入站任意任意ICMP-丢弃
5出站192.168.1.0/24任意TCP80,443允许
6出站192.168.1.0/24任意UDP53允许(DNS)
7出站192.168.1.0/24任意任意任意丢弃

注意:实际中还需要允许已建立连接的返回流量(状态检测防火墙自动处理)。


四、Wireshark实验:探究TLS

实验目标

通过Wireshark抓包,观察TLS握手的完整过程,理解ClientHello、ServerHello、证书、密钥交换、Finished等消息的结构和内容。

实验环境

  • 电脑安装Wireshark(https://www.wireshark.org/)
  • 浏览器(Chrome/Firefox)
  • 网络连接

实验步骤

第一步:启动抓包

  1. 打开Wireshark,选择当前使用的网络接口(如Wi-Fi或以太网)
  2. 在显示过滤器中输入tlsssl,只显示TLS相关数据包
  3. 点击开始抓包(鲨鱼鳍图标)

第二步:访问HTTPS网站

  1. 打开浏览器,访问一个HTTPS网站(如 https://www.example.com 或 https://www.baidu.com)
  2. 等待页面加载完成
  3. 回到Wireshark,停止抓包(红色停止按钮)

第三步:分析TLS握手

在抓包结果中,你应该能看到以下TLS握手消息:

  1. Client Hello

    • TLS版本(如TLS 1.2或TLS 1.3)
    • 客户端随机数(32字节,28字节随机数+4字节时间)
    • 支持的加密套件列表(如TLS_AES_256_GCM_SHA384)
    • 扩展字段(SNI服务器名称指示、支持的曲线、签名算法等)
  2. Server Hello

    • 选定的TLS版本
    • 服务器随机数
    • 选定的加密套件
    • (TLS 1.3中还包含密钥共享扩展)
  3. Certificate

    • 服务器的数字证书链
    • 可以展开查看证书的颁发者、主题、有效期、公钥、签名算法
  4. Server Key Exchange(TLS 1.2,ECDHE时):

    • 服务器的ECDHE临时公钥参数
    • 用服务器私钥签名的参数
  5. Client Key Exchange(TLS 1.2):

    • 客户端的ECDHE临时公钥(或RSA加密的预主密钥)
  6. Change Cipher Spec

    • 通知对方后续消息将使用协商好的密钥加密
  7. Finished

    • 第一个加密消息,包含所有握手消息的摘要
    • 验证握手过程未被篡改

第四步:观察加密数据

握手完成后,后续的数据包都是 “Application Data”(应用数据),内容是加密的,Wireshark只能看到加密后的密文,看不到明文的HTTP请求和响应。这正是TLS提供机密性的体现。

实验思考题

  1. 你抓到的TLS握手用的是哪个版本?TLS 1.2还是TLS 1.3?
  2. 服务器证书的颁发者是谁?证书有效期是多长?
  3. 选定的加密套件是什么?用的是哪种密钥交换算法(RSA还是ECDHE)?
  4. TLS 1.3的握手比TLS 1.2少了哪些消息?为什么?
  5. 能不能从抓包中看到HTTP请求的URL?为什么?

进阶:解密TLS流量

如果你想查看加密的应用数据内容,可以配置SSLKEYLOGFILE:

  1. 设置环境变量SSLKEYLOGFILE=/path/to/sslkeys.log
  2. 用Chrome/Firefox访问HTTPS网站,浏览器会把TLS会话密钥写入日志文件
  3. 在Wireshark中:编辑→首选项→Protocols→TLS→(Pre)-Master-Secret log filename,选择日志文件
  4. Wireshark会用密钥解密应用数据,显示明文HTTP内容

注意:这只能解密你自己浏览器的流量(因为你有浏览器的会话密钥),不能解密别人的流量。


五、IPsec实验

实验目标

了解IPsec VPN的配置和工作原理,观察IPsec隧道模式下的数据包封装,理解ESP协议的加密和认证。

实验环境(推荐使用虚拟机)

  • 两台Linux虚拟机(如Ubuntu),可以互相通信
  • 安装strongSwan(开源IPsec实现):sudo apt install strongswan
  • 或者使用网络模拟器(如GNS3、Cisco Packet Tracer)

实验步骤概要

第一步:配置IPsec站点到站点VPN

  1. 在两台Linux主机上配置strongSwan
  2. 配置预共享密钥(PSK)或证书认证
  3. 配置加密算法(AES-256)和完整性算法(SHA-256)
  4. 配置隧道模式,指定要保护的子网

第二步:建立IPsec连接

  1. 从一端发起连接(ipsec up <连接名>
  2. 观察IKEv2的四次消息交换(IKE_SA_INIT和IKE_AUTH)
  3. ipsec status查看SA状态

第三步:抓包观察IPsec

  1. 在中间链路上用Wireshark抓包
  2. 从一端ping另一端
  3. 观察ESP数据包:
    • 外部IP首部(隧道端点地址)
    • ESP首部(SPI+序列号)
    • 加密的载荷(原始IP数据报+ESP尾部)
    • ESP认证数据(ICV)
  4. 注意:原始IP首部被加密,看不到真实的源/目的IP

第四步:对比有无IPsec的数据包

  1. 关闭IPsec,抓包观察普通ICMP包(明文,可见原始IP首部和ICMP数据)
  2. 开启IPsec,抓包观察ESP包(加密,只可见外部IP首部和ESP首部)
  3. 对比两者的区别,理解隧道模式的封装

实验思考题

  1. IPsec隧道模式下,外部IP首部的源地址和目的地址是什么?
  2. ESP包中能不能看到原始IP数据报的内容?为什么?
  3. IKEv2建立SA需要几次消息交换?每次交换的作用是什么?
  4. 如果用传输模式而不是隧道模式,数据包结构有什么不同?
  5. IPsec和TLS都能提供加密,它们在应用场景上有什么不同?

本章核心总结(必看)

第8章「计算机网络中的安全」核心要点:

一、安全基础(8.1-8.4)

  • CIA三元组:机密性、完整性、可用性
  • 对称加密(AES)+ 公钥加密(RSA)= 混合加密
  • 散列函数(SHA-256)+ MAC(HMAC)= 完整性
  • 数字签名(私钥签名+公钥验证)= 鉴别+不可否认
  • 数字证书(CA签发)= 解决公钥分发
  • nonce防重放,证书防中间人

二、安全协议(8.5-8.8)

  • PGP:安全电子邮件,混合加密+信任网
  • TLS:运输层安全,HTTPS基础,1.3更快更安全
  • IPsec:网络层安全,VPN核心,ESP+隧道模式+IKE
  • WiFi安全:WPA2四次握手→WPA3 SAE
  • 蜂窝安全:SIM卡+AKA双向认证,5G SUPI加密

三、运行安全(8.9)

  • 防火墙:包过滤→状态检测→NGFW,流量过滤
  • IDS:特征检测+异常检测,攻击告警
  • IPS:在线阻断,主动防御
  • SOC:集中监控响应

四、关键原则

  • 纵深防御:多层次安全防护
  • 最小权限:只授予必要的访问权限
  • 零信任:永不信任,始终验证
  • 安全是过程不是产品:持续监控、更新、改进

结语

恭喜你完成了第8章「计算机网络中的安全」的全部学习!这一章我们从网络安全的基本概念出发,深入学习了密码学原理、报文完整性和数字签名、端点鉴别、安全电子邮件、TLS、IPsec/VPN、无线网络安全、防火墙和入侵检测系统。这些知识构成了现代网络安全的完整体系。

网络安全是一个不断发展的领域——新的攻击手段不断出现,新的安全技术也在不断进步。但核心原理是不变的:机密性、完整性、鉴别、可用性,以及密码学这个基石。理解了这些原理,你就能看懂各种安全技术的本质,也能在实际工作中做出合理的安全决策。

希望这一章的笔记对你有帮助!如果你觉得有用,欢迎点赞收藏~有问题也欢迎留言讨论,我们一起进步。网络安全,人人有责!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 14:49:13

T型逆变器微电网VSG与PQ控制Simulink仿真实践

1. 项目背景与核心价值在新能源发电占比不断提升的今天&#xff0c;微电网作为分布式电源接入的有效解决方案&#xff0c;正受到越来越多的关注。我最近完成了一个关于两台T型逆变器构建局域微电网的Simulink仿真项目&#xff0c;其中采用了VSG&#xff08;虚拟同步发电机&…

作者头像 李华
网站建设 2026/9/10 14:48:07

昇腾/GE更新可刷新特征内存基址API

UpdateGraphRefreshableFeatureMemoryBase 【免费下载链接】ge GE&#xff08;Graph Engine&#xff09;是面向昇腾的图编译器和执行器&#xff0c;提供了计算图优化、多流并行、内存复用和模型下沉等技术手段&#xff0c;加速模型执行效率&#xff0c;减少模型内存占用。 GE 提…

作者头像 李华
网站建设 2026/9/10 14:46:45

RustDesk 1.4.5客户端本地编译与硬件加速优化实战

1. 项目概述&#xff1a;RustDesk 1.4.5客户端本地编译实战 在远程桌面工具领域&#xff0c;RustDesk凭借其开源特性和低延迟表现赢得了大量技术用户的青睐。最近在调试一个需要硬件加速的远程医疗场景时&#xff0c;我发现官方预编译版本对NVIDIA显卡的H.264编码器支持不够理想…

作者头像 李华
网站建设 2026/9/10 14:45:52

永磁同步电机转子参数化建模:一字型与V字型拓扑的Maxwell实践

接到一个电机优化项目&#xff0c;领导甩过来一句话&#xff1a;“把一字型和V字型都建个参数化模型&#xff0c;后面要反复调参数的。”如果你是做Ansys Maxwell电机仿真的工程师&#xff0c;听到这句应该能立刻感受到那种复杂心情——参数化建模本身不难&#xff0c;但要做到…

作者头像 李华
网站建设 2026/9/10 14:44:29

文本分类实战:CNN与RNN的原理、实现与选型指南

简介&#xff1a;面向NLP初学者与深度学习实践者的文本分类实战项目&#xff0c;完整实现了基于CNN和RNN的两种经典模型&#xff0c;覆盖情感分析、主题分类等典型任务场景。压缩包共含28个文件&#xff0c;其中9个Python源码涵盖模型定义、数据加载与训练流程&#xff0c;6个p…

作者头像 李华