diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..9fffacec --- /dev/null +++ b/404.html @@ -0,0 +1,962 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + +
+
+ +

404 - Not found

+ + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ac.html b/ac.html new file mode 100644 index 00000000..6f8143c7 --- /dev/null +++ b/ac.html @@ -0,0 +1,1108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 密码学应用实践 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + + +
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ac/2019/index.html b/ac/2019/index.html new file mode 100644 index 00000000..ffcf3da9 --- /dev/null +++ b/ac/2019/index.html @@ -0,0 +1,1387 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2019年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

2019 年教学计划

+

课程基本信息

+
    +
  • 主讲教师:黄玮
  • +
  • 课程主题:从密码学理论到密码学的工程实践与应用
  • +
  • 上课方式:讲授+实验+大作业
  • +
+

结课大作业基本要求

+

分组完成单兵作战 至少「二选一」,鼓励学有余力的同学「多劳多得」。

+

结课材料,统一用 zip 格式打包(满足学校教务处要求)并发送到我邮箱( huangwei.me AT gmail.com ),邮件主题和邮件附件命名规范:姓名1_姓名2_姓名3_作业题目.zip。姓名先后顺序按照对结课作业的贡献程度排名。

+ +

附件大小请控制在 10MB 以内,删除不必要的临时文件、视频文件、开发和测试过程中上传的测试文件等。

+

分组完成

+
    +
  • 每个小组至多允许 3
  • +
  • 每个题目的验收标准包括:
      +
    • 完成度:假设题目要求的一级需求有10条,最终完成了8条,则完成度=8/10*100%=80%
    • +
    • 完成质量:声称已完成的需求,经过检查后认定实际的完成质量
    • +
    +
  • +
  • 大作业完成过程请在 Github 上建立小组的项目仓库,每个组员的日常完成进度通过 git 提交历史来体现。
      +
    • 如果是 私有 仓库,请邀请 c4pr1c3 成为你们小组建立的仓库的协作者(Collaborators);
    • +
    • 如果是 Fork 样例仓库,则无需做特别设置;
    • +
    • 不要在你提交的任何材料中出现任何重要个人隐私信息,包括但不限于:姓名、学号、密码等;
    • +
    • 作业提交内容包括但不限于:代码、markdown 格式的文档、图片等;
    • +
    • 组长创建仓库,组员可以在 Github 后台添加到 Collaborators 或通过 Fork + PR 的方式来实现协同开发和编辑;
    • +
    • 不建议直接使用 Github 官方客户端,推荐使用 git 命令行客户端;
    • +
    • commit 注释应该清晰明了,说明本次提交的目的,不要搞出一堆的 Add files via upload
    • +
    • 禁止提交:临时文件(文本编辑器产生的临时文件、备份文件等)、中间结果文件(.exe、.pdb、.log等都是典型代表)
    • +
    • 图片应在保持清晰度、不影响阅读的前提下进行必要的尺寸裁剪和图像压缩以减少图片文件占用存储空间大小;
    • +
    +
  • +
  • 课程总评分数=出勤 * 10% + 系统实现(代码)* 60% + 课题结题报告 * 30%
  • +
+

单兵作战

+
    +
  • 上述推荐实验中至少选择并完成 1 个,建议选择 2 个或更多 (10 分)
  • +
  • 仿照 对称加密 ECB 模式的漏洞利用综合实验指南Padding Oracle Attack 实验指南 的形式编写实验报告 ( 70 分)
      +
    • 排版质量 10%
    • +
    • 内容专业性程度 20%
    • +
    • 实验操作步骤详细程度(操作效果截图、代码) 60%
    • +
    • 参考文献引用标注 10%
    • +
    +
  • +
  • 除了按照上述实验官方指南中的方法和工具完成实验之外,再使用另一种编程语言或工具完成实验 (10 分)
  • +
  • 附加分
      +
    • 编写「自动化漏洞利用脚本」+10
    • +
    • 每增加完成 1 个实验 +10
    • +
    +
  • +
  • 满分:100
  • +
+

结课大作业题目

+

分组完成

+
    +
  • 基于网页的用户注册与登录系统(60分)
      +
    • 使用https绑定证书到域名而非IP地址 【 PKI X.509
    • +
    • 允许用户注册到系统
        +
      • 用户名的合法字符集范围:中文、英文字母、数字
          +
        • 类似:-、_、.等合法字符集范围之外的字符不允许使用
        • +
        +
      • +
      • 用户口令长度限制在36个字符之内
      • +
      • 对用户输入的口令进行强度校验,禁止使用弱口令
      • +
      +
    • +
    • 使用合法用户名和口令登录系统
    • +
    • 禁止使用明文存储用户口令 【 PBKDF2 散列算法 慢速散列 针对散列算法(如MD5、SHA1等)的攻击方法
        +
      • 存储的口令即使被公开,也无法还原/解码出原始明文口令
      • +
      +
    • +
    • (可选)安全的忘记口令 / 找回密码功能
    • +
    • (可选)微信/微博/支付宝的OAuth授权登录 / 注册绑定
    • +
    • (可选)双因素认证
        +
      • OTP: Google Authenticator
      • +
      • Email
      • +
      • SMS
      • +
      • 扫码登录
      • +
      +
    • +
    +
  • +
  • 基于网页的文件上传加密与数字签名系统(20分)
      +
    • 已完成《基于网页的用户注册与登录系统》所有要求
    • +
    • 限制文件大小:小于 10MB
    • +
    • 限制文件类型:office文档、常见图片类型
    • +
    • 匿名用户禁止上传文件
    • +
    • 对文件进行对称加密存储到文件系统,禁止明文存储文件 【 对称加密 密钥管理(如何安全存储对称加密密钥) 对称加密密文的PADDING问题
    • +
    • 系统对加密后文件进行数字签名 【 数字签名(多种签名工作模式差异)
    • +
    • (可选)文件秒传:服务器上已有的文件,客户端可以不必再重复上传了
    • +
    +
  • +
  • 基于网页的加密文件下载与解密(20分)
      +
    • 已完成《基于网页的文件上传加密与数字签名系统》所有要求
    • +
    • 提供匿名用户加密后文件和关联的数字签名文件的下载
        +
      • 客户端对下载后的文件进行数字签名验证 【 非对称(公钥)加密 数字签名
      • +
      • 客户端对下载后的文件可以解密还原到原始文件 【 对称解密 密钥管理
      • +
      +
    • +
    • 提供已登录用户解密后文件下载
    • +
    • 下载URL设置有效期(限制时间或限制下载次数),过期后禁止访问 【 数字签名 消息认证码 Hash Extension Length Attack Hash算法与HMAC算法的区别与联系
    • +
    • 提供静态文件的散列值下载,供下载文件完成后本地校验文件完整性 【 散列算法
    • +
    +
  • +
+

可以基于 PHP 版实现的课程系统半成品源代码Python 版实现的课程系统半成品源代码 进行「二次开发」,也可以自己从零开始开发。编程语言技术栈没有限制。

+
+

前方重要提醒

+

如果基于以上代码进行「二次开发」,必须采用 fork + PR 的方式提交最终完成的系统源代码(第三方依赖的源代码不要 push 到 github),方便我查看你 你具体做了哪些改动

+
+

单兵作战

+ +

问题清单

+

分组完成

+

请通过屏幕操作录像的方式,展示你们小组完成的系统,并 尽力而为 在录像中结合操作演示回答以下每一个问题。

+

录像请上传到第三方视频网站(首选腾讯视频,便于优秀作品可以直接在微信公众号推送中嵌入),务必避免在录像中泄漏个人隐私信息,在屏幕操作录像过程中建议关闭即时通信工具等有可能会弹出通知窗口的应用程序,保证录像质量和效果。

+
    +
  • 请总结你的所有已完成功能点
  • +
  • X.509证书中各个字段含义、用途解释说明。
  • +
  • WEB服务器使用的证书和CA使用的证书有什么区别和联系?
  • +
  • 简述你的口令安全存储策略。
  • +
  • 你是如何实现弱口令检测的?
  • +
  • 你是如何实现安全的文件上传的?
  • +
  • 请展示并说明你的
      +
    • 文件加密代码片段
    • +
    • 文件解密代码片段
    • +
    • 文件签名代码片段
    • +
    • 文件签名验证代码片段
    • +
    • 文件完整性验证代码片段
    • +
    +
  • +
  • 同一个用户的不同文件是否使用相同的对称加密密钥?如果是,请说明其中存在的安全风险。如果否,请结合代码展示你的文件对称加密密钥的存储和提取使用策略
  • +
  • 你的文件下载过期策略是如何设计并实现的?
  • +
  • 常见对称加密工作模式有哪些?各自应用场景、优缺点说明。
  • +
  • 简述RSA加密算法和RSA签名算法之间的关系?
  • +
  • 通过 PHP / Python 实现文件散列值计算有哪些方法?
  • +
  • 你是如何实现匿名用户禁止上传文件功能的?
  • +
  • 请展示并说明你的数据库表结构设计
  • +
+

在课程结题报告中附上在线视频链接即可。

+

参考资料

+ + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ac/2021/index.html b/ac/2021/index.html new file mode 100644 index 00000000..08d75202 --- /dev/null +++ b/ac/2021/index.html @@ -0,0 +1,1405 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2021年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

2021 年教学计划

+

课程基本信息

+
    +
  • 主讲教师:黄玮
  • +
  • 课程主题:从密码学理论到密码学的工程实践与应用
  • +
  • 上课方式:讲授+实验+大作业
  • +
+

结课大作业基本要求

+

分组完成单兵作战 至少「二选一」,鼓励学有余力的同学「多劳多得」。

+

结课材料,统一用 zip 格式打包(满足学校教务处要求)并发送到我邮箱( huangwei.me AT gmail.com ),邮件主题和邮件附件命名规范:姓名1_姓名2_姓名3_姓名4_姓名5_作业题目.zip姓名先后顺序按照对结课作业的贡献程度排名

+ +

附件大小请控制在 10MB 以内,删除不必要的临时文件、视频文件、开发和测试过程中上传的测试文件等。

+

分组完成

+
    +
  • 每个小组至多允许 5
  • +
  • 每个题目的验收标准包括:
      +
    • 完成度:假设题目要求的一级需求有10条,最终完成了8条,则完成度=8/10*100%=80%
    • +
    • 完成质量:声称已完成的需求,经过检查后认定实际的完成质量
    • +
    +
  • +
  • 大作业完成过程请在 Github 上建立小组的项目仓库,每个组员的日常完成进度通过 git 提交历史来体现。
      +
    • 如果是 私有 仓库,请邀请 c4pr1c3 成为你们小组建立的仓库的协作者(Collaborators);
    • +
    • 如果是 Fork 样例仓库,则无需做特别设置;
    • +
    • 不要在你提交的任何材料中出现任何重要个人隐私信息,包括但不限于:姓名、学号、密码等;
    • +
    • 作业提交内容包括但不限于:代码、markdown 格式的文档、图片等;
    • +
    • 组长创建仓库,组员可以在 Github 后台添加到 Collaborators 或通过 Fork + PR 的方式来实现协同开发和编辑;
    • +
    • 不建议直接使用 Github 官方客户端,推荐使用 git 命令行客户端;
    • +
    • commit 注释应该清晰明了,说明本次提交的目的,不要搞出一堆的 Add files via upload
    • +
    • 禁止提交:临时文件(文本编辑器产生的临时文件、备份文件等)、中间结果文件(.exe、.pdb、.log等都是典型代表)
    • +
    • 图片应在保持清晰度、不影响阅读的前提下进行必要的尺寸裁剪和图像压缩以减少图片文件占用存储空间大小;
    • +
    +
  • +
  • 课程总评分数=出勤 * 10% + 系统实现(代码)* 60% + 课题结题报告 * 30%
  • +
+

单兵作战

+
    +
  • 从推荐实验中至少选择并完成 1 个,建议选择 2 个或更多 (10 分)
  • +
  • 仿照 对称加密 ECB 模式的漏洞利用综合实验指南Padding Oracle Attack 实验指南 的形式编写实验报告 ( 70 分)
      +
    • 排版质量 10%
    • +
    • 内容专业性程度 20%
    • +
    • 实验操作步骤详细程度(操作效果截图、代码) 60%
    • +
    • 参考文献引用标注 10%
    • +
    +
  • +
  • 除了按照上述实验官方指南中的方法和工具完成实验之外,再使用另一种编程语言或工具完成实验 (10 分)
  • +
  • 附加分
      +
    • 编写「自动化漏洞利用脚本」+10
    • +
    • 每增加完成 1 个实验 +10
    • +
    +
  • +
  • 满分:100
  • +
+

结课大作业题目

+

分组完成

+
    +
  • 基于网页的用户注册与登录系统(60分)
      +
    • 使用https绑定证书到域名而非IP地址 【 PKI X.509
    • +
    • 允许用户注册到系统
        +
      • 用户名的合法字符集范围:中文、英文字母、数字
          +
        • 类似:-、_、.等合法字符集范围之外的字符不允许使用
        • +
        +
      • +
      • 用户口令长度限制在36个字符之内
      • +
      • 对用户输入的口令进行强度校验,禁止使用弱口令
      • +
      +
    • +
    • 使用合法用户名和口令登录系统
    • +
    • 禁止使用明文存储用户口令 【 PBKDF2 散列算法 慢速散列 针对散列算法(如MD5、SHA1等)的攻击方法
        +
      • 存储的口令即使被公开,也无法还原/解码出原始明文口令
      • +
      +
    • +
    • (可选)安全的忘记口令 / 找回密码功能
    • +
    • (可选)微信/微博/支付宝的OAuth授权登录 / 注册绑定
    • +
    • (可选)双因素认证
        +
      • OTP: Google Authenticator
      • +
      • Email
      • +
      • SMS
      • +
      • 扫码登录
      • +
      +
    • +
    +
  • +
  • 基于网页的文件上传加密与数字签名系统(20分)
      +
    • 已完成《基于网页的用户注册与登录系统》所有要求
    • +
    • 限制文件大小:小于 10MB
    • +
    • 限制文件类型:office文档、常见图片类型
    • +
    • 匿名用户禁止上传文件
    • +
    • 对文件进行对称加密存储到文件系统,禁止明文存储文件 【 对称加密 密钥管理(如何安全存储对称加密密钥) 对称加密密文的PADDING问题
    • +
    • 系统对加密后文件进行数字签名 【 数字签名(多种签名工作模式差异)
    • +
    • (可选)文件秒传:服务器上已有的文件,客户端可以不必再重复上传了
    • +
    +
  • +
  • 基于网页的加密文件下载与解密(20分)
      +
    • 已完成《基于网页的文件上传加密与数字签名系统》所有要求
    • +
    • 提供匿名用户加密后文件和关联的数字签名文件的下载
        +
      • 客户端对下载后的文件进行数字签名验证 【 非对称(公钥)加密 数字签名
      • +
      • 客户端对下载后的文件可以解密还原到原始文件 【 对称解密 密钥管理
      • +
      +
    • +
    • 提供已登录用户解密后文件下载
    • +
    • 下载URL设置有效期(限制时间或限制下载次数),过期后禁止访问 【 数字签名 消息认证码 Hash Extension Length Attack Hash算法与HMAC算法的区别与联系
    • +
    • 提供静态文件的散列值下载,供下载文件完成后本地校验文件完整性 【 散列算法
    • +
    +
  • +
+

可以基于 PHP 版实现的课程系统半成品源代码Python 版实现的课程系统半成品源代码 进行「二次开发」,也可以自己从零开始开发。编程语言技术栈没有限制。

+
+

前方重要提醒

+

如果基于以上代码进行「二次开发」,必须采用 fork + PR 的方式提交最终完成的系统源代码(第三方依赖的源代码不要 push 到 github),方便我查看你 你具体做了哪些改动

+
+

单兵作战

+ +

问题清单

+

分组完成

+

请通过屏幕操作录像的方式,展示你们小组完成的系统,并 尽力而为 在录像中结合操作演示回答以下每一个问题。

+

录像请上传到第三方视频网站(首选腾讯视频,便于优秀作品可以直接在微信公众号推送中嵌入),务必避免在录像中泄漏个人隐私信息,在屏幕操作录像过程中建议关闭即时通信工具等有可能会弹出通知窗口的应用程序,保证录像质量和效果。

+
    +
  • 请总结你们的所有已完成功能点
  • +
  • X.509证书中各个字段含义、用途解释说明。
  • +
  • WEB服务器使用的证书和CA使用的证书有什么区别和联系?
  • +
  • 简述你们的口令安全存储策略。
  • +
  • 你们是如何实现弱口令检测的?
  • +
  • 你们是如何实现安全的文件上传的?
  • +
  • 请展示并说明你们的
      +
    • 文件加密代码片段
    • +
    • 文件解密代码片段
    • +
    • 文件签名代码片段
    • +
    • 文件签名验证代码片段
    • +
    • 文件完整性验证代码片段
    • +
    +
  • +
  • 同一个用户的不同文件是否使用相同的对称加密密钥?如果是,请说明其中存在的安全风险。如果否,请结合代码展示你们的文件对称加密密钥的存储和提取使用策略
  • +
  • 你们的文件下载过期策略是如何设计并实现的?
  • +
  • 常见对称加密工作模式有哪些?各自应用场景、优缺点说明。
  • +
  • 简述RSA加密算法和RSA签名算法之间的关系?
  • +
  • 通过 PHP / Python 实现文件散列值计算有哪些方法?
  • +
  • 你们是如何实现匿名用户禁止上传文件功能的?
  • +
  • 请展示并说明你们的数据库表结构设计
  • +
+

在课程结题报告中附上在线视频链接即可。

+

课程阶段计划

+
    +
  • 前 4 天开发,最后 1 天集中报告
  • +
+

参考资料

+ + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ac/2022/index.html b/ac/2022/index.html new file mode 100644 index 00000000..2ed5545e --- /dev/null +++ b/ac/2022/index.html @@ -0,0 +1,1499 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2022年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

2022 年教学计划

+

课程基本信息

+
    +
  • 主讲教师:黄玮
  • +
  • 课程主题:从密码学理论到密码学的工程实践与应用
  • +
  • 实验准备:自备电脑,自行安排时间和地点
  • +
  • 上课方式:讲授结课方式1次+自行组队完成大作业
  • +
+

课程阶段计划

+

作品提交 DDL:2022.8.15 23:59:59。

+

结课大作业基本要求

+

分组完成单兵作战 至少「二选一」,鼓励学有余力的同学「多劳多得」。

+
    +
  • 每个小组至多允许 6 人,建议 4 人最佳;
  • +
  • 分组完成 作业过程中产生的文档、代码均可以采用 Github 的方式管理(这是一个鼓励和支持的作业完成过程建议,有助于提高印象分哦~);
  • +
  • 结课材料,统一用zip格式打包并提交到学校畅课平台指定作业模块(后续在课程微信群、畅课平台课程公告模块进行通知,注意查看)。附件命名规范:姓名1_姓名2_姓名3_姓名4_姓名5_姓名6_作业题目.zip
      +
    • 姓名先后顺序按照对结课作业的贡献程度排名;
    • +
    • 每人 独立完成一份 「创新实践能力团队赛」总结技术报告;
        +
      • markdown 书写,建议参照 基于 Markdown 的中文文档排版规范 对实验报告进行排版;
      • +
      • 内容重点强调:个人在本次大作业中的主要贡献;完成了哪些自认为有技术含量的工作;印象深刻的一些 bug 和自己的解决方法;
      • +
      +
    • +
    • 附件大小请控制在 10MB 以内,删除不必要的临时文件、视频文件、开发和测试过程中上传的测试文件等;
    • +
    • 视频文件可以上传到第三方视频网站,然后在总结报告文档中附上视频链接即可,以减少压缩包大小;
    • +
    • 已在 Github 上传所有文件的小组,在实验报告中同样需要附上项目仓库地址备查。
    • +
    +
  • +
+

附件大小请控制在 10MB 以内,删除不必要的临时文件、视频文件、开发和测试过程中上传的测试文件等。

+

推荐的实验报告目录组织形式

+
├── 0_张三
+│   └── README.md
+├── 1_李四
+│   └── README.md
+├── 2_王五
+│   └── README.md
+├── 3_赵六
+│   └── README.md
+└── README.md
+
+ +
    +
  • 如果是选择 单兵作战 的同学,则无需创建以自己姓名命名的子目录。
  • +
  • 如果是选择在 公开仓库 提交作品,则无需实名命名上述子目录,可以使用自己的 网络 ID ,但是在打包提交到畅课作业区的最终实验报告目录里需要使用实名。
  • +
  • 根目录下的 README.md 内容统一要求如下,示范 READMEac-demo
  • +
+
# 作品名
+
+> 一句话简介。
+
+## 功能清单
+
+> 列表形式说明逐个功能要点。
+
+## 本项目用到的关键技术
+
+> 本作品中包含的密码学理论与技术示范应用要点说明,列表形式、逐个要点说明。
+
+## 快速上手体验
+
+> 快速安装与使用方法说明。
+
+## 演示
+
+> 课程结题报告与系统功能操作视频演示地址。
+
+## 附录-1 (可选)
+
+
+## 附录-2 (可选)
+
+ +

分组完成

+
    +
  • 每个小组至多允许 6
  • +
  • 每个题目的验收标准包括:
      +
    • 完成度:假设题目要求的一级需求有10条,最终完成了8条,则完成度=8/10*100%=80%
    • +
    • 完成质量:声称已完成的需求,经过检查后认定实际的完成质量
    • +
    +
  • +
  • 大作业完成过程请在 Github 上建立小组的项目仓库,每个组员的日常完成进度通过 git 提交历史来体现。
      +
    • 如果是 私有 仓库,请邀请 c4pr1c3 成为你们小组建立的仓库的协作者(Collaborators);
    • +
    • 如果是 Fork 样例仓库,则无需做特别设置;
    • +
    • 不要在你提交的任何材料中出现任何重要个人隐私信息,包括但不限于:姓名、学号、密码等;
    • +
    • 作业提交内容包括但不限于:代码、markdown 格式的文档、图片等;
    • +
    • 组长创建仓库,组员可以在 Github 后台添加到 Collaborators 或通过 Fork + PR 的方式来实现协同开发和编辑;
    • +
    • 不建议直接使用 Github 官方客户端,推荐使用 git 命令行客户端;
    • +
    • commit 注释应该清晰明了,说明本次提交的目的,不要搞出一堆的 Add files via upload
    • +
    • 禁止提交:临时文件(文本编辑器产生的临时文件、备份文件等)、中间结果文件(.exe、.pdb、.log等都是典型代表)
    • +
    • 图片应在保持清晰度、不影响阅读的前提下进行必要的尺寸裁剪和图像压缩以减少图片文件占用存储空间大小;
    • +
    +
  • +
  • 课程总评分数=出勤 * 10% + 系统实现(代码)* 60% + 课题结题报告 * 30%
  • +
+

单兵作战

+
    +
  • 从推荐实验中至少选择并完成 1 个,建议选择 2 个或更多 (10 分)
  • +
  • 仿照 对称加密 ECB 模式的漏洞利用综合实验指南Padding Oracle Attack 实验指南 的形式编写实验报告 ( 70 分)
      +
    • 排版质量 10%
    • +
    • 内容专业性程度 20%
    • +
    • 实验操作步骤详细程度(操作效果截图、代码) 60%
    • +
    • 参考文献引用标注 10%
    • +
    +
  • +
  • 除了按照上述实验官方指南中的方法和工具完成实验之外,再使用另一种编程语言或工具完成实验 (10 分)
  • +
  • 附加分
      +
    • 编写「自动化漏洞利用脚本」+10
    • +
    • 完成 3 个或以上实验 +10
    • +
    +
  • +
  • 最终成绩:上述分项得分累加 x 80% (88 分封顶)
  • +
+

结课大作业题目

+

分组完成【候选】题目-1 “中传放心传”

+
    +
  • 基于网页的用户注册与登录系统(60分)
      +
    • 使用https绑定证书到域名而非IP地址 【 PKI X.509
    • +
    • 允许用户注册到系统
        +
      • 用户名的合法字符集范围:中文、英文字母、数字
          +
        • 类似:-、_、.等合法字符集范围之外的字符不允许使用
        • +
        +
      • +
      • 用户口令长度限制在36个字符之内
      • +
      • 对用户输入的口令进行强度校验,禁止使用弱口令
      • +
      +
    • +
    • 使用合法用户名和口令登录系统
    • +
    • 禁止使用明文存储用户口令 【 PBKDF2 散列算法 慢速散列 针对散列算法(如MD5、SHA1等)的攻击方法
        +
      • 存储的口令即使被公开,也无法还原/解码出原始明文口令
      • +
      +
    • +
    • (可选)安全的忘记口令 / 找回密码功能
    • +
    • (可选)微信/微博/支付宝的OAuth授权登录 / 注册绑定
    • +
    • (可选)双因素认证
        +
      • OTP: Google Authenticator
      • +
      • Email
      • +
      • SMS
      • +
      • 扫码登录
      • +
      +
    • +
    +
  • +
  • 基于网页的文件上传加密与数字签名系统(20分)
      +
    • 已完成《基于网页的用户注册与登录系统》所有要求
    • +
    • 限制文件大小:小于 10MB
    • +
    • 限制文件类型:office文档、常见图片类型
    • +
    • 匿名用户禁止上传文件
    • +
    • 对文件进行对称加密存储到文件系统,禁止明文存储文件 【 对称加密 密钥管理(如何安全存储对称加密密钥) 对称加密密文的PADDING问题
    • +
    • 系统对加密后文件进行数字签名 【 数字签名(多种签名工作模式差异)
    • +
    • (可选)文件秒传:服务器上已有的文件,客户端可以不必再重复上传了
    • +
    +
  • +
  • 基于网页的加密文件下载与解密(20分)
      +
    • 已完成《基于网页的文件上传加密与数字签名系统》所有要求
    • +
    • 提供匿名用户加密后文件和关联的数字签名文件的下载
        +
      • 客户端对下载后的文件进行数字签名验证 【 非对称(公钥)加密 数字签名
      • +
      • 客户端对下载后的文件可以解密还原到原始文件 【 对称解密 密钥管理
      • +
      +
    • +
    • 提供已登录用户解密后文件下载
    • +
    • 下载URL设置有效期(限制时间或限制下载次数),过期后禁止访问 【 数字签名 消息认证码 Hash Extension Length Attack Hash算法与HMAC算法的区别与联系
    • +
    • 提供静态文件的散列值下载,供下载文件完成后本地校验文件完整性 【 散列算法
    • +
    +
  • +
+

可以基于 PHP 版实现的课程系统半成品源代码Python 版实现的课程系统半成品源代码 进行「二次开发」,也可以自己从零开始开发。编程语言技术栈没有限制。“中传放心传”不是限定的题目,仅作示例,同学们可以自拟具体作品名。

+
+

前方重要提醒

+

如果基于以上代码进行「二次开发」,必须采用 fork + PR 的方式提交最终完成的系统源代码(第三方依赖的源代码不要 push 到 github),方便我查看你 你具体做了哪些改动

+
+

分组完成【候选】题目-2 “开放式命题”

+

全国大学生信息安全竞赛 作品赛 的要求为基础(开放式自主命题,自主设计),在你们的小组作品中需要仿照上述“中传放心传”设计的密码学相关技术要点应用,在 自命题、自主设计 的作品中至少包含 6 个以上的密码学相关理论或关键技术的示范应用。

+

单兵作战

+ +

问题清单

+

分组完成

+

请通过屏幕操作录像的方式,展示你们小组完成的系统,并 尽力而为 在录像中结合操作演示回答以下每一个问题。

+

录像请上传到第三方视频网站(首选腾讯视频,便于优秀作品可以直接在微信公众号推送中嵌入),务必避免在录像中泄漏个人隐私信息,在屏幕操作录像过程中建议关闭即时通信工具等有可能会弹出通知窗口的应用程序,保证录像质量和效果。

+
    +
  • 请总结你们的所有已完成功能点
  • +
  • X.509证书中各个字段含义、用途解释说明。
  • +
  • WEB服务器使用的证书和CA使用的证书有什么区别和联系?
  • +
  • 简述你们的口令安全存储策略。
  • +
  • 你们是如何实现弱口令检测的?
  • +
  • 你们是如何实现安全的文件上传的?
  • +
  • 请展示并说明你们的
      +
    • 文件加密代码片段
    • +
    • 文件解密代码片段
    • +
    • 文件签名代码片段
    • +
    • 文件签名验证代码片段
    • +
    • 文件完整性验证代码片段
    • +
    +
  • +
  • 同一个用户的不同文件是否使用相同的对称加密密钥?如果是,请说明其中存在的安全风险。如果否,请结合代码展示你们的文件对称加密密钥的存储和提取使用策略
  • +
  • 你们的文件下载过期策略是如何设计并实现的?
  • +
  • 常见对称加密工作模式有哪些?各自应用场景、优缺点说明。
  • +
  • 简述RSA加密算法和RSA签名算法之间的关系?
  • +
  • 通过 PHP / Python 实现文件散列值计算有哪些方法?
  • +
  • 你们是如何实现匿名用户禁止上传文件功能的?
  • +
  • 请展示并说明你们的数据库表结构设计
  • +
+

在课程结题报告中附上在线视频链接即可。

+

参考资料

+ + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ac/2023/index.html b/ac/2023/index.html new file mode 100644 index 00000000..66fc12b6 --- /dev/null +++ b/ac/2023/index.html @@ -0,0 +1,1481 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2023年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

2023 年教学计划

+

课程基本信息

+
    +
  • 主讲教师:黄玮
  • +
  • 课程主题:从密码学理论到密码学的工程实践与应用
  • +
  • 实验准备:自备电脑,自行安排时间和地点
  • +
  • 上课方式:集中授课1次+分组学习+自行组队完成大作业
  • +
+

课程阶段计划

+

本次小学期设计了 团队实践训练单兵作战 任务。顾名思义,团队实践训练 采取同学们自由组队 分组完成 方式,每个小组至多允许 6 人,建议 4 人最佳;单兵作战 采取个人独立完成方式。

+

分组完成单兵作战 至少「二选一」,鼓励学有余力的同学「多劳多得」。

+

分组完成【候选】题目-1 “中传放心传”

+
    +
  • 基于网页的用户注册与登录系统(60分)
      +
    • 使用https绑定证书到域名而非IP地址 【 PKI X.509
    • +
    • 允许用户注册到系统
        +
      • 用户名的合法字符集范围:中文、英文字母、数字
          +
        • 类似:-、_、.等合法字符集范围之外的字符不允许使用
        • +
        +
      • +
      • 用户口令长度限制在36个字符之内
      • +
      • 对用户输入的口令进行强度校验,禁止使用弱口令
      • +
      +
    • +
    • 使用合法用户名和口令登录系统
    • +
    • 禁止使用明文存储用户口令 【 PBKDF2 散列算法 慢速散列 针对散列算法(如MD5、SHA1等)的攻击方法
        +
      • 存储的口令即使被公开,也无法还原/解码出原始明文口令
      • +
      +
    • +
    • (可选)安全的忘记口令 / 找回密码功能
    • +
    • (可选)微信/微博/支付宝的OAuth授权登录 / 注册绑定
    • +
    • (可选)双因素认证
        +
      • OTP: Google Authenticator
      • +
      • Email
      • +
      • SMS
      • +
      • 扫码登录
      • +
      +
    • +
    +
  • +
  • 基于网页的文件上传加密与数字签名系统(20分)
      +
    • 已完成《基于网页的用户注册与登录系统》所有要求
    • +
    • 限制文件大小:小于 10MB
    • +
    • 限制文件类型:office文档、常见图片类型
    • +
    • 匿名用户禁止上传文件
    • +
    • 对文件进行对称加密存储到文件系统,禁止明文存储文件 【 对称加密 密钥管理(如何安全存储对称加密密钥) 对称加密密文的PADDING问题
    • +
    • 系统对加密后文件进行数字签名 【 数字签名(多种签名工作模式差异)
    • +
    • (可选)文件秒传:服务器上已有的文件,客户端可以不必再重复上传了
    • +
    +
  • +
  • 基于网页的加密文件下载与解密(20分)
      +
    • 已完成《基于网页的文件上传加密与数字签名系统》所有要求
    • +
    • 提供匿名用户加密后文件和关联的数字签名文件的下载
        +
      • 客户端对下载后的文件进行数字签名验证 【 非对称(公钥)加密 数字签名
      • +
      • 客户端对下载后的文件可以解密还原到原始文件 【 对称解密 密钥管理
      • +
      +
    • +
    • 提供已登录用户解密后文件下载
    • +
    • 下载URL设置有效期(限制时间或限制下载次数),过期后禁止访问 【 数字签名 消息认证码 Hash Extension Length Attack Hash算法与HMAC算法的区别与联系
    • +
    • 提供静态文件的散列值下载,供下载文件完成后本地校验文件完整性 【 散列算法
    • +
    +
  • +
+

可以基于 PHP 版实现的课程系统半成品源代码Python 版实现的课程系统半成品源代码 进行「二次开发」,也可以自己从零开始开发。编程语言技术栈没有限制。“中传放心传”不是限定的题目,仅作示例,同学们可以自拟具体作品名。

+
+

前方重要提醒

+

如果基于以上代码进行「二次开发」,必须采用 fork + PR 的方式提交最终完成的系统源代码(第三方依赖的源代码不要 push 到 github),方便我查看你 你具体做了哪些改动

+
+

分组完成【候选】题目-2 “开放式命题”

+

全国大学生信息安全竞赛 作品赛 的要求为基础(开放式自主命题,自主设计),在你们的小组作品中需要仿照上述“中传放心传”设计的密码学相关技术要点应用,在 自命题、自主设计 的作品中至少包含 6 个以上的密码学相关理论或关键技术的示范应用。

+

单兵作战

+ +

结课大作业基本要求

+

共性要求

+
    +
  • 实践训练过程中产生的文档、代码均可以采用 Github/Gitlab/Gitee 的方式管理(这是一个鼓励和支持的作业完成过程建议,有助于提高印象分哦~);
  • +
  • 结课材料,统一用zip格式打包并提交到学校畅课平台指定作业模块(后续在课程微信群、畅课平台课程公告模块进行通知,注意查看)。附件命名规范:姓名1_姓名2_姓名3_姓名4_姓名5_姓名6_作业题目.zip
      +
    • 姓名先后顺序按照对结课作业的贡献程度排名;
    • +
    • 每人 独立完成一份 「个人」总结技术报告;
        +
      • markdown 书写,建议参照 基于 Markdown 的中文文档排版规范 对总结技术报告进行排版;
      • +
      • 内容重点强调:个人在本次大作业中的主要贡献;完成了哪些自认为有技术含量的工作;印象深刻的一些 bug 和自己的解决方法;
      • +
      +
    • +
    • 附件大小请控制在 10MB 以内,删除不必要的临时文件、视频文件、开发和测试过程中上传的测试文件等;
    • +
    • 视频文件可以上传到第三方视频网站,然后在总结报告文档中附上视频链接即可,以减小压缩包大小;
    • +
    • 已在 Github/Gitlab/Gitee 上传所有文件的小组,在实验报告中同样需要附上项目仓库地址备查。
    • +
    +
  • +
  • 结课材料提交 DDL:2023.7.28 23:59:59。
  • +
+

附件大小请控制在 10MB 以内,删除不必要的临时文件、视频文件、开发和测试过程中上传的测试文件等。

+

推荐的实验报告目录组织形式

+
├── 0_张三
+│   └── README.md
+├── 1_李四
+│   └── README.md
+├── 2_王五
+│   └── README.md
+├── 3_赵六
+│   └── README.md
+└── README.md
+
+ +
    +
  • 如果是选择 单兵作战 的同学,则无需创建以自己姓名命名的子目录。上述一级子目录名请更换成具体实验任务名,例如 0_对称加密 ECB 模式的漏洞利用综合实验1_Padding Oracle Attack 实验 。根目录下的 README.md 内容只需要提供提供所完成的具体实验任务的相对链接信息即可,如下所示:
  • +
+
- [0_对称加密 ECB 模式的漏洞利用综合实验](0_对称加密 ECB 模式的漏洞利用综合实验/README.md)
+- [1_Padding Oracle Attack 实验](1_Padding Oracle Attack 实验/README.md)
+
+ +
    +
  • 如果是选择在 公开仓库 提交作品,则无需实名命名上述子目录,可以使用自己的 网络 ID ,但是在打包提交到畅课作业区的最终实验报告目录里需要使用实名。
  • +
  • 如果是选择 分组完成 的实践报告,根目录下的 README.md 内容统一要求如下,示范 READMEac-demo
  • +
+
# 作品名
+
+> 一句话简介。
+
+## 功能清单
+
+> 列表形式说明逐个功能要点。
+
+## 本项目用到的关键技术
+
+> 本作品中包含的密码学理论与技术示范应用要点说明,列表形式、逐个要点说明。
+
+## 快速上手体验
+
+> 快速安装与使用方法说明。
+
+## 演示
+
+> 课程结题报告与系统功能操作视频演示地址。
+
+## 附录-1 (可选)
+
+
+## 附录-2 (可选)
+
+ +

分组完成

+
    +
  • 每个题目的验收标准包括:
      +
    • 完成度:假设题目要求的一级需求有10条,最终完成了8条,则完成度=8/10*100%=80%
    • +
    • 完成质量:声称已完成的需求,经过检查后认定实际的完成质量
    • +
    +
  • +
  • 大作业完成过程请在 Github/Gitlab/Gitee 上建立小组的项目仓库,每个组员的日常完成进度通过 git 提交历史来体现。
      +
    • 如果是 私有 仓库,请邀请 c4pr1c3@github/其他平台请微信私信我 成为你们小组建立的仓库的协作者(Collaborators);
    • +
    • 如果是 Fork 样例仓库,则无需做特别设置;
    • +
    • 不要在你提交的任何材料中出现任何重要个人隐私信息,包括但不限于:姓名、学号、密码等;
    • +
    • 作业提交内容包括但不限于:代码、markdown 格式的文档、图片等;
    • +
    • 组长创建仓库,组员可以在 Github 后台添加到 Collaborators 或通过 Fork + PR 的方式来实现协同开发和编辑;
    • +
    • 不建议直接使用 Github 官方客户端,推荐使用 git 命令行客户端;
    • +
    • commit 注释应该清晰明了,说明本次提交的目的,不要搞出一堆的 Add files via upload
    • +
    • 禁止提交:临时文件(文本编辑器产生的临时文件、备份文件等)、中间结果文件(.exe、.pdb、.log等都是典型代表)
    • +
    • 图片应在保持清晰度、不影响阅读的前提下进行必要的尺寸裁剪和图像压缩以减少图片文件占用存储空间大小;
    • +
    +
  • +
  • 课程总评分数=系统实现(代码)* 60% + 结题报告图文版 * 20% + 结题报告视频版 * 20%
  • +
+

单兵作战

+
    +
  • 从推荐实验中至少选择并完成 1 个 (10 分)
  • +
  • 仿照 对称加密 ECB 模式的漏洞利用综合实验指南Padding Oracle Attack 实验指南 的形式编写实验报告 ( 70 分)
      +
    • 排版质量 10%
    • +
    • 内容专业性程度 20%
    • +
    • 实验操作步骤详细程度(操作效果截图、代码) 60%
    • +
    • 参考文献引用标注 10%
    • +
    +
  • +
  • 除了按照上述实验官方指南中的方法和工具完成实验之外,再使用另一种编程语言或工具完成实验 (10 分)
  • +
  • 附加分
      +
    • 编写「自动化漏洞利用脚本」+10
    • +
    • 完成 3 个或以上实验 +10
    • +
    +
  • +
  • 最终成绩:上述分项得分累加 x 80% (90 分封顶)
  • +
+

结课大作业题目

+

分组完成录制结课视频的问题清单

+

请通过屏幕操作录像的方式,展示你们小组完成的系统,并 尽力而为 在录像中结合操作演示回答以下每一个问题,视频时长限制在 10 分钟以内,不要使用倍速模式。

+

录像请上传到第三方视频网站(推荐 B站,上传后请在视频评论区 @黄药师漫步桃花岛 ),务必避免在录像中泄漏个人隐私信息,在屏幕操作录像过程中建议关闭即时通信工具等有可能会弹出通知窗口的应用程序,保证录像质量和效果。

+
    +
  • 请通过具体操作演示的方式,展示并说明你们的
      +
    • 文件加密代码片段:用户上传文件后,对应在服务器端存储的是否是密文文件。
    • +
    • 文件解密代码片段:非文件所有者下载并解密上述密文文件的具体操作过程和对应的关键代码片段。
    • +
    • 文件签名代码片段:用户上传文件后,对应在服务器端的签名信息是如何存储的。
    • +
    • 文件签名验证代码片段:非文件所有者下载并验证上述密文文件的签名信息的具体操作过程和对应的关键代码片段。
    • +
    +
  • +
  • 同一个用户的不同文件是否使用相同的对称加密密钥?如果是,请说明其中存在的安全风险。如果否,请结合代码展示你们的文件对称加密密钥的存储和提取使用策略
  • +
  • 你们的文件下载过期策略是如何设计并实现的?
  • +
  • 请展示并说明你们的数据库表结构设计。
  • +
+

在课程结题报告中附上在线视频链接即可。

+

参考资料

+ + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/fonts/font-awesome.css b/assets/fonts/font-awesome.css new file mode 100644 index 00000000..b476b53e --- /dev/null +++ b/assets/fonts/font-awesome.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url("specimen/FontAwesome.woff2") format("woff2"),url("specimen/FontAwesome.woff") format("woff"),url("specimen/FontAwesome.ttf") format("truetype")}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} \ No newline at end of file diff --git a/assets/fonts/material-icons.css b/assets/fonts/material-icons.css new file mode 100644 index 00000000..d23d365e --- /dev/null +++ b/assets/fonts/material-icons.css @@ -0,0 +1,13 @@ +/*! + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy + * of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, SOFTWARE + * DISTRIBUTED UNDER THE LICENSE IS DISTRIBUTED ON AN "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + * SEE THE LICENSE FOR THE SPECIFIC LANGUAGE GOVERNING PERMISSIONS AND + * LIMITATIONS UNDER THE LICENSE. + */@font-face{font-family:"Material Icons";font-style:normal;font-weight:400;src:local("Material Icons"),local("MaterialIcons-Regular"),url("specimen/MaterialIcons-Regular.woff2") format("woff2"),url("specimen/MaterialIcons-Regular.woff") format("woff"),url("specimen/MaterialIcons-Regular.ttf") format("truetype")} \ No newline at end of file diff --git a/assets/fonts/specimen/FontAwesome.ttf b/assets/fonts/specimen/FontAwesome.ttf new file mode 100644 index 00000000..35acda2f Binary files /dev/null and b/assets/fonts/specimen/FontAwesome.ttf differ diff --git a/assets/fonts/specimen/FontAwesome.woff b/assets/fonts/specimen/FontAwesome.woff new file mode 100644 index 00000000..400014a4 Binary files /dev/null and b/assets/fonts/specimen/FontAwesome.woff differ diff --git a/assets/fonts/specimen/FontAwesome.woff2 b/assets/fonts/specimen/FontAwesome.woff2 new file mode 100644 index 00000000..4d13fc60 Binary files /dev/null and b/assets/fonts/specimen/FontAwesome.woff2 differ diff --git a/assets/fonts/specimen/MaterialIcons-Regular.ttf b/assets/fonts/specimen/MaterialIcons-Regular.ttf new file mode 100644 index 00000000..7015564a Binary files /dev/null and b/assets/fonts/specimen/MaterialIcons-Regular.ttf differ diff --git a/assets/fonts/specimen/MaterialIcons-Regular.woff b/assets/fonts/specimen/MaterialIcons-Regular.woff new file mode 100644 index 00000000..b648a3ee Binary files /dev/null and b/assets/fonts/specimen/MaterialIcons-Regular.woff differ diff --git a/assets/fonts/specimen/MaterialIcons-Regular.woff2 b/assets/fonts/specimen/MaterialIcons-Regular.woff2 new file mode 100644 index 00000000..9fa21125 Binary files /dev/null and b/assets/fonts/specimen/MaterialIcons-Regular.woff2 differ diff --git a/assets/images/favicon.png b/assets/images/favicon.png new file mode 100644 index 00000000..76d17f57 Binary files /dev/null and b/assets/images/favicon.png differ diff --git a/assets/images/icons/bitbucket.1b09e088.svg b/assets/images/icons/bitbucket.1b09e088.svg new file mode 100644 index 00000000..cf58c14f --- /dev/null +++ b/assets/images/icons/bitbucket.1b09e088.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/images/icons/github.f0b8504a.svg b/assets/images/icons/github.f0b8504a.svg new file mode 100644 index 00000000..3d13b197 --- /dev/null +++ b/assets/images/icons/github.f0b8504a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/images/icons/gitlab.6dd19c00.svg b/assets/images/icons/gitlab.6dd19c00.svg new file mode 100644 index 00000000..1d9fffa7 --- /dev/null +++ b/assets/images/icons/gitlab.6dd19c00.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/javascripts/application.c33a9706.js b/assets/javascripts/application.c33a9706.js new file mode 100644 index 00000000..3da6d0ca --- /dev/null +++ b/assets/javascripts/application.c33a9706.js @@ -0,0 +1,60 @@ +!function(e,t){for(var n in t)e[n]=t[n]}(window,function(n){var r={};function i(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,i),t.l=!0,t.exports}return i.m=n,i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=13)}([function(e,t,n){"use strict";var r={Listener:function(){function e(e,t,n){var r=this;this.els_=Array.prototype.slice.call("string"==typeof e?document.querySelectorAll(e):[].concat(e)),this.handler_="function"==typeof n?{update:n}:n,this.events_=[].concat(t),this.update_=function(e){return r.handler_.update(e)}}var t=e.prototype;return t.listen=function(){var n=this;this.els_.forEach(function(t){n.events_.forEach(function(e){t.addEventListener(e,n.update_,!1)})}),"function"==typeof this.handler_.setup&&this.handler_.setup()},t.unlisten=function(){var n=this;this.els_.forEach(function(t){n.events_.forEach(function(e){t.removeEventListener(e,n.update_)})}),"function"==typeof this.handler_.reset&&this.handler_.reset()},e}(),MatchMedia:function(e,t){this.handler_=function(e){e.matches?t.listen():t.unlisten()};var n=window.matchMedia(e);n.addListener(this.handler_),this.handler_(n)}},i={Shadow:function(){function e(e,t){var n="string"==typeof e?document.querySelector(e):e;if(!(n instanceof HTMLElement&&n.parentNode instanceof HTMLElement))throw new ReferenceError;if(this.el_=n.parentNode,!((n="string"==typeof t?document.querySelector(t):t)instanceof HTMLElement))throw new ReferenceError;this.header_=n,this.height_=0,this.active_=!1}var t=e.prototype;return t.setup=function(){for(var e=this.el_;e=e.previousElementSibling;){if(!(e instanceof HTMLElement))throw new ReferenceError;this.height_+=e.offsetHeight}this.update()},t.update=function(e){if(!e||"resize"!==e.type&&"orientationchange"!==e.type){var t=window.pageYOffset>=this.height_;t!==this.active_&&(this.header_.dataset.mdState=(this.active_=t)?"shadow":"")}else this.height_=0,this.setup()},t.reset=function(){this.header_.dataset.mdState="",this.height_=0,this.active_=!1},e}(),Title:function(){function e(e,t){var n="string"==typeof e?document.querySelector(e):e;if(!(n instanceof HTMLElement))throw new ReferenceError;if(this.el_=n,!((n="string"==typeof t?document.querySelector(t):t)instanceof HTMLHeadingElement))throw new ReferenceError;this.header_=n,this.active_=!1}var t=e.prototype;return t.setup=function(){var t=this;Array.prototype.forEach.call(this.el_.children,function(e){e.style.width=t.el_.offsetWidth-20+"px"})},t.update=function(e){var t=this,n=window.pageYOffset>=this.header_.offsetTop;n!==this.active_&&(this.el_.dataset.mdState=(this.active_=n)?"active":""),"resize"!==e.type&&"orientationchange"!==e.type||Array.prototype.forEach.call(this.el_.children,function(e){e.style.width=t.el_.offsetWidth-20+"px"})},t.reset=function(){this.el_.dataset.mdState="",this.el_.style.width="",this.active_=!1},e}()},o={Blur:function(){function e(e){this.els_="string"==typeof e?document.querySelectorAll(e):e,this.index_=0,this.offset_=window.pageYOffset,this.dir_=!1,this.anchors_=[].reduce.call(this.els_,function(e,t){var n=decodeURIComponent(t.hash);return e.concat(document.getElementById(n.substring(1))||[])},[])}var t=e.prototype;return t.setup=function(){this.update()},t.update=function(){var e=window.pageYOffset,t=this.offset_-e<0;if(this.dir_!==t&&(this.index_=this.index_=t?0:this.els_.length-1),0!==this.anchors_.length){if(this.offset_<=e)for(var n=this.index_+1;ne)){this.index_=r;break}0=this.offset_?"lock"!==this.el_.dataset.mdState&&(this.el_.dataset.mdState="lock"):"lock"===this.el_.dataset.mdState&&(this.el_.dataset.mdState="")},t.reset=function(){this.el_.dataset.mdState="",this.el_.style.height="",this.height_=0},e}()},c=n(6),l=n.n(c);var u={Adapter:{GitHub:function(o){var e,t;function n(e){var t;t=o.call(this,e)||this;var n=/^.+github\.com\/([^/]+)\/?([^/]+)?.*$/.exec(t.base_);if(n&&3===n.length){var r=n[1],i=n[2];t.base_="https://api.github.com/users/"+r+"/repos",t.name_=i}return t}return t=o,(e=n).prototype=Object.create(t.prototype),(e.prototype.constructor=e).__proto__=t,n.prototype.fetch_=function(){var i=this;return function n(r){return void 0===r&&(r=0),fetch(i.base_+"?per_page=100&sort=updated&page="+r).then(function(e){return e.json()}).then(function(e){if(!(e instanceof Array))return[];if(i.name_){var t=e.find(function(e){return e.name===i.name_});return t||30!==e.length?t?[i.format_(t.stargazers_count)+" Stars",i.format_(t.forks_count)+" Forks"]:[]:n(r+1)}return[e.length+" Repositories"]})}()},n}(function(){function e(e){var t="string"==typeof e?document.querySelector(e):e;if(!(t instanceof HTMLAnchorElement))throw new ReferenceError;this.el_=t,this.base_=this.el_.href,this.salt_=this.hash_(this.base_)}var t=e.prototype;return t.fetch=function(){var n=this;return new Promise(function(t){var e=l.a.getJSON(n.salt_+".cache-source");void 0!==e?t(e):n.fetch_().then(function(e){l.a.set(n.salt_+".cache-source",e,{expires:1/96}),t(e)})})},t.fetch_=function(){throw new Error("fetch_(): Not implemented")},t.format_=function(e){return 1e4=this.el_.children[0].offsetTop+(5-this.height_);e!==this.active_&&(this.el_.dataset.mdState=(this.active_=e)?"hidden":"")},t.reset=function(){this.el_.dataset.mdState="",this.active_=!1},e}()};t.a={Event:r,Header:i,Nav:o,Search:a,Sidebar:s,Source:u,Tabs:f}},function(t,e,n){(function(e){t.exports=e.lunr=n(24)}).call(this,n(4))},function(e,d,h){"use strict";(function(t){var e=h(8),n=setTimeout;function c(e){return Boolean(e&&void 0!==e.length)}function r(){}function o(e){if(!(this instanceof o))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],f(e,this)}function i(n,r){for(;3===n._state;)n=n._value;0!==n._state?(n._handled=!0,o._immediateFn(function(){var e=1===n._state?r.onFulfilled:r.onRejected;if(null!==e){var t;try{t=e(n._value)}catch(e){return void s(r.promise,e)}a(r.promise,t)}else(1===n._state?a:s)(r.promise,n._value)})):n._deferreds.push(r)}function a(t,e){try{if(e===t)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"==typeof e||"function"==typeof e)){var n=e.then;if(e instanceof o)return t._state=3,t._value=e,void l(t);if("function"==typeof n)return void f((r=n,i=e,function(){r.apply(i,arguments)}),t)}t._state=1,t._value=e,l(t)}catch(e){s(t,e)}var r,i}function s(e,t){e._state=2,e._value=t,l(e)}function l(e){2===e._state&&0===e._deferreds.length&&o._immediateFn(function(){e._handled||o._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;t"+n+""};this.stack_=[],r.forEach(function(e,t){var n,r=a.docs_.get(t),i=f.createElement("li",{class:"md-search-result__item"},f.createElement("a",{href:r.location,title:r.title,class:"md-search-result__link",tabindex:"-1"},f.createElement("article",{class:"md-search-result__article md-search-result__article--document"},f.createElement("h1",{class:"md-search-result__title"},{__html:r.title.replace(s,c)}),r.text.length?f.createElement("p",{class:"md-search-result__teaser"},{__html:r.text.replace(s,c)}):{}))),o=e.map(function(t){return function(){var e=a.docs_.get(t.ref);i.appendChild(f.createElement("a",{href:e.location,title:e.title,class:"md-search-result__link","data-md-rel":"anchor",tabindex:"-1"},f.createElement("article",{class:"md-search-result__article"},f.createElement("h1",{class:"md-search-result__title"},{__html:e.title.replace(s,c)}),e.text.length?f.createElement("p",{class:"md-search-result__teaser"},{__html:function(e,t){var n=t;if(e.length>n){for(;" "!==e[n]&&0<--n;);return e.substring(0,n)+"..."}return e}(e.text.replace(s,c),400)}):{})))}});(n=a.stack_).push.apply(n,[function(){return a.list_.appendChild(i)}].concat(o))});var o=this.el_.parentNode;if(!(o instanceof HTMLElement))throw new ReferenceError;for(;this.stack_.length&&o.offsetHeight>=o.scrollHeight-16;)this.stack_.shift()();var l=this.list_.querySelectorAll("[data-md-rel=anchor]");switch(Array.prototype.forEach.call(l,function(r){["click","keydown"].forEach(function(n){r.addEventListener(n,function(e){if("keydown"!==n||13===e.keyCode){var t=document.querySelector("[data-md-toggle=search]");if(!(t instanceof HTMLInputElement))throw new ReferenceError;t.checked&&(t.checked=!1,t.dispatchEvent(new CustomEvent("change"))),e.preventDefault(),setTimeout(function(){document.location.href=r.href},100)}})})}),r.size){case 0:this.meta_.textContent=this.message_.none;break;case 1:this.meta_.textContent=this.message_.one;break;default:this.meta_.textContent=this.message_.other.replace("#",r.size)}}}else{var u=function(e){a.docs_=e.reduce(function(e,t){var n,r,i,o=t.location.split("#"),a=o[0],s=o[1];return t.text=(n=t.text,r=document.createTextNode(n),(i=document.createElement("p")).appendChild(r),i.innerHTML),s&&(t.parent=e.get(a),t.parent&&!t.parent.done&&(t.parent.title=t.title,t.parent.text=t.text,t.parent.done=!0)),t.text=t.text.replace(/\n/g," ").replace(/\s+/g," ").replace(/\s+([,.:;!?])/g,function(e,t){return t}),t.parent&&t.parent.title===t.title||e.set(t.location,t),e},new Map);var i=a.docs_,o=a.lang_;a.stack_=[],a.index_=d()(function(){var e,t=this,n={"search.pipeline.trimmer":d.a.trimmer,"search.pipeline.stopwords":d.a.stopWordFilter},r=Object.keys(n).reduce(function(e,t){return h(t).match(/^false$/i)||e.push(n[t]),e},[]);this.pipeline.reset(),r&&(e=this.pipeline).add.apply(e,r),1===o.length&&"en"!==o[0]&&d.a[o[0]]?this.use(d.a[o[0]]):1=t.scrollHeight-16;)a.stack_.splice(0,10).forEach(function(e){return e()})})};setTimeout(function(){return"function"==typeof a.data_?a.data_().then(u):u(a.data_)},250)}},e}()}).call(this,r(3))},function(e,n,r){"use strict";(function(t){r.d(n,"a",function(){return e});var e=function(){function e(e){var t="string"==typeof e?document.querySelector(e):e;if(!(t instanceof HTMLElement))throw new ReferenceError;this.el_=t}return e.prototype.initialize=function(e){e.length&&this.el_.children.length&&this.el_.children[this.el_.children.length-1].appendChild(t.createElement("ul",{class:"md-source__facts"},e.map(function(e){return t.createElement("li",{class:"md-source__fact"},e)}))),this.el_.dataset.mdState="done"},e}()}).call(this,r(3))},,,function(e,n,c){"use strict";c.r(n),function(o){c.d(n,"app",function(){return t});c(14),c(15),c(16),c(17),c(18),c(19),c(20);var r=c(2),e=c(5),a=c.n(e),i=c(0);window.Promise=window.Promise||r.a;var s=function(e){var t=document.getElementsByName("lang:"+e)[0];if(!(t instanceof HTMLMetaElement))throw new ReferenceError;return t.content};var t={initialize:function(t){new i.a.Event.Listener(document,"DOMContentLoaded",function(){if(!(document.body instanceof HTMLElement))throw new ReferenceError;Modernizr.addTest("ios",function(){return!!navigator.userAgent.match(/(iPad|iPhone|iPod)/g)});var e=document.querySelectorAll("table:not([class])");if(Array.prototype.forEach.call(e,function(e){var t=o.createElement("div",{class:"md-typeset__scrollwrap"},o.createElement("div",{class:"md-typeset__table"}));e.nextSibling?e.parentNode.insertBefore(t,e.nextSibling):e.parentNode.appendChild(t),t.children[0].appendChild(e)}),a.a.isSupported()){var t=document.querySelectorAll("pre > code");Array.prototype.forEach.call(t,function(e,t){var n="__code_"+t,r=o.createElement("button",{class:"md-clipboard",title:s("clipboard.copy"),"data-clipboard-target":"#"+n+" pre, #"+n+" code"},o.createElement("span",{class:"md-clipboard__message"})),i=e.parentNode;i.id=n,i.insertBefore(r,e)}),new a.a(".md-clipboard").on("success",function(e){var t=e.trigger.querySelector(".md-clipboard__message");if(!(t instanceof HTMLElement))throw new ReferenceError;e.clearSelection(),t.dataset.mdTimer&&clearTimeout(parseInt(t.dataset.mdTimer,10)),t.classList.add("md-clipboard__message--active"),t.innerHTML=s("clipboard.copied"),t.dataset.mdTimer=setTimeout(function(){t.classList.remove("md-clipboard__message--active"),t.dataset.mdTimer=""},2e3).toString()})}if(!Modernizr.details){var n=document.querySelectorAll("details > summary");Array.prototype.forEach.call(n,function(e){e.addEventListener("click",function(e){var t=e.target.parentNode;t.hasAttribute("open")?t.removeAttribute("open"):t.setAttribute("open","")})})}var r=function(){if(document.location.hash){var e=document.getElementById(document.location.hash.substring(1));if(!e)return;for(var t=e.parentNode;t&&!(t instanceof HTMLDetailsElement);)t=t.parentNode;if(t&&!t.open){t.open=!0;var n=location.hash;location.hash=" ",location.hash=n}}};if(window.addEventListener("hashchange",r),r(),Modernizr.ios){var i=document.querySelectorAll("[data-md-scrollfix]");Array.prototype.forEach.call(i,function(t){t.addEventListener("touchstart",function(){var e=t.scrollTop;0===e?t.scrollTop=1:e+t.offsetHeight===t.scrollHeight&&(t.scrollTop=e-1)})})}}).listen(),new i.a.Event.Listener(window,["scroll","resize","orientationchange"],new i.a.Header.Shadow("[data-md-component=container]","[data-md-component=header]")).listen(),new i.a.Event.Listener(window,["scroll","resize","orientationchange"],new i.a.Header.Title("[data-md-component=title]",".md-typeset h1")).listen(),document.querySelector("[data-md-component=hero]")&&new i.a.Event.Listener(window,["scroll","resize","orientationchange"],new i.a.Tabs.Toggle("[data-md-component=hero]")).listen(),document.querySelector("[data-md-component=tabs]")&&new i.a.Event.Listener(window,["scroll","resize","orientationchange"],new i.a.Tabs.Toggle("[data-md-component=tabs]")).listen(),new i.a.Event.MatchMedia("(min-width: 1220px)",new i.a.Event.Listener(window,["scroll","resize","orientationchange"],new i.a.Sidebar.Position("[data-md-component=navigation]","[data-md-component=header]"))),document.querySelector("[data-md-component=toc]")&&new i.a.Event.MatchMedia("(min-width: 960px)",new i.a.Event.Listener(window,["scroll","resize","orientationchange"],new i.a.Sidebar.Position("[data-md-component=toc]","[data-md-component=header]"))),new i.a.Event.MatchMedia("(min-width: 960px)",new i.a.Event.Listener(window,"scroll",new i.a.Nav.Blur("[data-md-component=toc] .md-nav__link")));var e=document.querySelectorAll("[data-md-component=collapsible]");Array.prototype.forEach.call(e,function(e){new i.a.Event.MatchMedia("(min-width: 1220px)",new i.a.Event.Listener(e.previousElementSibling,"click",new i.a.Nav.Collapse(e)))}),new i.a.Event.MatchMedia("(max-width: 1219px)",new i.a.Event.Listener("[data-md-component=navigation] [data-md-toggle]","change",new i.a.Nav.Scrolling("[data-md-component=navigation] nav"))),document.querySelector("[data-md-component=search]")&&(new i.a.Event.MatchMedia("(max-width: 959px)",new i.a.Event.Listener("[data-md-toggle=search]","change",new i.a.Search.Lock("[data-md-toggle=search]"))),new i.a.Event.Listener("[data-md-component=query]",["focus","keyup","change"],new i.a.Search.Result("[data-md-component=result]",function(){return fetch(t.url.base+"/search/search_index.json",{credentials:"same-origin"}).then(function(e){return e.json()}).then(function(e){return e.docs.map(function(e){return e.location=t.url.base+"/"+e.location,e})})})).listen(),new i.a.Event.Listener("[data-md-component=reset]","click",function(){setTimeout(function(){var e=document.querySelector("[data-md-component=query]");if(!(e instanceof HTMLInputElement))throw new ReferenceError;e.focus()},10)}).listen(),new i.a.Event.Listener("[data-md-toggle=search]","change",function(e){setTimeout(function(e){if(!(e instanceof HTMLInputElement))throw new ReferenceError;if(e.checked){var t=document.querySelector("[data-md-component=query]");if(!(t instanceof HTMLInputElement))throw new ReferenceError;t.focus()}},400,e.target)}).listen(),new i.a.Event.Listener("[data-md-component=query]","focus",function(){var e=document.querySelector("[data-md-toggle=search]");if(!(e instanceof HTMLInputElement))throw new ReferenceError;e.checked||(e.checked=!0,e.dispatchEvent(new CustomEvent("change")))}).listen(),new i.a.Event.Listener(window,"keydown",function(e){var t=document.querySelector("[data-md-toggle=search]");if(!(t instanceof HTMLInputElement))throw new ReferenceError;var n=document.querySelector("[data-md-component=query]");if(!(n instanceof HTMLInputElement))throw new ReferenceError;if(!(document.activeElement instanceof HTMLElement&&document.activeElement.isContentEditable||e.metaKey||e.ctrlKey))if(t.checked){if(13===e.keyCode){if(n===document.activeElement){e.preventDefault();var r=document.querySelector("[data-md-component=search] [href][data-md-state=active]");r instanceof HTMLLinkElement&&(window.location=r.getAttribute("href"),t.checked=!1,t.dispatchEvent(new CustomEvent("change")),n.blur())}}else if(9===e.keyCode||27===e.keyCode)t.checked=!1,t.dispatchEvent(new CustomEvent("change")),n.blur();else if(-1!==[8,37,39].indexOf(e.keyCode))n!==document.activeElement&&n.focus();else if(-1!==[38,40].indexOf(e.keyCode)){var i=e.keyCode,o=Array.prototype.slice.call(document.querySelectorAll("[data-md-component=query], [data-md-component=search] [href]")),a=o.find(function(e){if(!(e instanceof HTMLElement))throw new ReferenceError;return"active"===e.dataset.mdState});a&&(a.dataset.mdState="");var s=Math.max(0,(o.indexOf(a)+o.length+(38===i?-1:1))%o.length);return o[s]&&(o[s].dataset.mdState="active",o[s].focus()),e.preventDefault(),e.stopPropagation(),!1}}else if(document.activeElement&&!document.activeElement.form){if("TEXTAREA"===document.activeElement.tagName||"INPUT"===document.activeElement.tagName)return;70!==e.keyCode&&83!==e.keyCode||(n.focus(),e.preventDefault())}}).listen(),new i.a.Event.Listener(window,"keypress",function(){var e=document.querySelector("[data-md-toggle=search]");if(!(e instanceof HTMLInputElement))throw new ReferenceError;if(e.checked){var t=document.querySelector("[data-md-component=query]");if(!(t instanceof HTMLInputElement))throw new ReferenceError;t!==document.activeElement&&t.focus()}}).listen()),new i.a.Event.Listener(document.body,"keydown",function(e){if(9===e.keyCode){var t=document.querySelectorAll("[data-md-component=navigation] .md-nav__link[for]:not([tabindex])");Array.prototype.forEach.call(t,function(e){e.offsetHeight&&(e.tabIndex=0)})}}).listen(),new i.a.Event.Listener(document.body,"mousedown",function(){var e=document.querySelectorAll("[data-md-component=navigation] .md-nav__link[tabindex]");Array.prototype.forEach.call(e,function(e){e.removeAttribute("tabIndex")})}).listen(),document.body.addEventListener("click",function(){"tabbing"===document.body.dataset.mdState&&(document.body.dataset.mdState="")}),new i.a.Event.MatchMedia("(max-width: 959px)",new i.a.Event.Listener("[data-md-component=navigation] [href^='#']","click",function(){var e=document.querySelector("[data-md-toggle=drawer]");if(!(e instanceof HTMLInputElement))throw new ReferenceError;e.checked&&(e.checked=!1,e.dispatchEvent(new CustomEvent("change")))})),function(){var e=document.querySelector("[data-md-source]");if(!e)return r.a.resolve([]);if(!(e instanceof HTMLAnchorElement))throw new ReferenceError;switch(e.dataset.mdSource){case"github":return new i.a.Source.Adapter.GitHub(e).fetch();default:return r.a.resolve([])}}().then(function(t){var e=document.querySelectorAll("[data-md-source]");Array.prototype.forEach.call(e,function(e){new i.a.Source.Repository(e).initialize(t)})});var n=function(){var e=document.querySelectorAll("details");Array.prototype.forEach.call(e,function(e){e.setAttribute("open","")})};new i.a.Event.MatchMedia("print",{listen:n,unlisten:function(){}}),window.onbeforeprint=n}}}.call(this,c(3))},function(e,t,n){"use strict";n.p},function(e,t,n){"use strict";n.p},function(e,t,n){"use strict";n.p},function(e,t,n){"use strict"},function(e,t,n){"use strict"},function(e,t){!function(){if("undefined"!=typeof window)try{var e=new window.CustomEvent("test",{cancelable:!0});if(e.preventDefault(),!0!==e.defaultPrevented)throw new Error("Could not prevent default")}catch(e){var t=function(e,t){var n,r;return(t=t||{}).bubbles=!!t.bubbles,t.cancelable=!!t.cancelable,(n=document.createEvent("CustomEvent")).initCustomEvent(e,t.bubbles,t.cancelable,t.detail),r=n.preventDefault,n.preventDefault=function(){r.call(this);try{Object.defineProperty(this,"defaultPrevented",{get:function(){return!0}})}catch(e){this.defaultPrevented=!0}},n};t.prototype=window.Event.prototype,window.CustomEvent=t}}()},function(e,t,n){window.fetch||(window.fetch=n(7).default||n(7))},function(e,i,o){(function(e){var t=void 0!==e&&e||"undefined"!=typeof self&&self||window,n=Function.prototype.apply;function r(e,t){this._id=e,this._clearFn=t}i.setTimeout=function(){return new r(n.call(setTimeout,t,arguments),clearTimeout)},i.setInterval=function(){return new r(n.call(setInterval,t,arguments),clearInterval)},i.clearTimeout=i.clearInterval=function(e){e&&e.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(t,this._id)},i.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},i.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},i._unrefActive=i.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;0<=t&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},o(22),i.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,i.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,o(4))},function(e,t,n){(function(e,p){!function(n,r){"use strict";if(!n.setImmediate){var i,o,t,a,e,s=1,c={},l=!1,u=n.document,f=Object.getPrototypeOf&&Object.getPrototypeOf(n);f=f&&f.setTimeout?f:n,i="[object process]"==={}.toString.call(n.process)?function(e){p.nextTick(function(){h(e)})}:function(){if(n.postMessage&&!n.importScripts){var e=!0,t=n.onmessage;return n.onmessage=function(){e=!1},n.postMessage("","*"),n.onmessage=t,e}}()?(a="setImmediate$"+Math.random()+"$",e=function(e){e.source===n&&"string"==typeof e.data&&0===e.data.indexOf(a)&&h(+e.data.slice(a.length))},n.addEventListener?n.addEventListener("message",e,!1):n.attachEvent("onmessage",e),function(e){n.postMessage(a+e,"*")}):n.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){h(e.data)},function(e){t.port2.postMessage(e)}):u&&"onreadystatechange"in u.createElement("script")?(o=u.documentElement,function(e){var t=u.createElement("script");t.onreadystatechange=function(){h(e),t.onreadystatechange=null,o.removeChild(t),t=null},o.appendChild(t)}):function(e){setTimeout(h,0,e)},f.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n=this.length)return D.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},D.QueryLexer.prototype.width=function(){return this.pos-this.start},D.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},D.QueryLexer.prototype.backup=function(){this.pos-=1},D.QueryLexer.prototype.acceptDigitRun=function(){for(var e,t;47<(t=(e=this.next()).charCodeAt(0))&&t<58;);e!=D.QueryLexer.EOS&&this.backup()},D.QueryLexer.prototype.more=function(){return this.pos=t&&(e=c.limit_backward,c.limit_backward=t,c.ket=c.cursor,c.find_among_b(o,4)?(c.bra=c.cursor,c.limit_backward=e,c.cursor=c.limit-r,c.cursor>c.limit_backward&&(c.cursor--,c.bra=c.cursor,c.slice_del())):c.limit_backward=e)}this.setCurrent=function(e){c.setCurrent(e)},this.getCurrent=function(){return c.getCurrent()},this.stem=function(){var e,r=c.cursor;return function(){var e,r=c.cursor+3;if(t=c.limit,0<=r&&r<=c.limit){for(i=r;;){if(e=c.cursor,c.in_grouping(d,97,248)){c.cursor=e;break}if((c.cursor=e)>=c.limit)return;c.cursor++}for(;!c.out_grouping(d,97,248);){if(c.cursor>=c.limit)return;c.cursor++}(t=c.cursor)=t&&(r=c.limit_backward,c.limit_backward=t,c.ket=c.cursor,e=c.find_among_b(s,32),c.limit_backward=r,e))switch(c.bra=c.cursor,e){case 1:c.slice_del();break;case 2:c.in_grouping_b(u,97,229)&&c.slice_del()}}(),c.cursor=c.limit,l(),c.cursor=c.limit,function(){var e,r,i,n=c.limit-c.cursor;if(c.ket=c.cursor,c.eq_s_b(2,"st")&&(c.bra=c.cursor,c.eq_s_b(2,"ig")&&c.slice_del()),c.cursor=c.limit-n,c.cursor>=t&&(r=c.limit_backward,c.limit_backward=t,c.ket=c.cursor,e=c.find_among_b(a,5),c.limit_backward=r,e))switch(c.bra=c.cursor,e){case 1:c.slice_del(),i=c.limit-c.cursor,l(),c.cursor=c.limit-i;break;case 2:c.slice_from("løs")}}(),c.cursor=c.limit,c.cursor>=t&&(e=c.limit_backward,c.limit_backward=t,c.ket=c.cursor,c.out_grouping_b(d,97,248)?(c.bra=c.cursor,n=c.slice_to(n),c.limit_backward=e,c.eq_v_b(n)&&c.slice_del()):c.limit_backward=e),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}),e.Pipeline.registerFunction(e.da.stemmer,"stemmer-da"),e.da.stopWordFilter=e.generateStopWordFilter("ad af alle alt anden at blev blive bliver da de dem den denne der deres det dette dig din disse dog du efter eller en end er et for fra ham han hans har havde have hende hendes her hos hun hvad hvis hvor i ikke ind jeg jer jo kunne man mange med meget men mig min mine mit mod ned noget nogle nu når og også om op os over på selv sig sin sine sit skal skulle som sådan thi til ud under var vi vil ville vor være været".split(" ")),e.Pipeline.registerFunction(e.da.stopWordFilter,"stopWordFilter-da")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/lunr.de.js b/assets/javascripts/lunr/lunr.de.js new file mode 100644 index 00000000..73e55eb0 --- /dev/null +++ b/assets/javascripts/lunr/lunr.de.js @@ -0,0 +1,17 @@ +/*! + * Lunr languages, `German` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var _,p,r;e.de=function(){this.pipeline.reset(),this.pipeline.add(e.de.trimmer,e.de.stopWordFilter,e.de.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.de.stemmer))},e.de.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.de.trimmer=e.trimmerSupport.generateTrimmer(e.de.wordCharacters),e.Pipeline.registerFunction(e.de.trimmer,"trimmer-de"),e.de.stemmer=(_=e.stemmerSupport.Among,p=e.stemmerSupport.SnowballProgram,r=new function(){var r,n,i,s=[new _("",-1,6),new _("U",0,2),new _("Y",0,1),new _("ä",0,3),new _("ö",0,4),new _("ü",0,5)],o=[new _("e",-1,2),new _("em",-1,1),new _("en",-1,2),new _("ern",-1,1),new _("er",-1,1),new _("s",-1,3),new _("es",5,2)],c=[new _("en",-1,1),new _("er",-1,1),new _("st",-1,2),new _("est",2,1)],u=[new _("ig",-1,1),new _("lich",-1,1)],a=[new _("end",-1,1),new _("ig",-1,2),new _("ung",-1,1),new _("lich",-1,3),new _("isch",-1,2),new _("ik",-1,2),new _("heit",-1,3),new _("keit",-1,4)],t=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32,8],d=[117,30,5],l=[117,30,4],m=new p;function h(e,r,n){return!(!m.eq_s(1,e)||(m.ket=m.cursor,!m.in_grouping(t,97,252)))&&(m.slice_from(r),m.cursor=n,!0)}function w(){for(;!m.in_grouping(t,97,252);){if(m.cursor>=m.limit)return!0;m.cursor++}for(;!m.out_grouping(t,97,252);){if(m.cursor>=m.limit)return!0;m.cursor++}return!1}function f(){return i<=m.cursor}function b(){return n<=m.cursor}this.setCurrent=function(e){m.setCurrent(e)},this.getCurrent=function(){return m.getCurrent()},this.stem=function(){var e=m.cursor;return function(){for(var e,r,n,i,s=m.cursor;;)if(e=m.cursor,m.bra=e,m.eq_s(1,"ß"))m.ket=m.cursor,m.slice_from("ss");else{if(e>=m.limit)break;m.cursor=e+1}for(m.cursor=s;;)for(r=m.cursor;;){if(n=m.cursor,m.in_grouping(t,97,252)){if(i=m.cursor,m.bra=i,h("u","U",n))break;if(m.cursor=i,h("y","Y",n))break}if(n>=m.limit)return m.cursor=r;m.cursor=n+1}}(),m.cursor=e,function(){i=m.limit,n=i;var e=m.cursor+3;0<=e&&e<=m.limit&&(r=e,w()||((i=m.cursor)=m.limit)return;m.cursor++}}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return r.setCurrent(e),r.stem(),r.getCurrent()}):(r.setCurrent(e),r.stem(),r.getCurrent())}),e.Pipeline.registerFunction(e.de.stemmer,"stemmer-de"),e.de.stopWordFilter=e.generateStopWordFilter("aber alle allem allen aller alles als also am an ander andere anderem anderen anderer anderes anderm andern anderr anders auch auf aus bei bin bis bist da damit dann das dasselbe dazu daß dein deine deinem deinen deiner deines dem demselben den denn denselben der derer derselbe derselben des desselben dessen dich die dies diese dieselbe dieselben diesem diesen dieser dieses dir doch dort du durch ein eine einem einen einer eines einig einige einigem einigen einiger einiges einmal er es etwas euch euer eure eurem euren eurer eures für gegen gewesen hab habe haben hat hatte hatten hier hin hinter ich ihm ihn ihnen ihr ihre ihrem ihren ihrer ihres im in indem ins ist jede jedem jeden jeder jedes jene jenem jenen jener jenes jetzt kann kein keine keinem keinen keiner keines können könnte machen man manche manchem manchen mancher manches mein meine meinem meinen meiner meines mich mir mit muss musste nach nicht nichts noch nun nur ob oder ohne sehr sein seine seinem seinen seiner seines selbst sich sie sind so solche solchem solchen solcher solches soll sollte sondern sonst um und uns unse unsem unsen unser unses unter viel vom von vor war waren warst was weg weil weiter welche welchem welchen welcher welches wenn werde werden wie wieder will wir wird wirst wo wollen wollte während würde würden zu zum zur zwar zwischen über".split(" ")),e.Pipeline.registerFunction(e.de.stopWordFilter,"stopWordFilter-de")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/lunr.du.js b/assets/javascripts/lunr/lunr.du.js new file mode 100644 index 00000000..e9c67299 --- /dev/null +++ b/assets/javascripts/lunr/lunr.du.js @@ -0,0 +1,17 @@ +/*! + * Lunr languages, `Dutch` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var v,q,r;console.warn('[Lunr Languages] Please use the "nl" instead of the "du". The "nl" code is the standard code for Dutch language, and "du" will be removed in the next major versions.'),e.du=function(){this.pipeline.reset(),this.pipeline.add(e.du.trimmer,e.du.stopWordFilter,e.du.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.du.stemmer))},e.du.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.du.trimmer=e.trimmerSupport.generateTrimmer(e.du.wordCharacters),e.Pipeline.registerFunction(e.du.trimmer,"trimmer-du"),e.du.stemmer=(v=e.stemmerSupport.Among,q=e.stemmerSupport.SnowballProgram,r=new function(){var r,i,u,o=[new v("",-1,6),new v("á",0,1),new v("ä",0,1),new v("é",0,2),new v("ë",0,2),new v("í",0,3),new v("ï",0,3),new v("ó",0,4),new v("ö",0,4),new v("ú",0,5),new v("ü",0,5)],n=[new v("",-1,3),new v("I",0,2),new v("Y",0,1)],t=[new v("dd",-1,-1),new v("kk",-1,-1),new v("tt",-1,-1)],c=[new v("ene",-1,2),new v("se",-1,3),new v("en",-1,2),new v("heden",2,1),new v("s",-1,3)],a=[new v("end",-1,1),new v("ig",-1,2),new v("ing",-1,1),new v("lijk",-1,3),new v("baar",-1,4),new v("bar",-1,5)],l=[new v("aa",-1,-1),new v("ee",-1,-1),new v("oo",-1,-1),new v("uu",-1,-1)],m=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],d=[1,0,0,17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],f=[17,67,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],_=new q;function s(e){return(_.cursor=e)>=_.limit||(_.cursor++,!1)}function w(){for(;!_.in_grouping(m,97,232);){if(_.cursor>=_.limit)return!0;_.cursor++}for(;!_.out_grouping(m,97,232);){if(_.cursor>=_.limit)return!0;_.cursor++}return!1}function b(){return i<=_.cursor}function p(){return r<=_.cursor}function g(){var e=_.limit-_.cursor;_.find_among_b(t,3)&&(_.cursor=_.limit-e,_.ket=_.cursor,_.cursor>_.limit_backward&&(_.cursor--,_.bra=_.cursor,_.slice_del()))}function h(){var e;u=!1,_.ket=_.cursor,_.eq_s_b(1,"e")&&(_.bra=_.cursor,b()&&(e=_.limit-_.cursor,_.out_grouping_b(m,97,232)&&(_.cursor=_.limit-e,_.slice_del(),u=!0,g())))}function k(){var e;b()&&(e=_.limit-_.cursor,_.out_grouping_b(m,97,232)&&(_.cursor=_.limit-e,_.eq_s_b(3,"gem")||(_.cursor=_.limit-e,_.slice_del(),g())))}this.setCurrent=function(e){_.setCurrent(e)},this.getCurrent=function(){return _.getCurrent()},this.stem=function(){var e=_.cursor;return function(){for(var e,r,i,n=_.cursor;;){if(_.bra=_.cursor,e=_.find_among(o,11))switch(_.ket=_.cursor,e){case 1:_.slice_from("a");continue;case 2:_.slice_from("e");continue;case 3:_.slice_from("i");continue;case 4:_.slice_from("o");continue;case 5:_.slice_from("u");continue;case 6:if(_.cursor>=_.limit)break;_.cursor++;continue}break}for(_.cursor=n,_.bra=n,_.eq_s(1,"y")?(_.ket=_.cursor,_.slice_from("Y")):_.cursor=n;;)if(r=_.cursor,_.in_grouping(m,97,232)){if(i=_.cursor,_.bra=i,_.eq_s(1,"i"))_.ket=_.cursor,_.in_grouping(m,97,232)&&(_.slice_from("I"),_.cursor=r);else if(_.cursor=i,_.eq_s(1,"y"))_.ket=_.cursor,_.slice_from("Y"),_.cursor=r;else if(s(r))break}else if(s(r))break}(),_.cursor=e,i=_.limit,r=i,w()||((i=_.cursor)<3&&(i=3),w()||(r=_.cursor)),_.limit_backward=e,_.cursor=_.limit,function(){var e,r,i,n,o,t,s=_.limit-_.cursor;if(_.ket=_.cursor,e=_.find_among_b(c,5))switch(_.bra=_.cursor,e){case 1:b()&&_.slice_from("heid");break;case 2:k();break;case 3:b()&&_.out_grouping_b(f,97,232)&&_.slice_del()}if(_.cursor=_.limit-s,h(),_.cursor=_.limit-s,_.ket=_.cursor,_.eq_s_b(4,"heid")&&(_.bra=_.cursor,p()&&(r=_.limit-_.cursor,_.eq_s_b(1,"c")||(_.cursor=_.limit-r,_.slice_del(),_.ket=_.cursor,_.eq_s_b(2,"en")&&(_.bra=_.cursor,k())))),_.cursor=_.limit-s,_.ket=_.cursor,e=_.find_among_b(a,6))switch(_.bra=_.cursor,e){case 1:if(p()){if(_.slice_del(),i=_.limit-_.cursor,_.ket=_.cursor,_.eq_s_b(2,"ig")&&(_.bra=_.cursor,p()&&(n=_.limit-_.cursor,!_.eq_s_b(1,"e")))){_.cursor=_.limit-n,_.slice_del();break}_.cursor=_.limit-i,g()}break;case 2:p()&&(o=_.limit-_.cursor,_.eq_s_b(1,"e")||(_.cursor=_.limit-o,_.slice_del()));break;case 3:p()&&(_.slice_del(),h());break;case 4:p()&&_.slice_del();break;case 5:p()&&u&&_.slice_del()}_.cursor=_.limit-s,_.out_grouping_b(d,73,232)&&(t=_.limit-_.cursor,_.find_among_b(l,4)&&_.out_grouping_b(m,97,232)&&(_.cursor=_.limit-t,_.ket=_.cursor,_.cursor>_.limit_backward&&(_.cursor--,_.bra=_.cursor,_.slice_del())))}(),_.cursor=_.limit_backward,function(){for(var e;;)if(_.bra=_.cursor,e=_.find_among(n,3))switch(_.ket=_.cursor,e){case 1:_.slice_from("y");break;case 2:_.slice_from("i");break;case 3:if(_.cursor>=_.limit)return;_.cursor++}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return r.setCurrent(e),r.stem(),r.getCurrent()}):(r.setCurrent(e),r.stem(),r.getCurrent())}),e.Pipeline.registerFunction(e.du.stemmer,"stemmer-du"),e.du.stopWordFilter=e.generateStopWordFilter(" aan al alles als altijd andere ben bij daar dan dat de der deze die dit doch doen door dus een eens en er ge geen geweest haar had heb hebben heeft hem het hier hij hoe hun iemand iets ik in is ja je kan kon kunnen maar me meer men met mij mijn moet na naar niet niets nog nu of om omdat onder ons ook op over reeds te tegen toch toen tot u uit uw van veel voor want waren was wat werd wezen wie wil worden wordt zal ze zelf zich zij zijn zo zonder zou".split(" ")),e.Pipeline.registerFunction(e.du.stopWordFilter,"stopWordFilter-du")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/lunr.es.js b/assets/javascripts/lunr/lunr.es.js new file mode 100644 index 00000000..2918bd19 --- /dev/null +++ b/assets/javascripts/lunr/lunr.es.js @@ -0,0 +1,17 @@ +/*! + * Lunr languages, `Spanish` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ +!function(e,s){"function"==typeof define&&define.amd?define(s):"object"==typeof exports?module.exports=s():s()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var C,P,s;e.es=function(){this.pipeline.reset(),this.pipeline.add(e.es.trimmer,e.es.stopWordFilter,e.es.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.es.stemmer))},e.es.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.es.trimmer=e.trimmerSupport.generateTrimmer(e.es.wordCharacters),e.Pipeline.registerFunction(e.es.trimmer,"trimmer-es"),e.es.stemmer=(C=e.stemmerSupport.Among,P=e.stemmerSupport.SnowballProgram,s=new function(){var r,n,i,a=[new C("",-1,6),new C("á",0,1),new C("é",0,2),new C("í",0,3),new C("ó",0,4),new C("ú",0,5)],t=[new C("la",-1,-1),new C("sela",0,-1),new C("le",-1,-1),new C("me",-1,-1),new C("se",-1,-1),new C("lo",-1,-1),new C("selo",5,-1),new C("las",-1,-1),new C("selas",7,-1),new C("les",-1,-1),new C("los",-1,-1),new C("selos",10,-1),new C("nos",-1,-1)],o=[new C("ando",-1,6),new C("iendo",-1,6),new C("yendo",-1,7),new C("ándo",-1,2),new C("iéndo",-1,1),new C("ar",-1,6),new C("er",-1,6),new C("ir",-1,6),new C("ár",-1,3),new C("ér",-1,4),new C("ír",-1,5)],s=[new C("ic",-1,-1),new C("ad",-1,-1),new C("os",-1,-1),new C("iv",-1,1)],u=[new C("able",-1,1),new C("ible",-1,1),new C("ante",-1,1)],w=[new C("ic",-1,1),new C("abil",-1,1),new C("iv",-1,1)],c=[new C("ica",-1,1),new C("ancia",-1,2),new C("encia",-1,5),new C("adora",-1,2),new C("osa",-1,1),new C("ista",-1,1),new C("iva",-1,9),new C("anza",-1,1),new C("logía",-1,3),new C("idad",-1,8),new C("able",-1,1),new C("ible",-1,1),new C("ante",-1,2),new C("mente",-1,7),new C("amente",13,6),new C("ación",-1,2),new C("ución",-1,4),new C("ico",-1,1),new C("ismo",-1,1),new C("oso",-1,1),new C("amiento",-1,1),new C("imiento",-1,1),new C("ivo",-1,9),new C("ador",-1,2),new C("icas",-1,1),new C("ancias",-1,2),new C("encias",-1,5),new C("adoras",-1,2),new C("osas",-1,1),new C("istas",-1,1),new C("ivas",-1,9),new C("anzas",-1,1),new C("logías",-1,3),new C("idades",-1,8),new C("ables",-1,1),new C("ibles",-1,1),new C("aciones",-1,2),new C("uciones",-1,4),new C("adores",-1,2),new C("antes",-1,2),new C("icos",-1,1),new C("ismos",-1,1),new C("osos",-1,1),new C("amientos",-1,1),new C("imientos",-1,1),new C("ivos",-1,9)],m=[new C("ya",-1,1),new C("ye",-1,1),new C("yan",-1,1),new C("yen",-1,1),new C("yeron",-1,1),new C("yendo",-1,1),new C("yo",-1,1),new C("yas",-1,1),new C("yes",-1,1),new C("yais",-1,1),new C("yamos",-1,1),new C("yó",-1,1)],l=[new C("aba",-1,2),new C("ada",-1,2),new C("ida",-1,2),new C("ara",-1,2),new C("iera",-1,2),new C("ía",-1,2),new C("aría",5,2),new C("ería",5,2),new C("iría",5,2),new C("ad",-1,2),new C("ed",-1,2),new C("id",-1,2),new C("ase",-1,2),new C("iese",-1,2),new C("aste",-1,2),new C("iste",-1,2),new C("an",-1,2),new C("aban",16,2),new C("aran",16,2),new C("ieran",16,2),new C("ían",16,2),new C("arían",20,2),new C("erían",20,2),new C("irían",20,2),new C("en",-1,1),new C("asen",24,2),new C("iesen",24,2),new C("aron",-1,2),new C("ieron",-1,2),new C("arán",-1,2),new C("erán",-1,2),new C("irán",-1,2),new C("ado",-1,2),new C("ido",-1,2),new C("ando",-1,2),new C("iendo",-1,2),new C("ar",-1,2),new C("er",-1,2),new C("ir",-1,2),new C("as",-1,2),new C("abas",39,2),new C("adas",39,2),new C("idas",39,2),new C("aras",39,2),new C("ieras",39,2),new C("ías",39,2),new C("arías",45,2),new C("erías",45,2),new C("irías",45,2),new C("es",-1,1),new C("ases",49,2),new C("ieses",49,2),new C("abais",-1,2),new C("arais",-1,2),new C("ierais",-1,2),new C("íais",-1,2),new C("aríais",55,2),new C("eríais",55,2),new C("iríais",55,2),new C("aseis",-1,2),new C("ieseis",-1,2),new C("asteis",-1,2),new C("isteis",-1,2),new C("áis",-1,2),new C("éis",-1,1),new C("aréis",64,2),new C("eréis",64,2),new C("iréis",64,2),new C("ados",-1,2),new C("idos",-1,2),new C("amos",-1,2),new C("ábamos",70,2),new C("áramos",70,2),new C("iéramos",70,2),new C("íamos",70,2),new C("aríamos",74,2),new C("eríamos",74,2),new C("iríamos",74,2),new C("emos",-1,1),new C("aremos",78,2),new C("eremos",78,2),new C("iremos",78,2),new C("ásemos",78,2),new C("iésemos",78,2),new C("imos",-1,2),new C("arás",-1,2),new C("erás",-1,2),new C("irás",-1,2),new C("ís",-1,2),new C("ará",-1,2),new C("erá",-1,2),new C("irá",-1,2),new C("aré",-1,2),new C("eré",-1,2),new C("iré",-1,2),new C("ió",-1,2)],d=[new C("a",-1,1),new C("e",-1,2),new C("o",-1,1),new C("os",-1,1),new C("á",-1,1),new C("é",-1,2),new C("í",-1,1),new C("ó",-1,1)],b=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,4,10],f=new P;function _(){if(f.out_grouping(b,97,252)){for(;!f.in_grouping(b,97,252);){if(f.cursor>=f.limit)return!0;f.cursor++}return!1}return!0}function h(){var e,s=f.cursor;if(function(){if(f.in_grouping(b,97,252)){var e=f.cursor;if(_()){if(f.cursor=e,!f.in_grouping(b,97,252))return!0;for(;!f.out_grouping(b,97,252);){if(f.cursor>=f.limit)return!0;f.cursor++}}return!1}return!0}()){if(f.cursor=s,!f.out_grouping(b,97,252))return;if(e=f.cursor,_()){if(f.cursor=e,!f.in_grouping(b,97,252)||f.cursor>=f.limit)return;f.cursor++}}i=f.cursor}function v(){for(;!f.in_grouping(b,97,252);){if(f.cursor>=f.limit)return!1;f.cursor++}for(;!f.out_grouping(b,97,252);){if(f.cursor>=f.limit)return!1;f.cursor++}return!0}function p(){return i<=f.cursor}function g(){return r<=f.cursor}function k(e,s){if(!g())return!0;f.slice_del(),f.ket=f.cursor;var r=f.find_among_b(e,s);return r&&(f.bra=f.cursor,1==r&&g()&&f.slice_del()),!1}function y(e){return!g()||(f.slice_del(),f.ket=f.cursor,f.eq_s_b(2,e)&&(f.bra=f.cursor,g()&&f.slice_del()),!1)}function q(){var e;if(f.ket=f.cursor,e=f.find_among_b(c,46)){switch(f.bra=f.cursor,e){case 1:if(!g())return!1;f.slice_del();break;case 2:if(y("ic"))return!1;break;case 3:if(!g())return!1;f.slice_from("log");break;case 4:if(!g())return!1;f.slice_from("u");break;case 5:if(!g())return!1;f.slice_from("ente");break;case 6:if(!(n<=f.cursor))return!1;f.slice_del(),f.ket=f.cursor,(e=f.find_among_b(s,4))&&(f.bra=f.cursor,g()&&(f.slice_del(),1==e&&(f.ket=f.cursor,f.eq_s_b(2,"at")&&(f.bra=f.cursor,g()&&f.slice_del()))));break;case 7:if(k(u,3))return!1;break;case 8:if(k(w,3))return!1;break;case 9:if(y("at"))return!1}return!0}return!1}this.setCurrent=function(e){f.setCurrent(e)},this.getCurrent=function(){return f.getCurrent()},this.stem=function(){var e,s=f.cursor;return e=f.cursor,i=f.limit,r=n=i,h(),f.cursor=e,v()&&(n=f.cursor,v()&&(r=f.cursor)),f.limit_backward=s,f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,f.find_among_b(t,13)&&(f.bra=f.cursor,(e=f.find_among_b(o,11))&&p()))switch(e){case 1:f.bra=f.cursor,f.slice_from("iendo");break;case 2:f.bra=f.cursor,f.slice_from("ando");break;case 3:f.bra=f.cursor,f.slice_from("ar");break;case 4:f.bra=f.cursor,f.slice_from("er");break;case 5:f.bra=f.cursor,f.slice_from("ir");break;case 6:f.slice_del();break;case 7:f.eq_s_b(1,"u")&&f.slice_del()}}(),f.cursor=f.limit,q()||(f.cursor=f.limit,function(){var e,s;if(f.cursor>=i&&(s=f.limit_backward,f.limit_backward=i,f.ket=f.cursor,e=f.find_among_b(m,12),f.limit_backward=s,e)){if(f.bra=f.cursor,1==e){if(!f.eq_s_b(1,"u"))return!1;f.slice_del()}return!0}return!1}()||(f.cursor=f.limit,function(){var e,s,r,n;if(f.cursor>=i&&(s=f.limit_backward,f.limit_backward=i,f.ket=f.cursor,e=f.find_among_b(l,96),f.limit_backward=s,e))switch(f.bra=f.cursor,e){case 1:r=f.limit-f.cursor,f.eq_s_b(1,"u")?(n=f.limit-f.cursor,f.eq_s_b(1,"g")?f.cursor=f.limit-n:f.cursor=f.limit-r):f.cursor=f.limit-r,f.bra=f.cursor;case 2:f.slice_del()}}())),f.cursor=f.limit,function(){var e,s;if(f.ket=f.cursor,e=f.find_among_b(d,8))switch(f.bra=f.cursor,e){case 1:p()&&f.slice_del();break;case 2:p()&&(f.slice_del(),f.ket=f.cursor,f.eq_s_b(1,"u")&&(f.bra=f.cursor,s=f.limit-f.cursor,f.eq_s_b(1,"g")&&(f.cursor=f.limit-s,p()&&f.slice_del())))}}(),f.cursor=f.limit_backward,function(){for(var e;;){if(f.bra=f.cursor,e=f.find_among(a,6))switch(f.ket=f.cursor,e){case 1:f.slice_from("a");continue;case 2:f.slice_from("e");continue;case 3:f.slice_from("i");continue;case 4:f.slice_from("o");continue;case 5:f.slice_from("u");continue;case 6:if(f.cursor>=f.limit)break;f.cursor++;continue}break}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return s.setCurrent(e),s.stem(),s.getCurrent()}):(s.setCurrent(e),s.stem(),s.getCurrent())}),e.Pipeline.registerFunction(e.es.stemmer,"stemmer-es"),e.es.stopWordFilter=e.generateStopWordFilter("a al algo algunas algunos ante antes como con contra cual cuando de del desde donde durante e el ella ellas ellos en entre era erais eran eras eres es esa esas ese eso esos esta estaba estabais estaban estabas estad estada estadas estado estados estamos estando estar estaremos estará estarán estarás estaré estaréis estaría estaríais estaríamos estarían estarías estas este estemos esto estos estoy estuve estuviera estuvierais estuvieran estuvieras estuvieron estuviese estuvieseis estuviesen estuvieses estuvimos estuviste estuvisteis estuviéramos estuviésemos estuvo está estábamos estáis están estás esté estéis estén estés fue fuera fuerais fueran fueras fueron fuese fueseis fuesen fueses fui fuimos fuiste fuisteis fuéramos fuésemos ha habida habidas habido habidos habiendo habremos habrá habrán habrás habré habréis habría habríais habríamos habrían habrías habéis había habíais habíamos habían habías han has hasta hay haya hayamos hayan hayas hayáis he hemos hube hubiera hubierais hubieran hubieras hubieron hubiese hubieseis hubiesen hubieses hubimos hubiste hubisteis hubiéramos hubiésemos hubo la las le les lo los me mi mis mucho muchos muy más mí mía mías mío míos nada ni no nos nosotras nosotros nuestra nuestras nuestro nuestros o os otra otras otro otros para pero poco por porque que quien quienes qué se sea seamos sean seas seremos será serán serás seré seréis sería seríais seríamos serían serías seáis sido siendo sin sobre sois somos son soy su sus suya suyas suyo suyos sí también tanto te tendremos tendrá tendrán tendrás tendré tendréis tendría tendríais tendríamos tendrían tendrías tened tenemos tenga tengamos tengan tengas tengo tengáis tenida tenidas tenido tenidos teniendo tenéis tenía teníais teníamos tenían tenías ti tiene tienen tienes todo todos tu tus tuve tuviera tuvierais tuvieran tuvieras tuvieron tuviese tuvieseis tuviesen tuvieses tuvimos tuviste tuvisteis tuviéramos tuviésemos tuvo tuya tuyas tuyo tuyos tú un una uno unos vosotras vosotros vuestra vuestras vuestro vuestros y ya yo él éramos".split(" ")),e.Pipeline.registerFunction(e.es.stopWordFilter,"stopWordFilter-es")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/lunr.fi.js b/assets/javascripts/lunr/lunr.fi.js new file mode 100644 index 00000000..f34d10e0 --- /dev/null +++ b/assets/javascripts/lunr/lunr.fi.js @@ -0,0 +1,17 @@ +/*! + * Lunr languages, `Finnish` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ +!function(i,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():e()(i.lunr)}(this,function(){return function(i){if(void 0===i)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===i.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var v,C,e;i.fi=function(){this.pipeline.reset(),this.pipeline.add(i.fi.trimmer,i.fi.stopWordFilter,i.fi.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(i.fi.stemmer))},i.fi.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",i.fi.trimmer=i.trimmerSupport.generateTrimmer(i.fi.wordCharacters),i.Pipeline.registerFunction(i.fi.trimmer,"trimmer-fi"),i.fi.stemmer=(v=i.stemmerSupport.Among,C=i.stemmerSupport.SnowballProgram,e=new function(){var n,t,l,o,r=[new v("pa",-1,1),new v("sti",-1,2),new v("kaan",-1,1),new v("han",-1,1),new v("kin",-1,1),new v("hän",-1,1),new v("kään",-1,1),new v("ko",-1,1),new v("pä",-1,1),new v("kö",-1,1)],s=[new v("lla",-1,-1),new v("na",-1,-1),new v("ssa",-1,-1),new v("ta",-1,-1),new v("lta",3,-1),new v("sta",3,-1)],a=[new v("llä",-1,-1),new v("nä",-1,-1),new v("ssä",-1,-1),new v("tä",-1,-1),new v("ltä",3,-1),new v("stä",3,-1)],u=[new v("lle",-1,-1),new v("ine",-1,-1)],c=[new v("nsa",-1,3),new v("mme",-1,3),new v("nne",-1,3),new v("ni",-1,2),new v("si",-1,1),new v("an",-1,4),new v("en",-1,6),new v("än",-1,5),new v("nsä",-1,3)],i=[new v("aa",-1,-1),new v("ee",-1,-1),new v("ii",-1,-1),new v("oo",-1,-1),new v("uu",-1,-1),new v("ää",-1,-1),new v("öö",-1,-1)],m=[new v("a",-1,8),new v("lla",0,-1),new v("na",0,-1),new v("ssa",0,-1),new v("ta",0,-1),new v("lta",4,-1),new v("sta",4,-1),new v("tta",4,9),new v("lle",-1,-1),new v("ine",-1,-1),new v("ksi",-1,-1),new v("n",-1,7),new v("han",11,1),new v("den",11,-1,q),new v("seen",11,-1,j),new v("hen",11,2),new v("tten",11,-1,q),new v("hin",11,3),new v("siin",11,-1,q),new v("hon",11,4),new v("hän",11,5),new v("hön",11,6),new v("ä",-1,8),new v("llä",22,-1),new v("nä",22,-1),new v("ssä",22,-1),new v("tä",22,-1),new v("ltä",26,-1),new v("stä",26,-1),new v("ttä",26,9)],w=[new v("eja",-1,-1),new v("mma",-1,1),new v("imma",1,-1),new v("mpa",-1,1),new v("impa",3,-1),new v("mmi",-1,1),new v("immi",5,-1),new v("mpi",-1,1),new v("impi",7,-1),new v("ejä",-1,-1),new v("mmä",-1,1),new v("immä",10,-1),new v("mpä",-1,1),new v("impä",12,-1)],_=[new v("i",-1,-1),new v("j",-1,-1)],k=[new v("mma",-1,1),new v("imma",0,-1)],b=[17,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8],d=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],e=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],f=[17,97,24,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],h=new C;function p(){for(var i;i=h.cursor,!h.in_grouping(d,97,246);){if((h.cursor=i)>=h.limit)return!0;h.cursor++}for(h.cursor=i;!h.out_grouping(d,97,246);){if(h.cursor>=h.limit)return!0;h.cursor++}return!1}function g(){var i,e;if(h.cursor>=o)if(e=h.limit_backward,h.limit_backward=o,h.ket=h.cursor,i=h.find_among_b(r,10)){switch(h.bra=h.cursor,h.limit_backward=e,i){case 1:if(!h.in_grouping_b(f,97,246))return;break;case 2:if(!(l<=h.cursor))return}h.slice_del()}else h.limit_backward=e}function j(){return h.find_among_b(i,7)}function q(){return h.eq_s_b(1,"i")&&h.in_grouping_b(e,97,246)}this.setCurrent=function(i){h.setCurrent(i)},this.getCurrent=function(){return h.getCurrent()},this.stem=function(){var i,e=h.cursor;return o=h.limit,l=o,p()||(o=h.cursor,p()||(l=h.cursor)),n=!1,h.limit_backward=e,h.cursor=h.limit,g(),h.cursor=h.limit,function(){var i,e,r;if(h.cursor>=o)if(e=h.limit_backward,h.limit_backward=o,h.ket=h.cursor,i=h.find_among_b(c,9))switch(h.bra=h.cursor,h.limit_backward=e,i){case 1:r=h.limit-h.cursor,h.eq_s_b(1,"k")||(h.cursor=h.limit-r,h.slice_del());break;case 2:h.slice_del(),h.ket=h.cursor,h.eq_s_b(3,"kse")&&(h.bra=h.cursor,h.slice_from("ksi"));break;case 3:h.slice_del();break;case 4:h.find_among_b(s,6)&&h.slice_del();break;case 5:h.find_among_b(a,6)&&h.slice_del();break;case 6:h.find_among_b(u,2)&&h.slice_del()}else h.limit_backward=e}(),h.cursor=h.limit,function(){var i,e,r;if(h.cursor>=o)if(e=h.limit_backward,h.limit_backward=o,h.ket=h.cursor,i=h.find_among_b(m,30)){switch(h.bra=h.cursor,h.limit_backward=e,i){case 1:if(!h.eq_s_b(1,"a"))return;break;case 2:case 9:if(!h.eq_s_b(1,"e"))return;break;case 3:if(!h.eq_s_b(1,"i"))return;break;case 4:if(!h.eq_s_b(1,"o"))return;break;case 5:if(!h.eq_s_b(1,"ä"))return;break;case 6:if(!h.eq_s_b(1,"ö"))return;break;case 7:if(r=h.limit-h.cursor,!j()&&(h.cursor=h.limit-r,!h.eq_s_b(2,"ie"))){h.cursor=h.limit-r;break}if(h.cursor=h.limit-r,h.cursor<=h.limit_backward){h.cursor=h.limit-r;break}h.cursor--,h.bra=h.cursor;break;case 8:if(!h.in_grouping_b(d,97,246)||!h.out_grouping_b(d,97,246))return}h.slice_del(),n=!0}else h.limit_backward=e}(),h.cursor=h.limit,function(){var i,e,r;if(h.cursor>=l)if(e=h.limit_backward,h.limit_backward=l,h.ket=h.cursor,i=h.find_among_b(w,14)){if(h.bra=h.cursor,h.limit_backward=e,1==i){if(r=h.limit-h.cursor,h.eq_s_b(2,"po"))return;h.cursor=h.limit-r}h.slice_del()}else h.limit_backward=e}(),h.cursor=h.limit,h.cursor=(n?h.cursor>=o&&(i=h.limit_backward,h.limit_backward=o,h.ket=h.cursor,h.find_among_b(_,2)?(h.bra=h.cursor,h.limit_backward=i,h.slice_del()):h.limit_backward=i):(h.cursor=h.limit,function(){var i,e,r,n,t,s;if(h.cursor>=o){if(e=h.limit_backward,h.limit_backward=o,h.ket=h.cursor,h.eq_s_b(1,"t")&&(h.bra=h.cursor,r=h.limit-h.cursor,h.in_grouping_b(d,97,246)&&(h.cursor=h.limit-r,h.slice_del(),h.limit_backward=e,n=h.limit-h.cursor,h.cursor>=l&&(h.cursor=l,t=h.limit_backward,h.limit_backward=h.cursor,h.cursor=h.limit-n,h.ket=h.cursor,i=h.find_among_b(k,2))))){if(h.bra=h.cursor,h.limit_backward=t,1==i){if(s=h.limit-h.cursor,h.eq_s_b(2,"po"))return;h.cursor=h.limit-s}return h.slice_del()}h.limit_backward=e}}()),h.limit),function(){var i,e,r,n;if(h.cursor>=o){for(i=h.limit_backward,h.limit_backward=o,e=h.limit-h.cursor,j()&&(h.cursor=h.limit-e,h.ket=h.cursor,h.cursor>h.limit_backward&&(h.cursor--,h.bra=h.cursor,h.slice_del())),h.cursor=h.limit-e,h.ket=h.cursor,h.in_grouping_b(b,97,228)&&(h.bra=h.cursor,h.out_grouping_b(d,97,246)&&h.slice_del()),h.cursor=h.limit-e,h.ket=h.cursor,h.eq_s_b(1,"j")&&(h.bra=h.cursor,r=h.limit-h.cursor,h.eq_s_b(1,"o")?h.slice_del():(h.cursor=h.limit-r,h.eq_s_b(1,"u")&&h.slice_del())),h.cursor=h.limit-e,h.ket=h.cursor,h.eq_s_b(1,"o")&&(h.bra=h.cursor,h.eq_s_b(1,"j")&&h.slice_del()),h.cursor=h.limit-e,h.limit_backward=i;;){if(n=h.limit-h.cursor,h.out_grouping_b(d,97,246)){h.cursor=h.limit-n;break}if(h.cursor=h.limit-n,h.cursor<=h.limit_backward)return;h.cursor--}h.ket=h.cursor,h.cursor>h.limit_backward&&(h.cursor--,h.bra=h.cursor,t=h.slice_to(),h.eq_v_b(t)&&h.slice_del())}}(),!0}},function(i){return"function"==typeof i.update?i.update(function(i){return e.setCurrent(i),e.stem(),e.getCurrent()}):(e.setCurrent(i),e.stem(),e.getCurrent())}),i.Pipeline.registerFunction(i.fi.stemmer,"stemmer-fi"),i.fi.stopWordFilter=i.generateStopWordFilter("ei eivät emme en et ette että he heidän heidät heihin heille heillä heiltä heissä heistä heitä hän häneen hänelle hänellä häneltä hänen hänessä hänestä hänet häntä itse ja johon joiden joihin joiksi joilla joille joilta joina joissa joista joita joka joksi jolla jolle jolta jona jonka jos jossa josta jota jotka kanssa keiden keihin keiksi keille keillä keiltä keinä keissä keistä keitä keneen keneksi kenelle kenellä keneltä kenen kenenä kenessä kenestä kenet ketkä ketkä ketä koska kuin kuka kun me meidän meidät meihin meille meillä meiltä meissä meistä meitä mihin miksi mikä mille millä miltä minkä minkä minua minulla minulle minulta minun minussa minusta minut minuun minä minä missä mistä mitkä mitä mukaan mutta ne niiden niihin niiksi niille niillä niiltä niin niin niinä niissä niistä niitä noiden noihin noiksi noilla noille noilta noin noina noissa noista noita nuo nyt näiden näihin näiksi näille näillä näiltä näinä näissä näistä näitä nämä ole olemme olen olet olette oli olimme olin olisi olisimme olisin olisit olisitte olisivat olit olitte olivat olla olleet ollut on ovat poikki se sekä sen siihen siinä siitä siksi sille sillä sillä siltä sinua sinulla sinulle sinulta sinun sinussa sinusta sinut sinuun sinä sinä sitä tai te teidän teidät teihin teille teillä teiltä teissä teistä teitä tuo tuohon tuoksi tuolla tuolle tuolta tuon tuona tuossa tuosta tuota tähän täksi tälle tällä tältä tämä tämän tänä tässä tästä tätä vaan vai vaikka yli".split(" ")),i.Pipeline.registerFunction(i.fi.stopWordFilter,"stopWordFilter-fi")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/lunr.fr.js b/assets/javascripts/lunr/lunr.fr.js new file mode 100644 index 00000000..d043ec65 --- /dev/null +++ b/assets/javascripts/lunr/lunr.fr.js @@ -0,0 +1,17 @@ +/*! + * Lunr languages, `French` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r,y,s;e.fr=function(){this.pipeline.reset(),this.pipeline.add(e.fr.trimmer,e.fr.stopWordFilter,e.fr.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.fr.stemmer))},e.fr.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.fr.trimmer=e.trimmerSupport.generateTrimmer(e.fr.wordCharacters),e.Pipeline.registerFunction(e.fr.trimmer,"trimmer-fr"),e.fr.stemmer=(r=e.stemmerSupport.Among,y=e.stemmerSupport.SnowballProgram,s=new function(){var s,i,t,n=[new r("col",-1,-1),new r("par",-1,-1),new r("tap",-1,-1)],u=[new r("",-1,4),new r("I",0,1),new r("U",0,2),new r("Y",0,3)],o=[new r("iqU",-1,3),new r("abl",-1,3),new r("Ièr",-1,4),new r("ièr",-1,4),new r("eus",-1,2),new r("iv",-1,1)],c=[new r("ic",-1,2),new r("abil",-1,1),new r("iv",-1,3)],a=[new r("iqUe",-1,1),new r("atrice",-1,2),new r("ance",-1,1),new r("ence",-1,5),new r("logie",-1,3),new r("able",-1,1),new r("isme",-1,1),new r("euse",-1,11),new r("iste",-1,1),new r("ive",-1,8),new r("if",-1,8),new r("usion",-1,4),new r("ation",-1,2),new r("ution",-1,4),new r("ateur",-1,2),new r("iqUes",-1,1),new r("atrices",-1,2),new r("ances",-1,1),new r("ences",-1,5),new r("logies",-1,3),new r("ables",-1,1),new r("ismes",-1,1),new r("euses",-1,11),new r("istes",-1,1),new r("ives",-1,8),new r("ifs",-1,8),new r("usions",-1,4),new r("ations",-1,2),new r("utions",-1,4),new r("ateurs",-1,2),new r("ments",-1,15),new r("ements",30,6),new r("issements",31,12),new r("ités",-1,7),new r("ment",-1,15),new r("ement",34,6),new r("issement",35,12),new r("amment",34,13),new r("emment",34,14),new r("aux",-1,10),new r("eaux",39,9),new r("eux",-1,1),new r("ité",-1,7)],l=[new r("ira",-1,1),new r("ie",-1,1),new r("isse",-1,1),new r("issante",-1,1),new r("i",-1,1),new r("irai",4,1),new r("ir",-1,1),new r("iras",-1,1),new r("ies",-1,1),new r("îmes",-1,1),new r("isses",-1,1),new r("issantes",-1,1),new r("îtes",-1,1),new r("is",-1,1),new r("irais",13,1),new r("issais",13,1),new r("irions",-1,1),new r("issions",-1,1),new r("irons",-1,1),new r("issons",-1,1),new r("issants",-1,1),new r("it",-1,1),new r("irait",21,1),new r("issait",21,1),new r("issant",-1,1),new r("iraIent",-1,1),new r("issaIent",-1,1),new r("irent",-1,1),new r("issent",-1,1),new r("iront",-1,1),new r("ît",-1,1),new r("iriez",-1,1),new r("issiez",-1,1),new r("irez",-1,1),new r("issez",-1,1)],w=[new r("a",-1,3),new r("era",0,2),new r("asse",-1,3),new r("ante",-1,3),new r("ée",-1,2),new r("ai",-1,3),new r("erai",5,2),new r("er",-1,2),new r("as",-1,3),new r("eras",8,2),new r("âmes",-1,3),new r("asses",-1,3),new r("antes",-1,3),new r("âtes",-1,3),new r("ées",-1,2),new r("ais",-1,3),new r("erais",15,2),new r("ions",-1,1),new r("erions",17,2),new r("assions",17,3),new r("erons",-1,2),new r("ants",-1,3),new r("és",-1,2),new r("ait",-1,3),new r("erait",23,2),new r("ant",-1,3),new r("aIent",-1,3),new r("eraIent",26,2),new r("èrent",-1,2),new r("assent",-1,3),new r("eront",-1,2),new r("ât",-1,3),new r("ez",-1,2),new r("iez",32,2),new r("eriez",33,2),new r("assiez",33,3),new r("erez",32,2),new r("é",-1,2)],f=[new r("e",-1,3),new r("Ière",0,2),new r("ière",0,2),new r("ion",-1,1),new r("Ier",-1,2),new r("ier",-1,2),new r("ë",-1,4)],m=[new r("ell",-1,-1),new r("eill",-1,-1),new r("enn",-1,-1),new r("onn",-1,-1),new r("ett",-1,-1)],_=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,128,130,103,8,5],b=[1,65,20,0,0,0,0,0,0,0,0,0,0,0,0,0,128],d=new y;function k(e,r,s){return!(!d.eq_s(1,e)||(d.ket=d.cursor,!d.in_grouping(_,97,251)))&&(d.slice_from(r),d.cursor=s,!0)}function p(e,r,s){return!!d.eq_s(1,e)&&(d.ket=d.cursor,d.slice_from(r),d.cursor=s,!0)}function g(){for(;!d.in_grouping(_,97,251);){if(d.cursor>=d.limit)return!0;d.cursor++}for(;!d.out_grouping(_,97,251);){if(d.cursor>=d.limit)return!0;d.cursor++}return!1}function q(){return t<=d.cursor}function v(){return i<=d.cursor}function h(){return s<=d.cursor}function z(){if(!function(){var e,r;if(d.ket=d.cursor,e=d.find_among_b(a,43)){switch(d.bra=d.cursor,e){case 1:if(!h())return!1;d.slice_del();break;case 2:if(!h())return!1;d.slice_del(),d.ket=d.cursor,d.eq_s_b(2,"ic")&&(d.bra=d.cursor,h()?d.slice_del():d.slice_from("iqU"));break;case 3:if(!h())return!1;d.slice_from("log");break;case 4:if(!h())return!1;d.slice_from("u");break;case 5:if(!h())return!1;d.slice_from("ent");break;case 6:if(!q())return!1;if(d.slice_del(),d.ket=d.cursor,e=d.find_among_b(o,6))switch(d.bra=d.cursor,e){case 1:h()&&(d.slice_del(),d.ket=d.cursor,d.eq_s_b(2,"at")&&(d.bra=d.cursor,h()&&d.slice_del()));break;case 2:h()?d.slice_del():v()&&d.slice_from("eux");break;case 3:h()&&d.slice_del();break;case 4:q()&&d.slice_from("i")}break;case 7:if(!h())return!1;if(d.slice_del(),d.ket=d.cursor,e=d.find_among_b(c,3))switch(d.bra=d.cursor,e){case 1:h()?d.slice_del():d.slice_from("abl");break;case 2:h()?d.slice_del():d.slice_from("iqU");break;case 3:h()&&d.slice_del()}break;case 8:if(!h())return!1;if(d.slice_del(),d.ket=d.cursor,d.eq_s_b(2,"at")&&(d.bra=d.cursor,h()&&(d.slice_del(),d.ket=d.cursor,d.eq_s_b(2,"ic")))){d.bra=d.cursor,h()?d.slice_del():d.slice_from("iqU");break}break;case 9:d.slice_from("eau");break;case 10:if(!v())return!1;d.slice_from("al");break;case 11:if(h())d.slice_del();else{if(!v())return!1;d.slice_from("eux")}break;case 12:if(!v()||!d.out_grouping_b(_,97,251))return!1;d.slice_del();break;case 13:return q()&&d.slice_from("ant"),!1;case 14:return q()&&d.slice_from("ent"),!1;case 15:return r=d.limit-d.cursor,d.in_grouping_b(_,97,251)&&q()&&(d.cursor=d.limit-r,d.slice_del()),!1}return!0}return!1}()&&(d.cursor=d.limit,!function(){var e,r;if(d.cursor=t){if(s=d.limit_backward,d.limit_backward=t,d.ket=d.cursor,e=d.find_among_b(f,7))switch(d.bra=d.cursor,e){case 1:if(h()){if(i=d.limit-d.cursor,!d.eq_s_b(1,"s")&&(d.cursor=d.limit-i,!d.eq_s_b(1,"t")))break;d.slice_del()}break;case 2:d.slice_from("i");break;case 3:d.slice_del();break;case 4:d.eq_s_b(2,"gu")&&d.slice_del()}d.limit_backward=s}}();d.cursor=d.limit,d.ket=d.cursor,d.eq_s_b(1,"Y")?(d.bra=d.cursor,d.slice_from("i")):(d.cursor=d.limit,d.eq_s_b(1,"ç")&&(d.bra=d.cursor,d.slice_from("c")))}this.setCurrent=function(e){d.setCurrent(e)},this.getCurrent=function(){return d.getCurrent()},this.stem=function(){var e,r=d.cursor;return function(){for(var e,r;;){if(e=d.cursor,d.in_grouping(_,97,251)){if(d.bra=d.cursor,r=d.cursor,k("u","U",e))continue;if(d.cursor=r,k("i","I",e))continue;if(d.cursor=r,p("y","Y",e))continue}if(d.cursor=e,!k("y","Y",d.bra=e)){if(d.cursor=e,d.eq_s(1,"q")&&(d.bra=d.cursor,p("u","U",e)))continue;if((d.cursor=e)>=d.limit)return;d.cursor++}}}(),d.cursor=r,function(){var e=d.cursor;if(t=d.limit,s=i=t,d.in_grouping(_,97,251)&&d.in_grouping(_,97,251)&&d.cursor=d.limit){d.cursor=t;break}d.cursor++}while(!d.in_grouping(_,97,251))}t=d.cursor,d.cursor=e,g()||(i=d.cursor,g()||(s=d.cursor))}(),d.limit_backward=r,d.cursor=d.limit,z(),d.cursor=d.limit,e=d.limit-d.cursor,d.find_among_b(m,5)&&(d.cursor=d.limit-e,d.ket=d.cursor,d.cursor>d.limit_backward&&(d.cursor--,d.bra=d.cursor,d.slice_del())),d.cursor=d.limit,function(){for(var e,r=1;d.out_grouping_b(_,97,251);)r--;if(r<=0){if(d.ket=d.cursor,e=d.limit-d.cursor,!d.eq_s_b(1,"é")&&(d.cursor=d.limit-e,!d.eq_s_b(1,"è")))return;d.bra=d.cursor,d.slice_from("e")}}(),d.cursor=d.limit_backward,function(){for(var e,r;r=d.cursor,d.bra=r,e=d.find_among(u,4);)switch(d.ket=d.cursor,e){case 1:d.slice_from("i");break;case 2:d.slice_from("u");break;case 3:d.slice_from("y");break;case 4:if(d.cursor>=d.limit)return;d.cursor++}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return s.setCurrent(e),s.stem(),s.getCurrent()}):(s.setCurrent(e),s.stem(),s.getCurrent())}),e.Pipeline.registerFunction(e.fr.stemmer,"stemmer-fr"),e.fr.stopWordFilter=e.generateStopWordFilter("ai aie aient aies ait as au aura aurai auraient aurais aurait auras aurez auriez aurions aurons auront aux avaient avais avait avec avez aviez avions avons ayant ayez ayons c ce ceci celà ces cet cette d dans de des du elle en es est et eu eue eues eurent eus eusse eussent eusses eussiez eussions eut eux eûmes eût eûtes furent fus fusse fussent fusses fussiez fussions fut fûmes fût fûtes ici il ils j je l la le les leur leurs lui m ma mais me mes moi mon même n ne nos notre nous on ont ou par pas pour qu que quel quelle quelles quels qui s sa sans se sera serai seraient serais serait seras serez seriez serions serons seront ses soi soient sois soit sommes son sont soyez soyons suis sur t ta te tes toi ton tu un une vos votre vous y à étaient étais était étant étiez étions été étée étées étés êtes".split(" ")),e.Pipeline.registerFunction(e.fr.stopWordFilter,"stopWordFilter-fr")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/lunr.hu.js b/assets/javascripts/lunr/lunr.hu.js new file mode 100644 index 00000000..bfc68db8 --- /dev/null +++ b/assets/javascripts/lunr/lunr.hu.js @@ -0,0 +1,17 @@ +/*! + * Lunr languages, `Hungarian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ +!function(e,n){"function"==typeof define&&define.amd?define(n):"object"==typeof exports?module.exports=n():n()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var p,_,n;e.hu=function(){this.pipeline.reset(),this.pipeline.add(e.hu.trimmer,e.hu.stopWordFilter,e.hu.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.hu.stemmer))},e.hu.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.hu.trimmer=e.trimmerSupport.generateTrimmer(e.hu.wordCharacters),e.Pipeline.registerFunction(e.hu.trimmer,"trimmer-hu"),e.hu.stemmer=(p=e.stemmerSupport.Among,_=e.stemmerSupport.SnowballProgram,n=new function(){var r,i=[new p("cs",-1,-1),new p("dzs",-1,-1),new p("gy",-1,-1),new p("ly",-1,-1),new p("ny",-1,-1),new p("sz",-1,-1),new p("ty",-1,-1),new p("zs",-1,-1)],n=[new p("á",-1,1),new p("é",-1,2)],a=[new p("bb",-1,-1),new p("cc",-1,-1),new p("dd",-1,-1),new p("ff",-1,-1),new p("gg",-1,-1),new p("jj",-1,-1),new p("kk",-1,-1),new p("ll",-1,-1),new p("mm",-1,-1),new p("nn",-1,-1),new p("pp",-1,-1),new p("rr",-1,-1),new p("ccs",-1,-1),new p("ss",-1,-1),new p("zzs",-1,-1),new p("tt",-1,-1),new p("vv",-1,-1),new p("ggy",-1,-1),new p("lly",-1,-1),new p("nny",-1,-1),new p("tty",-1,-1),new p("ssz",-1,-1),new p("zz",-1,-1)],t=[new p("al",-1,1),new p("el",-1,2)],e=[new p("ba",-1,-1),new p("ra",-1,-1),new p("be",-1,-1),new p("re",-1,-1),new p("ig",-1,-1),new p("nak",-1,-1),new p("nek",-1,-1),new p("val",-1,-1),new p("vel",-1,-1),new p("ul",-1,-1),new p("nál",-1,-1),new p("nél",-1,-1),new p("ból",-1,-1),new p("ról",-1,-1),new p("tól",-1,-1),new p("bõl",-1,-1),new p("rõl",-1,-1),new p("tõl",-1,-1),new p("ül",-1,-1),new p("n",-1,-1),new p("an",19,-1),new p("ban",20,-1),new p("en",19,-1),new p("ben",22,-1),new p("képpen",22,-1),new p("on",19,-1),new p("ön",19,-1),new p("képp",-1,-1),new p("kor",-1,-1),new p("t",-1,-1),new p("at",29,-1),new p("et",29,-1),new p("ként",29,-1),new p("anként",32,-1),new p("enként",32,-1),new p("onként",32,-1),new p("ot",29,-1),new p("ért",29,-1),new p("öt",29,-1),new p("hez",-1,-1),new p("hoz",-1,-1),new p("höz",-1,-1),new p("vá",-1,-1),new p("vé",-1,-1)],s=[new p("án",-1,2),new p("én",-1,1),new p("ánként",-1,3)],c=[new p("stul",-1,2),new p("astul",0,1),new p("ástul",0,3),new p("stül",-1,2),new p("estül",3,1),new p("éstül",3,4)],w=[new p("á",-1,1),new p("é",-1,2)],o=[new p("k",-1,7),new p("ak",0,4),new p("ek",0,6),new p("ok",0,5),new p("ák",0,1),new p("ék",0,2),new p("ök",0,3)],l=[new p("éi",-1,7),new p("áéi",0,6),new p("ééi",0,5),new p("é",-1,9),new p("ké",3,4),new p("aké",4,1),new p("eké",4,1),new p("oké",4,1),new p("áké",4,3),new p("éké",4,2),new p("öké",4,1),new p("éé",3,8)],u=[new p("a",-1,18),new p("ja",0,17),new p("d",-1,16),new p("ad",2,13),new p("ed",2,13),new p("od",2,13),new p("ád",2,14),new p("éd",2,15),new p("öd",2,13),new p("e",-1,18),new p("je",9,17),new p("nk",-1,4),new p("unk",11,1),new p("ánk",11,2),new p("énk",11,3),new p("ünk",11,1),new p("uk",-1,8),new p("juk",16,7),new p("ájuk",17,5),new p("ük",-1,8),new p("jük",19,7),new p("éjük",20,6),new p("m",-1,12),new p("am",22,9),new p("em",22,9),new p("om",22,9),new p("ám",22,10),new p("ém",22,11),new p("o",-1,18),new p("á",-1,19),new p("é",-1,20)],m=[new p("id",-1,10),new p("aid",0,9),new p("jaid",1,6),new p("eid",0,9),new p("jeid",3,6),new p("áid",0,7),new p("éid",0,8),new p("i",-1,15),new p("ai",7,14),new p("jai",8,11),new p("ei",7,14),new p("jei",10,11),new p("ái",7,12),new p("éi",7,13),new p("itek",-1,24),new p("eitek",14,21),new p("jeitek",15,20),new p("éitek",14,23),new p("ik",-1,29),new p("aik",18,26),new p("jaik",19,25),new p("eik",18,26),new p("jeik",21,25),new p("áik",18,27),new p("éik",18,28),new p("ink",-1,20),new p("aink",25,17),new p("jaink",26,16),new p("eink",25,17),new p("jeink",28,16),new p("áink",25,18),new p("éink",25,19),new p("aitok",-1,21),new p("jaitok",32,20),new p("áitok",-1,22),new p("im",-1,5),new p("aim",35,4),new p("jaim",36,1),new p("eim",35,4),new p("jeim",38,1),new p("áim",35,2),new p("éim",35,3)],k=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,52,14],f=new _;function b(){return r<=f.cursor}function d(){var e=f.limit-f.cursor;return!!f.find_among_b(a,23)&&(f.cursor=f.limit-e,!0)}function g(){if(f.cursor>f.limit_backward){f.cursor--,f.ket=f.cursor;var e=f.cursor-1;f.limit_backward<=e&&e<=f.limit&&(f.cursor=e,f.bra=e,f.slice_del())}}function h(){f.ket=f.cursor,f.find_among_b(e,44)&&(f.bra=f.cursor,b()&&(f.slice_del(),function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(n,2))&&(f.bra=f.cursor,b()))switch(e){case 1:f.slice_from("a");break;case 2:f.slice_from("e")}}()))}this.setCurrent=function(e){f.setCurrent(e)},this.getCurrent=function(){return f.getCurrent()},this.stem=function(){var e=f.cursor;return function(){var e,n=f.cursor;if(r=f.limit,f.in_grouping(k,97,252))for(;;){if(e=f.cursor,f.out_grouping(k,97,252))return f.cursor=e,f.find_among(i,8)||(f.cursor=e)=f.limit)return r=e;f.cursor++}if(f.cursor=n,f.out_grouping(k,97,252)){for(;!f.in_grouping(k,97,252);){if(f.cursor>=f.limit)return;f.cursor++}r=f.cursor}}(),f.limit_backward=e,f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(t,2))&&(f.bra=f.cursor,b())){if((1==e||2==e)&&!d())return;f.slice_del(),g()}}(),f.cursor=f.limit,h(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(s,3))&&(f.bra=f.cursor,b()))switch(e){case 1:f.slice_from("e");break;case 2:case 3:f.slice_from("a")}}(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(c,6))&&(f.bra=f.cursor,b()))switch(e){case 1:case 2:f.slice_del();break;case 3:f.slice_from("a");break;case 4:f.slice_from("e")}}(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(w,2))&&(f.bra=f.cursor,b())){if((1==e||2==e)&&!d())return;f.slice_del(),g()}}(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(l,12))&&(f.bra=f.cursor,b()))switch(e){case 1:case 4:case 7:case 9:f.slice_del();break;case 2:case 5:case 8:f.slice_from("e");break;case 3:case 6:f.slice_from("a")}}(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(u,31))&&(f.bra=f.cursor,b()))switch(e){case 1:case 4:case 7:case 8:case 9:case 12:case 13:case 16:case 17:case 18:f.slice_del();break;case 2:case 5:case 10:case 14:case 19:f.slice_from("a");break;case 3:case 6:case 11:case 15:case 20:f.slice_from("e")}}(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(m,42))&&(f.bra=f.cursor,b()))switch(e){case 1:case 4:case 5:case 6:case 9:case 10:case 11:case 14:case 15:case 16:case 17:case 20:case 21:case 24:case 25:case 26:case 29:f.slice_del();break;case 2:case 7:case 12:case 18:case 22:case 27:f.slice_from("a");break;case 3:case 8:case 13:case 19:case 23:case 28:f.slice_from("e")}}(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(o,7))&&(f.bra=f.cursor,b()))switch(e){case 1:f.slice_from("a");break;case 2:f.slice_from("e");break;case 3:case 4:case 5:case 6:case 7:f.slice_del()}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}),e.Pipeline.registerFunction(e.hu.stemmer,"stemmer-hu"),e.hu.stopWordFilter=e.generateStopWordFilter("a abban ahhoz ahogy ahol aki akik akkor alatt amely amelyek amelyekben amelyeket amelyet amelynek ami amikor amit amolyan amíg annak arra arról az azok azon azonban azt aztán azután azzal azért be belül benne bár cikk cikkek cikkeket csak de e ebben eddig egy egyes egyetlen egyik egyre egyéb egész ehhez ekkor el ellen elsõ elég elõ elõször elõtt emilyen ennek erre ez ezek ezen ezt ezzel ezért fel felé hanem hiszen hogy hogyan igen ill ill. illetve ilyen ilyenkor ismét ison itt jobban jó jól kell kellett keressünk keresztül ki kívül között közül legalább legyen lehet lehetett lenne lenni lesz lett maga magát majd majd meg mellett mely melyek mert mi mikor milyen minden mindenki mindent mindig mint mintha mit mivel miért most már más másik még míg nagy nagyobb nagyon ne nekem neki nem nincs néha néhány nélkül olyan ott pedig persze rá s saját sem semmi sok sokat sokkal szemben szerint szinte számára talán tehát teljes tovább továbbá több ugyanis utolsó után utána vagy vagyis vagyok valaki valami valamint való van vannak vele vissza viszont volna volt voltak voltam voltunk által általában át én éppen és így õ õk õket össze úgy új újabb újra".split(" ")),e.Pipeline.registerFunction(e.hu.stopWordFilter,"stopWordFilter-hu")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/lunr.it.js b/assets/javascripts/lunr/lunr.it.js new file mode 100644 index 00000000..58a46fb6 --- /dev/null +++ b/assets/javascripts/lunr/lunr.it.js @@ -0,0 +1,17 @@ +/*! + * Lunr languages, `Italian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var z,P,r;e.it=function(){this.pipeline.reset(),this.pipeline.add(e.it.trimmer,e.it.stopWordFilter,e.it.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.it.stemmer))},e.it.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.it.trimmer=e.trimmerSupport.generateTrimmer(e.it.wordCharacters),e.Pipeline.registerFunction(e.it.trimmer,"trimmer-it"),e.it.stemmer=(z=e.stemmerSupport.Among,P=e.stemmerSupport.SnowballProgram,r=new function(){var o,t,s,a=[new z("",-1,7),new z("qu",0,6),new z("á",0,1),new z("é",0,2),new z("í",0,3),new z("ó",0,4),new z("ú",0,5)],u=[new z("",-1,3),new z("I",0,1),new z("U",0,2)],c=[new z("la",-1,-1),new z("cela",0,-1),new z("gliela",0,-1),new z("mela",0,-1),new z("tela",0,-1),new z("vela",0,-1),new z("le",-1,-1),new z("cele",6,-1),new z("gliele",6,-1),new z("mele",6,-1),new z("tele",6,-1),new z("vele",6,-1),new z("ne",-1,-1),new z("cene",12,-1),new z("gliene",12,-1),new z("mene",12,-1),new z("sene",12,-1),new z("tene",12,-1),new z("vene",12,-1),new z("ci",-1,-1),new z("li",-1,-1),new z("celi",20,-1),new z("glieli",20,-1),new z("meli",20,-1),new z("teli",20,-1),new z("veli",20,-1),new z("gli",20,-1),new z("mi",-1,-1),new z("si",-1,-1),new z("ti",-1,-1),new z("vi",-1,-1),new z("lo",-1,-1),new z("celo",31,-1),new z("glielo",31,-1),new z("melo",31,-1),new z("telo",31,-1),new z("velo",31,-1)],w=[new z("ando",-1,1),new z("endo",-1,1),new z("ar",-1,2),new z("er",-1,2),new z("ir",-1,2)],r=[new z("ic",-1,-1),new z("abil",-1,-1),new z("os",-1,-1),new z("iv",-1,1)],n=[new z("ic",-1,1),new z("abil",-1,1),new z("iv",-1,1)],i=[new z("ica",-1,1),new z("logia",-1,3),new z("osa",-1,1),new z("ista",-1,1),new z("iva",-1,9),new z("anza",-1,1),new z("enza",-1,5),new z("ice",-1,1),new z("atrice",7,1),new z("iche",-1,1),new z("logie",-1,3),new z("abile",-1,1),new z("ibile",-1,1),new z("usione",-1,4),new z("azione",-1,2),new z("uzione",-1,4),new z("atore",-1,2),new z("ose",-1,1),new z("ante",-1,1),new z("mente",-1,1),new z("amente",19,7),new z("iste",-1,1),new z("ive",-1,9),new z("anze",-1,1),new z("enze",-1,5),new z("ici",-1,1),new z("atrici",25,1),new z("ichi",-1,1),new z("abili",-1,1),new z("ibili",-1,1),new z("ismi",-1,1),new z("usioni",-1,4),new z("azioni",-1,2),new z("uzioni",-1,4),new z("atori",-1,2),new z("osi",-1,1),new z("anti",-1,1),new z("amenti",-1,6),new z("imenti",-1,6),new z("isti",-1,1),new z("ivi",-1,9),new z("ico",-1,1),new z("ismo",-1,1),new z("oso",-1,1),new z("amento",-1,6),new z("imento",-1,6),new z("ivo",-1,9),new z("ità",-1,8),new z("istà",-1,1),new z("istè",-1,1),new z("istì",-1,1)],l=[new z("isca",-1,1),new z("enda",-1,1),new z("ata",-1,1),new z("ita",-1,1),new z("uta",-1,1),new z("ava",-1,1),new z("eva",-1,1),new z("iva",-1,1),new z("erebbe",-1,1),new z("irebbe",-1,1),new z("isce",-1,1),new z("ende",-1,1),new z("are",-1,1),new z("ere",-1,1),new z("ire",-1,1),new z("asse",-1,1),new z("ate",-1,1),new z("avate",16,1),new z("evate",16,1),new z("ivate",16,1),new z("ete",-1,1),new z("erete",20,1),new z("irete",20,1),new z("ite",-1,1),new z("ereste",-1,1),new z("ireste",-1,1),new z("ute",-1,1),new z("erai",-1,1),new z("irai",-1,1),new z("isci",-1,1),new z("endi",-1,1),new z("erei",-1,1),new z("irei",-1,1),new z("assi",-1,1),new z("ati",-1,1),new z("iti",-1,1),new z("eresti",-1,1),new z("iresti",-1,1),new z("uti",-1,1),new z("avi",-1,1),new z("evi",-1,1),new z("ivi",-1,1),new z("isco",-1,1),new z("ando",-1,1),new z("endo",-1,1),new z("Yamo",-1,1),new z("iamo",-1,1),new z("avamo",-1,1),new z("evamo",-1,1),new z("ivamo",-1,1),new z("eremo",-1,1),new z("iremo",-1,1),new z("assimo",-1,1),new z("ammo",-1,1),new z("emmo",-1,1),new z("eremmo",54,1),new z("iremmo",54,1),new z("immo",-1,1),new z("ano",-1,1),new z("iscano",58,1),new z("avano",58,1),new z("evano",58,1),new z("ivano",58,1),new z("eranno",-1,1),new z("iranno",-1,1),new z("ono",-1,1),new z("iscono",65,1),new z("arono",65,1),new z("erono",65,1),new z("irono",65,1),new z("erebbero",-1,1),new z("irebbero",-1,1),new z("assero",-1,1),new z("essero",-1,1),new z("issero",-1,1),new z("ato",-1,1),new z("ito",-1,1),new z("uto",-1,1),new z("avo",-1,1),new z("evo",-1,1),new z("ivo",-1,1),new z("ar",-1,1),new z("ir",-1,1),new z("erà",-1,1),new z("irà",-1,1),new z("erò",-1,1),new z("irò",-1,1)],m=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2,1],f=[17,65,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2],v=[17],b=new P;function d(e,r,n){return!(!b.eq_s(1,e)||(b.ket=b.cursor,!b.in_grouping(m,97,249)))&&(b.slice_from(r),b.cursor=n,!0)}function _(e){if(b.cursor=e,!b.in_grouping(m,97,249))return!1;for(;!b.out_grouping(m,97,249);){if(b.cursor>=b.limit)return!1;b.cursor++}return!0}function g(){var e,r=b.cursor;if(!function(){if(b.in_grouping(m,97,249)){var e=b.cursor;if(b.out_grouping(m,97,249)){for(;!b.in_grouping(m,97,249);){if(b.cursor>=b.limit)return _(e);b.cursor++}return!0}return _(e)}return!1}()){if(b.cursor=r,!b.out_grouping(m,97,249))return;if(e=b.cursor,b.out_grouping(m,97,249)){for(;!b.in_grouping(m,97,249);){if(b.cursor>=b.limit)return b.cursor=e,void(b.in_grouping(m,97,249)&&b.cursor=b.limit)return;b.cursor++}s=b.cursor}function p(){for(;!b.in_grouping(m,97,249);){if(b.cursor>=b.limit)return!1;b.cursor++}for(;!b.out_grouping(m,97,249);){if(b.cursor>=b.limit)return!1;b.cursor++}return!0}function k(){return s<=b.cursor}function h(){return o<=b.cursor}function q(){var e;if(b.ket=b.cursor,!(e=b.find_among_b(i,51)))return!1;switch(b.bra=b.cursor,e){case 1:if(!h())return!1;b.slice_del();break;case 2:if(!h())return!1;b.slice_del(),b.ket=b.cursor,b.eq_s_b(2,"ic")&&(b.bra=b.cursor,h()&&b.slice_del());break;case 3:if(!h())return!1;b.slice_from("log");break;case 4:if(!h())return!1;b.slice_from("u");break;case 5:if(!h())return!1;b.slice_from("ente");break;case 6:if(!k())return!1;b.slice_del();break;case 7:if(!(t<=b.cursor))return!1;b.slice_del(),b.ket=b.cursor,(e=b.find_among_b(r,4))&&(b.bra=b.cursor,h()&&(b.slice_del(),1==e&&(b.ket=b.cursor,b.eq_s_b(2,"at")&&(b.bra=b.cursor,h()&&b.slice_del()))));break;case 8:if(!h())return!1;b.slice_del(),b.ket=b.cursor,(e=b.find_among_b(n,3))&&(b.bra=b.cursor,1==e&&h()&&b.slice_del());break;case 9:if(!h())return!1;b.slice_del(),b.ket=b.cursor,b.eq_s_b(2,"at")&&(b.bra=b.cursor,h()&&(b.slice_del(),b.ket=b.cursor,b.eq_s_b(2,"ic")&&(b.bra=b.cursor,h()&&b.slice_del())))}return!0}function C(){var e;e=b.limit-b.cursor,b.ket=b.cursor,b.in_grouping_b(f,97,242)&&(b.bra=b.cursor,k()&&(b.slice_del(),b.ket=b.cursor,b.eq_s_b(1,"i")&&(b.bra=b.cursor,k())))?b.slice_del():b.cursor=b.limit-e,b.ket=b.cursor,b.eq_s_b(1,"h")&&(b.bra=b.cursor,b.in_grouping_b(v,99,103)&&k()&&b.slice_del())}this.setCurrent=function(e){b.setCurrent(e)},this.getCurrent=function(){return b.getCurrent()},this.stem=function(){var e,r,n,i=b.cursor;return function(){for(var e,r,n,i,o=b.cursor;;){if(b.bra=b.cursor,e=b.find_among(a,7))switch(b.ket=b.cursor,e){case 1:b.slice_from("à");continue;case 2:b.slice_from("è");continue;case 3:b.slice_from("ì");continue;case 4:b.slice_from("ò");continue;case 5:b.slice_from("ù");continue;case 6:b.slice_from("qU");continue;case 7:if(b.cursor>=b.limit)break;b.cursor++;continue}break}for(b.cursor=o;;)for(r=b.cursor;;){if(n=b.cursor,b.in_grouping(m,97,249)){if(b.bra=b.cursor,i=b.cursor,d("u","U",n))break;if(b.cursor=i,d("i","I",n))break}if(b.cursor=n,b.cursor>=b.limit)return b.cursor=r;b.cursor++}}(),b.cursor=i,e=b.cursor,s=b.limit,o=t=s,g(),b.cursor=e,p()&&(t=b.cursor,p()&&(o=b.cursor)),b.limit_backward=i,b.cursor=b.limit,function(){var e;if(b.ket=b.cursor,b.find_among_b(c,37)&&(b.bra=b.cursor,(e=b.find_among_b(w,5))&&k()))switch(e){case 1:b.slice_del();break;case 2:b.slice_from("e")}}(),b.cursor=b.limit,q()||(b.cursor=b.limit,b.cursor>=s&&(n=b.limit_backward,b.limit_backward=s,b.ket=b.cursor,(r=b.find_among_b(l,87))&&(b.bra=b.cursor,1==r&&b.slice_del()),b.limit_backward=n)),b.cursor=b.limit,C(),b.cursor=b.limit_backward,function(){for(var e;b.bra=b.cursor,e=b.find_among(u,3);)switch(b.ket=b.cursor,e){case 1:b.slice_from("i");break;case 2:b.slice_from("u");break;case 3:if(b.cursor>=b.limit)return;b.cursor++}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return r.setCurrent(e),r.stem(),r.getCurrent()}):(r.setCurrent(e),r.stem(),r.getCurrent())}),e.Pipeline.registerFunction(e.it.stemmer,"stemmer-it"),e.it.stopWordFilter=e.generateStopWordFilter("a abbia abbiamo abbiano abbiate ad agl agli ai al all alla alle allo anche avemmo avendo avesse avessero avessi avessimo aveste avesti avete aveva avevamo avevano avevate avevi avevo avrai avranno avrebbe avrebbero avrei avremmo avremo avreste avresti avrete avrà avrò avuta avute avuti avuto c che chi ci coi col come con contro cui da dagl dagli dai dal dall dalla dalle dallo degl degli dei del dell della delle dello di dov dove e ebbe ebbero ebbi ed era erano eravamo eravate eri ero essendo faccia facciamo facciano facciate faccio facemmo facendo facesse facessero facessi facessimo faceste facesti faceva facevamo facevano facevate facevi facevo fai fanno farai faranno farebbe farebbero farei faremmo faremo fareste faresti farete farà farò fece fecero feci fosse fossero fossi fossimo foste fosti fu fui fummo furono gli ha hai hanno ho i il in io l la le lei li lo loro lui ma mi mia mie miei mio ne negl negli nei nel nell nella nelle nello noi non nostra nostre nostri nostro o per perché più quale quanta quante quanti quanto quella quelle quelli quello questa queste questi questo sarai saranno sarebbe sarebbero sarei saremmo saremo sareste saresti sarete sarà sarò se sei si sia siamo siano siate siete sono sta stai stando stanno starai staranno starebbe starebbero starei staremmo staremo stareste staresti starete starà starò stava stavamo stavano stavate stavi stavo stemmo stesse stessero stessi stessimo steste stesti stette stettero stetti stia stiamo stiano stiate sto su sua sue sugl sugli sui sul sull sulla sulle sullo suo suoi ti tra tu tua tue tuo tuoi tutti tutto un una uno vi voi vostra vostre vostri vostro è".split(" ")),e.Pipeline.registerFunction(e.it.stopWordFilter,"stopWordFilter-it")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/lunr.ja.js b/assets/javascripts/lunr/lunr.ja.js new file mode 100644 index 00000000..715b834a --- /dev/null +++ b/assets/javascripts/lunr/lunr.ja.js @@ -0,0 +1,17 @@ +/*! + * Lunr languages, `Japanese` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Chad Liu + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(m){if(void 0===m)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===m.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var l="2"==m.version[0];m.ja=function(){this.pipeline.reset(),this.pipeline.add(m.ja.trimmer,m.ja.stopWordFilter,m.ja.stemmer),l?this.tokenizer=m.ja.tokenizer:(m.tokenizer&&(m.tokenizer=m.ja.tokenizer),this.tokenizerFn&&(this.tokenizerFn=m.ja.tokenizer))};var j=new m.TinySegmenter;m.ja.tokenizer=function(e){var r,t,i,n,o,s,p,a,u;if(!arguments.length||null==e||null==e)return[];if(Array.isArray(e))return e.map(function(e){return l?new m.Token(e.toLowerCase()):e.toLowerCase()});for(r=(t=e.toString().toLowerCase().replace(/^\s+/,"")).length-1;0<=r;r--)if(/\S/.test(t.charAt(r))){t=t.substring(0,r+1);break}for(o=[],i=t.length,p=a=0;a<=i;a++)if(s=a-p,t.charAt(a).match(/\s/)||a==i){if(0=_.limit||(_.cursor++,!1)}function w(){for(;!_.in_grouping(m,97,232);){if(_.cursor>=_.limit)return!0;_.cursor++}for(;!_.out_grouping(m,97,232);){if(_.cursor>=_.limit)return!0;_.cursor++}return!1}function b(){return i<=_.cursor}function p(){return e<=_.cursor}function g(){var r=_.limit-_.cursor;_.find_among_b(t,3)&&(_.cursor=_.limit-r,_.ket=_.cursor,_.cursor>_.limit_backward&&(_.cursor--,_.bra=_.cursor,_.slice_del()))}function h(){var r;u=!1,_.ket=_.cursor,_.eq_s_b(1,"e")&&(_.bra=_.cursor,b()&&(r=_.limit-_.cursor,_.out_grouping_b(m,97,232)&&(_.cursor=_.limit-r,_.slice_del(),u=!0,g())))}function k(){var r;b()&&(r=_.limit-_.cursor,_.out_grouping_b(m,97,232)&&(_.cursor=_.limit-r,_.eq_s_b(3,"gem")||(_.cursor=_.limit-r,_.slice_del(),g())))}this.setCurrent=function(r){_.setCurrent(r)},this.getCurrent=function(){return _.getCurrent()},this.stem=function(){var r=_.cursor;return function(){for(var r,e,i,n=_.cursor;;){if(_.bra=_.cursor,r=_.find_among(o,11))switch(_.ket=_.cursor,r){case 1:_.slice_from("a");continue;case 2:_.slice_from("e");continue;case 3:_.slice_from("i");continue;case 4:_.slice_from("o");continue;case 5:_.slice_from("u");continue;case 6:if(_.cursor>=_.limit)break;_.cursor++;continue}break}for(_.cursor=n,_.bra=n,_.eq_s(1,"y")?(_.ket=_.cursor,_.slice_from("Y")):_.cursor=n;;)if(e=_.cursor,_.in_grouping(m,97,232)){if(i=_.cursor,_.bra=i,_.eq_s(1,"i"))_.ket=_.cursor,_.in_grouping(m,97,232)&&(_.slice_from("I"),_.cursor=e);else if(_.cursor=i,_.eq_s(1,"y"))_.ket=_.cursor,_.slice_from("Y"),_.cursor=e;else if(s(e))break}else if(s(e))break}(),_.cursor=r,i=_.limit,e=i,w()||((i=_.cursor)<3&&(i=3),w()||(e=_.cursor)),_.limit_backward=r,_.cursor=_.limit,function(){var r,e,i,n,o,t,s=_.limit-_.cursor;if(_.ket=_.cursor,r=_.find_among_b(c,5))switch(_.bra=_.cursor,r){case 1:b()&&_.slice_from("heid");break;case 2:k();break;case 3:b()&&_.out_grouping_b(f,97,232)&&_.slice_del()}if(_.cursor=_.limit-s,h(),_.cursor=_.limit-s,_.ket=_.cursor,_.eq_s_b(4,"heid")&&(_.bra=_.cursor,p()&&(e=_.limit-_.cursor,_.eq_s_b(1,"c")||(_.cursor=_.limit-e,_.slice_del(),_.ket=_.cursor,_.eq_s_b(2,"en")&&(_.bra=_.cursor,k())))),_.cursor=_.limit-s,_.ket=_.cursor,r=_.find_among_b(a,6))switch(_.bra=_.cursor,r){case 1:if(p()){if(_.slice_del(),i=_.limit-_.cursor,_.ket=_.cursor,_.eq_s_b(2,"ig")&&(_.bra=_.cursor,p()&&(n=_.limit-_.cursor,!_.eq_s_b(1,"e")))){_.cursor=_.limit-n,_.slice_del();break}_.cursor=_.limit-i,g()}break;case 2:p()&&(o=_.limit-_.cursor,_.eq_s_b(1,"e")||(_.cursor=_.limit-o,_.slice_del()));break;case 3:p()&&(_.slice_del(),h());break;case 4:p()&&_.slice_del();break;case 5:p()&&u&&_.slice_del()}_.cursor=_.limit-s,_.out_grouping_b(d,73,232)&&(t=_.limit-_.cursor,_.find_among_b(l,4)&&_.out_grouping_b(m,97,232)&&(_.cursor=_.limit-t,_.ket=_.cursor,_.cursor>_.limit_backward&&(_.cursor--,_.bra=_.cursor,_.slice_del())))}(),_.cursor=_.limit_backward,function(){for(var r;;)if(_.bra=_.cursor,r=_.find_among(n,3))switch(_.ket=_.cursor,r){case 1:_.slice_from("y");break;case 2:_.slice_from("i");break;case 3:if(_.cursor>=_.limit)return;_.cursor++}}(),!0}},function(r){return"function"==typeof r.update?r.update(function(r){return e.setCurrent(r),e.stem(),e.getCurrent()}):(e.setCurrent(r),e.stem(),e.getCurrent())}),r.Pipeline.registerFunction(r.nl.stemmer,"stemmer-nl"),r.nl.stopWordFilter=r.generateStopWordFilter(" aan al alles als altijd andere ben bij daar dan dat de der deze die dit doch doen door dus een eens en er ge geen geweest haar had heb hebben heeft hem het hier hij hoe hun iemand iets ik in is ja je kan kon kunnen maar me meer men met mij mijn moet na naar niet niets nog nu of om omdat onder ons ook op over reeds te tegen toch toen tot u uit uw van veel voor want waren was wat werd wezen wie wil worden wordt zal ze zelf zich zij zijn zo zonder zou".split(" ")),r.Pipeline.registerFunction(r.nl.stopWordFilter,"stopWordFilter-nl")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/lunr.no.js b/assets/javascripts/lunr/lunr.no.js new file mode 100644 index 00000000..031e4b20 --- /dev/null +++ b/assets/javascripts/lunr/lunr.no.js @@ -0,0 +1,17 @@ +/*! + * Lunr languages, `Norwegian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r,n,i;e.no=function(){this.pipeline.reset(),this.pipeline.add(e.no.trimmer,e.no.stopWordFilter,e.no.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.no.stemmer))},e.no.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.no.trimmer=e.trimmerSupport.generateTrimmer(e.no.wordCharacters),e.Pipeline.registerFunction(e.no.trimmer,"trimmer-no"),e.no.stemmer=(r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,i=new function(){var o,s,a=[new r("a",-1,1),new r("e",-1,1),new r("ede",1,1),new r("ande",1,1),new r("ende",1,1),new r("ane",1,1),new r("ene",1,1),new r("hetene",6,1),new r("erte",1,3),new r("en",-1,1),new r("heten",9,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",12,1),new r("s",-1,2),new r("as",14,1),new r("es",14,1),new r("edes",16,1),new r("endes",16,1),new r("enes",16,1),new r("hetenes",19,1),new r("ens",14,1),new r("hetens",21,1),new r("ers",14,1),new r("ets",14,1),new r("et",-1,1),new r("het",25,1),new r("ert",-1,3),new r("ast",-1,1)],m=[new r("dt",-1,-1),new r("vt",-1,-1)],l=[new r("leg",-1,1),new r("eleg",0,1),new r("ig",-1,1),new r("eig",2,1),new r("lig",2,1),new r("elig",4,1),new r("els",-1,1),new r("lov",-1,1),new r("elov",7,1),new r("slov",7,1),new r("hetslov",9,1)],u=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],d=[119,125,149,1],c=new n;this.setCurrent=function(e){c.setCurrent(e)},this.getCurrent=function(){return c.getCurrent()},this.stem=function(){var e,r,n,i,t=c.cursor;return function(){var e,r=c.cursor+3;if(s=c.limit,0<=r||r<=c.limit){for(o=r;;){if(e=c.cursor,c.in_grouping(u,97,248)){c.cursor=e;break}if(e>=c.limit)return;c.cursor=e+1}for(;!c.out_grouping(u,97,248);){if(c.cursor>=c.limit)return;c.cursor++}(s=c.cursor)=s&&(r=c.limit_backward,c.limit_backward=s,c.ket=c.cursor,e=c.find_among_b(a,29),c.limit_backward=r,e))switch(c.bra=c.cursor,e){case 1:c.slice_del();break;case 2:n=c.limit-c.cursor,c.in_grouping_b(d,98,122)?c.slice_del():(c.cursor=c.limit-n,c.eq_s_b(1,"k")&&c.out_grouping_b(u,97,248)&&c.slice_del());break;case 3:c.slice_from("er")}}(),c.cursor=c.limit,r=c.limit-c.cursor,c.cursor>=s&&(e=c.limit_backward,c.limit_backward=s,c.ket=c.cursor,c.find_among_b(m,2)?(c.bra=c.cursor,c.limit_backward=e,c.cursor=c.limit-r,c.cursor>c.limit_backward&&(c.cursor--,c.bra=c.cursor,c.slice_del())):c.limit_backward=e),c.cursor=c.limit,c.cursor>=s&&(i=c.limit_backward,c.limit_backward=s,c.ket=c.cursor,(n=c.find_among_b(l,11))?(c.bra=c.cursor,c.limit_backward=i,1==n&&c.slice_del()):c.limit_backward=i),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}),e.Pipeline.registerFunction(e.no.stemmer,"stemmer-no"),e.no.stopWordFilter=e.generateStopWordFilter("alle at av bare begge ble blei bli blir blitt både båe da de deg dei deim deira deires dem den denne der dere deres det dette di din disse ditt du dykk dykkar då eg ein eit eitt eller elles en enn er et ett etter for fordi fra før ha hadde han hans har hennar henne hennes her hjå ho hoe honom hoss hossen hun hva hvem hver hvilke hvilken hvis hvor hvordan hvorfor i ikke ikkje ikkje ingen ingi inkje inn inni ja jeg kan kom korleis korso kun kunne kva kvar kvarhelst kven kvi kvifor man mange me med medan meg meget mellom men mi min mine mitt mot mykje ned no noe noen noka noko nokon nokor nokre nå når og også om opp oss over på samme seg selv si si sia sidan siden sin sine sitt sjøl skal skulle slik so som som somme somt så sånn til um upp ut uten var vart varte ved vere verte vi vil ville vore vors vort vår være være vært å".split(" ")),e.Pipeline.registerFunction(e.no.stopWordFilter,"stopWordFilter-no")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/lunr.pt.js b/assets/javascripts/lunr/lunr.pt.js new file mode 100644 index 00000000..59e766fe --- /dev/null +++ b/assets/javascripts/lunr/lunr.pt.js @@ -0,0 +1,17 @@ +/*! + * Lunr languages, `Portuguese` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var j,C,r;e.pt=function(){this.pipeline.reset(),this.pipeline.add(e.pt.trimmer,e.pt.stopWordFilter,e.pt.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.pt.stemmer))},e.pt.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.pt.trimmer=e.trimmerSupport.generateTrimmer(e.pt.wordCharacters),e.Pipeline.registerFunction(e.pt.trimmer,"trimmer-pt"),e.pt.stemmer=(j=e.stemmerSupport.Among,C=e.stemmerSupport.SnowballProgram,r=new function(){var s,n,i,o=[new j("",-1,3),new j("ã",0,1),new j("õ",0,2)],a=[new j("",-1,3),new j("a~",0,1),new j("o~",0,2)],r=[new j("ic",-1,-1),new j("ad",-1,-1),new j("os",-1,-1),new j("iv",-1,1)],t=[new j("ante",-1,1),new j("avel",-1,1),new j("ível",-1,1)],u=[new j("ic",-1,1),new j("abil",-1,1),new j("iv",-1,1)],w=[new j("ica",-1,1),new j("ância",-1,1),new j("ência",-1,4),new j("ira",-1,9),new j("adora",-1,1),new j("osa",-1,1),new j("ista",-1,1),new j("iva",-1,8),new j("eza",-1,1),new j("logía",-1,2),new j("idade",-1,7),new j("ante",-1,1),new j("mente",-1,6),new j("amente",12,5),new j("ável",-1,1),new j("ível",-1,1),new j("ución",-1,3),new j("ico",-1,1),new j("ismo",-1,1),new j("oso",-1,1),new j("amento",-1,1),new j("imento",-1,1),new j("ivo",-1,8),new j("aça~o",-1,1),new j("ador",-1,1),new j("icas",-1,1),new j("ências",-1,4),new j("iras",-1,9),new j("adoras",-1,1),new j("osas",-1,1),new j("istas",-1,1),new j("ivas",-1,8),new j("ezas",-1,1),new j("logías",-1,2),new j("idades",-1,7),new j("uciones",-1,3),new j("adores",-1,1),new j("antes",-1,1),new j("aço~es",-1,1),new j("icos",-1,1),new j("ismos",-1,1),new j("osos",-1,1),new j("amentos",-1,1),new j("imentos",-1,1),new j("ivos",-1,8)],m=[new j("ada",-1,1),new j("ida",-1,1),new j("ia",-1,1),new j("aria",2,1),new j("eria",2,1),new j("iria",2,1),new j("ara",-1,1),new j("era",-1,1),new j("ira",-1,1),new j("ava",-1,1),new j("asse",-1,1),new j("esse",-1,1),new j("isse",-1,1),new j("aste",-1,1),new j("este",-1,1),new j("iste",-1,1),new j("ei",-1,1),new j("arei",16,1),new j("erei",16,1),new j("irei",16,1),new j("am",-1,1),new j("iam",20,1),new j("ariam",21,1),new j("eriam",21,1),new j("iriam",21,1),new j("aram",20,1),new j("eram",20,1),new j("iram",20,1),new j("avam",20,1),new j("em",-1,1),new j("arem",29,1),new j("erem",29,1),new j("irem",29,1),new j("assem",29,1),new j("essem",29,1),new j("issem",29,1),new j("ado",-1,1),new j("ido",-1,1),new j("ando",-1,1),new j("endo",-1,1),new j("indo",-1,1),new j("ara~o",-1,1),new j("era~o",-1,1),new j("ira~o",-1,1),new j("ar",-1,1),new j("er",-1,1),new j("ir",-1,1),new j("as",-1,1),new j("adas",47,1),new j("idas",47,1),new j("ias",47,1),new j("arias",50,1),new j("erias",50,1),new j("irias",50,1),new j("aras",47,1),new j("eras",47,1),new j("iras",47,1),new j("avas",47,1),new j("es",-1,1),new j("ardes",58,1),new j("erdes",58,1),new j("irdes",58,1),new j("ares",58,1),new j("eres",58,1),new j("ires",58,1),new j("asses",58,1),new j("esses",58,1),new j("isses",58,1),new j("astes",58,1),new j("estes",58,1),new j("istes",58,1),new j("is",-1,1),new j("ais",71,1),new j("eis",71,1),new j("areis",73,1),new j("ereis",73,1),new j("ireis",73,1),new j("áreis",73,1),new j("éreis",73,1),new j("íreis",73,1),new j("ásseis",73,1),new j("ésseis",73,1),new j("ísseis",73,1),new j("áveis",73,1),new j("íeis",73,1),new j("aríeis",84,1),new j("eríeis",84,1),new j("iríeis",84,1),new j("ados",-1,1),new j("idos",-1,1),new j("amos",-1,1),new j("áramos",90,1),new j("éramos",90,1),new j("íramos",90,1),new j("ávamos",90,1),new j("íamos",90,1),new j("aríamos",95,1),new j("eríamos",95,1),new j("iríamos",95,1),new j("emos",-1,1),new j("aremos",99,1),new j("eremos",99,1),new j("iremos",99,1),new j("ássemos",99,1),new j("êssemos",99,1),new j("íssemos",99,1),new j("imos",-1,1),new j("armos",-1,1),new j("ermos",-1,1),new j("irmos",-1,1),new j("ámos",-1,1),new j("arás",-1,1),new j("erás",-1,1),new j("irás",-1,1),new j("eu",-1,1),new j("iu",-1,1),new j("ou",-1,1),new j("ará",-1,1),new j("erá",-1,1),new j("irá",-1,1)],c=[new j("a",-1,1),new j("i",-1,1),new j("o",-1,1),new j("os",-1,1),new j("á",-1,1),new j("í",-1,1),new j("ó",-1,1)],l=[new j("e",-1,1),new j("ç",-1,2),new j("é",-1,1),new j("ê",-1,1)],f=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,3,19,12,2],d=new C;function v(){if(d.out_grouping(f,97,250)){for(;!d.in_grouping(f,97,250);){if(d.cursor>=d.limit)return!0;d.cursor++}return!1}return!0}function p(){var e,r,s=d.cursor;if(d.in_grouping(f,97,250))if(e=d.cursor,v()){if(d.cursor=e,function(){if(d.in_grouping(f,97,250))for(;!d.out_grouping(f,97,250);){if(d.cursor>=d.limit)return!1;d.cursor++}return i=d.cursor,!0}())return}else i=d.cursor;if(d.cursor=s,d.out_grouping(f,97,250)){if(r=d.cursor,v()){if(d.cursor=r,!d.in_grouping(f,97,250)||d.cursor>=d.limit)return;d.cursor++}i=d.cursor}}function _(){for(;!d.in_grouping(f,97,250);){if(d.cursor>=d.limit)return!1;d.cursor++}for(;!d.out_grouping(f,97,250);){if(d.cursor>=d.limit)return!1;d.cursor++}return!0}function h(){return i<=d.cursor}function b(){return s<=d.cursor}function g(){var e;if(d.ket=d.cursor,!(e=d.find_among_b(w,45)))return!1;switch(d.bra=d.cursor,e){case 1:if(!b())return!1;d.slice_del();break;case 2:if(!b())return!1;d.slice_from("log");break;case 3:if(!b())return!1;d.slice_from("u");break;case 4:if(!b())return!1;d.slice_from("ente");break;case 5:if(!(n<=d.cursor))return!1;d.slice_del(),d.ket=d.cursor,(e=d.find_among_b(r,4))&&(d.bra=d.cursor,b()&&(d.slice_del(),1==e&&(d.ket=d.cursor,d.eq_s_b(2,"at")&&(d.bra=d.cursor,b()&&d.slice_del()))));break;case 6:if(!b())return!1;d.slice_del(),d.ket=d.cursor,(e=d.find_among_b(t,3))&&(d.bra=d.cursor,1==e&&b()&&d.slice_del());break;case 7:if(!b())return!1;d.slice_del(),d.ket=d.cursor,(e=d.find_among_b(u,3))&&(d.bra=d.cursor,1==e&&b()&&d.slice_del());break;case 8:if(!b())return!1;d.slice_del(),d.ket=d.cursor,d.eq_s_b(2,"at")&&(d.bra=d.cursor,b()&&d.slice_del());break;case 9:if(!h()||!d.eq_s_b(1,"e"))return!1;d.slice_from("ir")}return!0}function k(e,r){if(d.eq_s_b(1,e)){d.bra=d.cursor;var s=d.limit-d.cursor;if(d.eq_s_b(1,r))return d.cursor=d.limit-s,h()&&d.slice_del(),!1}return!0}function q(){if(!g()&&(d.cursor=d.limit,!function(){var e,r;if(d.cursor>=i){if(r=d.limit_backward,d.limit_backward=i,d.ket=d.cursor,e=d.find_among_b(m,120))return d.bra=d.cursor,1==e&&d.slice_del(),d.limit_backward=r,!0;d.limit_backward=r}return!1}()))return d.cursor=d.limit,d.ket=d.cursor,void((e=d.find_among_b(c,7))&&(d.bra=d.cursor,1==e&&h()&&d.slice_del()));var e;d.cursor=d.limit,d.ket=d.cursor,d.eq_s_b(1,"i")&&(d.bra=d.cursor,d.eq_s_b(1,"c")&&(d.cursor=d.limit,h()&&d.slice_del()))}this.setCurrent=function(e){d.setCurrent(e)},this.getCurrent=function(){return d.getCurrent()},this.stem=function(){var e,r=d.cursor;return function(){for(var e;;){if(d.bra=d.cursor,e=d.find_among(o,3))switch(d.ket=d.cursor,e){case 1:d.slice_from("a~");continue;case 2:d.slice_from("o~");continue;case 3:if(d.cursor>=d.limit)break;d.cursor++;continue}break}}(),d.cursor=r,e=d.cursor,i=d.limit,s=n=i,p(),d.cursor=e,_()&&(n=d.cursor,_()&&(s=d.cursor)),d.limit_backward=r,d.cursor=d.limit,q(),d.cursor=d.limit,function(){var e;if(d.ket=d.cursor,e=d.find_among_b(l,4))switch(d.bra=d.cursor,e){case 1:h()&&(d.slice_del(),d.ket=d.cursor,d.limit,d.cursor,k("u","g")&&k("i","c"));break;case 2:d.slice_from("c")}}(),d.cursor=d.limit_backward,function(){for(var e;;){if(d.bra=d.cursor,e=d.find_among(a,3))switch(d.ket=d.cursor,e){case 1:d.slice_from("ã");continue;case 2:d.slice_from("õ");continue;case 3:if(d.cursor>=d.limit)break;d.cursor++;continue}break}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return r.setCurrent(e),r.stem(),r.getCurrent()}):(r.setCurrent(e),r.stem(),r.getCurrent())}),e.Pipeline.registerFunction(e.pt.stemmer,"stemmer-pt"),e.pt.stopWordFilter=e.generateStopWordFilter("a ao aos aquela aquelas aquele aqueles aquilo as até com como da das de dela delas dele deles depois do dos e ela elas ele eles em entre era eram essa essas esse esses esta estamos estas estava estavam este esteja estejam estejamos estes esteve estive estivemos estiver estivera estiveram estiverem estivermos estivesse estivessem estivéramos estivéssemos estou está estávamos estão eu foi fomos for fora foram forem formos fosse fossem fui fôramos fôssemos haja hajam hajamos havemos hei houve houvemos houver houvera houveram houverei houverem houveremos houveria houveriam houvermos houverá houverão houveríamos houvesse houvessem houvéramos houvéssemos há hão isso isto já lhe lhes mais mas me mesmo meu meus minha minhas muito na nas nem no nos nossa nossas nosso nossos num numa não nós o os ou para pela pelas pelo pelos por qual quando que quem se seja sejam sejamos sem serei seremos seria seriam será serão seríamos seu seus somos sou sua suas são só também te tem temos tenha tenham tenhamos tenho terei teremos teria teriam terá terão teríamos teu teus teve tinha tinham tive tivemos tiver tivera tiveram tiverem tivermos tivesse tivessem tivéramos tivéssemos tu tua tuas tém tínhamos um uma você vocês vos à às éramos".split(" ")),e.Pipeline.registerFunction(e.pt.stopWordFilter,"stopWordFilter-pt")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/lunr.ro.js b/assets/javascripts/lunr/lunr.ro.js new file mode 100644 index 00000000..c5ecc96c --- /dev/null +++ b/assets/javascripts/lunr/lunr.ro.js @@ -0,0 +1,17 @@ +/*! + * Lunr languages, `Romanian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ +!function(e,i){"function"==typeof define&&define.amd?define(i):"object"==typeof exports?module.exports=i():i()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var h,z,i;e.ro=function(){this.pipeline.reset(),this.pipeline.add(e.ro.trimmer,e.ro.stopWordFilter,e.ro.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ro.stemmer))},e.ro.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.ro.trimmer=e.trimmerSupport.generateTrimmer(e.ro.wordCharacters),e.Pipeline.registerFunction(e.ro.trimmer,"trimmer-ro"),e.ro.stemmer=(h=e.stemmerSupport.Among,z=e.stemmerSupport.SnowballProgram,i=new function(){var r,n,t,a,o=[new h("",-1,3),new h("I",0,1),new h("U",0,2)],s=[new h("ea",-1,3),new h("aţia",-1,7),new h("aua",-1,2),new h("iua",-1,4),new h("aţie",-1,7),new h("ele",-1,3),new h("ile",-1,5),new h("iile",6,4),new h("iei",-1,4),new h("atei",-1,6),new h("ii",-1,4),new h("ului",-1,1),new h("ul",-1,1),new h("elor",-1,3),new h("ilor",-1,4),new h("iilor",14,4)],c=[new h("icala",-1,4),new h("iciva",-1,4),new h("ativa",-1,5),new h("itiva",-1,6),new h("icale",-1,4),new h("aţiune",-1,5),new h("iţiune",-1,6),new h("atoare",-1,5),new h("itoare",-1,6),new h("ătoare",-1,5),new h("icitate",-1,4),new h("abilitate",-1,1),new h("ibilitate",-1,2),new h("ivitate",-1,3),new h("icive",-1,4),new h("ative",-1,5),new h("itive",-1,6),new h("icali",-1,4),new h("atori",-1,5),new h("icatori",18,4),new h("itori",-1,6),new h("ători",-1,5),new h("icitati",-1,4),new h("abilitati",-1,1),new h("ivitati",-1,3),new h("icivi",-1,4),new h("ativi",-1,5),new h("itivi",-1,6),new h("icităi",-1,4),new h("abilităi",-1,1),new h("ivităi",-1,3),new h("icităţi",-1,4),new h("abilităţi",-1,1),new h("ivităţi",-1,3),new h("ical",-1,4),new h("ator",-1,5),new h("icator",35,4),new h("itor",-1,6),new h("ător",-1,5),new h("iciv",-1,4),new h("ativ",-1,5),new h("itiv",-1,6),new h("icală",-1,4),new h("icivă",-1,4),new h("ativă",-1,5),new h("itivă",-1,6)],u=[new h("ica",-1,1),new h("abila",-1,1),new h("ibila",-1,1),new h("oasa",-1,1),new h("ata",-1,1),new h("ita",-1,1),new h("anta",-1,1),new h("ista",-1,3),new h("uta",-1,1),new h("iva",-1,1),new h("ic",-1,1),new h("ice",-1,1),new h("abile",-1,1),new h("ibile",-1,1),new h("isme",-1,3),new h("iune",-1,2),new h("oase",-1,1),new h("ate",-1,1),new h("itate",17,1),new h("ite",-1,1),new h("ante",-1,1),new h("iste",-1,3),new h("ute",-1,1),new h("ive",-1,1),new h("ici",-1,1),new h("abili",-1,1),new h("ibili",-1,1),new h("iuni",-1,2),new h("atori",-1,1),new h("osi",-1,1),new h("ati",-1,1),new h("itati",30,1),new h("iti",-1,1),new h("anti",-1,1),new h("isti",-1,3),new h("uti",-1,1),new h("işti",-1,3),new h("ivi",-1,1),new h("ităi",-1,1),new h("oşi",-1,1),new h("ităţi",-1,1),new h("abil",-1,1),new h("ibil",-1,1),new h("ism",-1,3),new h("ator",-1,1),new h("os",-1,1),new h("at",-1,1),new h("it",-1,1),new h("ant",-1,1),new h("ist",-1,3),new h("ut",-1,1),new h("iv",-1,1),new h("ică",-1,1),new h("abilă",-1,1),new h("ibilă",-1,1),new h("oasă",-1,1),new h("ată",-1,1),new h("ită",-1,1),new h("antă",-1,1),new h("istă",-1,3),new h("ută",-1,1),new h("ivă",-1,1)],w=[new h("ea",-1,1),new h("ia",-1,1),new h("esc",-1,1),new h("ăsc",-1,1),new h("ind",-1,1),new h("ând",-1,1),new h("are",-1,1),new h("ere",-1,1),new h("ire",-1,1),new h("âre",-1,1),new h("se",-1,2),new h("ase",10,1),new h("sese",10,2),new h("ise",10,1),new h("use",10,1),new h("âse",10,1),new h("eşte",-1,1),new h("ăşte",-1,1),new h("eze",-1,1),new h("ai",-1,1),new h("eai",19,1),new h("iai",19,1),new h("sei",-1,2),new h("eşti",-1,1),new h("ăşti",-1,1),new h("ui",-1,1),new h("ezi",-1,1),new h("âi",-1,1),new h("aşi",-1,1),new h("seşi",-1,2),new h("aseşi",29,1),new h("seseşi",29,2),new h("iseşi",29,1),new h("useşi",29,1),new h("âseşi",29,1),new h("işi",-1,1),new h("uşi",-1,1),new h("âşi",-1,1),new h("aţi",-1,2),new h("eaţi",38,1),new h("iaţi",38,1),new h("eţi",-1,2),new h("iţi",-1,2),new h("âţi",-1,2),new h("arăţi",-1,1),new h("serăţi",-1,2),new h("aserăţi",45,1),new h("seserăţi",45,2),new h("iserăţi",45,1),new h("userăţi",45,1),new h("âserăţi",45,1),new h("irăţi",-1,1),new h("urăţi",-1,1),new h("ârăţi",-1,1),new h("am",-1,1),new h("eam",54,1),new h("iam",54,1),new h("em",-1,2),new h("asem",57,1),new h("sesem",57,2),new h("isem",57,1),new h("usem",57,1),new h("âsem",57,1),new h("im",-1,2),new h("âm",-1,2),new h("ăm",-1,2),new h("arăm",65,1),new h("serăm",65,2),new h("aserăm",67,1),new h("seserăm",67,2),new h("iserăm",67,1),new h("userăm",67,1),new h("âserăm",67,1),new h("irăm",65,1),new h("urăm",65,1),new h("ârăm",65,1),new h("au",-1,1),new h("eau",76,1),new h("iau",76,1),new h("indu",-1,1),new h("ându",-1,1),new h("ez",-1,1),new h("ească",-1,1),new h("ară",-1,1),new h("seră",-1,2),new h("aseră",84,1),new h("seseră",84,2),new h("iseră",84,1),new h("useră",84,1),new h("âseră",84,1),new h("iră",-1,1),new h("ură",-1,1),new h("âră",-1,1),new h("ează",-1,1)],i=[new h("a",-1,1),new h("e",-1,1),new h("ie",1,1),new h("i",-1,1),new h("ă",-1,1)],m=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,2,32,0,0,4],l=new z;function f(e,i){l.eq_s(1,e)&&(l.ket=l.cursor,l.in_grouping(m,97,259)&&l.slice_from(i))}function p(){if(l.out_grouping(m,97,259)){for(;!l.in_grouping(m,97,259);){if(l.cursor>=l.limit)return!0;l.cursor++}return!1}return!0}function d(){var e,i,r=l.cursor;if(l.in_grouping(m,97,259)){if(e=l.cursor,!p())return void(a=l.cursor);if(l.cursor=e,!function(){if(l.in_grouping(m,97,259))for(;!l.out_grouping(m,97,259);){if(l.cursor>=l.limit)return!0;l.cursor++}return!1}())return void(a=l.cursor)}l.cursor=r,l.out_grouping(m,97,259)&&(i=l.cursor,p()&&(l.cursor=i,l.in_grouping(m,97,259)&&l.cursor=l.limit)return!1;l.cursor++}for(;!l.out_grouping(m,97,259);){if(l.cursor>=l.limit)return!1;l.cursor++}return!0}function v(){return t<=l.cursor}function _(){var e,i=l.limit-l.cursor;if(l.ket=l.cursor,(e=l.find_among_b(c,46))&&(l.bra=l.cursor,v())){switch(e){case 1:l.slice_from("abil");break;case 2:l.slice_from("ibil");break;case 3:l.slice_from("iv");break;case 4:l.slice_from("ic");break;case 5:l.slice_from("at");break;case 6:l.slice_from("it")}return r=!0,l.cursor=l.limit-i,!0}return!1}function g(){var e,i;for(r=!1;;)if(i=l.limit-l.cursor,!_()){l.cursor=l.limit-i;break}if(l.ket=l.cursor,(e=l.find_among_b(u,62))&&(l.bra=l.cursor,n<=l.cursor)){switch(e){case 1:l.slice_del();break;case 2:l.eq_s_b(1,"ţ")&&(l.bra=l.cursor,l.slice_from("t"));break;case 3:l.slice_from("ist")}r=!0}}function k(){var e;l.ket=l.cursor,(e=l.find_among_b(i,5))&&(l.bra=l.cursor,a<=l.cursor&&1==e&&l.slice_del())}this.setCurrent=function(e){l.setCurrent(e)},this.getCurrent=function(){return l.getCurrent()},this.stem=function(){var e,i=l.cursor;return function(){for(var e,i;e=l.cursor,l.in_grouping(m,97,259)&&(i=l.cursor,l.bra=i,f("u","U"),l.cursor=i,f("i","I")),l.cursor=e,!(l.cursor>=l.limit);)l.cursor++}(),l.cursor=i,e=l.cursor,a=l.limit,n=t=a,d(),l.cursor=e,b()&&(t=l.cursor,b()&&(n=l.cursor)),l.limit_backward=i,l.cursor=l.limit,function(){var e,i;if(l.ket=l.cursor,(e=l.find_among_b(s,16))&&(l.bra=l.cursor,v()))switch(e){case 1:l.slice_del();break;case 2:l.slice_from("a");break;case 3:l.slice_from("e");break;case 4:l.slice_from("i");break;case 5:i=l.limit-l.cursor,l.eq_s_b(2,"ab")||(l.cursor=l.limit-i,l.slice_from("i"));break;case 6:l.slice_from("at");break;case 7:l.slice_from("aţi")}}(),l.cursor=l.limit,g(),l.cursor=l.limit,r||(l.cursor=l.limit,function(){var e,i,r;if(l.cursor>=a){if(i=l.limit_backward,l.limit_backward=a,l.ket=l.cursor,e=l.find_among_b(w,94))switch(l.bra=l.cursor,e){case 1:if(r=l.limit-l.cursor,!l.out_grouping_b(m,97,259)&&(l.cursor=l.limit-r,!l.eq_s_b(1,"u")))break;case 2:l.slice_del()}l.limit_backward=i}}(),l.cursor=l.limit),k(),l.cursor=l.limit_backward,function(){for(var e;;){if(l.bra=l.cursor,e=l.find_among(o,3))switch(l.ket=l.cursor,e){case 1:l.slice_from("i");continue;case 2:l.slice_from("u");continue;case 3:if(l.cursor>=l.limit)break;l.cursor++;continue}break}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}),e.Pipeline.registerFunction(e.ro.stemmer,"stemmer-ro"),e.ro.stopWordFilter=e.generateStopWordFilter("acea aceasta această aceea acei aceia acel acela acele acelea acest acesta aceste acestea aceşti aceştia acolo acord acum ai aia aibă aici al ale alea altceva altcineva am ar are asemenea asta astea astăzi asupra au avea avem aveţi azi aş aşadar aţi bine bucur bună ca care caut ce cel ceva chiar cinci cine cineva contra cu cum cumva curând curînd când cât câte câtva câţi cînd cît cîte cîtva cîţi că căci cărei căror cărui către da dacă dar datorită dată dau de deci deja deoarece departe deşi din dinaintea dintr- dintre doi doilea două drept după dă ea ei el ele eram este eu eşti face fata fi fie fiecare fii fim fiu fiţi frumos fără graţie halbă iar ieri la le li lor lui lângă lîngă mai mea mei mele mereu meu mi mie mine mult multă mulţi mulţumesc mâine mîine mă ne nevoie nici nicăieri nimeni nimeri nimic nişte noastre noastră noi noroc nostru nouă noştri nu opt ori oricare orice oricine oricum oricând oricât oricînd oricît oriunde patra patru patrulea pe pentru peste pic poate pot prea prima primul prin puţin puţina puţină până pînă rog sa sale sau se spate spre sub sunt suntem sunteţi sută sînt sîntem sînteţi să săi său ta tale te timp tine toate toată tot totuşi toţi trei treia treilea tu tăi tău un una unde undeva unei uneia unele uneori unii unor unora unu unui unuia unul vi voastre voastră voi vostru vouă voştri vreme vreo vreun vă zece zero zi zice îi îl îmi împotriva în înainte înaintea încotro încât încît între întrucât întrucît îţi ăla ălea ăsta ăstea ăştia şapte şase şi ştiu ţi ţie".split(" ")),e.Pipeline.registerFunction(e.ro.stopWordFilter,"stopWordFilter-ro")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/lunr.ru.js b/assets/javascripts/lunr/lunr.ru.js new file mode 100644 index 00000000..104bc6e8 --- /dev/null +++ b/assets/javascripts/lunr/lunr.ru.js @@ -0,0 +1,17 @@ +/*! + * Lunr languages, `Russian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ +!function(e,n){"function"==typeof define&&define.amd?define(n):"object"==typeof exports?module.exports=n():n()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var h,g,n;e.ru=function(){this.pipeline.reset(),this.pipeline.add(e.ru.trimmer,e.ru.stopWordFilter,e.ru.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ru.stemmer))},e.ru.wordCharacters="Ѐ-҄҇-ԯᴫᵸⷠ-ⷿꙀ-ꚟ︮︯",e.ru.trimmer=e.trimmerSupport.generateTrimmer(e.ru.wordCharacters),e.Pipeline.registerFunction(e.ru.trimmer,"trimmer-ru"),e.ru.stemmer=(h=e.stemmerSupport.Among,g=e.stemmerSupport.SnowballProgram,n=new function(){var n,e,r=[new h("в",-1,1),new h("ив",0,2),new h("ыв",0,2),new h("вши",-1,1),new h("ивши",3,2),new h("ывши",3,2),new h("вшись",-1,1),new h("ившись",6,2),new h("ывшись",6,2)],t=[new h("ее",-1,1),new h("ие",-1,1),new h("ое",-1,1),new h("ые",-1,1),new h("ими",-1,1),new h("ыми",-1,1),new h("ей",-1,1),new h("ий",-1,1),new h("ой",-1,1),new h("ый",-1,1),new h("ем",-1,1),new h("им",-1,1),new h("ом",-1,1),new h("ым",-1,1),new h("его",-1,1),new h("ого",-1,1),new h("ему",-1,1),new h("ому",-1,1),new h("их",-1,1),new h("ых",-1,1),new h("ею",-1,1),new h("ою",-1,1),new h("ую",-1,1),new h("юю",-1,1),new h("ая",-1,1),new h("яя",-1,1)],w=[new h("ем",-1,1),new h("нн",-1,1),new h("вш",-1,1),new h("ивш",2,2),new h("ывш",2,2),new h("щ",-1,1),new h("ющ",5,1),new h("ующ",6,2)],i=[new h("сь",-1,1),new h("ся",-1,1)],u=[new h("ла",-1,1),new h("ила",0,2),new h("ыла",0,2),new h("на",-1,1),new h("ена",3,2),new h("ете",-1,1),new h("ите",-1,2),new h("йте",-1,1),new h("ейте",7,2),new h("уйте",7,2),new h("ли",-1,1),new h("или",10,2),new h("ыли",10,2),new h("й",-1,1),new h("ей",13,2),new h("уй",13,2),new h("л",-1,1),new h("ил",16,2),new h("ыл",16,2),new h("ем",-1,1),new h("им",-1,2),new h("ым",-1,2),new h("н",-1,1),new h("ен",22,2),new h("ло",-1,1),new h("ило",24,2),new h("ыло",24,2),new h("но",-1,1),new h("ено",27,2),new h("нно",27,1),new h("ет",-1,1),new h("ует",30,2),new h("ит",-1,2),new h("ыт",-1,2),new h("ют",-1,1),new h("уют",34,2),new h("ят",-1,2),new h("ны",-1,1),new h("ены",37,2),new h("ть",-1,1),new h("ить",39,2),new h("ыть",39,2),new h("ешь",-1,1),new h("ишь",-1,2),new h("ю",-1,2),new h("ую",44,2)],s=[new h("а",-1,1),new h("ев",-1,1),new h("ов",-1,1),new h("е",-1,1),new h("ие",3,1),new h("ье",3,1),new h("и",-1,1),new h("еи",6,1),new h("ии",6,1),new h("ами",6,1),new h("ями",6,1),new h("иями",10,1),new h("й",-1,1),new h("ей",12,1),new h("ией",13,1),new h("ий",12,1),new h("ой",12,1),new h("ам",-1,1),new h("ем",-1,1),new h("ием",18,1),new h("ом",-1,1),new h("ям",-1,1),new h("иям",21,1),new h("о",-1,1),new h("у",-1,1),new h("ах",-1,1),new h("ях",-1,1),new h("иях",26,1),new h("ы",-1,1),new h("ь",-1,1),new h("ю",-1,1),new h("ию",30,1),new h("ью",30,1),new h("я",-1,1),new h("ия",33,1),new h("ья",33,1)],o=[new h("ост",-1,1),new h("ость",-1,1)],c=[new h("ейше",-1,1),new h("н",-1,2),new h("ейш",-1,1),new h("ь",-1,3)],m=[33,65,8,232],l=new g;function f(){for(;!l.in_grouping(m,1072,1103);){if(l.cursor>=l.limit)return!1;l.cursor++}return!0}function a(){for(;!l.out_grouping(m,1072,1103);){if(l.cursor>=l.limit)return!1;l.cursor++}return!0}function p(e,n){var r,t;if(l.ket=l.cursor,r=l.find_among_b(e,n)){switch(l.bra=l.cursor,r){case 1:if(t=l.limit-l.cursor,!l.eq_s_b(1,"а")&&(l.cursor=l.limit-t,!l.eq_s_b(1,"я")))return!1;case 2:l.slice_del()}return!0}return!1}function d(e,n){var r;return l.ket=l.cursor,!!(r=l.find_among_b(e,n))&&(l.bra=l.cursor,1==r&&l.slice_del(),!0)}function _(){return!!d(t,26)&&(p(w,8),!0)}function b(){var e;l.ket=l.cursor,(e=l.find_among_b(o,2))&&(l.bra=l.cursor,n<=l.cursor&&1==e&&l.slice_del())}this.setCurrent=function(e){l.setCurrent(e)},this.getCurrent=function(){return l.getCurrent()},this.stem=function(){return e=l.limit,n=e,f()&&(e=l.cursor,a()&&f()&&a()&&(n=l.cursor)),l.cursor=l.limit,!(l.cursor>3]&1<<(7&s))return this.cursor++,!0}return!1},in_grouping_b:function(r,t,i){if(this.cursor>this.limit_backward){var s=b.charCodeAt(this.cursor-1);if(s<=i&&t<=s&&r[(s-=t)>>3]&1<<(7&s))return this.cursor--,!0}return!1},out_grouping:function(r,t,i){if(this.cursor>3]&1<<(7&s)))return this.cursor++,!0}return!1},out_grouping_b:function(r,t,i){if(this.cursor>this.limit_backward){var s=b.charCodeAt(this.cursor-1);if(i>3]&1<<(7&s)))return this.cursor--,!0}return!1},eq_s:function(r,t){if(this.limit-this.cursor>1),a=0,f=u=(l=r[i]).s_size){if(this.cursor=e+l.s_size,!l.method)return l.result;var m=l.method();if(this.cursor=e+l.s_size,m)return l.result}if((i=l.substring_i)<0)return 0}},find_among_b:function(r,t){for(var i=0,s=t,e=this.cursor,n=this.limit_backward,u=0,o=0,h=!1;;){for(var c=i+(s-i>>1),a=0,f=u=(_=r[i]).s_size){if(this.cursor=e-_.s_size,!_.method)return _.result;var m=_.method();if(this.cursor=e-_.s_size,m)return _.result}if((i=_.substring_i)<0)return 0}},replace_s:function(r,t,i){var s=i.length-(t-r);return b=b.substring(0,r)+i+b.substring(t),this.limit+=s,this.cursor>=t?this.cursor+=s:this.cursor>r&&(this.cursor=r),s},slice_check:function(){if(this.bra<0||this.bra>this.ket||this.ket>this.limit||this.limit>b.length)throw"faulty slice operation"},slice_from:function(r){this.slice_check(),this.replace_s(this.bra,this.ket,r)},slice_del:function(){this.slice_from("")},insert:function(r,t,i){var s=this.replace_s(r,t,i);r<=this.bra&&(this.bra+=s),r<=this.ket&&(this.ket+=s)},slice_to:function(){return this.slice_check(),b.substring(this.bra,this.ket)},eq_v_b:function(r){return this.eq_s_b(r.length,r)}}}},r.trimmerSupport={generateTrimmer:function(r){var t=new RegExp("^[^"+r+"]+"),i=new RegExp("[^"+r+"]+$");return function(r){return"function"==typeof r.update?r.update(function(r){return r.replace(t,"").replace(i,"")}):r.replace(t,"").replace(i,"")}}}}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/lunr.sv.js b/assets/javascripts/lunr/lunr.sv.js new file mode 100644 index 00000000..a46a4e70 --- /dev/null +++ b/assets/javascripts/lunr/lunr.sv.js @@ -0,0 +1,17 @@ +/*! + * Lunr languages, `Swedish` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r,l,n;e.sv=function(){this.pipeline.reset(),this.pipeline.add(e.sv.trimmer,e.sv.stopWordFilter,e.sv.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.sv.stemmer))},e.sv.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.sv.trimmer=e.trimmerSupport.generateTrimmer(e.sv.wordCharacters),e.Pipeline.registerFunction(e.sv.trimmer,"trimmer-sv"),e.sv.stemmer=(r=e.stemmerSupport.Among,l=e.stemmerSupport.SnowballProgram,n=new function(){var n,t,i=[new r("a",-1,1),new r("arna",0,1),new r("erna",0,1),new r("heterna",2,1),new r("orna",0,1),new r("ad",-1,1),new r("e",-1,1),new r("ade",6,1),new r("ande",6,1),new r("arne",6,1),new r("are",6,1),new r("aste",6,1),new r("en",-1,1),new r("anden",12,1),new r("aren",12,1),new r("heten",12,1),new r("ern",-1,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",18,1),new r("or",-1,1),new r("s",-1,2),new r("as",21,1),new r("arnas",22,1),new r("ernas",22,1),new r("ornas",22,1),new r("es",21,1),new r("ades",26,1),new r("andes",26,1),new r("ens",21,1),new r("arens",29,1),new r("hetens",29,1),new r("erns",21,1),new r("at",-1,1),new r("andet",-1,1),new r("het",-1,1),new r("ast",-1,1)],s=[new r("dd",-1,-1),new r("gd",-1,-1),new r("nn",-1,-1),new r("dt",-1,-1),new r("gt",-1,-1),new r("kt",-1,-1),new r("tt",-1,-1)],a=[new r("ig",-1,1),new r("lig",0,1),new r("els",-1,1),new r("fullt",-1,3),new r("löst",-1,2)],o=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,24,0,32],u=[119,127,149],m=new l;this.setCurrent=function(e){m.setCurrent(e)},this.getCurrent=function(){return m.getCurrent()},this.stem=function(){var e,r=m.cursor;return function(){var e,r=m.cursor+3;if(t=m.limit,0<=r||r<=m.limit){for(n=r;;){if(e=m.cursor,m.in_grouping(o,97,246)){m.cursor=e;break}if(m.cursor=e,m.cursor>=m.limit)return;m.cursor++}for(;!m.out_grouping(o,97,246);){if(m.cursor>=m.limit)return;m.cursor++}(t=m.cursor)=t&&(m.limit_backward=t,m.cursor=m.limit,m.ket=m.cursor,e=m.find_among_b(i,37),m.limit_backward=r,e))switch(m.bra=m.cursor,e){case 1:m.slice_del();break;case 2:m.in_grouping_b(u,98,121)&&m.slice_del()}}(),m.cursor=m.limit,e=m.limit_backward,m.cursor>=t&&(m.limit_backward=t,m.cursor=m.limit,m.find_among_b(s,7)&&(m.cursor=m.limit,m.ket=m.cursor,m.cursor>m.limit_backward&&(m.bra=--m.cursor,m.slice_del())),m.limit_backward=e),m.cursor=m.limit,function(){var e,r;if(m.cursor>=t){if(r=m.limit_backward,m.limit_backward=t,m.cursor=m.limit,m.ket=m.cursor,e=m.find_among_b(a,5))switch(m.bra=m.cursor,e){case 1:m.slice_del();break;case 2:m.slice_from("lös");break;case 3:m.slice_from("full")}m.limit_backward=r}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}),e.Pipeline.registerFunction(e.sv.stemmer,"stemmer-sv"),e.sv.stopWordFilter=e.generateStopWordFilter("alla allt att av blev bli blir blivit de dem den denna deras dess dessa det detta dig din dina ditt du där då efter ej eller en er era ert ett från för ha hade han hans har henne hennes hon honom hur här i icke ingen inom inte jag ju kan kunde man med mellan men mig min mina mitt mot mycket ni nu när någon något några och om oss på samma sedan sig sin sina sitta själv skulle som så sådan sådana sådant till under upp ut utan vad var vara varför varit varje vars vart vem vi vid vilka vilkas vilken vilket vår våra vårt än är åt över".split(" ")),e.Pipeline.registerFunction(e.sv.stopWordFilter,"stopWordFilter-sv")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/lunr.th.js b/assets/javascripts/lunr/lunr.th.js new file mode 100644 index 00000000..7f9887f7 --- /dev/null +++ b/assets/javascripts/lunr/lunr.th.js @@ -0,0 +1,17 @@ +/*! + * Lunr languages, `Thai` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2017, Keerati Thiwanruk + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(t){if(void 0===t)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===t.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var i="2"==t.version[0];t.th=function(){this.pipeline.reset(),this.pipeline.add(t.th.trimmer),i?this.tokenizer=t.th.tokenizer:(t.tokenizer&&(t.tokenizer=t.th.tokenizer),this.tokenizerFn&&(this.tokenizerFn=t.th.tokenizer))},t.th.wordCharacters="[฀-๿]",t.th.trimmer=t.trimmerSupport.generateTrimmer(t.th.wordCharacters),t.Pipeline.registerFunction(t.th.trimmer,"trimmer-th");var n=t.wordcut;n.init(),t.th.tokenizer=function(e){if(!arguments.length||null==e||null==e)return[];if(Array.isArray(e))return e.map(function(e){return i?new t.Token(e):e});var r=e.toString().replace(/^\s+/,"");return n.cut(r).split("|")}}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/lunr.tr.js b/assets/javascripts/lunr/lunr.tr.js new file mode 100644 index 00000000..64ba95cb --- /dev/null +++ b/assets/javascripts/lunr/lunr.tr.js @@ -0,0 +1,17 @@ +/*! + * Lunr languages, `Turkish` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ +!function(r,i){"function"==typeof define&&define.amd?define(i):"object"==typeof exports?module.exports=i():i()(r.lunr)}(this,function(){return function(r){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var mr,dr,i;r.tr=function(){this.pipeline.reset(),this.pipeline.add(r.tr.trimmer,r.tr.stopWordFilter,r.tr.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(r.tr.stemmer))},r.tr.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",r.tr.trimmer=r.trimmerSupport.generateTrimmer(r.tr.wordCharacters),r.Pipeline.registerFunction(r.tr.trimmer,"trimmer-tr"),r.tr.stemmer=(mr=r.stemmerSupport.Among,dr=r.stemmerSupport.SnowballProgram,i=new function(){var t,r=[new mr("m",-1,-1),new mr("n",-1,-1),new mr("miz",-1,-1),new mr("niz",-1,-1),new mr("muz",-1,-1),new mr("nuz",-1,-1),new mr("müz",-1,-1),new mr("nüz",-1,-1),new mr("mız",-1,-1),new mr("nız",-1,-1)],i=[new mr("leri",-1,-1),new mr("ları",-1,-1)],e=[new mr("ni",-1,-1),new mr("nu",-1,-1),new mr("nü",-1,-1),new mr("nı",-1,-1)],n=[new mr("in",-1,-1),new mr("un",-1,-1),new mr("ün",-1,-1),new mr("ın",-1,-1)],u=[new mr("a",-1,-1),new mr("e",-1,-1)],o=[new mr("na",-1,-1),new mr("ne",-1,-1)],s=[new mr("da",-1,-1),new mr("ta",-1,-1),new mr("de",-1,-1),new mr("te",-1,-1)],c=[new mr("nda",-1,-1),new mr("nde",-1,-1)],l=[new mr("dan",-1,-1),new mr("tan",-1,-1),new mr("den",-1,-1),new mr("ten",-1,-1)],a=[new mr("ndan",-1,-1),new mr("nden",-1,-1)],m=[new mr("la",-1,-1),new mr("le",-1,-1)],d=[new mr("ca",-1,-1),new mr("ce",-1,-1)],f=[new mr("im",-1,-1),new mr("um",-1,-1),new mr("üm",-1,-1),new mr("ım",-1,-1)],b=[new mr("sin",-1,-1),new mr("sun",-1,-1),new mr("sün",-1,-1),new mr("sın",-1,-1)],w=[new mr("iz",-1,-1),new mr("uz",-1,-1),new mr("üz",-1,-1),new mr("ız",-1,-1)],_=[new mr("siniz",-1,-1),new mr("sunuz",-1,-1),new mr("sünüz",-1,-1),new mr("sınız",-1,-1)],k=[new mr("lar",-1,-1),new mr("ler",-1,-1)],p=[new mr("niz",-1,-1),new mr("nuz",-1,-1),new mr("nüz",-1,-1),new mr("nız",-1,-1)],g=[new mr("dir",-1,-1),new mr("tir",-1,-1),new mr("dur",-1,-1),new mr("tur",-1,-1),new mr("dür",-1,-1),new mr("tür",-1,-1),new mr("dır",-1,-1),new mr("tır",-1,-1)],y=[new mr("casına",-1,-1),new mr("cesine",-1,-1)],z=[new mr("di",-1,-1),new mr("ti",-1,-1),new mr("dik",-1,-1),new mr("tik",-1,-1),new mr("duk",-1,-1),new mr("tuk",-1,-1),new mr("dük",-1,-1),new mr("tük",-1,-1),new mr("dık",-1,-1),new mr("tık",-1,-1),new mr("dim",-1,-1),new mr("tim",-1,-1),new mr("dum",-1,-1),new mr("tum",-1,-1),new mr("düm",-1,-1),new mr("tüm",-1,-1),new mr("dım",-1,-1),new mr("tım",-1,-1),new mr("din",-1,-1),new mr("tin",-1,-1),new mr("dun",-1,-1),new mr("tun",-1,-1),new mr("dün",-1,-1),new mr("tün",-1,-1),new mr("dın",-1,-1),new mr("tın",-1,-1),new mr("du",-1,-1),new mr("tu",-1,-1),new mr("dü",-1,-1),new mr("tü",-1,-1),new mr("dı",-1,-1),new mr("tı",-1,-1)],h=[new mr("sa",-1,-1),new mr("se",-1,-1),new mr("sak",-1,-1),new mr("sek",-1,-1),new mr("sam",-1,-1),new mr("sem",-1,-1),new mr("san",-1,-1),new mr("sen",-1,-1)],v=[new mr("miş",-1,-1),new mr("muş",-1,-1),new mr("müş",-1,-1),new mr("mış",-1,-1)],q=[new mr("b",-1,1),new mr("c",-1,2),new mr("d",-1,3),new mr("ğ",-1,4)],C=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,8,0,0,0,0,0,0,1],P=[1,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,1],F=[65],S=[65],W=[["a",[1,64,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],97,305],["e",[17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130],101,252],["ı",[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],97,305],["i",[17],101,105],["o",F,111,117],["ö",S,246,252],["u",F,111,117]],L=new dr;function x(r,i,e){for(;;){var n=L.limit-L.cursor;if(L.in_grouping_b(r,i,e)){L.cursor=L.limit-n;break}if(L.cursor=L.limit-n,L.cursor<=L.limit_backward)return!1;L.cursor--}return!0}function A(){var r,i;r=L.limit-L.cursor,x(C,97,305);for(var e=0;eL.limit_backward&&(L.cursor--,e=L.limit-L.cursor,i()))?(L.cursor=L.limit-e,!0):(L.cursor=L.limit-n,r()?(L.cursor=L.limit-n,!1):(L.cursor=L.limit-n,!(L.cursor<=L.limit_backward)&&(L.cursor--,!!i()&&(L.cursor=L.limit-n,!0))))}function j(r){return E(r,function(){return L.in_grouping_b(C,97,305)})}function T(){return j(function(){return L.eq_s_b(1,"n")})}function Z(){return j(function(){return L.eq_s_b(1,"y")})}function B(){return L.find_among_b(r,10)&&E(function(){return L.in_grouping_b(P,105,305)},function(){return L.out_grouping_b(C,97,305)})}function D(){return A()&&L.in_grouping_b(P,105,305)&&j(function(){return L.eq_s_b(1,"s")})}function G(){return L.find_among_b(i,2)}function H(){return A()&&L.find_among_b(n,4)&&T()}function I(){return A()&&L.find_among_b(s,4)}function J(){return A()&&L.find_among_b(c,2)}function K(){return A()&&L.find_among_b(f,4)&&Z()}function M(){return A()&&L.find_among_b(b,4)}function N(){return A()&&L.find_among_b(w,4)&&Z()}function O(){return L.find_among_b(_,4)}function Q(){return A()&&L.find_among_b(k,2)}function R(){return A()&&L.find_among_b(g,8)}function U(){return A()&&L.find_among_b(z,32)&&Z()}function V(){return L.find_among_b(h,8)&&Z()}function X(){return A()&&L.find_among_b(v,4)&&Z()}function Y(){var r=L.limit-L.cursor;return!(X()||(L.cursor=L.limit-r,U()||(L.cursor=L.limit-r,V()||(L.cursor=L.limit-r,L.eq_s_b(3,"ken")&&Z()))))}function $(){if(L.find_among_b(y,2)){var r=L.limit-L.cursor;if(O()||(L.cursor=L.limit-r,Q()||(L.cursor=L.limit-r,K()||(L.cursor=L.limit-r,M()||(L.cursor=L.limit-r,N()||(L.cursor=L.limit-r))))),X())return!1}return!0}function rr(){if(!A()||!L.find_among_b(p,4))return!0;var r=L.limit-L.cursor;return!U()&&(L.cursor=L.limit-r,!V())}function ir(){var r,i,e,n=L.limit-L.cursor;if(L.ket=L.cursor,t=!0,Y()&&(L.cursor=L.limit-n,$()&&(L.cursor=L.limit-n,function(){if(Q()){L.bra=L.cursor,L.slice_del();var r=L.limit-L.cursor;return L.ket=L.cursor,R()||(L.cursor=L.limit-r,U()||(L.cursor=L.limit-r,V()||(L.cursor=L.limit-r,X()||(L.cursor=L.limit-r)))),t=!1}return!0}()&&(L.cursor=L.limit-n,rr()&&(L.cursor=L.limit-n,e=L.limit-L.cursor,!(O()||(L.cursor=L.limit-e,N()||(L.cursor=L.limit-e,M()||(L.cursor=L.limit-e,K()))))||(L.bra=L.cursor,L.slice_del(),i=L.limit-L.cursor,L.ket=L.cursor,X()||(L.cursor=L.limit-i),0)))))){if(L.cursor=L.limit-n,!R())return;L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,r=L.limit-L.cursor,O()||(L.cursor=L.limit-r,Q()||(L.cursor=L.limit-r,K()||(L.cursor=L.limit-r,M()||(L.cursor=L.limit-r,N()||(L.cursor=L.limit-r))))),X()||(L.cursor=L.limit-r)}L.bra=L.cursor,L.slice_del()}function er(){var r,i,e,n;if(L.ket=L.cursor,L.eq_s_b(2,"ki")){if(r=L.limit-L.cursor,I())return L.bra=L.cursor,L.slice_del(),i=L.limit-L.cursor,L.ket=L.cursor,Q()?(L.bra=L.cursor,L.slice_del(),er()):(L.cursor=L.limit-i,B()&&(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er()))),!0;if(L.cursor=L.limit-r,H()){if(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,e=L.limit-L.cursor,G())L.bra=L.cursor,L.slice_del();else{if(L.cursor=L.limit-e,L.ket=L.cursor,!B()&&(L.cursor=L.limit-e,!D()&&(L.cursor=L.limit-e,!er())))return!0;L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er())}return!0}if(L.cursor=L.limit-r,J()){if(n=L.limit-L.cursor,G())L.bra=L.cursor,L.slice_del();else if(L.cursor=L.limit-n,D())L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er());else if(L.cursor=L.limit-n,!er())return!1;return!0}}return!1}function nr(r){if(L.ket=L.cursor,!J()&&(L.cursor=L.limit-r,!A()||!L.find_among_b(o,2)))return!1;var i=L.limit-L.cursor;if(G())L.bra=L.cursor,L.slice_del();else if(L.cursor=L.limit-i,D())L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er());else if(L.cursor=L.limit-i,!er())return!1;return!0}function tr(r){if(L.ket=L.cursor,!(A()&&L.find_among_b(a,2)||(L.cursor=L.limit-r,A()&&L.find_among_b(e,4))))return!1;var i=L.limit-L.cursor;return!(!D()&&(L.cursor=L.limit-i,!G()))&&(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er()),!0)}function ur(){var r,i=L.limit-L.cursor;return L.ket=L.cursor,!!(H()||(L.cursor=L.limit-i,A()&&L.find_among_b(m,2)&&Z()))&&(L.bra=L.cursor,L.slice_del(),r=L.limit-L.cursor,L.ket=L.cursor,!(!Q()||(L.bra=L.cursor,L.slice_del(),!er()))||(L.cursor=L.limit-r,L.ket=L.cursor,(B()||(L.cursor=L.limit-r,D()||(L.cursor=L.limit-r,er())))&&(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er())),!0))}function or(){var r,i,e=L.limit-L.cursor;if(L.ket=L.cursor,!(I()||(L.cursor=L.limit-e,A()&&L.in_grouping_b(P,105,305)&&Z()||(L.cursor=L.limit-e,A()&&L.find_among_b(u,2)&&Z()))))return!1;if(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,r=L.limit-L.cursor,B())L.bra=L.cursor,L.slice_del(),i=L.limit-L.cursor,L.ket=L.cursor,Q()||(L.cursor=L.limit-i);else if(L.cursor=L.limit-r,!Q())return!0;return L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,er(),!0}function sr(){var r,i,e=L.limit-L.cursor;if(L.ket=L.cursor,Q())return L.bra=L.cursor,L.slice_del(),void er();if(L.cursor=L.limit-e,L.ket=L.cursor,A()&&L.find_among_b(d,2)&&T())if(L.bra=L.cursor,L.slice_del(),r=L.limit-L.cursor,L.ket=L.cursor,G())L.bra=L.cursor,L.slice_del();else{if(L.cursor=L.limit-r,L.ket=L.cursor,!B()&&(L.cursor=L.limit-r,!D())){if(L.cursor=L.limit-r,L.ket=L.cursor,!Q())return;if(L.bra=L.cursor,L.slice_del(),!er())return}L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er())}else if(L.cursor=L.limit-e,!nr(e)&&(L.cursor=L.limit-e,!tr(e))){if(L.cursor=L.limit-e,L.ket=L.cursor,A()&&L.find_among_b(l,4))return L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,i=L.limit-L.cursor,void(B()?(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er())):(L.cursor=L.limit-i,Q()?(L.bra=L.cursor,L.slice_del()):L.cursor=L.limit-i,er()));if(L.cursor=L.limit-e,!ur()){if(L.cursor=L.limit-e,G())return L.bra=L.cursor,void L.slice_del();L.cursor=L.limit-e,er()||(L.cursor=L.limit-e,or()||(L.cursor=L.limit-e,L.ket=L.cursor,(B()||(L.cursor=L.limit-e,D()))&&(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er()))))}}}function cr(r,i,e){if(L.cursor=L.limit-r,function(){for(;;){var r=L.limit-L.cursor;if(L.in_grouping_b(C,97,305)){L.cursor=L.limit-r;break}if(L.cursor=L.limit-r,L.cursor<=L.limit_backward)return!1;L.cursor--}return!0}()){var n=L.limit-L.cursor;if(!L.eq_s_b(1,i)&&(L.cursor=L.limit-n,!L.eq_s_b(1,e)))return!0;L.cursor=L.limit-r;var t=L.cursor;return L.insert(L.cursor,L.cursor,e),L.cursor=t,!1}return!0}function lr(r,i,e){for(;!L.eq_s(i,e);){if(L.cursor>=L.limit)return!0;L.cursor++}return i!=L.limit||(L.cursor=r,!1)}function ar(){var r,i,e=L.cursor;return!(!lr(r=L.cursor,2,"ad")||!lr(L.cursor=r,5,"soyad"))&&(L.limit_backward=e,L.cursor=L.limit,i=L.limit-L.cursor,(L.eq_s_b(1,"d")||(L.cursor=L.limit-i,L.eq_s_b(1,"g")))&&cr(i,"a","ı")&&cr(i,"e","i")&&cr(i,"o","u")&&cr(i,"ö","ü"),L.cursor=L.limit,function(){var r;if(L.ket=L.cursor,r=L.find_among_b(q,4))switch(L.bra=L.cursor,r){case 1:L.slice_from("p");break;case 2:L.slice_from("ç");break;case 3:L.slice_from("t");break;case 4:L.slice_from("k")}}(),!0)}this.setCurrent=function(r){L.setCurrent(r)},this.getCurrent=function(){return L.getCurrent()},this.stem=function(){return!!(function(){for(var r,i=L.cursor,e=2;;){for(r=L.cursor;!L.in_grouping(C,97,305);){if(L.cursor>=L.limit)return L.cursor=r,!(0e&&(this._events[n].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[n].length),"function"==typeof console.trace&&console.trace()));return this},r.prototype.once=function(n,t){if(!a(t))throw TypeError("listener must be a function");var e=!1;function r(){this.removeListener(n,r),e||(e=!0,t.apply(this,arguments))}return r.listener=t,this.on(n,r),this},r.prototype.removeListener=function(n,t){var e,r,i,o;if(!a(t))throw TypeError("listener must be a function");if(!this._events||!this._events[n])return this;if(i=(e=this._events[n]).length,r=-1,e===t||a(e.listener)&&e.listener===t)delete this._events[n],this._events.removeListener&&this.emit("removeListener",n,t);else if(c(e)){for(o=i;0this.maxLength)return i();if(!this.stat&&p(this.cache,o)){var t=this.cache[o];if(Array.isArray(t)&&(t="DIR"),!n||"DIR"===t)return i(null,t);if(n&&"FILE"===t)return i()}var e=this.statCache[o];if(void 0!==e){if(!1===e)return i(null,e);var s=e.isDirectory()?"DIR":"FILE";return n&&"FILE"===s?i():i(null,s,e)}var a=this,c=d("stat\0"+o,function(n,e){{if(e&&e.isSymbolicLink())return u.stat(o,function(n,t){n?a._stat2(r,o,null,e,i):a._stat2(r,o,n,t,i)});a._stat2(r,o,n,e,i)}});c&&u.lstat(o,c)},b.prototype._stat2=function(n,t,e,r,i){if(e)return this.statCache[t]=!1,i();var o="/"===n.slice(-1);if(this.statCache[t]=r,"/"===t.slice(-1)&&!r.isDirectory())return i(null,!1,r);var s=r.isDirectory()?"DIR":"FILE";return this.cache[t]=this.cache[t]||s,o&&"DIR"!==s?i():i(null,s,r)}}).call(this,_("_process"))},{"./common.js":15,"./sync.js":17,_process:24,assert:9,events:14,fs:12,inflight:18,inherits:19,minimatch:20,once:21,path:22,"path-is-absolute":23,util:28}],17:[function(e,r,n){(function(i){(r.exports=n).GlobSync=h;var s=e("fs"),c=e("minimatch"),g=(c.Minimatch,e("./glob.js").Glob,e("util"),e("path")),u=e("assert"),l=e("path-is-absolute"),t=e("./common.js"),o=(t.alphasort,t.alphasorti,t.setopts),a=t.ownProp,f=t.childrenIgnored;function n(n,t){if("function"==typeof t||3===arguments.length)throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");return new h(n,t).found}function h(n,t){if(!n)throw new Error("must provide pattern");if("function"==typeof t||3===arguments.length)throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");if(!(this instanceof h))return new h(n,t);if(o(this,n,t),this.noprocess)return this;var e=this.minimatch.set.length;this.matches=new Array(e);for(var r=0;rthis.maxLength)return!1;if(!this.stat&&a(this.cache,t)){var r=this.cache[t];if(Array.isArray(r)&&(r="DIR"),!e||"DIR"===r)return r;if(e&&"FILE"===r)return!1}var i=this.statCache[t];if(!i){var o;try{o=s.lstatSync(t)}catch(n){return!1}if(o.isSymbolicLink())try{i=s.statSync(t)}catch(n){i=o}else i=o}r=(this.statCache[t]=i).isDirectory()?"DIR":"FILE";return this.cache[t]=this.cache[t]||r,(!e||"DIR"===r)&&r},h.prototype._mark=function(n){return t.mark(this,n)},h.prototype._makeAbs=function(n){return t.makeAbs(this,n)}}).call(this,e("_process"))},{"./common.js":15,"./glob.js":16,_process:24,assert:9,fs:12,minimatch:20,path:22,"path-is-absolute":23,util:28}],18:[function(t,r,n){(function(s){var n=t("wrappy"),a=Object.create(null),e=t("once");r.exports=n(function(n,t){return a[n]?(a[n].push(t),null):(a[n]=[t],o=n,e(function n(){var t=a[o],e=t.length,r=function(n){for(var t=n.length,e=[],r=0;re?(t.splice(0,e),s.nextTick(function(){n.apply(null,r)})):delete a[o]}}));var o})}).call(this,t("_process"))},{_process:24,once:21,wrappy:29}],19:[function(n,t,e){"function"==typeof Object.create?t.exports=function(n,t){n.super_=t,n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(n,t){n.super_=t;var e=function(){};e.prototype=t.prototype,n.prototype=new e,n.prototype.constructor=n}},{}],20:[function(n,t,e){(t.exports=s).Minimatch=i;var u={sep:"/"};try{u=n("path")}catch(n){}var M=s.GLOBSTAR=i.GLOBSTAR={},r=n("brace-expansion"),C={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},P="[^/]",z=P+"*?",B="().*{}+?[]^$\\!".split("").reduce(function(n,t){return n[t]=!0,n},{});var l=/\/+/;function o(t,e){t=t||{},e=e||{};var r={};return Object.keys(e).forEach(function(n){r[n]=e[n]}),Object.keys(t).forEach(function(n){r[n]=t[n]}),r}function s(n,t,e){if("string"!=typeof t)throw new TypeError("glob pattern string required");return e||(e={}),!(!e.nocomment&&"#"===t.charAt(0))&&(""===t.trim()?""===n:new i(t,e).match(n))}function i(n,t){if(!(this instanceof i))return new i(n,t);if("string"!=typeof n)throw new TypeError("glob pattern string required");t||(t={}),n=n.trim(),"/"!==u.sep&&(n=n.split(u.sep).join("/")),this.options=t,this.set=[],this.pattern=n,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.make()}function a(n,t){if(t||(t=this instanceof i?this.options:{}),void 0===(n=void 0===n?this.pattern:n))throw new TypeError("undefined pattern");return t.nobrace||!n.match(/\{.*\}/)?[n]:r(n)}s.filter=function(r,i){return i=i||{},function(n,t,e){return s(n,r,i)}},s.defaults=function(r){if(!r||!Object.keys(r).length)return s;var i=s,n=function(n,t,e){return i.minimatch(n,t,o(r,e))};return n.Minimatch=function(n,t){return new i.Minimatch(n,o(r,t))},n},i.defaults=function(n){return n&&Object.keys(n).length?s.defaults(n).Minimatch:i},i.prototype.debug=function(){},i.prototype.make=function(){if(this._made)return;var n=this.pattern,t=this.options;if(!t.nocomment&&"#"===n.charAt(0))return void(this.comment=!0);if(!n)return void(this.empty=!0);this.parseNegate();var e=this.globSet=this.braceExpand();t.debug&&(this.debug=console.error);this.debug(this.pattern,e),e=this.globParts=e.map(function(n){return n.split(l)}),this.debug(this.pattern,e),e=e.map(function(n,t,e){return n.map(this.parse,this)},this),this.debug(this.pattern,e),e=e.filter(function(n){return-1===n.indexOf(!1)}),this.debug(this.pattern,e),this.set=e},i.prototype.parseNegate=function(){var n=this.pattern,t=!1,e=this.options,r=0;if(e.nonegate)return;for(var i=0,o=n.length;i>> no match, partial?",n,f,t,h),f!==s))}if("string"==typeof u?(c=r.nocase?l.toLowerCase()===u.toLowerCase():l===u,this.debug("string match",u,l,c)):(c=l.match(u),this.debug("pattern match",u,l,c)),!c)return!1}if(i===s&&o===a)return!0;if(i===s)return e;if(o===a)return i===s-1&&""===n[i];throw new Error("wtf?")}},{"brace-expansion":11,path:22}],21:[function(n,t,e){var r=n("wrappy");function i(n){var t=function(){return t.called?t.value:(t.called=!0,t.value=n.apply(this,arguments))};return t.called=!1,t}function o(n){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=n.apply(this,arguments)},e=n.name||"Function wrapped with `once`";return t.onceError=e+" shouldn't be called more than once",t.called=!1,t}t.exports=r(i),t.exports.strict=r(o),i.proto=i(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return i(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return o(this)},configurable:!0})})},{wrappy:29}],22:[function(n,t,u){(function(i){function o(n,t){for(var e=0,r=n.length-1;0<=r;r--){var i=n[r];"."===i?n.splice(r,1):".."===i?(n.splice(r,1),e++):e&&(n.splice(r,1),e--)}if(t)for(;e--;e)n.unshift("..");return n}var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,s=function(n){return t.exec(n).slice(1)};function a(n,t){if(n.filter)return n.filter(t);for(var e=[],r=0;r":">",'"':""","'":"'","`":"`"},D=d.invert(N),F=function(t){var e=function(n){return t[n]},n="(?:"+d.keys(t).join("|")+")",r=RegExp(n),i=RegExp(n,"g");return function(n){return n=null==n?"":""+n,r.test(n)?n.replace(i,e):n}};d.escape=F(N),d.unescape=F(D),d.result=function(n,t,e){var r=null==n?void 0:n[t];return void 0===r&&(r=e),d.isFunction(r)?r.call(n):r};var M=0;d.uniqueId=function(n){var t=++M+"";return n?n+t:t},d.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var C=/(.)^/,P={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},z=/\\|'|\r|\n|\u2028|\u2029/g,B=function(n){return"\\"+P[n]};d.template=function(o,n,t){!n&&t&&(n=t),n=d.defaults({},n,d.templateSettings);var e=RegExp([(n.escape||C).source,(n.interpolate||C).source,(n.evaluate||C).source].join("|")+"|$","g"),s=0,a="__p+='";o.replace(e,function(n,t,e,r,i){return a+=o.slice(s,i).replace(z,B),s=i+n.length,t?a+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":e?a+="'+\n((__t=("+e+"))==null?'':__t)+\n'":r&&(a+="';\n"+r+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{var r=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}var i=function(n){return r.call(this,n,d)},c=n.variable||"obj";return i.source="function("+c+"){\n"+a+"}",i},d.chain=function(n){var t=d(n);return t._chain=!0,t};var U=function(n,t){return n._chain?d(t).chain():t};d.mixin=function(e){d.each(d.functions(e),function(n){var t=d[n]=e[n];d.prototype[n]=function(){var n=[this._wrapped];return i.apply(n,arguments),U(this,t.apply(d,n))}})},d.mixin(d),d.each(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var e=r[t];d.prototype[t]=function(){var n=this._wrapped;return e.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0],U(this,n)}}),d.each(["concat","join","slice"],function(n){var t=r[n];d.prototype[n]=function(){return U(this,t.apply(this._wrapped,arguments))}}),d.prototype.value=function(){return this._wrapped},d.prototype.valueOf=d.prototype.toJSON=d.prototype.value,d.prototype.toString=function(){return""+this._wrapped}}).call(this)},{}],26:[function(n,t,e){arguments[4][19][0].apply(e,arguments)},{dup:19}],27:[function(n,t,e){t.exports=function(n){return n&&"object"==typeof n&&"function"==typeof n.copy&&"function"==typeof n.fill&&"function"==typeof n.readUInt8}},{}],28:[function(h,n,k){(function(r,i){var a=/%[sdj%]/g;k.format=function(n){if(!_(n)){for(var t=[],e=0;e.md-nav__link{color:inherit}button[data-md-color-primary=pink]{background-color:#e91e63}[data-md-color-primary=pink] .md-typeset a{color:#e91e63}[data-md-color-primary=pink] .md-header,[data-md-color-primary=pink] .md-hero{background-color:#e91e63}[data-md-color-primary=pink] .md-nav__link--active,[data-md-color-primary=pink] .md-nav__link:active{color:#e91e63}[data-md-color-primary=pink] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=purple]{background-color:#ab47bc}[data-md-color-primary=purple] .md-typeset a{color:#ab47bc}[data-md-color-primary=purple] .md-header,[data-md-color-primary=purple] .md-hero{background-color:#ab47bc}[data-md-color-primary=purple] .md-nav__link--active,[data-md-color-primary=purple] .md-nav__link:active{color:#ab47bc}[data-md-color-primary=purple] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=deep-purple]{background-color:#7e57c2}[data-md-color-primary=deep-purple] .md-typeset a{color:#7e57c2}[data-md-color-primary=deep-purple] .md-header,[data-md-color-primary=deep-purple] .md-hero{background-color:#7e57c2}[data-md-color-primary=deep-purple] .md-nav__link--active,[data-md-color-primary=deep-purple] .md-nav__link:active{color:#7e57c2}[data-md-color-primary=deep-purple] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=indigo]{background-color:#3f51b5}[data-md-color-primary=indigo] .md-typeset a{color:#3f51b5}[data-md-color-primary=indigo] .md-header,[data-md-color-primary=indigo] .md-hero{background-color:#3f51b5}[data-md-color-primary=indigo] .md-nav__link--active,[data-md-color-primary=indigo] .md-nav__link:active{color:#3f51b5}[data-md-color-primary=indigo] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=blue]{background-color:#2196f3}[data-md-color-primary=blue] .md-typeset a{color:#2196f3}[data-md-color-primary=blue] .md-header,[data-md-color-primary=blue] .md-hero{background-color:#2196f3}[data-md-color-primary=blue] .md-nav__link--active,[data-md-color-primary=blue] .md-nav__link:active{color:#2196f3}[data-md-color-primary=blue] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=light-blue]{background-color:#03a9f4}[data-md-color-primary=light-blue] .md-typeset a{color:#03a9f4}[data-md-color-primary=light-blue] .md-header,[data-md-color-primary=light-blue] .md-hero{background-color:#03a9f4}[data-md-color-primary=light-blue] .md-nav__link--active,[data-md-color-primary=light-blue] .md-nav__link:active{color:#03a9f4}[data-md-color-primary=light-blue] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=cyan]{background-color:#00bcd4}[data-md-color-primary=cyan] .md-typeset a{color:#00bcd4}[data-md-color-primary=cyan] .md-header,[data-md-color-primary=cyan] .md-hero{background-color:#00bcd4}[data-md-color-primary=cyan] .md-nav__link--active,[data-md-color-primary=cyan] .md-nav__link:active{color:#00bcd4}[data-md-color-primary=cyan] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=teal]{background-color:#009688}[data-md-color-primary=teal] .md-typeset a{color:#009688}[data-md-color-primary=teal] .md-header,[data-md-color-primary=teal] .md-hero{background-color:#009688}[data-md-color-primary=teal] .md-nav__link--active,[data-md-color-primary=teal] .md-nav__link:active{color:#009688}[data-md-color-primary=teal] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=green]{background-color:#4caf50}[data-md-color-primary=green] .md-typeset a{color:#4caf50}[data-md-color-primary=green] .md-header,[data-md-color-primary=green] .md-hero{background-color:#4caf50}[data-md-color-primary=green] .md-nav__link--active,[data-md-color-primary=green] .md-nav__link:active{color:#4caf50}[data-md-color-primary=green] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=light-green]{background-color:#7cb342}[data-md-color-primary=light-green] .md-typeset a{color:#7cb342}[data-md-color-primary=light-green] .md-header,[data-md-color-primary=light-green] .md-hero{background-color:#7cb342}[data-md-color-primary=light-green] .md-nav__link--active,[data-md-color-primary=light-green] .md-nav__link:active{color:#7cb342}[data-md-color-primary=light-green] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=lime]{background-color:#c0ca33}[data-md-color-primary=lime] .md-typeset a{color:#c0ca33}[data-md-color-primary=lime] .md-header,[data-md-color-primary=lime] .md-hero{background-color:#c0ca33}[data-md-color-primary=lime] .md-nav__link--active,[data-md-color-primary=lime] .md-nav__link:active{color:#c0ca33}[data-md-color-primary=lime] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=yellow]{background-color:#f9a825}[data-md-color-primary=yellow] .md-typeset a{color:#f9a825}[data-md-color-primary=yellow] .md-header,[data-md-color-primary=yellow] .md-hero{background-color:#f9a825}[data-md-color-primary=yellow] .md-nav__link--active,[data-md-color-primary=yellow] .md-nav__link:active{color:#f9a825}[data-md-color-primary=yellow] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=amber]{background-color:#ffa000}[data-md-color-primary=amber] .md-typeset a{color:#ffa000}[data-md-color-primary=amber] .md-header,[data-md-color-primary=amber] .md-hero{background-color:#ffa000}[data-md-color-primary=amber] .md-nav__link--active,[data-md-color-primary=amber] .md-nav__link:active{color:#ffa000}[data-md-color-primary=amber] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=orange]{background-color:#fb8c00}[data-md-color-primary=orange] .md-typeset a{color:#fb8c00}[data-md-color-primary=orange] .md-header,[data-md-color-primary=orange] .md-hero{background-color:#fb8c00}[data-md-color-primary=orange] .md-nav__link--active,[data-md-color-primary=orange] .md-nav__link:active{color:#fb8c00}[data-md-color-primary=orange] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=deep-orange]{background-color:#ff7043}[data-md-color-primary=deep-orange] .md-typeset a{color:#ff7043}[data-md-color-primary=deep-orange] .md-header,[data-md-color-primary=deep-orange] .md-hero{background-color:#ff7043}[data-md-color-primary=deep-orange] .md-nav__link--active,[data-md-color-primary=deep-orange] .md-nav__link:active{color:#ff7043}[data-md-color-primary=deep-orange] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=brown]{background-color:#795548}[data-md-color-primary=brown] .md-typeset a{color:#795548}[data-md-color-primary=brown] .md-header,[data-md-color-primary=brown] .md-hero{background-color:#795548}[data-md-color-primary=brown] .md-nav__link--active,[data-md-color-primary=brown] .md-nav__link:active{color:#795548}[data-md-color-primary=brown] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=grey]{background-color:#757575}[data-md-color-primary=grey] .md-typeset a{color:#757575}[data-md-color-primary=grey] .md-header,[data-md-color-primary=grey] .md-hero{background-color:#757575}[data-md-color-primary=grey] .md-nav__link--active,[data-md-color-primary=grey] .md-nav__link:active{color:#757575}[data-md-color-primary=grey] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=blue-grey]{background-color:#546e7a}[data-md-color-primary=blue-grey] .md-typeset a{color:#546e7a}[data-md-color-primary=blue-grey] .md-header,[data-md-color-primary=blue-grey] .md-hero{background-color:#546e7a}[data-md-color-primary=blue-grey] .md-nav__link--active,[data-md-color-primary=blue-grey] .md-nav__link:active{color:#546e7a}[data-md-color-primary=blue-grey] .md-nav__item--nested>.md-nav__link{color:inherit}button[data-md-color-primary=white]{box-shadow:inset 0 0 .05rem rgba(0,0,0,.54)}[data-md-color-primary=white] .md-header,[data-md-color-primary=white] .md-hero,button[data-md-color-primary=white]{background-color:#fff;color:rgba(0,0,0,.87)}[data-md-color-primary=white] .md-hero--expand{border-bottom:.05rem solid rgba(0,0,0,.07)}[data-md-color-primary=black] .md-header,[data-md-color-primary=black] .md-hero,button[data-md-color-primary=black]{background-color:#000}button[data-md-color-accent=red]{background-color:#ff1744}[data-md-color-accent=red] .md-typeset a:active,[data-md-color-accent=red] .md-typeset a:hover{color:#ff1744}[data-md-color-accent=red] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=red] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#ff1744}[data-md-color-accent=red] .md-nav__link:focus,[data-md-color-accent=red] .md-nav__link:hover,[data-md-color-accent=red] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=red] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=red] .md-typeset .md-clipboard:active:before,[data-md-color-accent=red] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=red] .md-typeset [id] .headerlink:focus,[data-md-color-accent=red] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=red] .md-typeset [id]:target .headerlink{color:#ff1744}[data-md-color-accent=red] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ff1744}[data-md-color-accent=red] .md-search-result__link:hover,[data-md-color-accent=red] .md-search-result__link[data-md-state=active]{background-color:rgba(255,23,68,.1)}[data-md-color-accent=red] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ff1744}[data-md-color-accent=red] .md-source-file:hover:before{background-color:#ff1744}button[data-md-color-accent=pink]{background-color:#f50057}[data-md-color-accent=pink] .md-typeset a:active,[data-md-color-accent=pink] .md-typeset a:hover{color:#f50057}[data-md-color-accent=pink] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=pink] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#f50057}[data-md-color-accent=pink] .md-nav__link:focus,[data-md-color-accent=pink] .md-nav__link:hover,[data-md-color-accent=pink] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=pink] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=pink] .md-typeset .md-clipboard:active:before,[data-md-color-accent=pink] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=pink] .md-typeset [id] .headerlink:focus,[data-md-color-accent=pink] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=pink] .md-typeset [id]:target .headerlink{color:#f50057}[data-md-color-accent=pink] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#f50057}[data-md-color-accent=pink] .md-search-result__link:hover,[data-md-color-accent=pink] .md-search-result__link[data-md-state=active]{background-color:rgba(245,0,87,.1)}[data-md-color-accent=pink] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#f50057}[data-md-color-accent=pink] .md-source-file:hover:before{background-color:#f50057}button[data-md-color-accent=purple]{background-color:#e040fb}[data-md-color-accent=purple] .md-typeset a:active,[data-md-color-accent=purple] .md-typeset a:hover{color:#e040fb}[data-md-color-accent=purple] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=purple] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#e040fb}[data-md-color-accent=purple] .md-nav__link:focus,[data-md-color-accent=purple] .md-nav__link:hover,[data-md-color-accent=purple] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=purple] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=purple] .md-typeset .md-clipboard:active:before,[data-md-color-accent=purple] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=purple] .md-typeset [id] .headerlink:focus,[data-md-color-accent=purple] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=purple] .md-typeset [id]:target .headerlink{color:#e040fb}[data-md-color-accent=purple] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#e040fb}[data-md-color-accent=purple] .md-search-result__link:hover,[data-md-color-accent=purple] .md-search-result__link[data-md-state=active]{background-color:rgba(224,64,251,.1)}[data-md-color-accent=purple] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#e040fb}[data-md-color-accent=purple] .md-source-file:hover:before{background-color:#e040fb}button[data-md-color-accent=deep-purple]{background-color:#7c4dff}[data-md-color-accent=deep-purple] .md-typeset a:active,[data-md-color-accent=deep-purple] .md-typeset a:hover{color:#7c4dff}[data-md-color-accent=deep-purple] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=deep-purple] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#7c4dff}[data-md-color-accent=deep-purple] .md-nav__link:focus,[data-md-color-accent=deep-purple] .md-nav__link:hover,[data-md-color-accent=deep-purple] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=deep-purple] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=deep-purple] .md-typeset .md-clipboard:active:before,[data-md-color-accent=deep-purple] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=deep-purple] .md-typeset [id] .headerlink:focus,[data-md-color-accent=deep-purple] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=deep-purple] .md-typeset [id]:target .headerlink{color:#7c4dff}[data-md-color-accent=deep-purple] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#7c4dff}[data-md-color-accent=deep-purple] .md-search-result__link:hover,[data-md-color-accent=deep-purple] .md-search-result__link[data-md-state=active]{background-color:rgba(124,77,255,.1)}[data-md-color-accent=deep-purple] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#7c4dff}[data-md-color-accent=deep-purple] .md-source-file:hover:before{background-color:#7c4dff}button[data-md-color-accent=indigo]{background-color:#536dfe}[data-md-color-accent=indigo] .md-typeset a:active,[data-md-color-accent=indigo] .md-typeset a:hover{color:#536dfe}[data-md-color-accent=indigo] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=indigo] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#536dfe}[data-md-color-accent=indigo] .md-nav__link:focus,[data-md-color-accent=indigo] .md-nav__link:hover,[data-md-color-accent=indigo] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=indigo] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=indigo] .md-typeset .md-clipboard:active:before,[data-md-color-accent=indigo] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=indigo] .md-typeset [id] .headerlink:focus,[data-md-color-accent=indigo] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=indigo] .md-typeset [id]:target .headerlink{color:#536dfe}[data-md-color-accent=indigo] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#536dfe}[data-md-color-accent=indigo] .md-search-result__link:hover,[data-md-color-accent=indigo] .md-search-result__link[data-md-state=active]{background-color:rgba(83,109,254,.1)}[data-md-color-accent=indigo] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#536dfe}[data-md-color-accent=indigo] .md-source-file:hover:before{background-color:#536dfe}button[data-md-color-accent=blue]{background-color:#448aff}[data-md-color-accent=blue] .md-typeset a:active,[data-md-color-accent=blue] .md-typeset a:hover{color:#448aff}[data-md-color-accent=blue] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=blue] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#448aff}[data-md-color-accent=blue] .md-nav__link:focus,[data-md-color-accent=blue] .md-nav__link:hover,[data-md-color-accent=blue] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=blue] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=blue] .md-typeset .md-clipboard:active:before,[data-md-color-accent=blue] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=blue] .md-typeset [id] .headerlink:focus,[data-md-color-accent=blue] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=blue] .md-typeset [id]:target .headerlink{color:#448aff}[data-md-color-accent=blue] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#448aff}[data-md-color-accent=blue] .md-search-result__link:hover,[data-md-color-accent=blue] .md-search-result__link[data-md-state=active]{background-color:rgba(68,138,255,.1)}[data-md-color-accent=blue] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#448aff}[data-md-color-accent=blue] .md-source-file:hover:before{background-color:#448aff}button[data-md-color-accent=light-blue]{background-color:#0091ea}[data-md-color-accent=light-blue] .md-typeset a:active,[data-md-color-accent=light-blue] .md-typeset a:hover{color:#0091ea}[data-md-color-accent=light-blue] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=light-blue] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#0091ea}[data-md-color-accent=light-blue] .md-nav__link:focus,[data-md-color-accent=light-blue] .md-nav__link:hover,[data-md-color-accent=light-blue] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=light-blue] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=light-blue] .md-typeset .md-clipboard:active:before,[data-md-color-accent=light-blue] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=light-blue] .md-typeset [id] .headerlink:focus,[data-md-color-accent=light-blue] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=light-blue] .md-typeset [id]:target .headerlink{color:#0091ea}[data-md-color-accent=light-blue] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#0091ea}[data-md-color-accent=light-blue] .md-search-result__link:hover,[data-md-color-accent=light-blue] .md-search-result__link[data-md-state=active]{background-color:rgba(0,145,234,.1)}[data-md-color-accent=light-blue] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#0091ea}[data-md-color-accent=light-blue] .md-source-file:hover:before{background-color:#0091ea}button[data-md-color-accent=cyan]{background-color:#00b8d4}[data-md-color-accent=cyan] .md-typeset a:active,[data-md-color-accent=cyan] .md-typeset a:hover{color:#00b8d4}[data-md-color-accent=cyan] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=cyan] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#00b8d4}[data-md-color-accent=cyan] .md-nav__link:focus,[data-md-color-accent=cyan] .md-nav__link:hover,[data-md-color-accent=cyan] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=cyan] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=cyan] .md-typeset .md-clipboard:active:before,[data-md-color-accent=cyan] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=cyan] .md-typeset [id] .headerlink:focus,[data-md-color-accent=cyan] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=cyan] .md-typeset [id]:target .headerlink{color:#00b8d4}[data-md-color-accent=cyan] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#00b8d4}[data-md-color-accent=cyan] .md-search-result__link:hover,[data-md-color-accent=cyan] .md-search-result__link[data-md-state=active]{background-color:rgba(0,184,212,.1)}[data-md-color-accent=cyan] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#00b8d4}[data-md-color-accent=cyan] .md-source-file:hover:before{background-color:#00b8d4}button[data-md-color-accent=teal]{background-color:#00bfa5}[data-md-color-accent=teal] .md-typeset a:active,[data-md-color-accent=teal] .md-typeset a:hover{color:#00bfa5}[data-md-color-accent=teal] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=teal] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#00bfa5}[data-md-color-accent=teal] .md-nav__link:focus,[data-md-color-accent=teal] .md-nav__link:hover,[data-md-color-accent=teal] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=teal] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=teal] .md-typeset .md-clipboard:active:before,[data-md-color-accent=teal] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=teal] .md-typeset [id] .headerlink:focus,[data-md-color-accent=teal] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=teal] .md-typeset [id]:target .headerlink{color:#00bfa5}[data-md-color-accent=teal] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#00bfa5}[data-md-color-accent=teal] .md-search-result__link:hover,[data-md-color-accent=teal] .md-search-result__link[data-md-state=active]{background-color:rgba(0,191,165,.1)}[data-md-color-accent=teal] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#00bfa5}[data-md-color-accent=teal] .md-source-file:hover:before{background-color:#00bfa5}button[data-md-color-accent=green]{background-color:#00c853}[data-md-color-accent=green] .md-typeset a:active,[data-md-color-accent=green] .md-typeset a:hover{color:#00c853}[data-md-color-accent=green] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=green] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#00c853}[data-md-color-accent=green] .md-nav__link:focus,[data-md-color-accent=green] .md-nav__link:hover,[data-md-color-accent=green] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=green] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=green] .md-typeset .md-clipboard:active:before,[data-md-color-accent=green] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=green] .md-typeset [id] .headerlink:focus,[data-md-color-accent=green] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=green] .md-typeset [id]:target .headerlink{color:#00c853}[data-md-color-accent=green] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#00c853}[data-md-color-accent=green] .md-search-result__link:hover,[data-md-color-accent=green] .md-search-result__link[data-md-state=active]{background-color:rgba(0,200,83,.1)}[data-md-color-accent=green] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#00c853}[data-md-color-accent=green] .md-source-file:hover:before{background-color:#00c853}button[data-md-color-accent=light-green]{background-color:#64dd17}[data-md-color-accent=light-green] .md-typeset a:active,[data-md-color-accent=light-green] .md-typeset a:hover{color:#64dd17}[data-md-color-accent=light-green] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=light-green] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#64dd17}[data-md-color-accent=light-green] .md-nav__link:focus,[data-md-color-accent=light-green] .md-nav__link:hover,[data-md-color-accent=light-green] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=light-green] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=light-green] .md-typeset .md-clipboard:active:before,[data-md-color-accent=light-green] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=light-green] .md-typeset [id] .headerlink:focus,[data-md-color-accent=light-green] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=light-green] .md-typeset [id]:target .headerlink{color:#64dd17}[data-md-color-accent=light-green] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#64dd17}[data-md-color-accent=light-green] .md-search-result__link:hover,[data-md-color-accent=light-green] .md-search-result__link[data-md-state=active]{background-color:rgba(100,221,23,.1)}[data-md-color-accent=light-green] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#64dd17}[data-md-color-accent=light-green] .md-source-file:hover:before{background-color:#64dd17}button[data-md-color-accent=lime]{background-color:#aeea00}[data-md-color-accent=lime] .md-typeset a:active,[data-md-color-accent=lime] .md-typeset a:hover{color:#aeea00}[data-md-color-accent=lime] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=lime] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#aeea00}[data-md-color-accent=lime] .md-nav__link:focus,[data-md-color-accent=lime] .md-nav__link:hover,[data-md-color-accent=lime] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=lime] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=lime] .md-typeset .md-clipboard:active:before,[data-md-color-accent=lime] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=lime] .md-typeset [id] .headerlink:focus,[data-md-color-accent=lime] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=lime] .md-typeset [id]:target .headerlink{color:#aeea00}[data-md-color-accent=lime] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#aeea00}[data-md-color-accent=lime] .md-search-result__link:hover,[data-md-color-accent=lime] .md-search-result__link[data-md-state=active]{background-color:rgba(174,234,0,.1)}[data-md-color-accent=lime] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#aeea00}[data-md-color-accent=lime] .md-source-file:hover:before{background-color:#aeea00}button[data-md-color-accent=yellow]{background-color:#ffd600}[data-md-color-accent=yellow] .md-typeset a:active,[data-md-color-accent=yellow] .md-typeset a:hover{color:#ffd600}[data-md-color-accent=yellow] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=yellow] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#ffd600}[data-md-color-accent=yellow] .md-nav__link:focus,[data-md-color-accent=yellow] .md-nav__link:hover,[data-md-color-accent=yellow] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=yellow] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=yellow] .md-typeset .md-clipboard:active:before,[data-md-color-accent=yellow] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=yellow] .md-typeset [id] .headerlink:focus,[data-md-color-accent=yellow] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=yellow] .md-typeset [id]:target .headerlink{color:#ffd600}[data-md-color-accent=yellow] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ffd600}[data-md-color-accent=yellow] .md-search-result__link:hover,[data-md-color-accent=yellow] .md-search-result__link[data-md-state=active]{background-color:rgba(255,214,0,.1)}[data-md-color-accent=yellow] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ffd600}[data-md-color-accent=yellow] .md-source-file:hover:before{background-color:#ffd600}button[data-md-color-accent=amber]{background-color:#ffab00}[data-md-color-accent=amber] .md-typeset a:active,[data-md-color-accent=amber] .md-typeset a:hover{color:#ffab00}[data-md-color-accent=amber] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=amber] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#ffab00}[data-md-color-accent=amber] .md-nav__link:focus,[data-md-color-accent=amber] .md-nav__link:hover,[data-md-color-accent=amber] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=amber] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=amber] .md-typeset .md-clipboard:active:before,[data-md-color-accent=amber] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=amber] .md-typeset [id] .headerlink:focus,[data-md-color-accent=amber] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=amber] .md-typeset [id]:target .headerlink{color:#ffab00}[data-md-color-accent=amber] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ffab00}[data-md-color-accent=amber] .md-search-result__link:hover,[data-md-color-accent=amber] .md-search-result__link[data-md-state=active]{background-color:rgba(255,171,0,.1)}[data-md-color-accent=amber] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ffab00}[data-md-color-accent=amber] .md-source-file:hover:before{background-color:#ffab00}button[data-md-color-accent=orange]{background-color:#ff9100}[data-md-color-accent=orange] .md-typeset a:active,[data-md-color-accent=orange] .md-typeset a:hover{color:#ff9100}[data-md-color-accent=orange] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=orange] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#ff9100}[data-md-color-accent=orange] .md-nav__link:focus,[data-md-color-accent=orange] .md-nav__link:hover,[data-md-color-accent=orange] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=orange] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=orange] .md-typeset .md-clipboard:active:before,[data-md-color-accent=orange] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=orange] .md-typeset [id] .headerlink:focus,[data-md-color-accent=orange] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=orange] .md-typeset [id]:target .headerlink{color:#ff9100}[data-md-color-accent=orange] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ff9100}[data-md-color-accent=orange] .md-search-result__link:hover,[data-md-color-accent=orange] .md-search-result__link[data-md-state=active]{background-color:rgba(255,145,0,.1)}[data-md-color-accent=orange] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ff9100}[data-md-color-accent=orange] .md-source-file:hover:before{background-color:#ff9100}button[data-md-color-accent=deep-orange]{background-color:#ff6e40}[data-md-color-accent=deep-orange] .md-typeset a:active,[data-md-color-accent=deep-orange] .md-typeset a:hover{color:#ff6e40}[data-md-color-accent=deep-orange] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,[data-md-color-accent=deep-orange] .md-typeset pre code::-webkit-scrollbar-thumb:hover{background-color:#ff6e40}[data-md-color-accent=deep-orange] .md-nav__link:focus,[data-md-color-accent=deep-orange] .md-nav__link:hover,[data-md-color-accent=deep-orange] .md-typeset .footnote li:hover .footnote-backref:hover,[data-md-color-accent=deep-orange] .md-typeset .footnote li:target .footnote-backref,[data-md-color-accent=deep-orange] .md-typeset .md-clipboard:active:before,[data-md-color-accent=deep-orange] .md-typeset .md-clipboard:hover:before,[data-md-color-accent=deep-orange] .md-typeset [id] .headerlink:focus,[data-md-color-accent=deep-orange] .md-typeset [id]:hover .headerlink:hover,[data-md-color-accent=deep-orange] .md-typeset [id]:target .headerlink{color:#ff6e40}[data-md-color-accent=deep-orange] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ff6e40}[data-md-color-accent=deep-orange] .md-search-result__link:hover,[data-md-color-accent=deep-orange] .md-search-result__link[data-md-state=active]{background-color:rgba(255,110,64,.1)}[data-md-color-accent=deep-orange] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#ff6e40}[data-md-color-accent=deep-orange] .md-source-file:hover:before{background-color:#ff6e40}@media only screen and (max-width:59.9375em){[data-md-color-primary=red] .md-nav__source{background-color:rgba(190,66,64,.9675)}[data-md-color-primary=pink] .md-nav__source{background-color:rgba(185,24,79,.9675)}[data-md-color-primary=purple] .md-nav__source{background-color:rgba(136,57,150,.9675)}[data-md-color-primary=deep-purple] .md-nav__source{background-color:rgba(100,69,154,.9675)}[data-md-color-primary=indigo] .md-nav__source{background-color:rgba(50,64,144,.9675)}[data-md-color-primary=blue] .md-nav__source{background-color:rgba(26,119,193,.9675)}[data-md-color-primary=light-blue] .md-nav__source{background-color:rgba(2,134,194,.9675)}[data-md-color-primary=cyan] .md-nav__source{background-color:rgba(0,150,169,.9675)}[data-md-color-primary=teal] .md-nav__source{background-color:rgba(0,119,108,.9675)}[data-md-color-primary=green] .md-nav__source{background-color:rgba(60,139,64,.9675)}[data-md-color-primary=light-green] .md-nav__source{background-color:rgba(99,142,53,.9675)}[data-md-color-primary=lime] .md-nav__source{background-color:rgba(153,161,41,.9675)}[data-md-color-primary=yellow] .md-nav__source{background-color:rgba(198,134,29,.9675)}[data-md-color-primary=amber] .md-nav__source{background-color:rgba(203,127,0,.9675)}[data-md-color-primary=orange] .md-nav__source{background-color:rgba(200,111,0,.9675)}[data-md-color-primary=deep-orange] .md-nav__source{background-color:rgba(203,89,53,.9675)}[data-md-color-primary=brown] .md-nav__source{background-color:rgba(96,68,57,.9675)}[data-md-color-primary=grey] .md-nav__source{background-color:rgba(93,93,93,.9675)}[data-md-color-primary=blue-grey] .md-nav__source{background-color:rgba(67,88,97,.9675)}[data-md-color-primary=white] .md-nav__source{background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.87)}[data-md-color-primary=black] .md-nav__source{background-color:#404040}}@media only screen and (max-width:76.1875em){html [data-md-color-primary=red] .md-nav--primary .md-nav__title--site{background-color:#ef5350}html [data-md-color-primary=pink] .md-nav--primary .md-nav__title--site{background-color:#e91e63}html [data-md-color-primary=purple] .md-nav--primary .md-nav__title--site{background-color:#ab47bc}html [data-md-color-primary=deep-purple] .md-nav--primary .md-nav__title--site{background-color:#7e57c2}html [data-md-color-primary=indigo] .md-nav--primary .md-nav__title--site{background-color:#3f51b5}html [data-md-color-primary=blue] .md-nav--primary .md-nav__title--site{background-color:#2196f3}html [data-md-color-primary=light-blue] .md-nav--primary .md-nav__title--site{background-color:#03a9f4}html [data-md-color-primary=cyan] .md-nav--primary .md-nav__title--site{background-color:#00bcd4}html [data-md-color-primary=teal] .md-nav--primary .md-nav__title--site{background-color:#009688}html [data-md-color-primary=green] .md-nav--primary .md-nav__title--site{background-color:#4caf50}html [data-md-color-primary=light-green] .md-nav--primary .md-nav__title--site{background-color:#7cb342}html [data-md-color-primary=lime] .md-nav--primary .md-nav__title--site{background-color:#c0ca33}html [data-md-color-primary=yellow] .md-nav--primary .md-nav__title--site{background-color:#f9a825}html [data-md-color-primary=amber] .md-nav--primary .md-nav__title--site{background-color:#ffa000}html [data-md-color-primary=orange] .md-nav--primary .md-nav__title--site{background-color:#fb8c00}html [data-md-color-primary=deep-orange] .md-nav--primary .md-nav__title--site{background-color:#ff7043}html [data-md-color-primary=brown] .md-nav--primary .md-nav__title--site{background-color:#795548}html [data-md-color-primary=grey] .md-nav--primary .md-nav__title--site{background-color:#757575}html [data-md-color-primary=blue-grey] .md-nav--primary .md-nav__title--site{background-color:#546e7a}html [data-md-color-primary=white] .md-nav--primary .md-nav__title--site{background-color:#fff;color:rgba(0,0,0,.87)}[data-md-color-primary=white] .md-hero{border-bottom:.05rem solid rgba(0,0,0,.07)}html [data-md-color-primary=black] .md-nav--primary .md-nav__title--site{background-color:#000}}@media only screen and (min-width:76.25em){[data-md-color-primary=red] .md-tabs{background-color:#ef5350}[data-md-color-primary=pink] .md-tabs{background-color:#e91e63}[data-md-color-primary=purple] .md-tabs{background-color:#ab47bc}[data-md-color-primary=deep-purple] .md-tabs{background-color:#7e57c2}[data-md-color-primary=indigo] .md-tabs{background-color:#3f51b5}[data-md-color-primary=blue] .md-tabs{background-color:#2196f3}[data-md-color-primary=light-blue] .md-tabs{background-color:#03a9f4}[data-md-color-primary=cyan] .md-tabs{background-color:#00bcd4}[data-md-color-primary=teal] .md-tabs{background-color:#009688}[data-md-color-primary=green] .md-tabs{background-color:#4caf50}[data-md-color-primary=light-green] .md-tabs{background-color:#7cb342}[data-md-color-primary=lime] .md-tabs{background-color:#c0ca33}[data-md-color-primary=yellow] .md-tabs{background-color:#f9a825}[data-md-color-primary=amber] .md-tabs{background-color:#ffa000}[data-md-color-primary=orange] .md-tabs{background-color:#fb8c00}[data-md-color-primary=deep-orange] .md-tabs{background-color:#ff7043}[data-md-color-primary=brown] .md-tabs{background-color:#795548}[data-md-color-primary=grey] .md-tabs{background-color:#757575}[data-md-color-primary=blue-grey] .md-tabs{background-color:#546e7a}[data-md-color-primary=white] .md-tabs{border-bottom:.05rem solid rgba(0,0,0,.07);background-color:#fff;color:rgba(0,0,0,.87)}[data-md-color-primary=black] .md-tabs{background-color:#000}}@media only screen and (min-width:60em){[data-md-color-primary=white] .md-search__input{background-color:rgba(0,0,0,.07)}[data-md-color-primary=white] .md-search__input::-webkit-input-placeholder{color:rgba(0,0,0,.54)}[data-md-color-primary=white] .md-search__input::-moz-placeholder{color:rgba(0,0,0,.54)}[data-md-color-primary=white] .md-search__input:-ms-input-placeholder{color:rgba(0,0,0,.54)}[data-md-color-primary=white] .md-search__input::-ms-input-placeholder{color:rgba(0,0,0,.54)}[data-md-color-primary=white] .md-search__input::placeholder{color:rgba(0,0,0,.54)}[data-md-color-primary=black] .md-search__input{background-color:hsla(0,0%,100%,.3)}} \ No newline at end of file diff --git a/assets/stylesheets/application.adb8469c.css b/assets/stylesheets/application.adb8469c.css new file mode 100644 index 00000000..93b3daba --- /dev/null +++ b/assets/stylesheets/application.adb8469c.css @@ -0,0 +1 @@ +html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none}body{margin:0}hr{overflow:visible;box-sizing:content-box}a{-webkit-text-decoration-skip:objects}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small,sub,sup{font-size:80%}sub,sup{position:relative;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{margin:0;padding:0;border:0;outline-style:none;background:transparent;font-size:inherit}input{border:0;outline:0}.md-clipboard:before,.md-icon,.md-nav__button,.md-nav__link:after,.md-nav__title:before,.md-search-result__article--document:before,.md-source-file:before,.md-typeset .admonition>.admonition-title:before,.md-typeset .admonition>summary:before,.md-typeset .critic.comment:before,.md-typeset .footnote-backref,.md-typeset .task-list-control .task-list-indicator:before,.md-typeset details>.admonition-title:before,.md-typeset details>summary:before,.md-typeset summary:after{font-family:Material Icons;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr}.md-content__icon,.md-footer-nav__button,.md-header-nav__button,.md-nav__button,.md-nav__title:before,.md-search-result__article--document:before{display:inline-block;margin:.2rem;padding:.4rem;font-size:1.2rem;cursor:pointer}.md-icon--arrow-back:before{content:""}.md-icon--arrow-forward:before{content:""}.md-icon--menu:before{content:""}.md-icon--search:before{content:""}[dir=rtl] .md-icon--arrow-back:before{content:""}[dir=rtl] .md-icon--arrow-forward:before{content:""}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:rgba(0,0,0,.87);font-feature-settings:"kern","liga";font-family:Helvetica Neue,Helvetica,Arial,sans-serif}code,kbd,pre{color:rgba(0,0,0,.87);font-feature-settings:"kern";font-family:Courier New,Courier,monospace}.md-typeset{font-size:.8rem;line-height:1.6;-webkit-print-color-adjust:exact}.md-typeset blockquote,.md-typeset ol,.md-typeset p,.md-typeset ul{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:rgba(0,0,0,.54);font-size:1.5625rem;line-height:1.3}.md-typeset h1,.md-typeset h2{font-weight:300;letter-spacing:-.01em}.md-typeset h2{margin:2rem 0 .8rem;font-size:1.25rem;line-height:1.4}.md-typeset h3{margin:1.6rem 0 .8rem;font-size:1rem;font-weight:400;letter-spacing:-.01em;line-height:1.5}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{font-size:.8rem}.md-typeset h4,.md-typeset h5,.md-typeset h6{margin:.8rem 0;font-weight:700;letter-spacing:-.01em}.md-typeset h5,.md-typeset h6{color:rgba(0,0,0,.54);font-size:.64rem}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted rgba(0,0,0,.26)}.md-typeset a{color:#3f51b5;word-break:break-word}.md-typeset a,.md-typeset a:before{-webkit-transition:color .125s;transition:color .125s}.md-typeset a:active,.md-typeset a:hover{color:#536dfe}.md-typeset code,.md-typeset pre{background-color:hsla(0,0%,92.5%,.5);color:#37474f;font-size:85%;direction:ltr}.md-typeset code{margin:0 .29412em;padding:.07353em 0;border-radius:.1rem;box-shadow:.29412em 0 0 hsla(0,0%,92.5%,.5),-.29412em 0 0 hsla(0,0%,92.5%,.5);word-break:break-word;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:0;background-color:transparent;box-shadow:none}.md-typeset a>code{margin:inherit;padding:inherit;border-radius:initial;background-color:inherit;color:inherit;box-shadow:none}.md-typeset pre{position:relative;margin:1em 0;border-radius:.1rem;line-height:1.4;-webkit-overflow-scrolling:touch}.md-typeset pre>code{display:block;margin:0;padding:.525rem .6rem;background-color:transparent;font-size:inherit;box-shadow:none;-webkit-box-decoration-break:slice;box-decoration-break:slice;overflow:auto}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.26)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:#536dfe}.md-typeset kbd{padding:0 .29412em;border-radius:.15rem;border:.05rem solid #c9c9c9;border-bottom-color:#bcbcbc;background-color:#fcfcfc;color:#555;font-size:85%;box-shadow:0 .05rem 0 #b0b0b0;word-break:break-word}.md-typeset mark{margin:0 .25em;padding:.0625em 0;border-radius:.1rem;background-color:rgba(255,235,59,.5);box-shadow:.25em 0 0 rgba(255,235,59,.5),-.25em 0 0 rgba(255,235,59,.5);word-break:break-word;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset abbr{border-bottom:.05rem dotted rgba(0,0,0,.54);text-decoration:none;cursor:help}.md-typeset small{opacity:.75}.md-typeset sub,.md-typeset sup{margin-left:.07812em}[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{margin-right:.07812em;margin-left:0}.md-typeset blockquote{padding-left:.6rem;border-left:.2rem solid rgba(0,0,0,.26);color:rgba(0,0,0,.54)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:0;border-right:.2rem solid rgba(0,0,0,.26);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ol,.md-typeset ul{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{margin-right:.625em;margin-left:0}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{margin-right:1.25em;margin-left:0}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{margin-right:.625em;margin-left:0}.md-typeset dd{margin:1em 0 1em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:0}.md-typeset iframe,.md-typeset img,.md-typeset svg{max-width:100%}.md-typeset table:not([class]){box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);display:inline-block;max-width:100%;border-radius:.1rem;font-size:.64rem;overflow:auto;-webkit-overflow-scrolling:touch}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;background-color:rgba(0,0,0,.54);color:#fff;vertical-align:top}.md-typeset table:not([class]) td{padding:.6rem .8rem;border-top:.05rem solid rgba(0,0,0,.07);vertical-align:top}.md-typeset table:not([class]) tr{-webkit-transition:background-color .125s;transition:background-color .125s}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:inset 0 .05rem 0 #fff}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.md-typeset .md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset .md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{font-size:125%;overflow-x:hidden}body,html{height:100%}body{position:relative;font-size:.5rem}hr{display:block;height:.05rem;padding:0;border:0}.md-svg{display:none}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container,.md-main{overflow:auto}.md-container{display:table;width:100%;height:100%;padding-top:2.4rem;table-layout:fixed}.md-main{display:table-row;height:100%}.md-main__inner{height:100%;padding-top:1.5rem;padding-bottom:.05rem}.md-toggle{display:none}.md-overlay{position:fixed;top:0;width:0;height:0;-webkit-transition:width 0s .25s,height 0s .25s,opacity .25s;transition:width 0s .25s,height 0s .25s,opacity .25s;background-color:rgba(0,0,0,.54);opacity:0;z-index:3}.md-flex{display:table}.md-flex__cell{display:table-cell;position:relative;vertical-align:top}.md-flex__cell--shrink{width:0}.md-flex__cell--stretch{display:table;width:100%;table-layout:fixed}.md-flex__ellipsis{display:table-cell;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.md-skip{position:fixed;width:.05rem;height:.05rem;margin:.5rem;padding:.3rem .5rem;-webkit-transform:translateY(.4rem);transform:translateY(.4rem);border-radius:.1rem;background-color:rgba(0,0,0,.87);color:#fff;font-size:.64rem;opacity:0;overflow:hidden}.md-skip:focus{width:auto;height:auto;clip:auto;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);opacity:1;z-index:10}@page{margin:25mm}.md-clipboard{position:absolute;top:.3rem;right:.3rem;width:1.4rem;height:1.4rem;border-radius:.1rem;font-size:.8rem;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;backface-visibility:hidden}.md-clipboard:before{-webkit-transition:color .25s,opacity .25s;transition:color .25s,opacity .25s;color:rgba(0,0,0,.07);content:"\E14D"}.codehilite:hover .md-clipboard:before,.md-typeset .highlight:hover .md-clipboard:before,pre:hover .md-clipboard:before{color:rgba(0,0,0,.54)}.md-clipboard:focus:before,.md-clipboard:hover:before{color:#536dfe}.md-clipboard__message{display:block;position:absolute;top:0;right:1.7rem;padding:.3rem .5rem;-webkit-transform:translateX(.4rem);transform:translateX(.4rem);-webkit-transition:opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);transition:opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);transition:transform .25s cubic-bezier(.9,.1,.9,0),opacity .175s;transition:transform .25s cubic-bezier(.9,.1,.9,0),opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);border-radius:.1rem;background-color:rgba(0,0,0,.54);color:#fff;font-size:.64rem;white-space:nowrap;opacity:0;pointer-events:none}.md-clipboard__message--active{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);opacity:1;pointer-events:auto}.md-clipboard__message:before{content:attr(aria-label)}.md-clipboard__message:after{display:block;position:absolute;top:50%;right:-.2rem;width:0;margin-top:-.2rem;border-color:transparent rgba(0,0,0,.54);border-style:solid;border-width:.2rem 0 .2rem .2rem;content:""}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}.md-content__inner:before{display:block;height:.4rem;content:""}.md-content__inner>:last-child{margin-bottom:0}.md-content__icon{position:relative;margin:.4rem 0;padding:0;float:right}.md-typeset .md-content__icon{color:rgba(0,0,0,.26)}.md-header{position:fixed;top:0;right:0;left:0;height:2.4rem;-webkit-transition:background-color .25s,color .25s;transition:background-color .25s,color .25s;background-color:#3f51b5;color:#fff;box-shadow:none;z-index:2;-webkit-backface-visibility:hidden;backface-visibility:hidden}.no-js .md-header{-webkit-transition:none;transition:none;box-shadow:none}.md-header[data-md-state=shadow]{-webkit-transition:background-color .25s,color .25s,box-shadow .25s;transition:background-color .25s,color .25s,box-shadow .25s;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.md-header-nav{padding:0 .2rem}.md-header-nav__button{position:relative;-webkit-transition:opacity .25s;transition:opacity .25s;z-index:1}.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo *{display:block}.no-js .md-header-nav__button.md-icon--search{display:none}.md-header-nav__topic{display:block;position:absolute;-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.md-header-nav__topic+.md-header-nav__topic{-webkit-transform:translateX(1.25rem);transform:translateX(1.25rem);-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);opacity:0;z-index:-1;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{-webkit-transform:translateX(-1.25rem);transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:static}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{-webkit-transform:translateX(-1.25rem);transform:translateX(-1.25rem);-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);opacity:0;z-index:-1;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{-webkit-transform:translateX(1.25rem);transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);opacity:1;z-index:0;pointer-events:auto}.md-header-nav__source{display:none}.md-hero{-webkit-transition:background .25s;transition:background .25s;background-color:#3f51b5;color:#fff;font-size:1rem;overflow:hidden}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;-webkit-transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);-webkit-transition-delay:.1s;transition-delay:.1s}[data-md-state=hidden] .md-hero__inner{pointer-events:none;-webkit-transform:translateY(.625rem);transform:translateY(.625rem);-webkit-transition:opacity .1s 0s,-webkit-transform 0s .4s;transition:opacity .1s 0s,-webkit-transform 0s .4s;transition:transform 0s .4s,opacity .1s 0s;transition:transform 0s .4s,opacity .1s 0s,-webkit-transform 0s .4s;opacity:0}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer-nav{background-color:rgba(0,0,0,.87);color:#fff}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{padding-top:1.4rem;padding-bottom:.4rem;-webkit-transition:opacity .25s;transition:opacity .25s}.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{width:25%;float:left}[dir=rtl] .md-footer-nav__link--prev{float:right}.md-footer-nav__link--next{width:75%;float:right;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}.md-footer-nav__button{-webkit-transition:background .25s;transition:background .25s}.md-footer-nav__title{position:relative;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;color:hsla(0,0%,100%,.7);font-size:.75rem}.md-footer-meta{background-color:rgba(0,0,0,.895)}.md-footer-meta__inner{padding:.2rem;overflow:auto}html .md-footer-meta.md-typeset a{color:hsla(0,0%,100%,.7)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:#fff}.md-footer-copyright{margin:0 .6rem;padding:.4rem 0;color:hsla(0,0%,100%,.3);font-size:.64rem}.md-footer-copyright__highlight{color:hsla(0,0%,100%,.7)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;font-size:.8rem;text-align:center}.md-footer-social__link:before{line-height:1.9}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;font-weight:700;text-overflow:ellipsis;overflow:hidden}.md-nav__title:before{display:none;content:"\E5C4"}[dir=rtl] .md-nav__title:before{content:"\E5C8"}.md-nav__title .md-nav__button{display:none}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__button img{width:100%;height:auto}.md-nav__link{display:block;margin-top:.625em;-webkit-transition:color .125s;transition:color .125s;text-overflow:ellipsis;cursor:pointer;overflow:hidden}.md-nav__item--nested>.md-nav__link:after{content:"\E313"}html .md-nav__link[for=__toc],html .md-nav__link[for=__toc]+.md-nav__link:after,html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:rgba(0,0,0,.54)}.md-nav__link--active,.md-nav__link:active{color:#3f51b5}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:#536dfe}.md-nav__source,.no-js .md-search{display:none}.md-search__overlay{opacity:0;z-index:1}.md-search__form{position:relative}.md-search__input{position:relative;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;z-index:2}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::-webkit-input-placeholder{-webkit-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::-moz-placeholder{-moz-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input:-ms-input-placeholder{-ms-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::-ms-input-placeholder{-ms-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::placeholder{-webkit-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::-webkit-input-placeholder{color:rgba(0,0,0,.54)}.md-search__input::-moz-placeholder{color:rgba(0,0,0,.54)}.md-search__input:-ms-input-placeholder{color:rgba(0,0,0,.54)}.md-search__input::-ms-input-placeholder{color:rgba(0,0,0,.54)}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:rgba(0,0,0,.54)}.md-search__input::-ms-clear{display:none}.md-search__icon{position:absolute;-webkit-transition:color .25s cubic-bezier(.1,.7,.1,1),opacity .25s;transition:color .25s cubic-bezier(.1,.7,.1,1),opacity .25s;font-size:1.2rem;cursor:pointer;z-index:2}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:auto}.md-search__icon[for=__search]:before{content:"\E8B6"}.md-search__icon[type=reset]{top:.3rem;right:.5rem;-webkit-transform:scale(.125);transform:scale(.125);-webkit-transition:opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);transition:opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s;transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);opacity:0}[dir=rtl] .md-search__icon[type=reset]{right:auto;left:.5rem}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]{-webkit-transform:scale(1);transform:scale(1);opacity:1}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;width:100%;border-radius:0 0 .1rem .1rem;overflow:hidden;z-index:1}.md-search__scrollwrap{height:100%;background-color:#fff;box-shadow:inset 0 .05rem 0 rgba(0,0,0,.07);overflow-y:auto;-webkit-overflow-scrolling:touch}.md-search-result{color:rgba(0,0,0,.87);word-break:break-word}.md-search-result__meta{padding:0 .8rem;background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.54);font-size:.64rem;line-height:1.8rem}.md-search-result__list{margin:0;padding:0;border-top:.05rem solid rgba(0,0,0,.07);list-style:none}.md-search-result__item{box-shadow:0 -.05rem 0 rgba(0,0,0,.07)}.md-search-result__link{display:block;-webkit-transition:background .25s;transition:background .25s;outline:0;overflow:hidden}.md-search-result__link:hover,.md-search-result__link[data-md-state=active]{background-color:rgba(83,109,254,.1)}.md-search-result__link:hover .md-search-result__article:before,.md-search-result__link[data-md-state=active] .md-search-result__article:before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:auto}.md-search-result__article--document:before{position:absolute;left:0;margin:.1rem;-webkit-transition:opacity .25s;transition:opacity .25s;color:rgba(0,0,0,.54);content:"\E880"}[dir=rtl] .md-search-result__article--document:before{right:0;left:auto}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-size:.8rem;font-weight:400;line-height:1.4}.md-search-result__title{margin:.5em 0;font-size:.64rem;font-weight:700;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;color:rgba(0,0,0,.54);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.md-search-result em{font-style:normal;font-weight:700;text-decoration:underline}.md-sidebar{position:absolute;width:12.1rem;padding:1.2rem 0;overflow:hidden}.md-sidebar[data-md-state=lock]{position:fixed;top:2.4rem}.md-sidebar--secondary{display:none}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.26)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#536dfe}@-webkit-keyframes md-source__facts--done{0%{height:0}to{height:.65rem}}@keyframes md-source__facts--done{0%{height:0}to{height:.65rem}}@-webkit-keyframes md-source__fact--done{0%{-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0}50%{opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes md-source__fact--done{0%{-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0}50%{opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}.md-source{display:block;padding-right:.6rem;-webkit-transition:opacity .25s;transition:opacity .25s;font-size:.65rem;line-height:1.2;white-space:nowrap}[dir=rtl] .md-source{padding-right:0;padding-left:.6rem}.md-source:hover{opacity:.7}.md-source:after,.md-source__icon{display:inline-block;height:2.4rem;content:"";vertical-align:middle}.md-source__icon{width:2.4rem}.md-source__icon svg{width:1.2rem;height:1.2rem;margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:0}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:0;padding-right:2rem;padding-left:0}.md-source__repository{display:inline-block;max-width:100%;margin-left:.6rem;font-weight:700;text-overflow:ellipsis;overflow:hidden;vertical-align:middle}.md-source__facts{margin:0;padding:0;font-size:.55rem;font-weight:700;list-style-type:none;opacity:.75;overflow:hidden}[data-md-state=done] .md-source__facts{-webkit-animation:md-source__facts--done .25s ease-in;animation:md-source__facts--done .25s ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{-webkit-animation:md-source__fact--done .4s ease-out;animation:md-source__fact--done .4s ease-out}.md-source__fact:before{margin:0 .1rem;content:"\00B7"}.md-source__fact:first-child:before{display:none}.md-source-file{display:inline-block;margin:1em .5em 1em 0;padding-right:.25rem;border-radius:.1rem;background-color:rgba(0,0,0,.07);font-size:.64rem;list-style-type:none;cursor:pointer;overflow:hidden}.md-source-file:before{display:inline-block;margin-right:.25rem;padding:.25rem;background-color:rgba(0,0,0,.26);color:#fff;font-size:.8rem;content:"\E86F";vertical-align:middle}html .md-source-file{-webkit-transition:background .4s,color .4s,box-shadow .4s cubic-bezier(.4,0,.2,1);transition:background .4s,color .4s,box-shadow .4s cubic-bezier(.4,0,.2,1)}html .md-source-file:before{-webkit-transition:inherit;transition:inherit}html body .md-typeset .md-source-file{color:rgba(0,0,0,.54)}.md-source-file:hover{box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36)}.md-source-file:hover:before{background-color:#536dfe}.md-tabs{width:100%;-webkit-transition:background .25s;transition:background .25s;background-color:#3f51b5;color:#fff;overflow:auto}.md-tabs__list{margin:0 0 0 .2rem;padding:0;list-style:none;white-space:nowrap}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;-webkit-transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);font-size:.7rem;opacity:.7}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{-webkit-transition-delay:.02s;transition-delay:.02s}.md-tabs__item:nth-child(3) .md-tabs__link{-webkit-transition-delay:.04s;transition-delay:.04s}.md-tabs__item:nth-child(4) .md-tabs__link{-webkit-transition-delay:.06s;transition-delay:.06s}.md-tabs__item:nth-child(5) .md-tabs__link{-webkit-transition-delay:.08s;transition-delay:.08s}.md-tabs__item:nth-child(6) .md-tabs__link{-webkit-transition-delay:.1s;transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{-webkit-transition-delay:.12s;transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{-webkit-transition-delay:.14s;transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{-webkit-transition-delay:.16s;transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{-webkit-transition-delay:.18s;transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{-webkit-transition-delay:.2s;transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{-webkit-transition-delay:.22s;transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{-webkit-transition-delay:.24s;transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{-webkit-transition-delay:.26s;transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{-webkit-transition-delay:.28s;transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{-webkit-transition-delay:.3s;transition-delay:.3s}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{-webkit-transform:translateY(50%);transform:translateY(50%);-webkit-transition:color .25s,opacity .1s,-webkit-transform 0s .4s;transition:color .25s,opacity .1s,-webkit-transform 0s .4s;transition:color .25s,transform 0s .4s,opacity .1s;transition:color .25s,transform 0s .4s,opacity .1s,-webkit-transform 0s .4s;opacity:0}.md-typeset .admonition,.md-typeset details{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:relative;margin:1.5625em 0;padding:0 .6rem;border-left:.2rem solid #448aff;border-radius:.1rem;font-size:.64rem;overflow:auto}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin:1em 0}.md-typeset .admonition>.admonition-title,.md-typeset .admonition>summary,.md-typeset details>.admonition-title,.md-typeset details>summary{margin:0 -.6rem;padding:.4rem .6rem .4rem 2rem;border-bottom:.05rem solid rgba(68,138,255,.1);background-color:rgba(68,138,255,.1);font-weight:700}[dir=rtl] .md-typeset .admonition>.admonition-title,[dir=rtl] .md-typeset .admonition>summary,[dir=rtl] .md-typeset details>.admonition-title,[dir=rtl] .md-typeset details>summary{padding:.4rem 2rem .4rem .6rem}.md-typeset .admonition>.admonition-title:last-child,.md-typeset .admonition>summary:last-child,.md-typeset details>.admonition-title:last-child,.md-typeset details>summary:last-child{margin-bottom:0}.md-typeset .admonition>.admonition-title:before,.md-typeset .admonition>summary:before,.md-typeset details>.admonition-title:before,.md-typeset details>summary:before{position:absolute;left:.6rem;color:#448aff;font-size:1rem;content:"\E3C9"}[dir=rtl] .md-typeset .admonition>.admonition-title:before,[dir=rtl] .md-typeset .admonition>summary:before,[dir=rtl] .md-typeset details>.admonition-title:before,[dir=rtl] .md-typeset details>summary:before{right:.6rem;left:auto}.md-typeset .admonition.abstract,.md-typeset .admonition.summary,.md-typeset .admonition.tldr,.md-typeset details.abstract,.md-typeset details.summary,.md-typeset details.tldr{border-left-color:#00b0ff}[dir=rtl] .md-typeset .admonition.abstract,[dir=rtl] .md-typeset .admonition.summary,[dir=rtl] .md-typeset .admonition.tldr,[dir=rtl] .md-typeset details.abstract,[dir=rtl] .md-typeset details.summary,[dir=rtl] .md-typeset details.tldr{border-right-color:#00b0ff}.md-typeset .admonition.abstract>.admonition-title,.md-typeset .admonition.abstract>summary,.md-typeset .admonition.summary>.admonition-title,.md-typeset .admonition.summary>summary,.md-typeset .admonition.tldr>.admonition-title,.md-typeset .admonition.tldr>summary,.md-typeset details.abstract>.admonition-title,.md-typeset details.abstract>summary,.md-typeset details.summary>.admonition-title,.md-typeset details.summary>summary,.md-typeset details.tldr>.admonition-title,.md-typeset details.tldr>summary{border-bottom-color:rgba(0,176,255,.1);background-color:rgba(0,176,255,.1)}.md-typeset .admonition.abstract>.admonition-title:before,.md-typeset .admonition.abstract>summary:before,.md-typeset .admonition.summary>.admonition-title:before,.md-typeset .admonition.summary>summary:before,.md-typeset .admonition.tldr>.admonition-title:before,.md-typeset .admonition.tldr>summary:before,.md-typeset details.abstract>.admonition-title:before,.md-typeset details.abstract>summary:before,.md-typeset details.summary>.admonition-title:before,.md-typeset details.summary>summary:before,.md-typeset details.tldr>.admonition-title:before,.md-typeset details.tldr>summary:before{color:#00b0ff;content:""}.md-typeset .admonition.info,.md-typeset .admonition.todo,.md-typeset details.info,.md-typeset details.todo{border-left-color:#00b8d4}[dir=rtl] .md-typeset .admonition.info,[dir=rtl] .md-typeset .admonition.todo,[dir=rtl] .md-typeset details.info,[dir=rtl] .md-typeset details.todo{border-right-color:#00b8d4}.md-typeset .admonition.info>.admonition-title,.md-typeset .admonition.info>summary,.md-typeset .admonition.todo>.admonition-title,.md-typeset .admonition.todo>summary,.md-typeset details.info>.admonition-title,.md-typeset details.info>summary,.md-typeset details.todo>.admonition-title,.md-typeset details.todo>summary{border-bottom-color:rgba(0,184,212,.1);background-color:rgba(0,184,212,.1)}.md-typeset .admonition.info>.admonition-title:before,.md-typeset .admonition.info>summary:before,.md-typeset .admonition.todo>.admonition-title:before,.md-typeset .admonition.todo>summary:before,.md-typeset details.info>.admonition-title:before,.md-typeset details.info>summary:before,.md-typeset details.todo>.admonition-title:before,.md-typeset details.todo>summary:before{color:#00b8d4;content:""}.md-typeset .admonition.hint,.md-typeset .admonition.important,.md-typeset .admonition.tip,.md-typeset details.hint,.md-typeset details.important,.md-typeset details.tip{border-left-color:#00bfa5}[dir=rtl] .md-typeset .admonition.hint,[dir=rtl] .md-typeset .admonition.important,[dir=rtl] .md-typeset .admonition.tip,[dir=rtl] .md-typeset details.hint,[dir=rtl] .md-typeset details.important,[dir=rtl] .md-typeset details.tip{border-right-color:#00bfa5}.md-typeset .admonition.hint>.admonition-title,.md-typeset .admonition.hint>summary,.md-typeset .admonition.important>.admonition-title,.md-typeset .admonition.important>summary,.md-typeset .admonition.tip>.admonition-title,.md-typeset .admonition.tip>summary,.md-typeset details.hint>.admonition-title,.md-typeset details.hint>summary,.md-typeset details.important>.admonition-title,.md-typeset details.important>summary,.md-typeset details.tip>.admonition-title,.md-typeset details.tip>summary{border-bottom-color:rgba(0,191,165,.1);background-color:rgba(0,191,165,.1)}.md-typeset .admonition.hint>.admonition-title:before,.md-typeset .admonition.hint>summary:before,.md-typeset .admonition.important>.admonition-title:before,.md-typeset .admonition.important>summary:before,.md-typeset .admonition.tip>.admonition-title:before,.md-typeset .admonition.tip>summary:before,.md-typeset details.hint>.admonition-title:before,.md-typeset details.hint>summary:before,.md-typeset details.important>.admonition-title:before,.md-typeset details.important>summary:before,.md-typeset details.tip>.admonition-title:before,.md-typeset details.tip>summary:before{color:#00bfa5;content:""}.md-typeset .admonition.check,.md-typeset .admonition.done,.md-typeset .admonition.success,.md-typeset details.check,.md-typeset details.done,.md-typeset details.success{border-left-color:#00c853}[dir=rtl] .md-typeset .admonition.check,[dir=rtl] .md-typeset .admonition.done,[dir=rtl] .md-typeset .admonition.success,[dir=rtl] .md-typeset details.check,[dir=rtl] .md-typeset details.done,[dir=rtl] .md-typeset details.success{border-right-color:#00c853}.md-typeset .admonition.check>.admonition-title,.md-typeset .admonition.check>summary,.md-typeset .admonition.done>.admonition-title,.md-typeset .admonition.done>summary,.md-typeset .admonition.success>.admonition-title,.md-typeset .admonition.success>summary,.md-typeset details.check>.admonition-title,.md-typeset details.check>summary,.md-typeset details.done>.admonition-title,.md-typeset details.done>summary,.md-typeset details.success>.admonition-title,.md-typeset details.success>summary{border-bottom-color:rgba(0,200,83,.1);background-color:rgba(0,200,83,.1)}.md-typeset .admonition.check>.admonition-title:before,.md-typeset .admonition.check>summary:before,.md-typeset .admonition.done>.admonition-title:before,.md-typeset .admonition.done>summary:before,.md-typeset .admonition.success>.admonition-title:before,.md-typeset .admonition.success>summary:before,.md-typeset details.check>.admonition-title:before,.md-typeset details.check>summary:before,.md-typeset details.done>.admonition-title:before,.md-typeset details.done>summary:before,.md-typeset details.success>.admonition-title:before,.md-typeset details.success>summary:before{color:#00c853;content:""}.md-typeset .admonition.faq,.md-typeset .admonition.help,.md-typeset .admonition.question,.md-typeset details.faq,.md-typeset details.help,.md-typeset details.question{border-left-color:#64dd17}[dir=rtl] .md-typeset .admonition.faq,[dir=rtl] .md-typeset .admonition.help,[dir=rtl] .md-typeset .admonition.question,[dir=rtl] .md-typeset details.faq,[dir=rtl] .md-typeset details.help,[dir=rtl] .md-typeset details.question{border-right-color:#64dd17}.md-typeset .admonition.faq>.admonition-title,.md-typeset .admonition.faq>summary,.md-typeset .admonition.help>.admonition-title,.md-typeset .admonition.help>summary,.md-typeset .admonition.question>.admonition-title,.md-typeset .admonition.question>summary,.md-typeset details.faq>.admonition-title,.md-typeset details.faq>summary,.md-typeset details.help>.admonition-title,.md-typeset details.help>summary,.md-typeset details.question>.admonition-title,.md-typeset details.question>summary{border-bottom-color:rgba(100,221,23,.1);background-color:rgba(100,221,23,.1)}.md-typeset .admonition.faq>.admonition-title:before,.md-typeset .admonition.faq>summary:before,.md-typeset .admonition.help>.admonition-title:before,.md-typeset .admonition.help>summary:before,.md-typeset .admonition.question>.admonition-title:before,.md-typeset .admonition.question>summary:before,.md-typeset details.faq>.admonition-title:before,.md-typeset details.faq>summary:before,.md-typeset details.help>.admonition-title:before,.md-typeset details.help>summary:before,.md-typeset details.question>.admonition-title:before,.md-typeset details.question>summary:before{color:#64dd17;content:""}.md-typeset .admonition.attention,.md-typeset .admonition.caution,.md-typeset .admonition.warning,.md-typeset details.attention,.md-typeset details.caution,.md-typeset details.warning{border-left-color:#ff9100}[dir=rtl] .md-typeset .admonition.attention,[dir=rtl] .md-typeset .admonition.caution,[dir=rtl] .md-typeset .admonition.warning,[dir=rtl] .md-typeset details.attention,[dir=rtl] .md-typeset details.caution,[dir=rtl] .md-typeset details.warning{border-right-color:#ff9100}.md-typeset .admonition.attention>.admonition-title,.md-typeset .admonition.attention>summary,.md-typeset .admonition.caution>.admonition-title,.md-typeset .admonition.caution>summary,.md-typeset .admonition.warning>.admonition-title,.md-typeset .admonition.warning>summary,.md-typeset details.attention>.admonition-title,.md-typeset details.attention>summary,.md-typeset details.caution>.admonition-title,.md-typeset details.caution>summary,.md-typeset details.warning>.admonition-title,.md-typeset details.warning>summary{border-bottom-color:rgba(255,145,0,.1);background-color:rgba(255,145,0,.1)}.md-typeset .admonition.attention>.admonition-title:before,.md-typeset .admonition.attention>summary:before,.md-typeset .admonition.caution>.admonition-title:before,.md-typeset .admonition.caution>summary:before,.md-typeset .admonition.warning>.admonition-title:before,.md-typeset .admonition.warning>summary:before,.md-typeset details.attention>.admonition-title:before,.md-typeset details.attention>summary:before,.md-typeset details.caution>.admonition-title:before,.md-typeset details.caution>summary:before,.md-typeset details.warning>.admonition-title:before,.md-typeset details.warning>summary:before{color:#ff9100;content:""}.md-typeset .admonition.fail,.md-typeset .admonition.failure,.md-typeset .admonition.missing,.md-typeset details.fail,.md-typeset details.failure,.md-typeset details.missing{border-left-color:#ff5252}[dir=rtl] .md-typeset .admonition.fail,[dir=rtl] .md-typeset .admonition.failure,[dir=rtl] .md-typeset .admonition.missing,[dir=rtl] .md-typeset details.fail,[dir=rtl] .md-typeset details.failure,[dir=rtl] .md-typeset details.missing{border-right-color:#ff5252}.md-typeset .admonition.fail>.admonition-title,.md-typeset .admonition.fail>summary,.md-typeset .admonition.failure>.admonition-title,.md-typeset .admonition.failure>summary,.md-typeset .admonition.missing>.admonition-title,.md-typeset .admonition.missing>summary,.md-typeset details.fail>.admonition-title,.md-typeset details.fail>summary,.md-typeset details.failure>.admonition-title,.md-typeset details.failure>summary,.md-typeset details.missing>.admonition-title,.md-typeset details.missing>summary{border-bottom-color:rgba(255,82,82,.1);background-color:rgba(255,82,82,.1)}.md-typeset .admonition.fail>.admonition-title:before,.md-typeset .admonition.fail>summary:before,.md-typeset .admonition.failure>.admonition-title:before,.md-typeset .admonition.failure>summary:before,.md-typeset .admonition.missing>.admonition-title:before,.md-typeset .admonition.missing>summary:before,.md-typeset details.fail>.admonition-title:before,.md-typeset details.fail>summary:before,.md-typeset details.failure>.admonition-title:before,.md-typeset details.failure>summary:before,.md-typeset details.missing>.admonition-title:before,.md-typeset details.missing>summary:before{color:#ff5252;content:""}.md-typeset .admonition.danger,.md-typeset .admonition.error,.md-typeset details.danger,.md-typeset details.error{border-left-color:#ff1744}[dir=rtl] .md-typeset .admonition.danger,[dir=rtl] .md-typeset .admonition.error,[dir=rtl] .md-typeset details.danger,[dir=rtl] .md-typeset details.error{border-right-color:#ff1744}.md-typeset .admonition.danger>.admonition-title,.md-typeset .admonition.danger>summary,.md-typeset .admonition.error>.admonition-title,.md-typeset .admonition.error>summary,.md-typeset details.danger>.admonition-title,.md-typeset details.danger>summary,.md-typeset details.error>.admonition-title,.md-typeset details.error>summary{border-bottom-color:rgba(255,23,68,.1);background-color:rgba(255,23,68,.1)}.md-typeset .admonition.danger>.admonition-title:before,.md-typeset .admonition.danger>summary:before,.md-typeset .admonition.error>.admonition-title:before,.md-typeset .admonition.error>summary:before,.md-typeset details.danger>.admonition-title:before,.md-typeset details.danger>summary:before,.md-typeset details.error>.admonition-title:before,.md-typeset details.error>summary:before{color:#ff1744;content:""}.md-typeset .admonition.bug,.md-typeset details.bug{border-left-color:#f50057}[dir=rtl] .md-typeset .admonition.bug,[dir=rtl] .md-typeset details.bug{border-right-color:#f50057}.md-typeset .admonition.bug>.admonition-title,.md-typeset .admonition.bug>summary,.md-typeset details.bug>.admonition-title,.md-typeset details.bug>summary{border-bottom-color:rgba(245,0,87,.1);background-color:rgba(245,0,87,.1)}.md-typeset .admonition.bug>.admonition-title:before,.md-typeset .admonition.bug>summary:before,.md-typeset details.bug>.admonition-title:before,.md-typeset details.bug>summary:before{color:#f50057;content:""}.md-typeset .admonition.example,.md-typeset details.example{border-left-color:#651fff}[dir=rtl] .md-typeset .admonition.example,[dir=rtl] .md-typeset details.example{border-right-color:#651fff}.md-typeset .admonition.example>.admonition-title,.md-typeset .admonition.example>summary,.md-typeset details.example>.admonition-title,.md-typeset details.example>summary{border-bottom-color:rgba(101,31,255,.1);background-color:rgba(101,31,255,.1)}.md-typeset .admonition.example>.admonition-title:before,.md-typeset .admonition.example>summary:before,.md-typeset details.example>.admonition-title:before,.md-typeset details.example>summary:before{color:#651fff;content:""}.md-typeset .admonition.cite,.md-typeset .admonition.quote,.md-typeset details.cite,.md-typeset details.quote{border-left-color:#9e9e9e}[dir=rtl] .md-typeset .admonition.cite,[dir=rtl] .md-typeset .admonition.quote,[dir=rtl] .md-typeset details.cite,[dir=rtl] .md-typeset details.quote{border-right-color:#9e9e9e}.md-typeset .admonition.cite>.admonition-title,.md-typeset .admonition.cite>summary,.md-typeset .admonition.quote>.admonition-title,.md-typeset .admonition.quote>summary,.md-typeset details.cite>.admonition-title,.md-typeset details.cite>summary,.md-typeset details.quote>.admonition-title,.md-typeset details.quote>summary{border-bottom-color:hsla(0,0%,62%,.1);background-color:hsla(0,0%,62%,.1)}.md-typeset .admonition.cite>.admonition-title:before,.md-typeset .admonition.cite>summary:before,.md-typeset .admonition.quote>.admonition-title:before,.md-typeset .admonition.quote>summary:before,.md-typeset details.cite>.admonition-title:before,.md-typeset details.cite>summary:before,.md-typeset details.quote>.admonition-title:before,.md-typeset details.quote>summary:before{color:#9e9e9e;content:""}.codehilite .o,.codehilite .ow,.md-typeset .highlight .o,.md-typeset .highlight .ow{color:inherit}.codehilite .ge,.md-typeset .highlight .ge{color:#000}.codehilite .gr,.md-typeset .highlight .gr{color:#a00}.codehilite .gh,.md-typeset .highlight .gh{color:#999}.codehilite .go,.md-typeset .highlight .go{color:#888}.codehilite .gp,.md-typeset .highlight .gp{color:#555}.codehilite .gs,.md-typeset .highlight .gs{color:inherit}.codehilite .gu,.md-typeset .highlight .gu{color:#aaa}.codehilite .gt,.md-typeset .highlight .gt{color:#a00}.codehilite .gd,.md-typeset .highlight .gd{background-color:#fdd}.codehilite .gi,.md-typeset .highlight .gi{background-color:#dfd}.codehilite .k,.md-typeset .highlight .k{color:#3b78e7}.codehilite .kc,.md-typeset .highlight .kc{color:#a71d5d}.codehilite .kd,.codehilite .kn,.md-typeset .highlight .kd,.md-typeset .highlight .kn{color:#3b78e7}.codehilite .kp,.md-typeset .highlight .kp{color:#a71d5d}.codehilite .kr,.codehilite .kt,.md-typeset .highlight .kr,.md-typeset .highlight .kt{color:#3e61a2}.codehilite .c,.codehilite .cm,.md-typeset .highlight .c,.md-typeset .highlight .cm{color:#999}.codehilite .cp,.md-typeset .highlight .cp{color:#666}.codehilite .c1,.codehilite .ch,.codehilite .cs,.md-typeset .highlight .c1,.md-typeset .highlight .ch,.md-typeset .highlight .cs{color:#999}.codehilite .na,.codehilite .nb,.md-typeset .highlight .na,.md-typeset .highlight .nb{color:#c2185b}.codehilite .bp,.md-typeset .highlight .bp{color:#3e61a2}.codehilite .nc,.md-typeset .highlight .nc{color:#c2185b}.codehilite .no,.md-typeset .highlight .no{color:#3e61a2}.codehilite .nd,.codehilite .ni,.md-typeset .highlight .nd,.md-typeset .highlight .ni{color:#666}.codehilite .ne,.codehilite .nf,.md-typeset .highlight .ne,.md-typeset .highlight .nf{color:#c2185b}.codehilite .nl,.md-typeset .highlight .nl{color:#3b5179}.codehilite .nn,.md-typeset .highlight .nn{color:#ec407a}.codehilite .nt,.md-typeset .highlight .nt{color:#3b78e7}.codehilite .nv,.codehilite .vc,.codehilite .vg,.codehilite .vi,.md-typeset .highlight .nv,.md-typeset .highlight .vc,.md-typeset .highlight .vg,.md-typeset .highlight .vi{color:#3e61a2}.codehilite .nx,.md-typeset .highlight .nx{color:#ec407a}.codehilite .il,.codehilite .m,.codehilite .mf,.codehilite .mh,.codehilite .mi,.codehilite .mo,.md-typeset .highlight .il,.md-typeset .highlight .m,.md-typeset .highlight .mf,.md-typeset .highlight .mh,.md-typeset .highlight .mi,.md-typeset .highlight .mo{color:#e74c3c}.codehilite .s,.codehilite .sb,.codehilite .sc,.md-typeset .highlight .s,.md-typeset .highlight .sb,.md-typeset .highlight .sc{color:#0d904f}.codehilite .sd,.md-typeset .highlight .sd{color:#999}.codehilite .s2,.md-typeset .highlight .s2{color:#0d904f}.codehilite .se,.codehilite .sh,.codehilite .si,.codehilite .sx,.md-typeset .highlight .se,.md-typeset .highlight .sh,.md-typeset .highlight .si,.md-typeset .highlight .sx{color:#183691}.codehilite .sr,.md-typeset .highlight .sr{color:#009926}.codehilite .s1,.codehilite .ss,.md-typeset .highlight .s1,.md-typeset .highlight .ss{color:#0d904f}.codehilite .err,.md-typeset .highlight .err{color:#a61717}.codehilite .w,.md-typeset .highlight .w{color:transparent}.codehilite .hll,.md-typeset .highlight .hll{display:block;margin:0 -.6rem;padding:0 .6rem;background-color:rgba(255,235,59,.5)}.md-typeset .codehilitetable,.md-typeset .highlighttable{display:block;overflow:hidden}.md-typeset .codehilitetable tbody,.md-typeset .codehilitetable td,.md-typeset .highlighttable tbody,.md-typeset .highlighttable td{display:block;padding:0}.md-typeset .codehilitetable tr,.md-typeset .highlighttable tr{display:-webkit-box;display:flex}.md-typeset .codehilitetable .linenodiv,.md-typeset .codehilitetable pre,.md-typeset .highlighttable .linenodiv,.md-typeset .highlighttable pre{margin:0;border-radius:0}.md-typeset .codehilitetable .linenodiv,.md-typeset .highlighttable .linenodiv{padding:.525rem .6rem}.md-typeset .codehilitetable .linenos,.md-typeset .highlighttable .linenos{background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.26);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md-typeset .codehilitetable .linenos pre,.md-typeset .highlighttable .linenos pre{background-color:transparent;color:inherit;text-align:right}.md-typeset .codehilitetable .code,.md-typeset .highlighttable .code{-webkit-box-flex:1;flex:1;overflow:hidden}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em 0;border-radius:.2em}.md-typeset [id^="fnref:"]{display:inline-block}.md-typeset [id^="fnref:"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^="fn:"]:before{display:none;height:0;content:""}.md-typeset [id^="fn:"]:target:before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:rgba(0,0,0,.54);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{-webkit-transition:color .25s;transition:color .25s}.md-typeset .footnote li:target{color:rgba(0,0,0,.87)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover,.md-typeset .footnote li:target .footnote-backref{color:#536dfe}.md-typeset .footnote-ref{display:inline-block;pointer-events:auto}.md-typeset .footnote-ref:before{display:inline;margin:0 .2em;border-left:.05rem solid rgba(0,0,0,.26);font-size:1.25em;content:"";vertical-align:-.25rem}.md-typeset .footnote-backref{display:inline-block;-webkit-transform:translateX(.25rem);transform:translateX(.25rem);-webkit-transition:color .25s,opacity .125s .125s,-webkit-transform .25s .125s;transition:color .25s,opacity .125s .125s,-webkit-transform .25s .125s;transition:transform .25s .125s,color .25s,opacity .125s .125s;transition:transform .25s .125s,color .25s,opacity .125s .125s,-webkit-transform .25s .125s;color:rgba(0,0,0,.26);font-size:0;opacity:0;vertical-align:text-bottom}[dir=rtl] .md-typeset .footnote-backref{-webkit-transform:translateX(-.25rem);transform:translateX(-.25rem)}.md-typeset .footnote-backref:before{display:inline-block;font-size:.8rem;content:"\E31B"}[dir=rtl] .md-typeset .footnote-backref:before{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;-webkit-transform:translateY(.25rem);transform:translateY(.25rem);-webkit-transition:color .25s,opacity .125s .25s,-webkit-transform .25s .25s;transition:color .25s,opacity .125s .25s,-webkit-transform .25s .25s;transition:transform .25s .25s,color .25s,opacity .125s .25s;transition:transform .25s .25s,color .25s,opacity .125s .25s,-webkit-transform .25s .25s;opacity:0}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:0}html body .md-typeset .headerlink{color:rgba(0,0,0,.26)}.md-typeset h1[id]:before{display:block;margin-top:-9px;padding-top:9px;content:""}.md-typeset h1[id]:target:before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h1[id] .headerlink:focus,.md-typeset h1[id]:hover .headerlink,.md-typeset h1[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h1[id] .headerlink:focus,.md-typeset h1[id]:hover .headerlink:hover,.md-typeset h1[id]:target .headerlink{color:#536dfe}.md-typeset h2[id]:before{display:block;margin-top:-8px;padding-top:8px;content:""}.md-typeset h2[id]:target:before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h2[id] .headerlink:focus,.md-typeset h2[id]:hover .headerlink,.md-typeset h2[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h2[id] .headerlink:focus,.md-typeset h2[id]:hover .headerlink:hover,.md-typeset h2[id]:target .headerlink{color:#536dfe}.md-typeset h3[id]:before{display:block;margin-top:-9px;padding-top:9px;content:""}.md-typeset h3[id]:target:before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h3[id] .headerlink:focus,.md-typeset h3[id]:hover .headerlink,.md-typeset h3[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h3[id] .headerlink:focus,.md-typeset h3[id]:hover .headerlink:hover,.md-typeset h3[id]:target .headerlink{color:#536dfe}.md-typeset h4[id]:before{display:block;margin-top:-9px;padding-top:9px;content:""}.md-typeset h4[id]:target:before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h4[id] .headerlink:focus,.md-typeset h4[id]:hover .headerlink,.md-typeset h4[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h4[id] .headerlink:focus,.md-typeset h4[id]:hover .headerlink:hover,.md-typeset h4[id]:target .headerlink{color:#536dfe}.md-typeset h5[id]:before{display:block;margin-top:-11px;padding-top:11px;content:""}.md-typeset h5[id]:target:before{margin-top:-3.55rem;padding-top:3.55rem}.md-typeset h5[id] .headerlink:focus,.md-typeset h5[id]:hover .headerlink,.md-typeset h5[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h5[id] .headerlink:focus,.md-typeset h5[id]:hover .headerlink:hover,.md-typeset h5[id]:target .headerlink{color:#536dfe}.md-typeset h6[id]:before{display:block;margin-top:-11px;padding-top:11px;content:""}.md-typeset h6[id]:target:before{margin-top:-3.55rem;padding-top:3.55rem}.md-typeset h6[id] .headerlink:focus,.md-typeset h6[id]:hover .headerlink,.md-typeset h6[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h6[id] .headerlink:focus,.md-typeset h6[id]:hover .headerlink:hover,.md-typeset h6[id]:target .headerlink{color:#536dfe}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;-webkit-overflow-scrolling:touch}.md-typeset .MathJax_CHTML{outline:0}.md-typeset .critic.comment,.md-typeset del.critic,.md-typeset ins.critic{margin:0 .25em;padding:.0625em 0;border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd;box-shadow:.25em 0 0 #fdd,-.25em 0 0 #fdd}.md-typeset ins.critic{background-color:#dfd;box-shadow:.25em 0 0 #dfd,-.25em 0 0 #dfd}.md-typeset .critic.comment{background-color:hsla(0,0%,92.5%,.5);color:#37474f;box-shadow:.25em 0 0 hsla(0,0%,92.5%,.5),-.25em 0 0 hsla(0,0%,92.5%,.5)}.md-typeset .critic.comment:before{padding-right:.125em;color:rgba(0,0,0,.26);content:"\E0B7";vertical-align:-.125em}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}.md-typeset details{display:block;padding-top:0}.md-typeset details[open]>summary:after{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom:none}.md-typeset details summary{padding-right:2rem}[dir=rtl] .md-typeset details summary{padding-left:2rem}.no-details .md-typeset details:not([open])>*{display:none}.no-details .md-typeset details:not([open]) summary{display:block}.md-typeset summary{display:block;outline:none;cursor:pointer}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary:after{position:absolute;top:.4rem;right:.6rem;color:rgba(0,0,0,.26);font-size:1rem;content:"\E313"}[dir=rtl] .md-typeset summary:after{right:auto;left:.6rem}.md-typeset .emojione,.md-typeset .gemoji,.md-typeset .twemoji{width:1rem;vertical-align:text-top}.md-typeset code.codehilite,.md-typeset code.highlight{margin:0 .29412em;padding:.07353em 0}.md-typeset .superfences-content{display:none;-webkit-box-ordinal-group:100;order:99;width:100%;background-color:#fff}.md-typeset .superfences-content pre{margin:0;border-radius:0}.md-typeset .superfences-tabs{display:-webkit-box;display:flex;position:relative;flex-wrap:wrap;margin:1em 0;border:.05rem solid rgba(0,0,0,.07);border-radius:.2em}.md-typeset .superfences-tabs>input{display:none}.md-typeset .superfences-tabs>input:checked+label{font-weight:700}.md-typeset .superfences-tabs>input:checked+label+.superfences-content{display:block}.md-typeset .superfences-tabs>label{width:auto;padding:.6rem;-webkit-transition:color .125s;transition:color .125s;font-size:.64rem;cursor:pointer}html .md-typeset .superfences-tabs>label:hover{color:#536dfe}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:auto}.md-typeset .task-list-control .task-list-indicator:before{position:absolute;top:.15em;left:-1.25em;color:rgba(0,0,0,.26);font-size:1.25em;content:"\E835";vertical-align:-.25em}[dir=rtl] .md-typeset .task-list-control .task-list-indicator:before{right:-1.25em;left:auto}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator:before{content:"\E834"}.md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}@media print{.md-typeset a:after{color:rgba(0,0,0,.54);content:" [" attr(href) "]"}.md-typeset code,.md-typeset pre{white-space:pre-wrap}.md-typeset code{box-shadow:none;-webkit-box-decoration-break:initial;box-decoration-break:slice}.md-clipboard,.md-content__icon,.md-footer,.md-header,.md-sidebar,.md-tabs,.md-typeset .headerlink{display:none}}@media only screen and (max-width:44.9375em){.md-typeset>pre{margin:1em -.8rem;border-radius:0}.md-typeset>pre>code{padding:.525rem .8rem}.md-footer-nav__link--prev .md-footer-nav__title{display:none}.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}.codehilite .hll,.md-typeset .highlight .hll{margin:0 -.8rem;padding:0 .8rem}.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -.8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{padding:.525rem .8rem}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -.8rem;border-radius:0}.md-typeset>.codehilitetable .linenodiv,.md-typeset>.highlighttable .linenodiv{padding:.5rem .8rem}.md-typeset>p>.MJXc-display{margin:.75em -.8rem;padding:.25em .8rem}.md-typeset>.superfences-tabs{margin:1em -.8rem;border:0;border-top:.05rem solid rgba(0,0,0,.07);border-radius:0}.md-typeset>.superfences-tabs code{padding:.525rem .8rem}.md-typeset>.superfences-tabs input:first-child+label{margin-left:.2rem}}@media only screen and (min-width:100em){html{font-size:137.5%}}@media only screen and (min-width:125em){html{font-size:150%}}@media only screen and (max-width:59.9375em){body[data-md-state=lock]{overflow:hidden}.ios body[data-md-state=lock] .md-container{display:none}html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]:after{color:inherit;content:"\E8DE"}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:-webkit-box;display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;background-color:rgba(50,64,144,.9675);color:#fff}.md-search__overlay{position:absolute;top:.2rem;left:.2rem;width:1.8rem;height:1.8rem;-webkit-transform-origin:center;transform-origin:center;-webkit-transition:opacity .2s .2s,-webkit-transform .3s .1s;transition:opacity .2s .2s,-webkit-transform .3s .1s;transition:transform .3s .1s,opacity .2s .2s;transition:transform .3s .1s,opacity .2s .2s,-webkit-transform .3s .1s;border-radius:1rem;background-color:#fff;overflow:hidden;pointer-events:none}[dir=rtl] .md-search__overlay{right:.2rem;left:auto}[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transition:opacity .1s,-webkit-transform .4s;transition:opacity .1s,-webkit-transform .4s;transition:transform .4s,opacity .1s;transition:transform .4s,opacity .1s,-webkit-transform .4s;opacity:1}.md-search__inner{position:fixed;top:0;left:100%;width:100%;height:100%;-webkit-transform:translateX(5%);transform:translateX(5%);-webkit-transition:right 0s .3s,left 0s .3s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;transition:right 0s .3s,left 0s .3s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;transition:right 0s .3s,left 0s .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;transition:right 0s .3s,left 0s .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;opacity:0;z-index:2}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:right 0s 0s,left 0s 0s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;transition:right 0s 0s,left 0s 0s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;transition:right 0s 0s,left 0s 0s,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;transition:right 0s 0s,left 0s 0s,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;opacity:1}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:auto}html [dir=rtl] .md-search__inner{right:100%;left:auto;-webkit-transform:translateX(-5%);transform:translateX(-5%)}.md-search__input{width:100%;height:2.4rem;font-size:.9rem}.md-search__icon[for=__search]{top:.6rem;left:.8rem}.md-search__icon[for=__search][for=__search]:before{content:"\E5C4"}[dir=rtl] .md-search__icon[for=__search][for=__search]:before{content:"\E5C8"}.md-search__icon[type=reset]{top:.6rem;right:.8rem}.md-search__output{top:2.4rem;bottom:0}.md-search-result__article--document:before{display:none}}@media only screen and (max-width:76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;-webkit-transition:width 0s,height 0s,opacity .25s;transition:width 0s,height 0s,opacity .25s;opacity:1}.md-header-nav__button.md-icon--home,.md-header-nav__button.md-logo{display:none}.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}.md-nav{background-color:#fff}.md-nav--primary,.md-nav--primary .md-nav{display:-webkit-box;display:flex;position:absolute;top:0;right:0;left:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;height:100%;z-index:1}.md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{font-size:.8rem;line-height:1.5}html .md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.54);font-weight:400;line-height:2.4rem;white-space:nowrap;cursor:pointer}html .md-nav--primary .md-nav__title:before{display:block;position:absolute;top:.2rem;left:.2rem;width:2rem;height:2rem;color:rgba(0,0,0,.54)}html .md-nav--primary .md-nav__title~.md-nav__list{background-color:#fff;box-shadow:inset 0 .05rem 0 rgba(0,0,0,.07)}html .md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}html .md-nav--primary .md-nav__title--site{position:relative;background-color:#3f51b5;color:#fff}html .md-nav--primary .md-nav__title--site .md-nav__button{display:block;position:absolute;top:.2rem;left:.2rem;width:3.2rem;height:3.2rem;font-size:2.4rem}html .md-nav--primary .md-nav__title--site:before{display:none}html [dir=rtl] .md-nav--primary .md-nav__title--site .md-nav__button,html [dir=rtl] .md-nav--primary .md-nav__title:before{right:.2rem;left:auto}.md-nav--primary .md-nav__list{-webkit-box-flex:1;flex:1;overflow-y:auto}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid rgba(0,0,0,.07)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--nested>.md-nav__link:after{content:"\E315"}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link:after{content:"\E314"}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link:after{position:absolute;top:50%;right:.6rem;margin-top:-.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link:after{right:auto;left:.6rem}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:0}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:0}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:0}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:0}.md-nav__toggle~.md-nav{display:-webkit-box;display:flex;-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transition:opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);transition:opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);transition:transform .25s cubic-bezier(.8,0,.6,1),opacity .125s .05s;transition:transform .25s cubic-bezier(.8,0,.6,1),opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);opacity:0}[dir=rtl] .md-nav__toggle~.md-nav{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.no-csstransforms3d .md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .125s .125s;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);opacity:1}.no-csstransforms3d .md-nav__toggle:checked~.md-nav{display:-webkit-box;display:flex}.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;width:12.1rem;height:100%;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);background-color:#fff;z-index:3}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:auto}.no-csstransforms3d .md-sidebar--primary{display:none}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);-webkit-transform:translateX(12.1rem);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{-webkit-transform:translateX(-12.1rem);transform:translateX(-12.1rem)}.no-csstransforms3d [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{display:block}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;margin:0}.md-tabs{display:none}}@media only screen and (min-width:60em){.md-content{margin-right:12.1rem}[dir=rtl] .md-content{margin-right:0;margin-left:12.1rem}.md-header-nav__button.md-icon--search{display:none}.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;padding-right:.6rem}[dir=rtl] .md-header-nav__source{padding-right:0;padding-left:.6rem}.md-search{padding:.2rem}.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;-webkit-transition:width 0s .25s,height 0s .25s,opacity .25s;transition:width 0s .25s,height 0s .25s,opacity .25s;background-color:rgba(0,0,0,.54);cursor:pointer}[dir=rtl] .md-search__overlay{right:0;left:auto}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;-webkit-transition:width 0s,height 0s,opacity .25s;transition:width 0s,height 0s,opacity .25s;opacity:1}.md-search__inner{position:relative;width:11.5rem;margin-right:.8rem;padding:.1rem 0;float:right;-webkit-transition:width .25s cubic-bezier(.1,.7,.1,1);transition:width .25s cubic-bezier(.1,.7,.1,1)}[dir=rtl] .md-search__inner{margin-right:0;margin-left:.8rem;float:left}.md-search__form,.md-search__input{border-radius:.1rem}.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;-webkit-transition:background-color .25s cubic-bezier(.1,.7,.1,1),color .25s cubic-bezier(.1,.7,.1,1);transition:background-color .25s cubic-bezier(.1,.7,.1,1),color .25s cubic-bezier(.1,.7,.1,1);background-color:rgba(0,0,0,.26);color:inherit;font-size:.8rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:inherit}.md-search__input::-webkit-input-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input::-moz-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input:-ms-input-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input::-ms-input-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input::placeholder{color:hsla(0,0%,100%,.7)}.md-search__input:hover{background-color:hsla(0,0%,100%,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{border-radius:.1rem .1rem 0 0;background-color:#fff;color:rgba(0,0,0,.87);text-overflow:clip}[data-md-toggle=search]:checked~.md-header .md-search__input::-webkit-input-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input::-moz-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input:-ms-input-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input::-ms-input-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:rgba(0,0,0,.54)}.md-search__output{top:1.9rem;-webkit-transition:opacity .4s;transition:opacity .4s;opacity:0}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}.md-search__scrollwrap{max-height:0}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.26)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#536dfe}.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:0}.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}.md-sidebar--secondary{display:block;margin-left:100%;-webkit-transform:translate(-100%);transform:translate(-100%)}[dir=rtl] .md-sidebar--secondary{margin-right:100%;margin-left:0;-webkit-transform:translate(100%);transform:translate(100%)}}@media only screen and (min-width:76.25em){.md-content{margin-left:12.1rem}[dir=rtl] .md-content{margin-right:12.1rem}.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}.md-header-nav__button.md-icon--menu{display:none}.md-nav[data-md-state=animate]{-webkit-transition:max-height .25s cubic-bezier(.86,0,.07,1);transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav__toggle~.md-nav{max-height:0;overflow:hidden}.no-js .md-nav__toggle~.md-nav{display:none}.md-nav[data-md-state=expand],.md-nav__toggle:checked~.md-nav{max-height:100%}.no-js .md-nav[data-md-state=expand],.no-js .md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--nested>.md-nav__link:after{display:inline-block;-webkit-transform-origin:.45em .45em;transform-origin:.45em .45em;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;vertical-align:-.125em}.js .md-nav__item--nested>.md-nav__link:after{-webkit-transition:-webkit-transform .4s;transition:-webkit-transform .4s;transition:transform .4s;transition:transform .4s,-webkit-transform .4s}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link:after{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.md-search__inner{margin-right:1.2rem}[dir=rtl] .md-search__inner{margin-left:1.2rem}.md-search__scrollwrap,[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}.md-sidebar--secondary{margin-left:61rem}[dir=rtl] .md-sidebar--secondary{margin-right:61rem;margin-left:0}.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{font-size:0;visibility:hidden}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary .md-nav__title--site{display:none}.no-js .md-tabs--active~.md-main .md-nav--primary .md-nav{display:block}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{font-size:0;visibility:hidden}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none;font-size:.7rem;overflow:auto;visibility:visible}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block}.md-tabs--active~.md-main .md-nav[data-md-level="1"]{max-height:none;overflow:visible}.md-tabs--active~.md-main .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{padding-left:0}.md-tabs--active~.md-main .md-nav[data-md-level="1"] .md-nav .md-nav__title{display:none}}@media only screen and (min-width:45em){.md-footer-nav__link{width:50%}.md-footer-copyright{max-width:75%;float:left}[dir=rtl] .md-footer-copyright{float:right}.md-footer-social{padding:.6rem 0;float:right}[dir=rtl] .md-footer-social{float:left}}@media only screen and (max-width:29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transform:scale(45);transform:scale(45)}}@media only screen and (min-width:30em) and (max-width:44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transform:scale(60);transform:scale(60)}}@media only screen and (min-width:45em) and (max-width:59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transform:scale(75);transform:scale(75)}}@media only screen and (min-width:60em) and (max-width:76.1875em){.md-search__scrollwrap,[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}} \ No newline at end of file diff --git a/attachments/802-11-gast.pdf b/attachments/802-11-gast.pdf new file mode 100644 index 00000000..2dd9b18a Binary files /dev/null and b/attachments/802-11-gast.pdf differ diff --git "a/attachments/\350\257\276\347\250\213\345\220\215\347\247\260-\347\273\223\351\242\230\346\212\245\345\221\212-\345\247\223\345\220\2151-\345\247\223\345\220\2152.doc" "b/attachments/\350\257\276\347\250\213\345\220\215\347\247\260-\347\273\223\351\242\230\346\212\245\345\221\212-\345\247\223\345\220\2151-\345\247\223\345\220\2152.doc" new file mode 100644 index 00000000..865ad2f3 Binary files /dev/null and "b/attachments/\350\257\276\347\250\213\345\220\215\347\247\260-\347\273\223\351\242\230\346\212\245\345\221\212-\345\247\223\345\220\2151-\345\247\223\345\220\2152.doc" differ diff --git a/cp.html b/cp.html new file mode 100644 index 00000000..781286ff --- /dev/null +++ b/cp.html @@ -0,0 +1,1109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 信息安全综合实践 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + + +
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cp/2019/index.html b/cp/2019/index.html new file mode 100644 index 00000000..828eae9d --- /dev/null +++ b/cp/2019/index.html @@ -0,0 +1,1169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2019年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

2019年

+ +

课程基本信息

+
    +
  • 主讲教师:黄玮、安靖
  • +
  • 课程主题:信息安全三年专业课综合运用和实践
  • +
  • 实验准备:机房台式机和网络 + 自备笔记本
  • +
  • 涵盖主线专业课
      +
    • 软件与系统安全
    • +
    • 网络安全
    • +
    • 密码学
    • +
    • 计算机安全与维护
    • +
    • 密码学应用实践
    • +
    • 计算机网络
    • +
    • 操作系统
    • +
    • 数据库原理与应用
    • +
    • C语言+数据结构
    • +
    +
  • +
  • 涉及部分选修课程
      +
    • 移动互联网安全
    • +
    • 数字内容安全
    • +
    • 信息安全管理
    • +
    • Linux系统与网络管理
    • +
    +
  • +
+

课程阶段计划

+

本次小学期 2 周时间的实践训练主要由 2 部分内容组成:

+
    +
  1. CTF 个人赛;
  2. +
  3. 创新实践能力团队赛;
  4. +
+

其中,「创新实践能力团队赛」参考 第十二届全国大学生信息安全竞赛创新实践能力赛 分区选拔赛应用场景开发需求第十二届全国大学生信息安全竞赛-创新实践能力赛 线下分区选拔赛参赛指南 和我们的具体评分标准

+
    +
  1. CTF 个人赛 3 天
  2. +
  3. Build It 1 周
  4. +
  5. Break It 1 天
  6. +
  7. Fix It 1 天
  8. +
  9. 分组演示答辩 1 天
  10. +
+

结课大作业基本要求

+
    +
  • 以个人为单位独立完成「CTF」
  • +
  • 以小组为单位完成「漏洞攻防实训」
  • +
  • 每个小组至多允许 3
  • +
  • 除了 CTF题目的Writeup禁止在互联网上分享记录 之外,「创新实践能力团队赛」过程中产生的文档、代码均可以采用 Github 的方式管理(这是一个鼓励和支持的作业完成过程建议,有助于提高印象分哦~)
  • +
  • 结课材料,统一用zip格式打包并发送到我邮箱( 见以下 赛题提交唯一通道Email ),邮件主题和邮件附件命名规范:姓名1_姓名2_姓名3_作业题目.zip。姓名先后顺序按照对结课作业的贡献程度排名。
      +
    • 每人 独立完成一份 「创新实践能力团队赛」总结技术报告
        +
      • markdown 书写;
      • +
      • 内容和 Word 版课题结题报告 中部分内容有重复,重点强调:个人在本次大作业中的主要贡献;完成了哪些自认为有技术含量的工作;印象深刻的一些 bug 和自己的解决方法;
      • +
      +
    • +
    • 附件大小请控制在 10MB 以内,删除不必要的临时文件、视频文件、开发和测试过程中上传的测试文件等;
    • +
    • 视频文件可以上传到第三方视频网站,然后在总结报告文档中附上视频链接即可,以减少压缩包大小;
    • +
    • 已在 Github 上传所有文件的小组,在实验报告中同样需要附上项目仓库地址备查;
    • +
    • 课题结题报告
    • +
    +
  • +
  • 课程总评分数= 出勤 * 10% + CTF 成绩* 30% + 「创新实践能力团队赛」总结技术报告 * 60%
  • +
+
#赛题提交唯一通道Email 
+python -m base64 -d <<< "aHVhbmd3ZWkubWVAZ21haWwuY29t"
+
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cp/2021/index.html b/cp/2021/index.html new file mode 100644 index 00000000..38a24bbc --- /dev/null +++ b/cp/2021/index.html @@ -0,0 +1,1169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2021年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

2021年

+ +

课程基本信息

+
    +
  • 主讲教师:黄玮、安靖
  • +
  • 课程主题:信息安全三年专业课综合运用和实践
  • +
  • 实验准备:机房台式机和网络 + 自备笔记本
  • +
  • 涵盖主线专业课
      +
    • 软件与系统安全
    • +
    • 网络安全
    • +
    • 密码学
    • +
    • 计算机安全与维护
    • +
    • 密码学应用实践
    • +
    • 计算机网络
    • +
    • 操作系统
    • +
    • 数据库原理与应用
    • +
    • C语言+数据结构
    • +
    +
  • +
  • 涉及部分选修课程
      +
    • 移动互联网安全
    • +
    • 数字内容安全
    • +
    • 信息安全管理
    • +
    • Linux系统与网络管理
    • +
    +
  • +
+

课程阶段计划

+

本次小学期 2 周时间的实践训练主要由 2 部分内容组成:

+
    +
  1. CTF 个人赛;
  2. +
  3. 创新实践能力团队赛;
  4. +
+

其中,「创新实践能力团队赛」参考 第十二届全国大学生信息安全竞赛创新实践能力赛 分区选拔赛应用场景开发需求第十二届全国大学生信息安全竞赛-创新实践能力赛 线下分区选拔赛参赛指南 和我们的具体评分标准

+
    +
  1. CTF 个人赛 2 天
  2. +
  3. Build It 1 周
  4. +
  5. Break It 1 天
  6. +
  7. Fix It 1 天
  8. +
  9. 分组演示答辩 2 天
  10. +
+

结课大作业基本要求

+
    +
  • 以个人为单位独立完成「CTF」
  • +
  • 以小组为单位完成「漏洞攻防实训」
  • +
  • 每个小组至多允许 3
  • +
  • 除了 CTF题目的Writeup禁止在互联网上分享记录 之外,「创新实践能力团队赛」过程中产生的文档、代码均可以采用 Github 的方式管理(这是一个鼓励和支持的作业完成过程建议,有助于提高印象分哦~)
  • +
  • 结课材料,统一用zip格式打包并发送到我邮箱( 见以下 赛题提交唯一通道Email ),邮件主题和邮件附件命名规范:姓名1_姓名2_姓名3_作业题目.zip。姓名先后顺序按照对结课作业的贡献程度排名。
      +
    • 每人 独立完成一份 「创新实践能力团队赛」总结技术报告
        +
      • markdown 书写;
      • +
      • 内容和 Word 版课题结题报告 中部分内容有重复,重点强调:个人在本次大作业中的主要贡献;完成了哪些自认为有技术含量的工作;印象深刻的一些 bug 和自己的解决方法;
      • +
      +
    • +
    • 附件大小请控制在 10MB 以内,删除不必要的临时文件、视频文件、开发和测试过程中上传的测试文件等;
    • +
    • 视频文件可以上传到第三方视频网站,然后在总结报告文档中附上视频链接即可,以减少压缩包大小;
    • +
    • 已在 Github 上传所有文件的小组,在实验报告中同样需要附上项目仓库地址备查;
    • +
    • 课题结题报告
    • +
    +
  • +
  • 课程总评分数= 出勤 * 10% + CTF 成绩* 30% + 「创新实践能力团队赛」总结技术报告 * 60%
  • +
+
#赛题提交唯一通道Email 
+python -m base64 -d <<< "aHVhbmd3ZWkubWVAZ21haWwuY29t"
+
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cp/2022/index.html b/cp/2022/index.html new file mode 100644 index 00000000..abb3b6bb --- /dev/null +++ b/cp/2022/index.html @@ -0,0 +1,1280 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2022年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+ +
+ + +
+
+ + + + + +

2022 年教学计划

+

课程基本信息

+
    +
  • 主讲教师:黄玮、安靖
  • +
  • 课程主题:信息安全三年专业课综合运用和实践
  • +
  • 实验准备:自备电脑,自行安排时间和地点
  • +
  • 上课方式:讲授结课方式1次+自行组队完成大作业
  • +
+

课程阶段计划

+

本次小学期设计了 团队实践训练单兵作战 任务。

+

本次小学期 2 周时间的 团队实践训练 将参照 信息安全竞赛国赛创新实践能力团队赛 赛制展开专业综合实践训练。具体来说,参考 第十二届全国大学生信息安全竞赛创新实践能力赛 分区选拔赛应用场景开发需求第十二届全国大学生信息安全竞赛-创新实践能力赛 线下分区选拔赛参赛指南 和我们的具体评分标准

+

单兵作战 任务目标为构建 若干 包含 指定漏洞 的靶标环境并完成漏洞利用验证,按要求打包整套环境。

+

作品提交 DDL:2022.8.10 23:59:59。

+

结课大作业基本要求

+

共性要求

+
    +
  • 结课材料,统一用zip格式打包并提交到学校畅课平台指定作业模块(后续在课程微信群、畅课平台课程公告模块进行通知,注意查看)。附件命名规范:姓名1_姓名2_姓名3_姓名4_姓名5_姓名6_作业题目.zip
      +
    • 姓名先后顺序按照对结课作业的贡献程度排名;
    • +
    • 每人 独立完成一份 「创新实践能力团队赛」总结技术报告;
        +
      • markdown 书写,建议参照 基于 Markdown 的中文文档排版规范 对实验报告进行排版;
      • +
      • 内容重点强调:个人在本次大作业中的主要贡献;完成了哪些自认为有技术含量的工作;印象深刻的一些 bug 和自己的解决方法;
      • +
      +
    • +
    • 附件大小请控制在 10MB 以内,删除不必要的临时文件、视频文件、开发和测试过程中上传的测试文件等;
    • +
    • 视频文件可以上传到第三方视频网站,然后在总结报告文档中附上视频链接即可,以减少压缩包大小;
    • +
    • 已在 Github 上传所有文件的小组,在实验报告中同样需要附上项目仓库地址备查。
    • +
    +
  • +
+

单兵作战

+
    +
  • 若干 的数量定义会影响最终成绩。不同漏洞靶标的构建难度差异较大,因此不限定具体数量的漏洞靶标和最终成绩之间的确定关系,由老师根据具体漏洞靶标构建难度进行 基于客观事实的主观评价 。能者多劳,多多益善。保底及格要求是独立完成一个 低重复度 的漏洞靶标构建和漏洞利用验证。
  • +
  • 低重复度 指的是不超过 3 人重复构建同一个漏洞靶标。
  • +
  • +

    指定漏洞所影响软件范围如下,为了避免漏洞环境重复,请在动手构建靶标之前先和授课老师报名确认后再动手:

    +
  • +
  • +

    [ ] FTP

    +
  • +
  • [ ] MS-SQL
  • +
  • [ ] Oracle
  • +
  • [ ] MySQL
  • +
  • [ ] SQL Server
  • +
  • [ ] DB2
  • +
  • [ ] MariaDB
  • +
  • [ ] 达梦数据库
  • +
  • [ ] Informix
  • +
  • [ ] Gbase
  • +
  • [ ] SQLlite
  • +
  • [ ] VxWorks
  • +
  • [ ] AIX
  • +
  • [ ] Solaris
  • +
  • [ ] BSD
  • +
+

团队实践训练

+
    +
  • 以小组为单位完成「漏洞攻防实训」;
  • +
  • 每个小组至多允许 6 人,建议 4 人最佳;
  • +
  • 「创新实践能力团队赛」过程中产生的文档、代码均可以采用 Github 的方式管理(这是一个鼓励和支持的作业完成过程建议,有助于提高印象分哦~);
  • +
+

推荐的实验报告目录组织形式

+
├── 0_张三
+│   └── README.md
+├── 1_李四
+│   └── README.md
+├── 2_王五
+│   └── README.md
+├── 3_赵六
+│   └── README.md
+└── README.md
+
+ +
    +
  • 如果是选择在 公开仓库 提交作品,则无需实名命名上述子目录,可以使用自己的 网络 ID ,但是在打包提交到畅课作业区的最终实验报告目录里需要使用实名。
  • +
  • 根目录下的 README.md 内容统一要求如下,示范 READMEac-demo
  • +
+
# 作品名
+
+> 一句话简介。
+
+## 功能清单
+
+> 列表形式说明逐个功能要点。
+
+## 本项目用到的关键技术
+
+> 本作品中包含的密码学理论与技术示范应用要点说明,列表形式、逐个要点说明。
+
+## 快速上手体验
+
+> 快速安装与使用方法说明。
+
+## 演示
+
+> 课程结题报告与系统功能操作视频演示地址。
+
+## 附录-1 (可选)
+
+
+## 附录-2 (可选)
+
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cp/2023/img/pt-tools-1.png b/cp/2023/img/pt-tools-1.png new file mode 100644 index 00000000..30b5af01 Binary files /dev/null and b/cp/2023/img/pt-tools-1.png differ diff --git a/cp/2023/img/pt-tools-2.png b/cp/2023/img/pt-tools-2.png new file mode 100644 index 00000000..c819bdb9 Binary files /dev/null and b/cp/2023/img/pt-tools-2.png differ diff --git a/cp/2023/index.html b/cp/2023/index.html new file mode 100644 index 00000000..61b4acd2 --- /dev/null +++ b/cp/2023/index.html @@ -0,0 +1,1390 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2023年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

2023 年教学计划

+

课程基本信息

+
    +
  • 主讲教师:黄玮、安靖
  • +
  • 课程主题:网络空间安全三年专业课综合运用和实践
  • +
  • 实验准备:自备电脑,自行安排时间和地点
  • +
  • 上课方式:集中授课1次+分组学习+自行组队完成大作业
  • +
+

课程阶段计划

+

本次小学期设计了 团队实践训练单兵作战 任务。顾名思义,团队实践训练 采取同学们自由组队 分组完成 方式,每个小组至多允许 6 人,建议 4 人最佳;单兵作战 采取个人独立完成方式。同学们将在开课当天通过课程群里的腾讯问卷方式完成结课任务类型的选择。

+

分组完成单兵作战 至少「二选一」,鼓励学有余力的同学「多劳多得」。

+

本次小学期 2 周时间的 团队实践训练 将提供 2 种难度级别的实践任务: 基础团队实践训练进阶团队实践训练单兵作战 提供 2 种类别的实践任务:基础单兵作战攻防演练活动个人突出贡献总结 。4 种实践任务的具体要求如下:

+

1. 基础团队实践训练

+

团队分工跟练复现完成 网络安全(2021) 综合实验 。无论团队由多少人所组成,以下按本次实践训练所涉及到的人员能力集合划分了以下团队角色。一人至少承担一种团队角色,老师将按照该角色的评价标准进行 基于客观事实的主观评价

+
    +
  • 红队:需完成漏洞存在性验证和漏洞利用。
  • +
  • 蓝队威胁监测:漏洞利用的持续检测和威胁识别与报告。
  • +
  • 蓝队威胁处置:漏洞利用的缓解和漏洞修复(源代码级别和二进制级别两种)。
  • +
+

上述能力的基本评分原则参考“道术器”原则:最基础要求是能够跟练并复现 网络安全(2021) 综合实验 中演示实验使用到的工具;进阶标准是能够使用课程视频中 未使用 的工具或使用编程自动化、甚至是智能化的方式完成漏洞攻击或漏洞利用行为识别与处置。

+

2. 进阶团队实践训练

+

参照 信息安全竞赛国赛创新实践能力团队赛 赛制展开专业综合实践训练。具体来说,参考 第十二届全国大学生信息安全竞赛创新实践能力赛 分区选拔赛应用场景开发需求第十二届全国大学生信息安全竞赛-创新实践能力赛 线下分区选拔赛参赛指南 和我们的具体评分标准

+

3. 基础单兵作战

+

基础单兵作战 任务目标为构建 若干 包含 指定漏洞 的靶标环境并完成漏洞利用验证, 按要求打包 整套环境。

+

下图一 所示是一个满足上述要求的漏洞靶标环境的源代码目录结构示例。

+

+

下图二 所示是使用 Github Actions 在线验证漏洞靶标的漏洞可利用性的示例。

+

+

4. 攻防演练活动个人突出贡献总结

+

符合以下条件之一的同学,请提交个人演练活动总结报告:

+
    +
  • 参与前期红队模拟自查加固活动和正式攻防演练期间的威胁监测与研判处置工作,累积工作时长超过 80 小时。
  • +
  • 独立发现并报告高危漏洞 1 个或以上,并提供漏洞修复建议并被接受采纳。
  • +
  • 独立发现并报告中危漏洞 5 个或以上,并提供漏洞修复建议并被接受采纳。
  • +
+

总结报告具体要求如下:

+
    +
  • 参照 结课大作业基本要求 里的实验报告相关撰写基本要求。
  • +
  • 所有敏感数据(参照《数据安全法》和《个人信息保护法》相关法律规定要求,例如身份证号、手机号、姓名、宗教信仰、政治面貌等信息)、真实信息系统的截图均需要做 脱敏处理 ,禁止在结课材料中包含任何形式可能导致敏感信息泄露或敏感信息推断的信息。
  • +
+

结课大作业基本要求

+

共性要求

+
    +
  • 实践训练过程中产生的文档、代码均可以采用 Github/Gitlab/Gitee 的方式管理(这是一个鼓励和支持的作业完成过程建议,有助于提高印象分哦~);
  • +
  • 结课材料,统一用zip格式打包并提交到学校畅课平台指定作业模块(后续在课程微信群、畅课平台课程公告模块进行通知,注意查看)。附件命名规范:姓名1_姓名2_姓名3_姓名4_姓名5_姓名6_作业题目.zip
      +
    • 姓名先后顺序按照对结课作业的贡献程度排名;
    • +
    • 每人 独立完成一份 「创新实践能力团队赛」总结技术报告;
        +
      • markdown 书写,建议参照 基于 Markdown 的中文文档排版规范 对实验报告进行排版;
      • +
      • 内容重点强调:个人在本次大作业中的主要贡献;完成了哪些自认为有技术含量的工作;印象深刻的一些 bug 和自己的解决方法;
      • +
      +
    • +
    • 附件大小请控制在 10MB 以内,删除不必要的临时文件、视频文件、开发和测试过程中上传的测试文件等;
    • +
    • 视频文件可以上传到第三方视频网站,然后在总结报告文档中附上视频链接即可,以减少压缩包大小;
    • +
    • 已在 Github 上传所有文件的小组,在实验报告中同样需要附上项目仓库地址备查。
    • +
    +
  • +
  • 结课材料提交 DDL:2023.7.28 23:59:59。
  • +
+

附件大小请控制在 10MB 以内,删除不必要的临时文件、视频文件、开发和测试过程中上传的测试文件等。

+

单兵作战

+
    +
  • 若干 的数量定义会影响最终成绩。不同漏洞靶标的构建难度差异较大,因此不限定具体数量的漏洞靶标和最终成绩之间的确定关系,由老师根据具体漏洞靶标构建难度进行 基于客观事实的主观评价 。能者多劳,多多益善。保底及格要求是独立完成一个 低重复度 的漏洞靶标构建和漏洞利用验证。
  • +
  • 低重复度 指的是不超过 3 人重复构建同一个漏洞靶标。
  • +
  • 指定漏洞所影响软件范围如下,为了避免漏洞环境重复,请在动手构建靶标之前先和授课老师报名确认后再动手:
  • +
  • +

    漏洞构建标准详见私有仓库 c4pr1c3/PT-Tools

    +
  • +
  • +

    [ ] FTP

    +
  • +
  • [ ] MS-SQL
  • +
  • [ ] Oracle
  • +
  • [ ] MySQL
  • +
  • [ ] SQL Server
  • +
  • [ ] DB2
  • +
  • [ ] MariaDB
  • +
  • [ ] 达梦数据库
  • +
  • [ ] Informix
  • +
  • [ ] Gbase
  • +
  • [ ] SQLlite
  • +
  • [ ] VxWorks
  • +
  • [ ] AIX
  • +
  • [ ] Solaris
  • +
  • [ ] BSD
  • +
  • [ ] PHP 及相关主流流行开发框架
  • +
  • [ ] Python 及相关主流流行开发框架
  • +
  • [ ] Java 及相关主流流行开发框架
  • +
  • [ ] Go 及相关主流流行开发框架
  • +
  • [ ] Node.js 及相关主流流行开发框架
  • +
+

团队实践训练

+
    +
  • 完成「漏洞攻防实训」;
  • +
  • 分组完成 作业过程中产生的文档、代码均可以采用 Github/Gitlab/Gitee 的方式管理(这是一个鼓励和支持的作业完成过程建议,有助于提高印象分哦~);
  • +
+

推荐的实验报告目录组织形式

+
├── 0_张三
+│   └── README.md
+├── 1_李四
+│   └── README.md
+├── 2_王五
+│   └── README.md
+├── 3_赵六
+│   └── README.md
+└── README.md
+
+ +
    +
  • 如果是选择 单兵作战 的同学,则无需创建以自己姓名命名的子目录。上述一级子目录名请更换成具体实验任务名,例如 CVE-2020-5504CVE-2012-2122 。根目录下的 README.md 内容只需要提供提供所完成的具体实验任务的相对链接信息即可,如下所示:
  • +
+
- [CVE-2020-5504 漏洞复现验证报告](CVE-2020-5504/README.md)
+- [CVE-2012-2122](CVE-2012-2122/README.md)
+
+ +
    +
  • 如果是选择在 公开仓库 提交作品,则无需实名命名上述子目录,可以使用自己的 网络 ID ,但是在打包提交到畅课作业区的最终实验报告目录里需要使用实名。
  • +
  • 根目录下的 README.md 内容统一要求如下,示范 READMEac-demo
  • +
+
# 作品名
+
+> 一句话简介。
+
+## 功能清单
+
+> 列表形式说明逐个功能要点。
+
+## 本项目用到的关键技术
+
+> 本作品中包含的密码学理论与技术示范应用要点说明,列表形式、逐个要点说明。
+
+## 快速上手体验
+
+> 快速安装与使用方法说明。
+
+## 演示
+
+> 课程结题报告与系统功能操作视频演示地址。
+
+## 附录-1 (可选)
+
+
+## 附录-2 (可选)
+
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cp/2024/index.html b/cp/2024/index.html new file mode 100644 index 00000000..6fa63bb3 --- /dev/null +++ b/cp/2024/index.html @@ -0,0 +1,1425 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2024年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

2024 年教学计划

+

课程基本信息

+
    +
  • 主讲教师:黄玮、安靖
  • +
  • 课程主题:网络空间安全三年专业课综合运用和实践
  • +
  • 实验准备:自备电脑,
  • +
  • 上课方式:线下集中实践+分组学习+自行组队完成大作业+集中报告
  • +
+

课程目标与内容

+

本次小学期设计了 团队实践训练 任务。顾名思义,团队实践训练 采取同学们自由组队 分组完成 方式,每个小组至多允许 6 人,建议 4 人最佳。

+

本次小学期 2 周时间的 团队实践训练 将提供 2 种难度级别的实践任务: 基础团队实践训练进阶团队实践训练

+

1. 基础团队实践训练

+

团队分工跟练复现完成 网络安全(2021) 综合实验 。无论团队由多少人所组成,以下按本次实践训练所涉及到的人员能力集合划分了以下团队角色。一人至少承担一种团队角色,老师将按照该角色的评价标准进行 基于客观事实的主观评价

+
    +
  • 红队:需完成漏洞存在性验证和漏洞利用。
  • +
  • 蓝队威胁监测:漏洞利用的持续检测和威胁识别与报告。
  • +
  • 蓝队威胁处置:漏洞利用的缓解和漏洞修复(源代码级别和二进制级别两种)。
  • +
+

上述能力的基本评分原则参考“道术器”原则:最基础要求是能够跟练并复现 网络安全(2021) 综合实验 中演示实验使用到的工具;进阶标准是能够使用课程视频中 未使用 的工具或使用编程自动化、甚至是智能化的方式完成漏洞攻击或漏洞利用行为识别与处置。

+

涉及到的主要知识点和技能点

+
    +
  • 虚拟机软件(推荐 Virutalbox)的安装和基本使用
  • +
  • Ubuntu 系统的使用
  • +
  • Kali Linux 系统的使用
  • +
  • 在不同 Linux 发行版里的 Docker 容器的安装和基本使用
  • +
  • 通过 Dockerfile 构建靶标镜像
  • +
  • 通过 Docker Compose 部署靶标环境
  • +
  • 基于 Vulfocus 的漏洞复现
  • +
  • 基于 Vulfocus 的靶场搭建
  • +
  • 外网渗透测试:信息收集、端口扫描、服务识别、漏洞扫描、漏洞存在性验证、漏洞利用
  • +
  • Metasploit 及其他开源自动化攻击框架的使用
  • +
  • 内网渗透测试:信息收集、端口扫描、服务识别、网络拓扑发现、漏洞扫描、漏洞存在性验证、漏洞利用
  • +
  • 使用 Git 进行团队协作
  • +
  • 搜索引擎的使用
  • +
  • AI Copilot 的使用
  • +
  • 自动化攻击程序的编写
  • +
  • 入侵检测系统的安装与使用
  • +
  • 入侵取证
  • +
  • 漏洞利用缓解
  • +
  • 漏洞修复
  • +
  • 规范的技术文档撰写能力
  • +
+

2. 进阶团队实践训练

+

参照 信息安全竞赛国赛创新实践能力团队赛 赛制展开专业综合实践训练。具体来说,参考 第十二届全国大学生信息安全竞赛创新实践能力赛 分区选拔赛应用场景开发需求第十二届全国大学生信息安全竞赛-创新实践能力赛 线下分区选拔赛参赛指南 和我们的具体评分标准

+

涉及到的主要知识点和技能点

+
    +
  • #include 上述基础团队实践训练的所有知识点和技能点
  • +
  • #exclude 内网渗透测试
  • +
  • #exclude 基于 Vulfocus 的漏洞复现和靶场搭建
  • +
  • 完整的应用开发与交付部署能力
  • +
  • 软件工程文档撰写能力
  • +
+

3. 攻防演练活动个人贡献总结

+

符合以下条件之一的同学,请在畅课平台提交的最终报告里包含个人演练贡献总结报告:

+
    +
  • 参与 2023 年 12 月的校内攻防演练活动,独立发现并报告高危漏洞 1 个或以上,并提供漏洞修复建议并被接受采纳;或独立发现并报告中危漏洞 5 个或以上,并提供漏洞修复建议并被接受采纳。
  • +
  • 参与 2024 年 6 月的攻防演练期间威胁监测与研判处置工作,累积工作时长超过 40 小时。
  • +
+

总结报告具体要求如下:

+
    +
  • 参照 书面报告要求 里的文档撰写相关要求。
  • +
  • 所有敏感数据(参照《数据安全法》和《个人信息保护法》相关法律规定要求,例如身份证号、手机号、姓名、宗教信仰、政治面貌等信息)、真实信息系统的截图均需要做 脱敏处理 ,禁止在结课材料中包含任何形式可能导致敏感信息泄露或敏感信息推断的信息。
  • +
+

成绩评定

+
    +
  • 按照团队实践训练的总体完成度情况,通过团队的现场口头报告情况和提交的书面报告质量进行综合评定。
  • +
  • 总成绩 = 口头报告 * 40% + 书面报告 * 50% + 考勤记录 * 10% 。
  • +
  • 口头报告 现场报告完毕后,老师将根据现场报告的内容和团队成员的表现情况给予团队总体表现评分。团队成员现场完成团队分数到个人评分的分配和确认。举例,团队总体获得评分 90 ,团队由 6 人组成,此时可以用于分配给团队内个人的评分总数计算公式为:团队总分 * 团队人数 = 90 * 6 = 540 = 团队可分配总分。最终确认的个人评分分配方案需确保 团队个人评分之和 = 团队可分配总分
  • +
  • 书面报告 书面报告的质量将根据书面报告的内容、排版、撰写质量、撰写规范、代码规范、Git 使用规范性 等方面进行评分。
  • +
  • 考勤记录 考勤记录将根据同学们的出勤情况进行评分。初始考勤为满分 10 分,无故缺勤或早退 1 次扣 1 分,迟到 1 次扣 0.5 分,以此类推,扣完为止。完成团队口头报告任务之后,团队成员的考勤记录将不再进行变更。
  • +
  • 凡提交 攻防演练活动个人贡献总结 的同学,根据实际贡献情况,总成绩直接酌情加分。
  • +
+

难度级别说明

+
    +
  • ⭐️⭐️⭐️⭐️⭐️ 为最高难度级别,对团队成员的技术能力要求最高,需要团队成员具备很强的自主学习与动手实践能力、团队协作能力和举一反三能力。
  • +
  • ⭐️⭐️⭐️⭐️ 为较高难度级别,对团队成员的技术能力要求较高,需要团队成员具备较强的自主学习与动手实践能力、团队协作能力和集成创新或微调改造能力。
  • +
  • ⭐️⭐️⭐️ 为中等难度级别,对团队成员的技术能力要求一般,需要团队成员具备基本的自主学习与动手实践能力、团队协作能力和扎实的故障排查能力。
  • +
  • ⭐️⭐️ 为较低难度级别,对团队成员的技术能力要求较低,需要团队成员具备基本的自主学习与动手实践能力、团队协作能力和基本的故障排查能力。
  • +
  • ⭐️为最低难度级别,以 跟练和复现 形式为典型代表,且在操作过程中使用的工具软件具有较强的容错健壮性、较高的自动化水平甚至具备一定的自主智能性。
  • +
+

举例说明,在 基础团队实践训练 任务中需要同学们去构建一个带有内部网络结构的靶场环境,在这个任务里的 入口靶标 构建方式有多种,不同构建方式的难度判断标准举例如下:

+
    +
  • ⭐️ 直接使用 Vulfocus 自带的 DMZ 场景环境导入,不做任何修改。
  • +
  • ⭐️⭐️ 通过调研,找了一个其他人开源的靶场环境导入,不做任何修改。
  • +
  • ⭐️⭐️⭐️ 通过调研,参考其他人闭源的一个靶场环境设计方案,按照方案设计自己构建对应入口靶标。
  • +
  • ⭐️⭐️⭐️⭐️ 通过调研,参考其他人闭源的多个靶场环境设计方案,自己设计靶场环境和演练剧本,按照该剧本设计自己构建对应入口靶标。
  • +
  • ⭐️⭐️⭐️⭐️⭐️ 通过调研,选择了参考资料稀少或完全没有的漏洞信息来构建入口靶标。
  • +
+

口头报告要求

+
    +
  • 每个小组 20 分钟以内的现场报告时间,包括团队成员的分工、完成情况、遇到的问题和解决方案等。
  • +
  • 接受现场老师和同学们的提问,回答问题,解释团队的工作成果原理、团队成员的贡献,半小时左右。
  • +
  • 同学们微信小窗联系授课老师申请安排现场口头报告时间,报告的先后顺序以同学们完整书面报告和答辩 PPT 提交到 git 仓库的提交时间为排序依据。
  • +
  • 现场口头报告后老师提出的修改意见,同学们需要在书面报告中进行修改,并在后续的 git 提交后,通过 commit messagegit 网页版的评论功能 归纳概述修改落实情况或未修改原因,以便最终评分。
  • +
+

书面报告要求

+
    +
  • 实践训练过程中产生的文档、代码均可以采用 Github/Gitlab/Gitee 的方式管理(这是一个鼓励和支持的作业完成过程建议,有助于提高印象分哦~);
  • +
  • 结课材料,统一用zip格式打包并提交到学校畅课平台指定作业模块(后续在课程微信群、畅课平台课程公告模块进行通知,注意查看)。附件命名规范:姓名1_姓名2_姓名3_姓名4_姓名5_姓名6_作业题目.zip
      +
    • 姓名先后顺序按照 口头报告 环节确认的个人得分,从高到低、从左到右依次排列;
    • +
    • 所有文档统一采用 markdown 书写,建议参照 基于 Markdown 的中文文档排版规范 对报告内容进行排版;
        +
      • 个人实践心得体会 内容重点强调:个人在本次大作业中的主要贡献;完成了哪些自认为有技术含量的工作;印象深刻的一些 bug 和自己的解决方法;
      • +
      +
    • +
    • 附件大小请控制在 10MB 以内,删除不必要的临时文件、视频文件、开发和测试过程中上传的测试文件等;
    • +
    • 视频文件可以上传到第三方视频网站,然后在总结报告文档中附上视频链接即可,以减少压缩包大小;
    • +
    • 已在 Github 上传所有文件的小组,在实验报告中同样需要附上项目仓库地址备查。
    • +
    +
  • +
  • 结课材料提交 DDL:2024.7.26 23:59:59
  • +
+

推荐的实验报告目录组织形式

+
├── 0_张三 # 存放 `个人的实践心得体会`
+│   └── README.md
+├── 1_李四
+│   └── README.md
+├── 2_王五
+│   └── README.md
+├── 3_赵六
+│   └── README.md
+├── code  # 存放代码
+├── docs  # 存放项目说明文档
+└── README.md
+
+ +
    +
  • 如果是选择在 公开仓库 提交作品,则无需实名命名上述子目录,可以使用自己的 网络 ID ,但是在打包提交到畅课作业区的最终实验报告目录里需要替换为实名。
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cp/2025/index.html b/cp/2025/index.html new file mode 100644 index 00000000..a1929d4c --- /dev/null +++ b/cp/2025/index.html @@ -0,0 +1,1366 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2025年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

2025 年教学计划

+

课程基本信息

+
    +
  • 主讲教师:黄玮、安靖
  • +
  • 课程主题:网络空间安全两年半专业课综合运用和实践
  • +
  • 实验准备:自备电脑,
  • +
  • 上课方式:线下集中实践+分组学习+自行组队完成大作业+集中报告
  • +
+

课程目标

+
    +
  1. 了解网络攻防相关法律法规,理解网络攻防的基本概念、基本原理和基本方法。
  2. +
  3. 掌握网络攻防的基本技术,包括红队技术(例如:信息收集、端口扫描、服务识别、漏洞扫描、漏洞利用)和蓝队技术(例如:入侵检测、入侵取证、应急响应等)。
  4. +
  5. 理解网络靶场的概念,掌握网络靶场的搭建方法、演练方案的设计和实施方法。
  6. +
+

课程内容

+

本实践课程以 团队实践训练 任务形式开展。顾名思义,团队实践训练 采取同学们自由组队 分组完成 方式,每个小组至多允许 6 人,建议 4 人最佳。

+

本次课程实践由 2 个阶段的任务共同组成,分别是: 基础团队实践训练进阶团队实践训练

+

1. 基础团队实践训练

+

团队分工跟练复现完成 网络安全(2021) 综合实验 。无论团队由多少人所组成,以下按本次实践训练所涉及到的人员能力集合划分了以下团队角色。一人至少承担一种团队角色,老师将按照该角色的评价标准进行 基于客观事实的主观评价

+
    +
  • 红队:需完成漏洞存在性验证和漏洞利用。
  • +
  • 蓝队威胁监测:漏洞利用的持续检测和威胁识别与报告。
  • +
  • 蓝队威胁处置:漏洞利用的缓解和漏洞修复(源代码级别和二进制级别两种)。
  • +
+

上述能力的基本评分原则参考“道术器”原则:最基础要求是能够跟练并复现 网络安全(2021) 综合实验 中演示实验使用到的工具;进阶标准是能够使用课程视频中 未使用 的工具或使用编程自动化、甚至是智能化的方式完成漏洞攻击或漏洞利用行为识别与处置。

+

2. 进阶团队实践训练

+

设计不同于 网络安全(2021) 综合实验 中的典型企业三层网络架构的攻防场景,评分时将从靶标所包含漏洞的差异性、漏洞利用的复杂性、网络拓扑的差异性、网络拓扑的复杂性、ATT&CK 技术点的覆盖数量、蓝队的威胁监测与处置的复杂性等方面进行评分。

+

涉及到的主要知识点和技能点

+
    +
  • 虚拟机软件(推荐 Virutalbox)的安装和基本使用
  • +
  • Ubuntu 系统的使用
  • +
  • Kali Linux 系统的使用
  • +
  • 在不同 Linux 发行版里的 Docker 容器的安装和基本使用
  • +
  • 通过 Dockerfile 构建靶标镜像
  • +
  • 通过 Docker Compose 部署靶标环境
  • +
  • 基于 Vulfocus 的漏洞复现
  • +
  • 基于 Vulfocus 的靶场搭建
  • +
  • 外网渗透测试:信息收集、端口扫描、服务识别、漏洞扫描、漏洞存在性验证、漏洞利用
  • +
  • Metasploit 及其他开源自动化攻击框架的使用
  • +
  • 内网渗透测试:信息收集、端口扫描、服务识别、网络拓扑发现、漏洞扫描、漏洞存在性验证、漏洞利用
  • +
  • 使用 Git 进行团队协作
  • +
  • 搜索引擎的使用
  • +
  • AI Copilot 的使用
  • +
  • 自动化攻击程序的编写
  • +
  • 入侵检测系统的安装与使用
  • +
  • 入侵取证
  • +
  • 漏洞利用缓解
  • +
  • 漏洞修复
  • +
  • 规范的技术文档撰写能力
  • +
  • ATT&CK 知识库的使用
  • +
+

成绩评定

+
    +
  • 按照团队实践训练的总体完成度情况,通过团队的现场口头报告情况和提交的书面报告质量进行综合评定。
  • +
  • 总成绩 = 口头报告 * 40% + 书面报告 * 50% + 考勤记录 * 10% 。
  • +
  • 口头报告 现场报告完毕后,老师将根据现场报告的内容和团队成员的表现情况给予团队总体表现评分。团队成员现场完成团队分数到个人评分的分配和确认。举例,团队总体获得评分 90 ,团队由 6 人组成,此时可以用于分配给团队内个人的评分总数计算公式为:团队总分 * 团队人数 = 90 * 6 = 540 = 团队可分配总分。最终确认的个人评分分配方案需确保 团队个人评分之和 = 团队可分配总分
  • +
  • 书面报告 书面报告的质量将根据书面报告的内容、排版、撰写质量、撰写规范、代码规范、Git 使用规范性 等方面进行评分。
  • +
  • 考勤记录 考勤记录将根据同学们的出勤情况进行评分。初始考勤为满分 10 分,无故缺勤或早退 1 次扣 1 分,迟到 1 次扣 0.5 分,以此类推,扣完为止。
  • +
+

难度级别说明

+
    +
  • ⭐️⭐️⭐️⭐️⭐️ 为最高难度级别,对团队成员的技术能力要求最高,需要团队成员具备很强的自主学习与动手实践能力、团队协作能力和举一反三能力。
  • +
  • ⭐️⭐️⭐️⭐️ 为较高难度级别,对团队成员的技术能力要求较高,需要团队成员具备较强的自主学习与动手实践能力、团队协作能力和集成创新或微调改造能力。
  • +
  • ⭐️⭐️⭐️ 为中等难度级别,对团队成员的技术能力要求一般,需要团队成员具备基本的自主学习与动手实践能力、团队协作能力和扎实的故障排查能力。
  • +
  • ⭐️⭐️ 为较低难度级别,对团队成员的技术能力要求较低,需要团队成员具备基本的自主学习与动手实践能力、团队协作能力和基本的故障排查能力。
  • +
  • ⭐️为最低难度级别,以 跟练和复现 形式为典型代表,且在操作过程中使用的工具软件具有较强的容错健壮性、较高的自动化水平甚至具备一定的自主智能性。
  • +
+

口头报告要求

+
    +
  • 每个小组 20 分钟以内的现场报告时间,包括团队成员的分工、完成情况、遇到的问题和解决方案等。
  • +
  • 接受现场老师和同学们的提问,回答问题,解释团队的工作成果原理、团队成员的贡献,半小时左右。
  • +
  • 同学们微信小窗联系授课老师申请安排现场口头报告时间,报告的先后顺序以同学们完整书面报告和答辩 PPT 提交到 git 仓库的提交时间为排序依据。
  • +
  • 现场口头报告后老师提出的修改意见,同学们需要在书面报告中进行修改,并在后续的 git 提交后,通过 commit messagegit 网页版的评论功能 归纳概述修改落实情况或未修改原因,以便最终评分。
  • +
+

书面报告要求

+
    +
  • 实践训练过程中产生的文档、代码均可以采用 Github/Gitlab/Gitee 的方式管理(这是一个鼓励和支持的作业完成过程建议,有助于提高印象分哦~);
  • +
  • 结课材料,统一用zip格式打包并提交到学校畅课平台指定作业模块(后续在课程微信群、畅课平台课程公告模块进行通知,注意查看)。附件命名规范:姓名1_姓名2_姓名3_姓名4_姓名5_姓名6_作业题目.zip
      +
    • 姓名先后顺序按照 口头报告 环节确认的个人得分,从高到低、从左到右依次排列;
    • +
    • 所有文档统一采用 markdown 书写,建议参照 基于 Markdown 的中文文档排版规范 对报告内容进行排版;
        +
      • 个人实践心得体会 内容重点强调:个人在本次大作业中的主要贡献;完成了哪些自认为有技术含量的工作;印象深刻的一些 bug 和自己的解决方法;
      • +
      +
    • +
    • 附件大小请控制在 10MB 以内,删除不必要的临时文件、视频文件、开发和测试过程中上传的测试文件等;
    • +
    • 视频文件可以上传到第三方视频网站,然后在总结报告文档中附上视频链接即可,以减少压缩包大小;
    • +
    • 已在 Github 上传所有文件的小组,在实验报告中同样需要附上项目仓库地址备查。
    • +
    +
  • +
  • 结课材料提交 DDL:2025.06.30 23:59:59
  • +
+

推荐的实验报告目录组织形式

+
├── 0_张三 # 存放 `个人的实践心得体会`
+│   └── README.md
+├── 1_李四
+│   └── README.md
+├── 2_王五
+│   └── README.md
+├── 3_赵六
+│   └── README.md
+├── code  # 存放代码
+├── docs  # 存放项目说明文档
+└── README.md
+
+ +
    +
  • 如果是选择在 公开仓库 提交作品,则无需实名命名上述子目录,可以使用自己的 网络 ID ,但是在打包提交到畅课作业区的最终实验报告目录里需要替换为实名。
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cp/assessment.html b/cp/assessment.html new file mode 100644 index 00000000..592b0e3b --- /dev/null +++ b/cp/assessment.html @@ -0,0 +1,1173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 创新实践能力团队赛评分标准 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

创新实践能力团队赛评分标准

+

BuildIt 评分标准

+

基于 第十二届全国大学生信息安全竞赛-创新实践能力赛 线下分区选拔赛参赛指南 的评分标准,增加对「软件工程」专项专业能力的训练目标考核,制订以下评分标准。

+

本阶段当前满分:70 。

+

EXP 通过率

+

分值:0 或 10

+

对参赛队提供的 EXP 脚本进行测试,以能成功获取平台方配置的 Flag,则获取该部分得分。

+

能力符合度

+

分值:0 - 20

+
    +
  1. 安全技术点、漏洞利用点具有一定实用性、新颖性;
  2. +
  3. 体现网络空间安全及相关专业应具备知识技能的综合应用;
  4. +
  5. 赛题场景反应了常见应用的新问题,或是热点应用的新问题,能反应信息安全/网络安全技术应用的方向和趋势。
  6. +
+

功能实现度-完整性

+

分值:0 或 5

+
    +
  1. 场景设计部分以战队为单位提交,场景必须由选课同学独立完成;
  2. +
  3. 场景设计中不得包含违反法律法规和违背社会道德的敏感词汇;
  4. +
  5. 场景设计中不得有侵害他人知识产权、品牌及名誉的内容,设计者需要对场景享有完全的知识产权或对借鉴他人的部分享有充分授权;
  6. +
  7. 场景中不得含有关于场景设计者信息的描述或暗示;
  8. +
  9. 分区赛现场不允许任何人通过任何形式外接网络,所以场景设计时请考虑 避免需要联网 的内容,如有外链请下载到本地并改为使用本地链接;
  10. +
  11. 请不要附带无关文件,最后提供压缩包以及其文件哈希值(如md5值),并以 md5验证.txt 为文件名放到场景的压缩包中;
  12. +
  13. 如有特殊情况的请备注。
  14. +
+

功能实现度-可用性

+

分值:0 或 5

+
    +
  1. 场景考点设计是否有一定的逻辑性、合理性(拒绝纯脑洞出题);
  2. +
  3. web 题目的静态资源(如js、css)是否要使用外链;
  4. +
  5. pwn 题的源码是否能编译;
  6. +
  7. check 和 exp 脚本必须可用;
  8. +
  9. 解题的路径仅是否 只有一条
  10. +
+

功能实现度-实用性

+

分值:0 - 5

+
    +
  1. 可能在信息安全/网络安全等领域产生影响;
  2. +
  3. 是否和业务实践紧密结合。
  4. +
+

功能实现度-仿真性(新增)

+

分值:0 - 5

+
    +
  1. 应用应该有明确的仿真目标。例如,电商系统、CMS、留言板、聊天工具等;
  2. +
  3. 用户界面和用户交互设计应满足基本的可用性标准。例如,所有功能页面之间应通过明确的链接方式进行跳转,避免需要用户手动在浏览器地址栏输入 URL 或改变请求参数来跳转页面;
  4. +
  5. 用户操作出错应提供用户友好的错误提示信息。
  6. +
+

文档实现度-完整性(新增)

+

分值:0 - 10

+
    +
  1. 需求分析、(概要和详细)设计文档齐备(内容可以合并在一个文件中,但需有明确的章节标注);
  2. +
  3. 必要的插图或表格,包括但不限于:UML 图、用例图、系统架构图、数据库表结构设计;
  4. +
  5. API 接口设计说明,包括但不限于:URI、功能描述、请求参数说明、请求方法说明、响应值说明等;
  6. +
  7. 人员分工说明;
  8. +
  9. 甘特图(可选)。
  10. +
+

文档实现度-规范性(新增)

+

分值:0 - 5

+
    +
  1. 使用 Markdown 书写所有文档;
  2. +
  3. 排版规范。例如,有基本的章节目录、合理使用无序列表、有序列表、插图、表格和超链接引用标注;
  4. +
  5. 插图绘制满足:表达力、规范性和一致性原则。
  6. +
+

开发规范性(新增)

+

分值:0 - 5

+
    +
  1. 使用 Github / Gitee 私有仓库管理所有代码和文档;
  2. +
  3. 全程使用 Github / Gitee 进行协作开发;
  4. +
  5. Git 使用规范;
  6. +
  7. ExpChecker 脚本应提供必要的 requirements.txtPipfile
  8. +
+

BreakIt 评分标准

+

本阶段当前满分:20 。

+
    +
  1. 限于线上教学环境限制,本阶段只要求自己攻破自己 BuildIt 阶段开发的靶标环境;
  2. +
  3. 提交 BreakIt 环节的技术总结报告和 Exp ,视报告和 Exp 质量情况评分;
  4. +
  5. 本阶段的技术总结报告和 Exp 需统一提交到项目仓库的 BreakIt 子目录。
  6. +
+

FixIt 评分标准

+

本阶段当前满分:10 。

+
    +
  1. 只需提供自己 BuildIt 阶段赛题的 FixIt 技术总结报告;
  2. +
  3. 鼓励采用 diff patch 方式进行源代码级别的漏洞修复。
  4. +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ds.html b/ds.html new file mode 100644 index 00000000..52224570 --- /dev/null +++ b/ds.html @@ -0,0 +1,1020 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 数据结构A - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + +
+
+ + + + + +

数据结构A

+ + + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ds/2017/index.html b/ds/2017/index.html new file mode 100644 index 00000000..d54325ae --- /dev/null +++ b/ds/2017/index.html @@ -0,0 +1,1006 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2017年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + +
+
+ + + + + +

2017年

+ + + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 00000000..8e09f234 --- /dev/null +++ b/index.html @@ -0,0 +1,1160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

课程列表

+

进行中

+ +

未开课

+ +

存档课

+ +

缺省的实验报告评分标准

+
+

以下规则以单次实验报告满分 10 分为例,其他满分分值需要进行等比例调整。

+
+
    +
  • 实验报告内容完成度「满分 7分
      +
    • 部分完成:5分
    • +
    • 基本完成: 6分
    • +
    • 少量瑕疵:7分
    • +
    +
  • +
  • markdown 使用规范 「1分
      +
    • github / gitlab 上在线渲染结果正确无误 (本条违反,本项直接扣 1 分)
    • +
    • 所有配图均已上传到 github / gitlab 且在文档内使用「相对路径」引用(禁止使用图片「外链」)(仅本条违反,扣 0.5 分。同时第三条违反,扣 1 分)
    • +
    • 代码块正确使用语法高亮标记 (仅有这一条少量违反,本项可以不扣分。超过 5 处代码引用未高亮标记,扣 0.5 分)
    • +
    +
  • +
  • git 使用规范 「0.5分
      +
    • PR / MR 标题中体现了作业序号,例如 chap0x01
    • +
    • 推荐的目录结构和分支结构
    • +
    • 见名知意 的文件命名,好评 示例如 logged_in.png, install_complete.png扣分 示例:1.png, 新建文本文件.md
    • +
    • 每一章的作业只有通过 PR / MR 方式提交,才会获得助教批改。不接受 直接将文件上传到主分支的方式提交作业。未通过 PR / MR 方式提交作业,助教有权不予批改。进行中的作业可以放心提交到对应作业分支实现作业进度保存,只要不 PR / MR ,不会被批改。
    • +
    • 在教务系统中没有查到你的期末成绩之前,不要手动合并 PR / MR 到主分支。
    • +
    +
  • +
  • 实验报告结构规范性程度 「0.5分
      +
    • 在实验报告末总结了遇到的问题与解决方案
    • +
    • 参考文献/资料引用标准规范
    • +
    +
  • +
  • 按时提交 「满分 1分
      +
    • 晚提交不超过 1 周 0.5分
    • +
    +
  • +
  • 未体现 自己亲自动手完成 的实验报告直接按照 0 分处理。体现自己亲自动手完成的实验报告的典型方式如:截图中包含体现自己个人特征的实验环境指纹,包括但不限于:Linux 系统的命令行提示符、自定义的 shell 提示符 包含自己的网名;操作截图中多次出现自己独一无二的桌面壁纸的不同局部、录制完整的自己动手操作视频并进行后期剪辑、添加水印、上传到视频网站自己的账号下
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux.html b/linux.html new file mode 100644 index 00000000..ba9ffaed --- /dev/null +++ b/linux.html @@ -0,0 +1,1133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Linux 系统与网络管理 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+ +
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2019/index.html b/linux/2019/index.html new file mode 100644 index 00000000..53f062fe --- /dev/null +++ b/linux/2019/index.html @@ -0,0 +1,1284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2019年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

Linux系统与网络管理

+

一、课程基本信息

+
    +
  • 课程编号:111047
  • +
  • 英文名称:Linux System and Network Management
  • +
  • 授课对象:信息安全
  • +
  • 开课学期:6
  • +
  • 学分/学时:1.5/32(课内16学时,实验上机16学时)
  • +
  • 先修课程:计算机导论,计算机网络
  • +
  • 教学方式:课内讲授,上机实验
  • +
+

课程简介

+

Linux网络操作系统支持多用户与多任务,近年来发展迅速,已经成为主流操作系统之一,具有十分广泛的应用。本课程以Linux网络操作系统为范例,以理论联系实际的教学方法,系统学习网络操作系统的使用以及网络系统和网络服务构建的相关知识,并通过课程实践,培养学生的实际技能。主要包括Linux安装、系统管理与网络基础;DHCP、WEB、FTP、Samba、NFS、DNS等网络服务的基本原理与服务器配置与应用。通过本课程学习,使学生掌握基于Linux网络操作系统进行网络系统与服务的部署、应用、管理的相关知识和技能。

+

二、课程教学目的和要求

+

Linux是网络应用领域中广泛使用的一种主流操作系统。通过本课程学习,使学生掌握基于Linux网络操作系统进行网络系统与服务的布署、应用、管理的相关知识和技能,为网络系统管理、云计算及服务器应用开发等奠定基础。

+

三、教学内容与学时分配

+

第一章: Linux基础(2学时)

+
    +
  • 概述:发行版、开源社区与文化、内核版本历史、LSB(Linux Standard Base)、CGL(Carrier Grade Linux)、Linux Foundation等
  • +
  • 操作系统安装:物理机安装、虚拟机安装、系统分区、无人值守安装等
  • +
  • 内置帮助系统的使用:man、--help、-h
  • +
  • 命令行使用:shell家族、自动补全、重复命令输入等bash常用快捷键、文本编辑与查看(echo、cat、less、vim、sort、uniq、wc等)
  • +
  • SSH与远程服务器管理:免密登录、SSH跳板与堡垒主机、SSH服务器安全加固
  • +
+

在线查看课件

+

第二章:Linux服务器系统使用基础(2学时)

+
    +
  • 文件的压缩与解压缩:tar、gz、zip、gzip、7z等、跨平台压缩文件的中文乱码问题等
  • +
  • 软件包管理:安装、升级、卸载、源码下载与安装
  • +
  • 文件管理:find、grep、sed等命令的使用
  • +
  • 进程管理:ps、kill等命令的使用
  • +
  • 目录结构:man hier、ls
  • +
  • 网络调试:ethtool、ip、ifconfig、arp、traceroute、netstat、route、/etc/hosts、/etc/resolv.conf、tcpdump等
  • +
+

在线查看课件

+

第三章:Linux服务器系统管理基础(2学时)

+
    +
  • 用户/组与权限管理:su与sudo、passwd、adduser/useradd、groupadd/addgroup、usermod、getfacl/setfacl等命令的使用
  • +
  • 文件系统与存储管理:文件系统类型与格式化、磁盘分区、存储设备与文件系统挂载(开机自动挂载、网络文件系统挂载、iso文件挂载等)、基于LVM(逻辑分卷管理)的分区容量动态调整
  • +
  • 文件备份与恢复(文件和目录属主信息的保存)等
  • +
  • 开机自启动项管理:系统加载流程(SystemdLSBInitScripts )
  • +
  • 配置每天自动安装安全更新
  • +
+

在线查看课件

+

第四章:shell脚本编程基础(2学时)

+
    +
  • 开发和调试环境搭建
  • +
  • 基本语法:shell版本、变量定义、环境变量、过程(函数)、条件语句、循环、数值计算、数组、子进程等
  • +
  • 实例讲解:校园网自动联网bash脚本
  • +
+

在线查看课件

+

第五章:Web服务器(2学时)

+
    +
  • Web服务基本概念:HTTP请求处理的生命周期
  • +
  • 主流WEB服务器:apache 1.x/2.x、nginx(衍生发行版:OpenRestyKongTengine
  • +
  • 用curl和nginx重新认识和学习HTTP协议
  • +
+

在线查看课件

+

第六章:网络资源共享(1学时)

+
    +
  • FTP服务概述及FTP服务器配置
  • +
  • NFS服务概述及NFS服务器配置
  • +
  • Samba服务概述及Samba服务器安装与配置
  • +
+

在线查看课件

+

第七章:DHCP与DNS服务(1学时)

+
    +
  • DHCP服务概述
  • +
  • DHCP基本原理
  • +
  • DHCP服务器安装配置
  • +
  • DNS服务概述
  • +
  • DNS服务器配置
  • +
+

在线查看课件

+

第八章:DevOps文化、运维自动化与持续部署(4学时)

+
    +
  • 发布管理:开发环境、测试环境与生产环境的一致性(代码、数据、网络、系统运行时、依赖的lib等)、上线与回滚
  • +
  • 主流技术工具链:git(github/gitlab)、ansible(puppet、chef、salt等)、docker(dockerfile/k8s/dockerhub)、openstack(KVM、Xen)、openvswitch、tcpreplay
  • +
+

在线查看课件 | PXE | ansible

+

四、作业、实践环节

+ +

五、建议教材

+

所有课件的源代码均已开源在Github - c4pr1c3/LinuxSysAdmin

+

六、参考资料

+ + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2020/calendar.html b/linux/2020/calendar.html new file mode 100644 index 00000000..f477f358 --- /dev/null +++ b/linux/2020/calendar.html @@ -0,0 +1,1206 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2020 春线上教学日历 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

2020 春线上教学日历

+

2020-03-10

+ +

2020-03-17

+ +

2020-03-24

+ +

2020-03-31

+ +

2020-04-07

+ +

2020-04-14

+ +

2020-04-21

+ +

2020-04-28

+ +

2020-05-09

+ +

2020-05-12

+ +

2020-05-19

+ +

2020-05-26

+
    +
  • 交流与答疑
  • +
  • 第六章实验
  • +
+

2020-06-02

+ +

2020-06-09

+ +

2020-06-16

+ +

2020-06-23

+
    +
  • 交流与答疑
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2020/index.html b/linux/2020/index.html new file mode 100644 index 00000000..52258bf3 --- /dev/null +++ b/linux/2020/index.html @@ -0,0 +1,1315 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2020年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

Linux系统与网络管理

+

一、课程基本信息

+
    +
  • 课程编号:2121030017
  • +
  • 英文名称:Linux System and Network Management
  • +
  • 授课对象:信息安全,软件工程
  • +
  • 开课学期:4
  • +
  • 学分/学时:1.5/32(课内16学时,实验上机16学时)
  • +
  • 先修课程:计算机导论,计算机网络
  • +
  • 教学方式:课内(线上)讲授,上机实验
  • +
  • 详细教学日历
  • +
+

课程简介

+

Linux网络操作系统支持多用户与多任务,近年来发展迅速,已经成为主流操作系统之一,具有十分广泛的应用。本课程以Linux网络操作系统为范例,以理论联系实际的教学方法,系统学习网络操作系统的使用以及网络系统和网络服务构建的相关知识,并通过课程实践,培养学生的实际技能。主要包括Linux安装、系统管理与网络基础;DHCP、WEB、FTP、Samba、NFS、DNS等网络服务的基本原理与服务器配置与应用。通过本课程学习,使学生掌握基于Linux网络操作系统进行网络系统与服务的部署、应用、管理的相关知识和技能。

+

二、课程教学目的和要求

+

Linux是网络应用领域中广泛使用的一种主流操作系统。通过本课程学习,使学生掌握基于Linux网络操作系统进行网络系统与服务的布署、应用、管理的相关知识和技能,为网络系统管理、云计算及服务器应用开发等奠定基础。

+

三、教学内容与学时分配

+

第一章: Linux基础(2学时)

+
    +
  • 概述:发行版、开源社区与文化、内核版本历史、LSB(Linux Standard Base)、CGL(Carrier Grade Linux)、Linux Foundation等
  • +
  • 操作系统安装:物理机安装、虚拟机安装、系统分区、无人值守安装等
  • +
  • 内置帮助系统的使用:man、--help、-h
  • +
  • 命令行使用:shell家族、自动补全、重复命令输入等bash常用快捷键、文本编辑与查看(echo、cat、less、vim、sort、uniq、wc等)
  • +
  • SSH与远程服务器管理:免密登录、SSH跳板与堡垒主机、SSH服务器安全加固
  • +
+

在线查看课件

+

第二章:Linux服务器系统使用基础(2学时)

+
    +
  • 文件的压缩与解压缩:tar、gz、zip、gzip、7z等、跨平台压缩文件的中文乱码问题等
  • +
  • 软件包管理:安装、升级、卸载、源码下载与安装
  • +
  • 文件管理:find、grep、sed等命令的使用
  • +
  • 进程管理:ps、kill等命令的使用
  • +
  • 目录结构:man hier、ls
  • +
  • 网络调试:ethtool、ip、ifconfig、arp、traceroute、netstat、route、/etc/hosts、/etc/resolv.conf、tcpdump等
  • +
+

在线查看课件

+

第三章:Linux服务器系统管理基础(2学时)

+
    +
  • 用户/组与权限管理:su与sudo、passwd、adduser/useradd、groupadd/addgroup、usermod、getfacl/setfacl等命令的使用
  • +
  • 文件系统与存储管理:文件系统类型与格式化、磁盘分区、存储设备与文件系统挂载(开机自动挂载、网络文件系统挂载、iso文件挂载等)、基于LVM(逻辑分卷管理)的分区容量动态调整
  • +
  • 文件备份与恢复(文件和目录属主信息的保存)等
  • +
  • 开机自启动项管理:系统加载流程(SystemdLSBInitScripts )
  • +
  • 配置每天自动安装安全更新
  • +
+

在线查看课件

+

第四章:shell脚本编程基础(2学时)

+
    +
  • 开发和调试环境搭建
  • +
  • 基本语法:shell版本、变量定义、环境变量、过程(函数)、条件语句、循环、数值计算、数组、子进程等
  • +
  • 实例讲解:校园网自动联网bash脚本
  • +
+

在线查看课件

+

第五章:Web服务器(2学时)

+
    +
  • Web服务基本概念:HTTP请求处理的生命周期
  • +
  • 主流WEB服务器:apache 1.x/2.x、nginx(衍生发行版:OpenRestyKongTengine
  • +
  • 用curl和nginx重新认识和学习HTTP协议
  • +
+

在线查看课件

+

第六章:网络资源共享(1学时)

+
    +
  • FTP服务概述及FTP服务器配置
  • +
  • NFS服务概述及NFS服务器配置
  • +
  • Samba服务概述及Samba服务器安装与配置
  • +
+

在线查看课件

+

第七章:DHCP与DNS服务(1学时)

+
    +
  • DHCP服务概述
  • +
  • DHCP基本原理
  • +
  • DHCP服务器安装配置
  • +
  • DNS服务概述
  • +
  • DNS服务器配置
  • +
+

在线查看课件

+

第八章:DevOps文化、运维自动化与持续部署(4学时)

+
    +
  • 发布管理:开发环境、测试环境与生产环境的一致性(代码、数据、网络、系统运行时、依赖的lib等)、上线与回滚
  • +
  • 主流技术工具链:git(github/gitlab)、ansible(puppet、chef、salt等)、docker(dockerfile/k8s/dockerhub)、openstack(KVM、Xen)、openvswitch、tcpreplay
  • +
+

在线查看课件 | PXE | ansible

+

四、作业、实践环节

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
难度等级说明
⭐️照葫芦画瓢,没有坑。
⭐️⭐️照猫画虎,可能有小坑。
⭐️⭐️⭐️有较为详细的参考资料,但坑也不少,考察自己动手搜索能力。
⭐️⭐️⭐️⭐️参考资料较多,但需要提高信息检索和甄别能力。
⭐️⭐️⭐️⭐️⭐️偏综合能力训练,编程能力要求中等偏上。
+

五、建议教材

+

所有课件的源代码均已开源在Github - c4pr1c3/LinuxSysAdmin

+

六、参考资料

+ + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2021/calendar.html b/linux/2021/calendar.html new file mode 100644 index 00000000..4363d0bd --- /dev/null +++ b/linux/2021/calendar.html @@ -0,0 +1,1196 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2021 春教学日历 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

2021 春教学日历

+

上课前准备

+
    +
  • 请大家提前在 Virtualbox 中安装好 Ubuntu 20.04 系统
  • +
  • 自己搞不定手动安装过程的可以直接导入我安装好的虚拟机,如下所示
  • +
+

链接: https://pan.baidu.com/s/1nZ3-kiYz_gOeZeRKMgw3tA 提取码: cadd 复制这段内容后打开百度网盘手机App,操作更方便哦

+

本年度所有授课视频将集中在 B 站这个视频链接 下每周随授课进度更新一次。

+

视频选集的编号命名规则 X.Y.:

+
    +
  • X. 表示第几章
  • +
  • Y. 表示该章第几个视频片段
  • +
+

第一周 2021-03-01(线上)

+

第一章: Linux基础(2学时),详见教学计划 - 三、教学内容与学时分配

+

第二周 2021-03-08(线上)

+

第一章实验

+

第三周 2021-03-15(线上)

+

第二章 Linux 服务器系统使用基础

+
    +
  • H1 提交截止 2021-03-14 23:59:59
  • +
+

第四周 2021-03-22(线下)

+

第二章实验

+

第五周 2021-03-29(线上)

+

第三章 Linux 服务器系统管理基础

+
    +
  • H2 提交截止 2021-03-28 23:59:59
  • +
+

第六周 2021-04-05(清明节放假)

+

自行完成第三章实验

+

第七周 2021-04-12(线上)

+

第四章 Shell脚本编程基础

+

第八周 2021-04-19(线下)

+

第四章实验

+

第九周 2021-04-26(线上)

+

第五章 Web服务器

+
    +
  • H3 和 H4 提交截止 2021-04-25 23:59:59
  • +
+

第十周 2021-05-03(读书周放假)

+

第十一周 2021-05-10(线上)

+
    +
  • 第六章 网络资源共享
  • +
  • 第七章 DHCP与DNS服务
  • +
+

第十二周 2021-05-17(线下)

+

第五章实验

+

第十三周 2021-05-24(线上)

+
    +
  • 第八章 DevOps文化、运维自动化与持续部署
  • +
  • H5 提交截止 2021-05-23 23:59:59
  • +
+

第十四周 2021-05-31(线下)

+
    +
  • 第六七章实验
  • +
+

第十五周 2021-06-07(线上)

+
    +
  • 第八章 DevOps文化、运维自动化与持续部署
  • +
  • (可选)第八章番外篇: 实战入门 Cloud-Init
  • +
  • (可选)第八章番外篇: Ansible
  • +
  • H6 提交截止 2021-06-06 23:59:59
  • +
+

第十六周 2021-06-14(端午节放假)

+

自行完成第八章实验

+

第十七周 2021-06-21(线下)

+

第八章实验

+
    +
  • H7 和 H8 提交截止 2021-07-05 23:59:59
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2021/index.html b/linux/2021/index.html new file mode 100644 index 00000000..6fba02a6 --- /dev/null +++ b/linux/2021/index.html @@ -0,0 +1,1317 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2021年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

Linux系统与网络管理

+

一、课程基本信息

+

+
    +
  • 课程编号:2121030017
  • +
  • 英文名称:Linux System and Network Management
  • +
  • 授课对象:信息安全,软件工程
  • +
  • 开课学期:4
  • +
  • 学分/学时:1.5/32(课内16学时,实验上机16学时)
  • +
  • 先修课程:计算机导论,计算机网络
  • +
  • 教学方式:课内(线上)讲授,上机实验
  • +
  • 详细教学日历
  • +
  • 课程在线问答与讨论区
  • +
+

课程简介

+

Linux网络操作系统支持多用户与多任务,近年来发展迅速,已经成为主流操作系统之一,具有十分广泛的应用。本课程以Linux网络操作系统为范例,以理论联系实际的教学方法,系统学习网络操作系统的使用以及网络系统和网络服务构建的相关知识,并通过课程实践,培养学生的实际技能。主要包括Linux安装、系统管理与网络基础;DHCP、WEB、FTP、Samba、NFS、DNS等网络服务的基本原理与服务器配置与应用。通过本课程学习,使学生掌握基于Linux网络操作系统进行网络系统与服务的部署、应用、管理的相关知识和技能。

+

二、课程教学目的和要求

+

Linux是网络应用领域中广泛使用的一种主流操作系统。通过本课程学习,使学生掌握基于Linux网络操作系统进行网络系统与服务的布署、应用、管理的相关知识和技能,为网络系统管理、云计算及服务器应用开发等奠定基础。

+

三、教学内容与学时分配

+

第一章: Linux基础(2学时)

+
    +
  • 概述:发行版、开源社区与文化、内核版本历史、LSB(Linux Standard Base)、CGL(Carrier Grade Linux)、Linux Foundation等
  • +
  • 操作系统安装:物理机安装、虚拟机安装、系统分区、无人值守安装等
  • +
  • 内置帮助系统的使用:man、--help、-h
  • +
  • 命令行使用:shell家族、自动补全、重复命令输入等bash常用快捷键、文本编辑与查看(echo、cat、less、vim、sort、uniq、wc等)
  • +
  • SSH与远程服务器管理:免密登录、SSH跳板与堡垒主机、SSH服务器安全加固
  • +
+

在线查看课件

+

第二章:Linux服务器系统使用基础(2学时)

+
    +
  • 文件的压缩与解压缩:tar、gz、zip、gzip、7z等、跨平台压缩文件的中文乱码问题等
  • +
  • 软件包管理:安装、升级、卸载、源码下载与安装
  • +
  • 文件管理:find、grep、sed等命令的使用
  • +
  • 进程管理:ps、kill等命令的使用
  • +
  • 目录结构:man hier、ls
  • +
  • 网络调试:ethtool、ip、ifconfig、arp、traceroute、netstat、route、/etc/hosts、/etc/resolv.conf、tcpdump等
  • +
+

在线查看课件

+

第三章:Linux服务器系统管理基础(2学时)

+
    +
  • 用户/组与权限管理:su与sudo、passwd、adduser/useradd、groupadd/addgroup、usermod、getfacl/setfacl等命令的使用
  • +
  • 文件系统与存储管理:文件系统类型与格式化、磁盘分区、存储设备与文件系统挂载(开机自动挂载、网络文件系统挂载、iso文件挂载等)、基于LVM(逻辑分卷管理)的分区容量动态调整
  • +
  • 文件备份与恢复(文件和目录属主信息的保存)等
  • +
  • 开机自启动项管理:系统加载流程(SystemdLSBInitScripts )
  • +
  • 配置每天自动安装安全更新
  • +
+

在线查看课件

+

第四章:shell脚本编程基础(2学时)

+
    +
  • 开发和调试环境搭建
  • +
  • 基本语法:shell版本、变量定义、环境变量、过程(函数)、条件语句、循环、数值计算、数组、子进程等
  • +
  • 实例讲解:校园网自动联网bash脚本
  • +
+

在线查看课件

+

第五章:Web服务器(2学时)

+
    +
  • Web服务基本概念:HTTP请求处理的生命周期
  • +
  • 主流WEB服务器:apache 1.x/2.x、nginx(衍生发行版:OpenRestyKongTengine
  • +
  • 用curl和nginx重新认识和学习HTTP协议
  • +
+

在线查看课件

+

第六章:网络资源共享(1学时)

+
    +
  • FTP服务概述及FTP服务器配置
  • +
  • NFS服务概述及NFS服务器配置
  • +
  • Samba服务概述及Samba服务器安装与配置
  • +
+

在线查看课件

+

第七章:DHCP与DNS服务(1学时)

+
    +
  • DHCP服务概述
  • +
  • DHCP基本原理
  • +
  • DHCP服务器安装配置
  • +
  • DNS服务概述
  • +
  • DNS服务器配置
  • +
+

在线查看课件

+

第八章:DevOps文化、运维自动化与持续部署(4学时)

+
    +
  • 发布管理:开发环境、测试环境与生产环境的一致性(代码、数据、网络、系统运行时、依赖的lib等)、上线与回滚
  • +
  • 主流技术工具链:git(github/gitlab)、ansible(puppet、chef、salt等)、docker(dockerfile/k8s/dockerhub)、openstack(KVM、Xen)、openvswitch、tcpreplay
  • +
+

在线查看课件 | PXE | ansible

+

四、作业、实践环节

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
难度等级说明
⭐️照葫芦画瓢,没有坑。
⭐️⭐️照猫画虎,可能有小坑。
⭐️⭐️⭐️有较为详细的参考资料,但坑也不少,考察自己动手搜索能力。
⭐️⭐️⭐️⭐️参考资料较多,但需要提高信息检索和甄别能力。
⭐️⭐️⭐️⭐️⭐️偏综合能力训练,编程能力要求中等偏上。
+

五、建议教材

+

所有课件的源代码均已开源在Github - c4pr1c3/LinuxSysAdmin

+

六、参考资料

+ + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2022/calendar.html b/linux/2022/calendar.html new file mode 100644 index 00000000..4cd7d3f4 --- /dev/null +++ b/linux/2022/calendar.html @@ -0,0 +1,1204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2022 春教学日历 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

2022 春教学日历

+

上课前准备

+
    +
  • 请大家提前注册一个阿里云账号(无需付费购买任何服务)
  • +
  • 请大家提前在 Virtualbox 中安装好 Ubuntu 20.04 系统
  • +
  • 自己搞不定手动安装过程的可以直接导入我安装好的虚拟机,如下所示
  • +
+

链接: https://pan.baidu.com/s/1nZ3-kiYz_gOeZeRKMgw3tA 提取码: cadd 复制这段内容后打开百度网盘手机App,操作更方便哦

+

第一周 2022-02-21(线上直播)

+

第一章: Linux基础(2学时),详见教学计划 - 三、教学内容与学时分配

+

第二周 2022-02-28(线上直播)

+

第二章 Linux 服务器系统使用基础

+

第三周 2022-03-07(线上直播)

+

在线 直播 答疑。

+
    +
  • 第一章实验
  • +
  • 第二章实验
  • +
+

第四周 2022-03-14(线上)

+

在线 文字 答疑。

+
    +
  • 第一章实验
  • +
  • +

    第二章实验

    +
  • +
  • +

    H1 提交截止 2022-03-14 23:59:59

    +
  • +
+

第五周 2022-03-21(线上直播伴学)

+

第三章 Linux 服务器系统管理基础

+
    +
  • H2 提交截止 2022-03-21 23:59:59
  • +
+

第六周 2022-03-28(线上直播答疑)

+

自行完成第三章实验

+

第七周 2022-04-02(线上录播)清明假期调整

+

第四章 Shell脚本编程基础

+
    +
  • H3 提交截止 2022-04-05 23:59:59
  • +
+

第八周 2022-04-11(线上直播)

+

第四章实验

+

第九周 2022-04-18(线上录播)

+

第五章 Web服务器

+
    +
  • H4 提交截止 2022-04-18 23:59:59
  • +
+

第十周 2022-04-25(线上录播)

+
    +
  • 第六章 网络资源共享
  • +
  • 第七章 DHCP与DNS服务
  • +
+

第十一周 2022-05-02(读书周放假)

+

第十二周 2022-05-09(线上直播)

+

第五章实验

+

第十三周 2022-05-16(线上录播)

+
    +
  • 第八章 DevOps文化、运维自动化与持续部署
  • +
  • H5 提交截止 2022-05-16 23:59:59
  • +
+

第十四周 2022-05-23(线上直播)

+
    +
  • 第六七章实验
  • +
+

第十五周 2022-05-30(线上录播)

+
    +
  • 第八章 DevOps文化、运维自动化与持续部署
  • +
  • (可选)第八章番外篇: 实战入门 Cloud-Init
  • +
  • (可选)第八章番外篇: Ansible
  • +
  • H6 提交截止 2022-05-30 23:59:59
  • +
+

第十六周 2022-06-06(线上直播)

+

自行完成第八章实验

+

第十七周 2022-06-13(线上直播)

+

第八章实验

+
    +
  • H7 和 H8 提交截止 2022-07-04 23:59:59
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2022/homework.html b/linux/2022/homework.html new file mode 100644 index 00000000..88da3448 --- /dev/null +++ b/linux/2022/homework.html @@ -0,0 +1,1074 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 本学期课程考核规则 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

本学期课程考核规则

+

总成绩构成

+

等级成绩类型:百分制

+

总成绩 = 平时成绩 系数20% + 期末成绩 系数60% + 考勤成绩 系数10% + 线上成绩 系数10%

+

总成绩评定规则

+ +

平时成绩

+
    +
  • 基于 客观事实 的「主观评价」。客观事实 来源包括但不限于:在校内畅课平台上的讨论区提出好问题、回答问题对其他同学产生了有效帮助、课堂上积极参与互动等
  • +
+

期末成绩

+
    +
  • 8 章课程,每章课后均留有作业,按章节顺序分别记为:H1 ~ H8
  • +
  • 满分 10 分的 必选 作业:H1, H2, H3, H4
  • +
  • 满分 20 分的 四选一 作业:H5, H6, H7, H8。该项计分公式为:max(H5, H6, H7, H8) 。
  • +
  • H6, H7, H8 要求提交到私有仓库,其他章节作业均提交到公开仓库。
  • +
+

考勤成绩

+
    +
  • 本学期一共记录考勤 16 次,每次正常签到得 0.5 分,迟到得 0.2 分,旷课得 0 分。有假条的病事假按正常签到计分。
  • +
  • 学期考勤全勤(累计计分 8 分),获得全勤加分 2 分。
  • +
  • 学期考勤累计计分 [7.5, 8),获得考勤加分 1.5 分。
  • +
  • 学期考勤累计计分 [7, 7.5),获得考勤加分 1 分。
  • +
  • 学期考勤累计计分 [6.5, 7),获得考勤加分 0.5 分。
  • +
  • 学期考勤累计计分 [5.5, 6.5),无考勤加分。
  • +
  • 学期考勤累计计分 [0, 5.5),直接挂科
  • +
+

线上成绩

+
    +
  • 校内畅课平台上单元测试成绩累加后进行等比例折算。
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2022/index.html b/linux/2022/index.html new file mode 100644 index 00000000..fe13c3d4 --- /dev/null +++ b/linux/2022/index.html @@ -0,0 +1,1317 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2022年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

Linux系统与网络管理

+

一、课程基本信息

+

+
    +
  • 课程编号:2121030017
  • +
  • 英文名称:Linux System and Network Management
  • +
  • 授课对象:网络空间安全
  • +
  • 开课学期:4
  • +
  • 学分/学时:1.5/32(课内16学时,实验上机16学时)
  • +
  • 先修课程:计算机导论,计算机安全与维护
  • +
  • 教学方式:课内(线上)讲授,上机实验
  • +
  • 详细教学日历
  • +
  • 本学期课程考核规则
  • +
+

课程简介

+

Linux网络操作系统支持多用户与多任务,近年来发展迅速,已经成为主流操作系统之一,具有十分广泛的应用。本课程以Linux网络操作系统为范例,以理论联系实际的教学方法,系统学习网络操作系统的使用以及网络系统和网络服务构建的相关知识,并通过课程实践,培养学生的实际技能。主要包括Linux安装、系统管理与网络基础;DHCP、WEB、FTP、Samba、NFS、DNS等网络服务的基本原理与服务器配置与应用。通过本课程学习,使学生掌握基于Linux网络操作系统进行网络系统与服务的部署、应用、管理的相关知识和技能。

+

二、课程教学目的和要求

+

Linux是网络应用领域中广泛使用的一种主流操作系统。通过本课程学习,使学生掌握基于Linux网络操作系统进行网络系统与服务的布署、应用、管理的相关知识和技能,为网络系统管理、云计算及服务器应用开发等奠定基础。

+

三、教学内容与学时分配

+

第一章: Linux基础(2学时)

+
    +
  • 概述:发行版、开源社区与文化、内核版本历史、LSB(Linux Standard Base)、CGL(Carrier Grade Linux)、Linux Foundation等
  • +
  • 操作系统安装:物理机安装、虚拟机安装、系统分区、无人值守安装等
  • +
  • 内置帮助系统的使用:man、--help、-h
  • +
  • 命令行使用:shell家族、自动补全、重复命令输入等bash常用快捷键、文本编辑与查看(echo、cat、less、vim、sort、uniq、wc等)
  • +
  • SSH与远程服务器管理:免密登录、SSH跳板与堡垒主机、SSH服务器安全加固
  • +
+

在线查看课件

+

第二章:Linux服务器系统使用基础(2学时)

+
    +
  • 文件的压缩与解压缩:tar、gz、zip、gzip、7z等、跨平台压缩文件的中文乱码问题等
  • +
  • 软件包管理:安装、升级、卸载、源码下载与安装
  • +
  • 文件管理:find、grep、sed等命令的使用
  • +
  • 进程管理:ps、kill等命令的使用
  • +
  • 目录结构:man hier、ls
  • +
  • 网络调试:ethtool、ip、ifconfig、arp、traceroute、netstat、route、/etc/hosts、/etc/resolv.conf、tcpdump等
  • +
+

在线查看课件

+

第三章:Linux服务器系统管理基础(2学时)

+
    +
  • 用户/组与权限管理:su与sudo、passwd、adduser/useradd、groupadd/addgroup、usermod、getfacl/setfacl等命令的使用
  • +
  • 文件系统与存储管理:文件系统类型与格式化、磁盘分区、存储设备与文件系统挂载(开机自动挂载、网络文件系统挂载、iso文件挂载等)、基于LVM(逻辑分卷管理)的分区容量动态调整
  • +
  • 文件备份与恢复(文件和目录属主信息的保存)等
  • +
  • 开机自启动项管理:系统加载流程(SystemdLSBInitScripts )
  • +
  • 配置每天自动安装安全更新
  • +
+

在线查看课件

+

第四章:shell脚本编程基础(2学时)

+
    +
  • 开发和调试环境搭建
  • +
  • 基本语法:shell版本、变量定义、环境变量、过程(函数)、条件语句、循环、数值计算、数组、子进程等
  • +
  • 实例讲解:校园网自动联网bash脚本
  • +
+

在线查看课件

+

第五章:Web服务器(2学时)

+
    +
  • Web服务基本概念:HTTP请求处理的生命周期
  • +
  • 主流WEB服务器:apache 1.x/2.x、nginx(衍生发行版:OpenRestyKongTengine
  • +
  • 用curl和nginx重新认识和学习HTTP协议
  • +
+

在线查看课件

+

第六章:网络资源共享(1学时)

+
    +
  • FTP服务概述及FTP服务器配置
  • +
  • NFS服务概述及NFS服务器配置
  • +
  • Samba服务概述及Samba服务器安装与配置
  • +
+

在线查看课件

+

第七章:DHCP与DNS服务(1学时)

+
    +
  • DHCP服务概述
  • +
  • DHCP基本原理
  • +
  • DHCP服务器安装配置
  • +
  • DNS服务概述
  • +
  • DNS服务器配置
  • +
+

在线查看课件

+

第八章:DevOps文化、运维自动化与持续部署(4学时)

+
    +
  • 发布管理:开发环境、测试环境与生产环境的一致性(代码、数据、网络、系统运行时、依赖的lib等)、上线与回滚
  • +
  • 主流技术工具链:git(github/gitlab)、ansible(puppet、chef、salt等)、docker(dockerfile/k8s/dockerhub)、openstack(KVM、Xen)、openvswitch、tcpreplay
  • +
+

在线查看课件 | PXE | ansible

+

四、作业、实践环节

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
难度等级说明
⭐️照葫芦画瓢,没有坑。
⭐️⭐️照猫画虎,可能有小坑。
⭐️⭐️⭐️有较为详细的参考资料,但坑也不少,考察自己动手搜索能力。
⭐️⭐️⭐️⭐️参考资料较多,但需要提高信息检索和甄别能力。
⭐️⭐️⭐️⭐️⭐️偏综合能力训练,编程能力要求中等偏上。
+

五、建议教材

+

所有课件的源代码均已开源在Github - c4pr1c3/LinuxSysAdmin

+

六、参考资料

+ + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2023/calendar.html b/linux/2023/calendar.html new file mode 100644 index 00000000..5ccfafd0 --- /dev/null +++ b/linux/2023/calendar.html @@ -0,0 +1,1199 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2023 春教学日历 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

2023 春教学日历

+

上课前准备

+
    +
  • 用中传统一身份认证方式激活自己在 https://git.cuc.edu.cn/ 的账号
  • +
  • 请大家提前注册一个阿里云账号(无需付费购买任何服务)
  • +
  • 请大家提前在 Virtualbox 中安装好 Ubuntu 22.04 系统
  • +
  • 自己搞不定手动安装过程的可以直接导入我安装好的虚拟机,如下所示
  • +
+

分享名称:Linux系统与网络管理-课程公开分享 +分享链接:https://kod.cuc.edu.cn/#s/9BGcMgPw +访问密码:sumw2

+

第一周 2023-03-02(线下课)

+

第一章: Linux基础(2学时),详见教学计划 - 三、教学内容与学时分配

+

第二周 2023-03-09(线下课)

+
    +
  • 第一章实验
  • +
  • H1 提交截止 2023-03-15 23:59:59
  • +
+

第三周 2023-03-16(线上自学慕课)

+

第二章 Linux 服务器系统使用基础

+

第四周 2023-03-23(线下课)

+
    +
  • 第二章实验
  • +
  • H2 提交截止 2023-03-29 23:59:59
  • +
+

第五周 2023-03-30(线上自学慕课)

+

第三章 Linux 服务器系统管理基础(2学时)

+

第六周 2023-04-06(线下课)

+
    +
  • 第三章实验
  • +
  • H3 提交截止 2023-04-05 23:59:59
  • +
+

第七周 2023-04-13(线上自学慕课)

+

第四章 Shell脚本编程基础(2学时)

+

第八周 2023-04-20(线下课)

+
    +
  • 第四章实验
  • +
  • H4 提交截止 2023-04-26 23:59:59
  • +
+

第九周 2023-04-27(线上自学慕课)

+

第五章 Web服务器(2学时)

+

第十周 2023-05-04(读书周放假)

+

第十一周 2023-05-11(线上自学慕课)

+
    +
  • 第六章 网络资源共享
  • +
  • 第七章 DHCP 与 DNS 服务
  • +
+

第十二周 2023-05-18(线下课)

+
    +
  • 第五章实验
  • +
  • H5 提交截止 2023-05-24 23:59:59
  • +
+

第十三周 2023-05-25(线上自学慕课)

+
    +
  • 第八章 DevOps文化、运维自动化与持续部署
  • +
+

第十四周 2023-06-01(线下课)

+
    +
  • 第六七章实验
  • +
  • H6 提交截止 2023-06-21 23:59:59
  • +
+

第十五周 2023-06-08(线上自学慕课)

+
    +
  • 第八章 DevOps文化、运维自动化与持续部署
  • +
+

第十六周 2023-06-15(线下课)

+

第八章实验

+

第十七周 2023-06-22(线上自学慕课)

+
    +
  • (可选)第八章番外篇: 实战入门 Cloud-Init
  • +
  • (可选)第八章番外篇: Ansible
  • +
  • 自行完成本学期所有实验
  • +
+

H7、H8 的提交截止时间为 2023-07-07 23:59:59 ,也是本学期所有实验报告的提交截止时间。

+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2023/gitlab.html b/linux/2023/gitlab.html new file mode 100644 index 00000000..758cb446 --- /dev/null +++ b/linux/2023/gitlab.html @@ -0,0 +1,1042 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 关于 GitLab 使用的规范和要求 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

关于 GitLab 使用的规范和要求

+
+

以下内容适用于 https://git.cuc.edu.cn/ 。

+
+

当前学期我们的 课程专属项目组 对应的链接为 https://git.cuc.edu.cn/ccs/linux-2023 。

+

用户名

+

使用学校的统一身份认证登录,缺省每个用户在系统中都是实名制(真实姓名和学号)。

+

公开仓库命名

+
    +
  1. 课程专属项目组 命名空间下创建新仓库:New project
  2. +
  3. 为了便于实验报告批改和成绩统计,每名同学只允许创建一个公开仓库。
  4. +
  5. 对新建的仓库进行命名,推荐使用个人姓名的汉语拼音简拼或者全拼或者网名ID。
  6. +
  7. 检查自己的公开仓库首页链接格式,确保格式为: https://git.cuc.edu.cn/ccs/linux-2023/<新建仓库命名>
  8. +
+

私有仓库命名

+
    +
  1. 在自己 个人 命名空间下创建新仓库:New project
  2. +
  3. Project URL 里的 Pick a group or namespace 下拉选框里选择 Users 下的你的用户名。
  4. +
  5. Project slug 里填入你的私有作业仓库命名,对新建的仓库进行命名,推荐使用个人姓名的汉语拼音简拼或者全拼或者网名ID。
  6. +
  7. 检查自己的公开仓库首页链接格式,确保格式为: https://git.cuc.edu.cn/<你的用户名>/<新建仓库命名>
  8. +
  9. 将助教和老师添加到你的个人私有仓库的:进入你新创建的个人私有作业仓库,左侧导航菜单里依次找到 Project information - members ,右上角点击 Invite members ,在 Username or email address 里依次输入助教同学和老师姓名,逐个 鼠标点击搜索结果里的用户头像 添加到用户名的输入框里(添加成功时,该用户名的右侧会多出来一个 X 按钮),Select a role 选择 Maintainer ,点击 Invite 完成用户添加。
  10. +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2023/homework.html b/linux/2023/homework.html new file mode 100644 index 00000000..3ae014a8 --- /dev/null +++ b/linux/2023/homework.html @@ -0,0 +1,1077 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 本学期课程考核规则 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

本学期课程考核规则

+

总成绩构成

+

等级成绩类型:百分制

+

总成绩 = 平时成绩 系数30% + 期末成绩 系数60% + 线上成绩 系数*10%

+

总成绩评定规则

+
    +
  • 详见 在线成绩计算器 中的示例数据和具体单元格的计算公式。
      +
    • 如果需要通过编辑文档来自行“预估”自己的期末成绩,你可以登录腾讯文档后,复制当前共享表格到你自己的账号里。 不需要向我申请文档编辑权限,不会同意的。
    • +
    +
  • +
+

平时成绩

+
    +
  • 基于 客观事实 的「主观评价」。客观事实 来源包括但不限于:在校内畅课平台上的讨论区提出好问题、回答问题对其他同学产生了有效帮助、课堂上积极参与互动等。
  • +
+

期末成绩

+ +

考勤成绩

+
    +
  • 本学期一共记录考勤 8 次,每次正常签到得 1 分,迟到得 0.5 分,旷课得 0 分。有假条的病事假按正常签到计分。
  • +
  • 学期考勤全勤(累计计分 8 分),获得全勤加分 2 分。
  • +
  • 学期考勤累计计分 [6, 8),获得考勤加分 1 分。
  • +
  • 学期考勤累计计分 [5, 6),无考勤加分。
  • +
  • 学期考勤累计计分 [0, 5),直接挂科
  • +
+

线上成绩

+
    +
  • 校内畅课平台上单元测试成绩累加后进行等比例折算。
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2023/index.html b/linux/2023/index.html new file mode 100644 index 00000000..f095ae76 --- /dev/null +++ b/linux/2023/index.html @@ -0,0 +1,1318 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2023年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

Linux系统与网络管理

+

一、课程基本信息

+

+
    +
  • 课程编号:2121030017
  • +
  • 英文名称:Linux System and Network Management
  • +
  • 授课对象:网络空间安全
  • +
  • 开课学期:4
  • +
  • 学分/学时:1.5/32(课内16学时,实验上机16学时)
  • +
  • 先修课程:计算机导论,计算机安全与维护
  • +
  • 教学方式:课内(线上)讲授,上机实验
  • +
  • 详细教学日历
  • +
  • 本学期课程考核规则
  • +
  • 2021 年完整课程视频回放
  • +
+

课程简介

+

Linux网络操作系统支持多用户与多任务,近年来发展迅速,已经成为主流操作系统之一,具有十分广泛的应用。本课程以Linux网络操作系统为范例,以理论联系实际的教学方法,系统学习网络操作系统的使用以及网络系统和网络服务构建的相关知识,并通过课程实践,培养学生的实际技能。主要包括Linux安装、系统管理与网络基础;DHCP、WEB、FTP、Samba、NFS、DNS等网络服务的基本原理与服务器配置与应用。通过本课程学习,使学生掌握基于Linux网络操作系统进行网络系统与服务的部署、应用、管理的相关知识和技能。

+

二、课程教学目的和要求

+

Linux是网络应用领域中广泛使用的一种主流操作系统。通过本课程学习,使学生掌握基于Linux网络操作系统进行网络系统与服务的布署、应用、管理的相关知识和技能,为网络系统管理、云计算及服务器应用开发等奠定基础。

+

三、教学内容与学时分配

+

第一章: Linux基础(2学时)

+
    +
  • 概述:发行版、开源社区与文化、内核版本历史、LSB(Linux Standard Base)、CGL(Carrier Grade Linux)、Linux Foundation等
  • +
  • 操作系统安装:物理机安装、虚拟机安装、系统分区、无人值守安装等
  • +
  • 内置帮助系统的使用:man、--help、-h
  • +
  • 命令行使用:shell家族、自动补全、重复命令输入等bash常用快捷键、文本编辑与查看(echo、cat、less、vim、sort、uniq、wc等)
  • +
  • SSH与远程服务器管理:免密登录、SSH跳板与堡垒主机、SSH服务器安全加固
  • +
+

在线查看课件

+

第二章:Linux服务器系统使用基础(2学时)

+
    +
  • 文件的压缩与解压缩:tar、gz、zip、gzip、7z等、跨平台压缩文件的中文乱码问题等
  • +
  • 软件包管理:安装、升级、卸载、源码下载与安装
  • +
  • 文件管理:find、grep、sed等命令的使用
  • +
  • 进程管理:ps、kill等命令的使用
  • +
  • 目录结构:man hier、ls
  • +
  • 网络调试:ethtool、ip、ifconfig、arp、traceroute、netstat、route、/etc/hosts、/etc/resolv.conf、tcpdump等
  • +
+

在线查看课件

+

第三章:Linux服务器系统管理基础(2学时)

+
    +
  • 用户/组与权限管理:su与sudo、passwd、adduser/useradd、groupadd/addgroup、usermod、getfacl/setfacl等命令的使用
  • +
  • 文件系统与存储管理:文件系统类型与格式化、磁盘分区、存储设备与文件系统挂载(开机自动挂载、网络文件系统挂载、iso文件挂载等)、基于LVM(逻辑分卷管理)的分区容量动态调整
  • +
  • 文件备份与恢复(文件和目录属主信息的保存)等
  • +
  • 开机自启动项管理:系统加载流程(SystemdLSBInitScripts )
  • +
  • 配置每天自动安装安全更新
  • +
+

在线查看课件

+

第四章:shell脚本编程基础(2学时)

+
    +
  • 开发和调试环境搭建
  • +
  • 基本语法:shell版本、变量定义、环境变量、过程(函数)、条件语句、循环、数值计算、数组、子进程等
  • +
  • 实例讲解:校园网自动联网bash脚本
  • +
+

在线查看课件

+

第五章:Web服务器(2学时)

+
    +
  • Web服务基本概念:HTTP请求处理的生命周期
  • +
  • 主流WEB服务器:apache 1.x/2.x、nginx(衍生发行版:OpenRestyKongTengine
  • +
  • 用curl和nginx重新认识和学习HTTP协议
  • +
+

在线查看课件

+

第六章:网络资源共享(1学时)

+
    +
  • FTP服务概述及FTP服务器配置
  • +
  • NFS服务概述及NFS服务器配置
  • +
  • Samba服务概述及Samba服务器安装与配置
  • +
+

在线查看课件

+

第七章:DHCP与DNS服务(1学时)

+
    +
  • DHCP服务概述
  • +
  • DHCP基本原理
  • +
  • DHCP服务器安装配置
  • +
  • DNS服务概述
  • +
  • DNS服务器配置
  • +
+

在线查看课件

+

第八章:DevOps文化、运维自动化与持续部署(4学时)

+
    +
  • 发布管理:开发环境、测试环境与生产环境的一致性(代码、数据、网络、系统运行时、依赖的lib等)、上线与回滚
  • +
  • 主流技术工具链:git(github/gitlab)、ansible(puppet、chef、salt等)、docker(dockerfile/k8s/dockerhub)、openstack(KVM、Xen)、openvswitch、tcpreplay
  • +
+

在线查看课件 | PXE | ansible

+

四、作业、实践环节

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
难度等级说明
⭐️照葫芦画瓢,没有坑。
⭐️⭐️照猫画虎,可能有小坑。
⭐️⭐️⭐️有较为详细的参考资料,但坑也不少,考察自己动手搜索能力。
⭐️⭐️⭐️⭐️参考资料较多,但需要提高信息检索和甄别能力。
⭐️⭐️⭐️⭐️⭐️偏综合能力训练,编程能力要求中等偏上。
+

五、建议教材

+

所有课件的源代码均已开源在Github - c4pr1c3/LinuxSysAdmin

+

六、参考资料

+ + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2024/calendar.html b/linux/2024/calendar.html new file mode 100644 index 00000000..490fbb16 --- /dev/null +++ b/linux/2024/calendar.html @@ -0,0 +1,1192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2024 春教学日历 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

2024 春教学日历

+

上课前准备

+
    +
  • 用中传统一身份认证方式激活自己在 https://git.cuc.edu.cn/ 的账号
  • +
  • 请大家提前注册一个阿里云账号(无需付费购买任何服务)
  • +
  • 请大家提前在 Virtualbox 中安装好 Ubuntu 22.04 系统
  • +
  • 自己搞不定手动安装过程的可以直接导入我安装好的虚拟机,如下所示
  • +
+

分享名称:Linux系统与网络管理-课程公开分享 +分享链接:https://kod.cuc.edu.cn/#s/9BGcMgPw +访问密码:sumw2

+

第一周 2024-02-28(线下课)

+

第一章: Linux基础(2学时),详见教学计划 - 三、教学内容与学时分配

+

第二周 2024-03-06(线下课)

+
    +
  • 第一章实验
  • +
+

第三周 2024-03-13(线上自学慕课)

+

第二章 Linux 服务器系统使用基础

+

第四周 2024-03-20(线下课)

+
    +
  • 第二章实验
  • +
+

第五周 2024-03-27(线上自学慕课)

+

第三章 Linux 服务器系统管理基础(2学时)

+

第六周 2024-04-03(线下课)

+
    +
  • 第三章实验
  • +
+

第七周 2024-04-10(线上自学慕课)

+

第四章 Shell脚本编程基础(2学时)

+

第八周 2024-04-17(线下课)

+
    +
  • 第四章实验
  • +
+

第九周 2024-04-24(线上自学慕课)

+

第五章 Web服务器(2学时)

+

第十周 2024-05-01(读书周放假)

+

第十一周 2024-05-08(线上自学慕课)

+
    +
  • 第六章 网络资源共享
  • +
  • 第七章 DHCP 与 DNS 服务
  • +
+

第十二周 2024-05-15(线下课)

+
    +
  • 第五章实验
  • +
+

第十三周 2024-05-22(线上自学慕课)

+
    +
  • 第八章 DevOps文化、运维自动化与持续部署
  • +
+

第十四周 2024-05-29(线下课)

+
    +
  • 第六七章实验
  • +
+

第十五周 2024-06-05(线上自学慕课)

+
    +
  • 第八章 DevOps文化、运维自动化与持续部署
  • +
+

第十六周 2024-06-12(线下课)

+

第八章实验

+

第十七周 2024-06-19(线上自学慕课)

+
    +
  • (可选)第八章番外篇: 实战入门 Cloud-Init
  • +
  • (可选)第八章番外篇: Ansible
  • +
  • 自行完成本学期所有实验
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2024/gitlab.html b/linux/2024/gitlab.html new file mode 100644 index 00000000..74932898 --- /dev/null +++ b/linux/2024/gitlab.html @@ -0,0 +1,1042 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 关于 GitLab 使用的规范和要求 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

关于 GitLab 使用的规范和要求

+
+

以下内容适用于 https://git.cuc.edu.cn/ 。

+
+

当前学期我们的 课程专属项目组 对应的链接为 https://git.cuc.edu.cn/ccs/linux-2024 。

+

用户名

+

使用学校的统一身份认证登录,缺省每个用户在系统中都是实名制(真实姓名和学号)。

+

公开仓库命名

+
    +
  1. 课程专属项目组 命名空间下创建新仓库:New project
  2. +
  3. 为了便于实验报告批改和成绩统计,每名同学只允许创建一个公开仓库。
  4. +
  5. 对新建的仓库进行命名,推荐使用个人姓名的汉语拼音简拼或者全拼或者网名ID。
  6. +
  7. 检查自己的公开仓库首页链接格式,确保格式为: https://git.cuc.edu.cn/ccs/linux-2024/<新建仓库命名>
  8. +
+

私有仓库命名

+
    +
  1. 在自己 个人 命名空间下创建新仓库:New project
  2. +
  3. Project URL 里的 Pick a group or namespace 下拉选框里选择 Users 下的你的用户名。
  4. +
  5. Project slug 里填入你的私有作业仓库命名,对新建的仓库进行命名,推荐使用个人姓名的汉语拼音简拼或者全拼或者网名ID。
  6. +
  7. 检查自己的公开仓库首页链接格式,确保格式为: https://git.cuc.edu.cn/<你的用户名>/<新建仓库命名>
  8. +
  9. 将助教和老师添加到你的个人私有仓库的:进入你新创建的个人私有作业仓库,左侧导航菜单里依次找到 Project information - members ,右上角点击 Invite members ,在 Username or email address 里依次输入助教同学和老师姓名,逐个 鼠标点击搜索结果里的用户头像 添加到用户名的输入框里(添加成功时,该用户名的右侧会多出来一个 X 按钮),Select a role 选择 Maintainer ,点击 Invite 完成用户添加。
  10. +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2024/homework.html b/linux/2024/homework.html new file mode 100644 index 00000000..36d342d9 --- /dev/null +++ b/linux/2024/homework.html @@ -0,0 +1,1119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 本学期课程考核规则 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

本学期课程考核规则

+

总成绩构成

+

等级成绩类型:百分制

+

总成绩 = 平时成绩 系数30% + 期末成绩 系数60% + 线上成绩 系数*10%

+

总成绩评定规则

+
    +
  • 详见 在线成绩计算器 中的示例数据和具体单元格的计算公式。
      +
    • 如果需要通过编辑文档来自行“预估”自己的期末成绩,你可以登录腾讯文档后,复制当前共享表格到你自己的账号里。 不需要向我申请文档编辑权限,不会同意的。
    • +
    +
  • +
+

平时成绩

+
    +
  • 基于 客观事实 的「主观评价」。客观事实 来源包括但不限于:在校内畅课平台上的讨论区提出好问题、回答问题对其他同学产生了有效帮助、课堂上积极参与互动、畅课学习完成度、课程公共服务器 的使用次数和时长等。 数据统计截止本学期最后一次课程结束 2024.6.19 09:50:00
  • +
  • 满分 30 分的平时成绩中,有 10 分来自于 考勤成绩考勤成绩 计算规则见以下小节详细说明。
  • +
+

考勤成绩

+
    +
  • 本学期一共记录考勤 8 次,每次正常签到得 1 分,迟到得 0.5 分,旷课得 0 分。有假条的病事假按正常签到计分。
  • +
  • 学期考勤全勤(累计计分 8 分),获得全勤加分 2 分。
  • +
  • 学期考勤累计计分 [6, 8),获得考勤加分 1 分。
  • +
  • 学期考勤累计计分 [5, 6),无考勤加分。
  • +
  • 学期考勤累计计分 [0, 5),直接挂科
  • +
+

期末成绩

+
    +
  • 8 章课程,每章课后均留有作业,按章节顺序分别记为:H1 ~ H8
  • +
  • 满分 10 分的 必选 作业:H1, H2, H3 。
  • +
  • 满分 20 分的 必选 作业:H4 。
  • +
  • 满分 10 分的 四选一 作业:H5, H6, H7, H8。该项计分公式为:max(H5, H6, H7, H8) 。
  • +
  • H1, H2, H3 作业采用 基于日志分析的自动判题方式 ,不需要撰写实验报告,但需要访问课程指定的 Linux 远程云主机并自行独立完成相应的实验任务。
  • +
  • H4 作业采用 Gitlab CI/CD 方式,不需要撰写实验报告。
  • +
  • 四选一 作业需要提交实验报告。
  • +
  • H6, H7, H8 要求提交到私有仓库,其他章节作业均提交到公开仓库
  • +
  • 每次实验报告的评分标准见教学 Wiki 首页说明 - 缺省的实验报告评分标准
  • +
  • 请仔细阅读 关于 GitLab 使用的规范和要求 ,按照规范使用对应的公开和私有作业仓库。
  • +
  • 以上作业完成时间截止时间为本学期最后一次课程结束后一周: 2024.6.26 23:59:59
  • +
+

关于私有作业仓库的说明

+

由于在 GitLab 中,私有仓库不代表只有自己一个人可以访问,请看以下搬运自 GitLab 创建新仓库时关于 Private 属性的说明文字:

+
+

Project access must be granted explicitly to each user. If this project is part of a group, access is granted to members of the group.

+
+

翻译如下:

+
+

必须向每个用户显式授予项目访问权限。如果此项目是用户组的一部分,则向组成员授予访问权限。

+
+

据此可以更好地理解在 GitLab 中,在一个用户组命名空间下创建的 私有仓库,对于组内的所有用户来说,实际上是相互可见、内部公开的。

+

以下作业要求里提到的 私有作业仓库 具体指的是: 仅限仓库创建者本人、1名助教、任课老师 有权限访问该仓库,其他同学即使知道该仓库链接地址也无法访问仓库内容。

+

具体操作步骤建议如下:

+
    +
  • 在自己个人命名空间下创建仓库。此处假设个人用户名是 zhangsan ,创建的私有仓库名为 linux-private
  • +
  • 在自己个人命名空间下创建的仓库里,通过左侧导航菜单的 Project information - Members 进入仓库用户管理页面,点击右上角的 Invite members ,通过输入实名的方式,搜索、选中搜索结果,邀请 4名助教、任课老师,授予 Maintainer 角色。
  • +
  • 在自己的组命名空间下(当前为 ccs/linux-2024 )的组内公开仓库根目录下的 README.md 添加指向上述私有仓库的超链接:zhangsan/linux-private
  • +
+

线上成绩

+
    +
  • 校内畅课平台上单元测试成绩累加后进行等比例折算。
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2024/index.html b/linux/2024/index.html new file mode 100644 index 00000000..4f382aec --- /dev/null +++ b/linux/2024/index.html @@ -0,0 +1,1318 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2024年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

Linux系统与网络管理

+

一、课程基本信息

+

+
    +
  • 课程编号:2121030017
  • +
  • 英文名称:Linux System and Network Management
  • +
  • 授课对象:网络空间安全
  • +
  • 开课学期:4
  • +
  • 学分/学时:1.5/32(课内16学时,实验上机16学时)
  • +
  • 先修课程:计算机导论,计算机安全与维护
  • +
  • 教学方式:课内(线上)讲授,上机实验
  • +
  • 详细教学日历
  • +
  • 本学期课程考核规则
  • +
  • 2021 年完整课程视频回放
  • +
+

课程简介

+

Linux网络操作系统支持多用户与多任务,近年来发展迅速,已经成为主流操作系统之一,具有十分广泛的应用。本课程以Linux网络操作系统为范例,以理论联系实际的教学方法,系统学习网络操作系统的使用以及网络系统和网络服务构建的相关知识,并通过课程实践,培养学生的实际技能。主要包括Linux安装、系统管理与网络基础;DHCP、WEB、FTP、Samba、NFS、DNS等网络服务的基本原理与服务器配置与应用。通过本课程学习,使学生掌握基于Linux网络操作系统进行网络系统与服务的部署、应用、管理的相关知识和技能。

+

二、课程教学目的和要求

+

Linux是网络应用领域中广泛使用的一种主流操作系统。通过本课程学习,使学生掌握基于Linux网络操作系统进行网络系统与服务的布署、应用、管理的相关知识和技能,为网络系统管理、云计算及服务器应用开发等奠定基础。

+

三、教学内容与学时分配

+

第一章: Linux基础(2学时)

+
    +
  • 概述:发行版、开源社区与文化、内核版本历史、LSB(Linux Standard Base)、CGL(Carrier Grade Linux)、Linux Foundation等
  • +
  • 操作系统安装:物理机安装、虚拟机安装、系统分区、无人值守安装等
  • +
  • 内置帮助系统的使用:man、--help、-h
  • +
  • 命令行使用:shell家族、自动补全、重复命令输入等bash常用快捷键、文本编辑与查看(echo、cat、less、vim、sort、uniq、wc等)
  • +
  • SSH与远程服务器管理:免密登录、SSH跳板与堡垒主机、SSH服务器安全加固
  • +
+

在线查看课件

+

第二章:Linux服务器系统使用基础(2学时)

+
    +
  • 文件的压缩与解压缩:tar、gz、zip、gzip、7z等、跨平台压缩文件的中文乱码问题等
  • +
  • 软件包管理:安装、升级、卸载、源码下载与安装
  • +
  • 文件管理:find、grep、sed等命令的使用
  • +
  • 进程管理:ps、kill等命令的使用
  • +
  • 目录结构:man hier、ls
  • +
  • 网络调试:ethtool、ip、ifconfig、arp、traceroute、netstat、route、/etc/hosts、/etc/resolv.conf、tcpdump等
  • +
+

在线查看课件

+

第三章:Linux服务器系统管理基础(2学时)

+
    +
  • 用户/组与权限管理:su与sudo、passwd、adduser/useradd、groupadd/addgroup、usermod、getfacl/setfacl等命令的使用
  • +
  • 文件系统与存储管理:文件系统类型与格式化、磁盘分区、存储设备与文件系统挂载(开机自动挂载、网络文件系统挂载、iso文件挂载等)、基于LVM(逻辑分卷管理)的分区容量动态调整
  • +
  • 文件备份与恢复(文件和目录属主信息的保存)等
  • +
  • 开机自启动项管理:系统加载流程(SystemdLSBInitScripts )
  • +
  • 配置每天自动安装安全更新
  • +
+

在线查看课件

+

第四章:shell脚本编程基础(2学时)

+
    +
  • 开发和调试环境搭建
  • +
  • 基本语法:shell版本、变量定义、环境变量、过程(函数)、条件语句、循环、数值计算、数组、子进程等
  • +
  • 实例讲解:校园网自动联网bash脚本
  • +
+

在线查看课件

+

第五章:Web服务器(2学时)

+
    +
  • Web服务基本概念:HTTP请求处理的生命周期
  • +
  • 主流WEB服务器:apache 1.x/2.x、nginx(衍生发行版:OpenRestyKongTengine
  • +
  • 用curl和nginx重新认识和学习HTTP协议
  • +
+

在线查看课件

+

第六章:网络资源共享(1学时)

+
    +
  • FTP服务概述及FTP服务器配置
  • +
  • NFS服务概述及NFS服务器配置
  • +
  • Samba服务概述及Samba服务器安装与配置
  • +
+

在线查看课件

+

第七章:DHCP与DNS服务(1学时)

+
    +
  • DHCP服务概述
  • +
  • DHCP基本原理
  • +
  • DHCP服务器安装配置
  • +
  • DNS服务概述
  • +
  • DNS服务器配置
  • +
+

在线查看课件

+

第八章:DevOps文化、运维自动化与持续部署(4学时)

+
    +
  • 发布管理:开发环境、测试环境与生产环境的一致性(代码、数据、网络、系统运行时、依赖的lib等)、上线与回滚
  • +
  • 主流技术工具链:git(github/gitlab)、ansible(puppet、chef、salt等)、docker(dockerfile/k8s/dockerhub)、openstack(KVM、Xen)、openvswitch、tcpreplay
  • +
+

在线查看课件 | PXE | ansible

+

四、作业、实践环节

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
难度等级说明
⭐️照葫芦画瓢,没有坑。
⭐️⭐️照猫画虎,可能有小坑。
⭐️⭐️⭐️有较为详细的参考资料,但坑也不少,考察自己动手搜索能力。
⭐️⭐️⭐️⭐️参考资料较多,但需要提高信息检索和甄别能力。
⭐️⭐️⭐️⭐️⭐️偏综合能力训练,编程能力要求中等偏上。
+

五、建议教材

+

所有课件的源代码均已开源在Github - c4pr1c3/LinuxSysAdmin

+

六、参考资料

+ + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2025/calendar.html b/linux/2025/calendar.html new file mode 100644 index 00000000..ad1d8765 --- /dev/null +++ b/linux/2025/calendar.html @@ -0,0 +1,1210 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2025 春教学日历 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

2025 春教学日历

+

上课前准备

+
    +
  • 用中传统一身份认证方式激活自己在 https://git.cuc.edu.cn/ 的账号
  • +
  • 请大家提前注册一个阿里云账号(无需付费购买任何服务)
  • +
  • 请大家提前在 Virtualbox 中安装好 Ubuntu 22.04 系统
  • +
  • 自己搞不定手动安装过程的可以直接导入我安装好的虚拟机,如下所示
  • +
+

分享名称:Linux系统与网络管理-课程公开分享 +分享链接:https://kod.cuc.edu.cn/#s/9BGcMgPw +访问密码:sumw2

+

第一周 2025-02-25(线下课)

+

第一章: Linux基础(2学时),详见教学计划 - 三、教学内容与学时分配

+

第二周 2025-03-04(线下课)

+
    +
  • 第一章实验
  • +
+

第三周 2025-03-11(线上自学慕课)

+

第二章 Linux 服务器系统使用基础

+

第四周 2025-03-18(线下课)

+
+

第一章实验报告提交截止今天上课之前

+
+
    +
  • 第二章实验
  • +
+

第五周 2025-03-25(线上自学慕课)

+

第三章 Linux 服务器系统管理基础(2学时)

+

第六周 2025-04-01(线下课)

+
+

第二章实验报告提交截止今天上课之前

+
+
    +
  • 第三章实验
  • +
+

第七周 2025-04-08(线上自学慕课)

+

第四章 Shell脚本编程基础(2学时)

+

第八周 2025-04-15(线下课)

+
+

第三章实验报告提交截止今天上课之前

+
+
    +
  • 第四章实验
  • +
+

第九周 2025-04-22(线上自学慕课)

+

第五章 Web服务器(2学时)

+

第十周 2025-04-29(读书周放假)

+

第十一周 2025-05-06(线上自学慕课)

+
    +
  • 第六章 DevOps文化、运维自动化与持续部署
  • +
+

第十二周 2025-05-13(线下课)

+
+

第四章实验报告提交截止今天上课之前

+
+
    +
  • 第五章实验
  • +
+

第十三周 2025-05-20(线上自学慕课)

+
    +
  • 第六章 DevOps文化、运维自动化与持续部署
  • +
+

第十四周 2025-05-27(线下课)

+
    +
  • 第七章 AI 大模型的本地部署与使用
  • +
+

第十五周 2025-06-03(线上自学慕课)

+
    +
  • 第七章 AI 大模型的本地部署与使用
  • +
+

第十六周 2025-06-10(线下课)

+
+

第五章实验报告提交截止今天上课之前

+
+
    +
  • 第七章 实验
  • +
+

第十七周 2025-06-17(线上自学慕课)

+
    +
  • (可选)第八章番外篇: 实战入门 Cloud-Init
  • +
  • (可选)第八章番外篇: Ansible
  • +
  • 自行完成本学期所有实验
  • +
+

批改计算成绩截止时间2025.06.24 23:59:59 晚于这个时间节点提交到 git.cuc.edu.cn 的实验报告将按照零分登记。

+

畅课平台的作业提交截止时间 2025.07.01 23:59:59 是用于实验报告整理后 打包提交存档的截止时间 ,仅用于 git 上已提交作业的存档,不会被批改。

+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2025/gitlab.html b/linux/2025/gitlab.html new file mode 100644 index 00000000..5df64ab9 --- /dev/null +++ b/linux/2025/gitlab.html @@ -0,0 +1,1042 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 关于 GitLab 使用的规范和要求 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

关于 GitLab 使用的规范和要求

+
+

以下内容适用于 https://git.cuc.edu.cn/ 。

+
+

当前学期我们的 课程专属项目组 对应的链接为 https://git.cuc.edu.cn/ccs/linux-2025 。

+

用户名

+

使用学校的统一身份认证登录,缺省每个用户在系统中都是实名制(真实姓名和学号)。

+

公开仓库命名

+
    +
  1. 课程专属项目组 命名空间下创建新仓库:New project
  2. +
  3. 为了便于实验报告批改和成绩统计,每名同学只允许创建一个公开仓库。
  4. +
  5. 对新建的仓库进行命名,推荐使用个人姓名的汉语拼音简拼或者全拼或者网名ID。
  6. +
  7. 检查自己的公开仓库首页链接格式,确保格式为: https://git.cuc.edu.cn/ccs/linux-2025/<新建仓库命名>
  8. +
+

私有仓库命名

+
    +
  1. 在自己 个人 命名空间下创建新仓库:New project
  2. +
  3. Project URL 里的 Pick a group or namespace 下拉选框里选择 Users 下的你的用户名。
  4. +
  5. Project slug 里填入你的私有作业仓库命名,对新建的仓库进行命名,推荐使用个人姓名的汉语拼音简拼或者全拼或者网名ID。
  6. +
  7. 检查自己的公开仓库首页链接格式,确保格式为: https://git.cuc.edu.cn/<你的用户名>/<新建仓库命名>
  8. +
  9. 将助教和老师添加到你的个人私有仓库的:进入你新创建的个人私有作业仓库,左侧导航菜单里依次找到 Project information - members ,右上角点击 Invite members ,在 Username or email address 里依次输入助教同学和老师姓名,逐个 鼠标点击搜索结果里的用户头像 添加到用户名的输入框里(添加成功时,该用户名的右侧会多出来一个 X 按钮),Select a role 选择 Maintainer ,点击 Invite 完成用户添加。
  10. +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2025/homework.html b/linux/2025/homework.html new file mode 100644 index 00000000..54f69672 --- /dev/null +++ b/linux/2025/homework.html @@ -0,0 +1,1119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 本学期课程考核规则 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

本学期课程考核规则

+

总成绩构成

+

等级成绩类型:百分制

+

总成绩 = 平时成绩 系数30% + 期末成绩 系数60% + 线上成绩 系数*10%

+

总成绩评定规则

+
    +
  • 详见 在线成绩计算器 中的示例数据和具体单元格的计算公式。
      +
    • 如果需要通过编辑文档来自行“预估”自己的期末成绩,你可以登录腾讯文档后,复制当前共享表格到你自己的账号里。 不需要向我申请文档编辑权限,不会同意的。
    • +
    +
  • +
+

平时成绩

+
    +
  • 基于 客观事实 的「主观评价」。客观事实 来源包括但不限于:在校内畅课平台上的讨论区提出好问题、回答问题对其他同学产生了有效帮助、课堂上积极参与互动、畅课学习完成度、课程公共服务器有效 使用次数和时长等。 数据统计截止本学期最后一次课程结束 2025.6.17 09:50:00
  • +
  • 满分 30 分的平时成绩中,有 10 分来自于 考勤成绩考勤成绩 计算规则见以下小节详细说明。
  • +
+

考勤成绩

+
    +
  • 本学期一共记录考勤 8 次,每次正常签到得 1 分,迟到得 0.5 分,旷课得 0 分。有假条的病事假按正常签到计分。
  • +
  • 学期考勤全勤(累计计分 8 分),获得全勤加分 2 分。
  • +
  • 学期考勤累计计分 [6, 8),获得考勤加分 1 分。
  • +
  • 学期考勤累计计分 [5, 6),无考勤加分。
  • +
  • 学期考勤累计计分 [0, 5),直接挂科
  • +
+

期末成绩

+
    +
  • 7 章课程,按章节顺序分别记为:H1 ~ H7
  • +
  • 满分 10 分的 必选 作业:H1, H2, H3 。
  • +
  • 满分 20 分的 必选 作业:H4 。
  • +
  • 满分 10 分的 二选一 作业:H5, H7。该项计分公式为:max(H5, H7) 。
  • +
  • H1, H2 作业采用 基于日志分析的自动判题方式 ,不需要撰写实验报告,但需要访问课程指定的 Linux 远程云主机并 在云主机上 自行独立完成相应的实验任务。
  • +
  • H4 作业采用 Gitlab CI/CD 方式,不需要撰写实验报告。
  • +
  • 二选一 作业需要提交实验报告。
  • +
  • H7 要求提交到私有仓库,其他章节作业均提交到公开仓库
  • +
  • 每次实验报告的评分标准见教学 Wiki 首页说明 - 缺省的实验报告评分标准
  • +
  • 请仔细阅读 关于 GitLab 使用的规范和要求 ,按照规范使用对应的公开和私有作业仓库。
  • +
  • 以上作业完成时间截止时间为本学期最后一次课程结束后一周: 2025.6.24 23:59:59
  • +
+

关于私有作业仓库的说明

+

由于在 GitLab 中,私有仓库不代表只有自己一个人可以访问,请看以下搬运自 GitLab 创建新仓库时关于 Private 属性的说明文字:

+
+

Project access must be granted explicitly to each user. If this project is part of a group, access is granted to members of the group.

+
+

翻译如下:

+
+

必须向每个用户显式授予项目访问权限。如果此项目是用户组的一部分,则向组成员授予访问权限。

+
+

据此可以更好地理解在 GitLab 中,在一个用户组命名空间下创建的 私有仓库,对于组内的所有用户来说,实际上是相互可见、内部公开的。

+

以下作业要求里提到的 私有作业仓库 具体指的是: 仅限仓库创建者本人、1名助教、任课老师 有权限访问该仓库,其他同学即使知道该仓库链接地址也无法访问仓库内容。

+

具体操作步骤建议如下:

+
    +
  • 在自己个人命名空间下创建仓库。此处假设个人用户名是 zhangsan ,创建的私有仓库名为 linux-private
  • +
  • 在自己个人命名空间下创建的仓库里,通过左侧导航菜单的 Project information - Members 进入仓库用户管理页面,点击右上角的 Invite members ,通过输入实名的方式,搜索、选中搜索结果,邀请 4名助教、任课老师,授予 Maintainer 角色。
  • +
  • 在自己的组命名空间下(当前为 ccs/linux-2025 )的组内公开仓库根目录下的 README.md 添加指向上述私有仓库的超链接:zhangsan/linux-private
  • +
+

线上成绩

+
    +
  • 校内畅课平台上单元测试成绩累加后进行等比例折算。
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/2025/index.html b/linux/2025/index.html new file mode 100644 index 00000000..04ebb6ad --- /dev/null +++ b/linux/2025/index.html @@ -0,0 +1,1305 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2025年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

Linux系统与网络管理

+

一、课程基本信息

+

+
    +
  • 课程编号:2121030017
  • +
  • 英文名称:Linux System and Network Management
  • +
  • 授课对象:网络空间安全
  • +
  • 开课学期:4
  • +
  • 学分/学时:1.5/32(课内16学时,实验上机16学时)
  • +
  • 先修课程:计算机导论,计算机安全与维护
  • +
  • 教学方式:课内(线上)讲授,上机实验
  • +
  • 详细教学日历
  • +
  • 本学期课程考核规则
  • +
  • 2021 年完整课程视频回放
  • +
+

课程简介

+

Linux网络操作系统支持多用户与多任务,近年来发展迅速,已经成为主流操作系统之一,具有十分广泛的应用。本课程以Linux网络操作系统为范例,以理论联系实际的教学方法,系统学习网络操作系统的使用以及网络系统和网络服务构建的相关知识,并通过课程实践,培养学生的实际技能。主要包括Linux安装、系统管理与网络基础;WEB、DNS等网络服务的基本原理与服务器配置与应用;基于容器化技术的开源大模型工具的本地部署方法。通过本课程学习,使学生掌握基于Linux网络操作系统进行网络系统与服务的部署、应用、管理的相关知识和技能。

+

二、课程教学目的和要求

+

Linux是网络应用领域中广泛使用的一种主流操作系统。通过本课程学习,使学生掌握基于Linux网络操作系统进行网络系统与服务的布署、应用、管理的相关知识和技能,为网络系统管理、云计算及服务器应用开发等奠定基础。

+

三、教学内容与学时分配

+

第一章: Linux基础(2学时)

+
    +
  • 概述:发行版、开源社区与文化、内核版本历史、LSB(Linux Standard Base)、CGL(Carrier Grade Linux)、Linux Foundation等
  • +
  • 操作系统安装:物理机安装、虚拟机安装、系统分区、无人值守安装等
  • +
  • 内置帮助系统的使用:man、--help、-h
  • +
  • 命令行使用:shell家族、自动补全、重复命令输入等bash常用快捷键、文本编辑与查看(echo、cat、less、vim、sort、uniq、wc等)
  • +
  • SSH与远程服务器管理:免密登录、SSH跳板与堡垒主机、SSH服务器安全加固
  • +
+

在线查看课件

+

第二章:Linux服务器系统使用基础(2学时)

+
    +
  • 文件的压缩与解压缩:tar、gz、zip、gzip、7z等、跨平台压缩文件的中文乱码问题等
  • +
  • 软件包管理:安装、升级、卸载、源码下载与安装
  • +
  • 文件管理:find、grep、sed等命令的使用
  • +
  • 进程管理:ps、kill等命令的使用
  • +
  • 目录结构:man hier、ls
  • +
  • 网络调试:ethtool、ip、ifconfig、arp、traceroute、netstat、route、/etc/hosts、/etc/resolv.conf、tcpdump等
  • +
+

在线查看课件

+

第三章:Linux服务器系统管理基础(2学时)

+
    +
  • 用户/组与权限管理:su与sudo、passwd、adduser/useradd、groupadd/addgroup、usermod、getfacl/setfacl等命令的使用
  • +
  • 文件系统与存储管理:文件系统类型与格式化、磁盘分区、存储设备与文件系统挂载(开机自动挂载、网络文件系统挂载、iso文件挂载等)、基于LVM(逻辑分卷管理)的分区容量动态调整
  • +
  • 文件备份与恢复(文件和目录属主信息的保存)等
  • +
  • 开机自启动项管理:系统加载流程(SystemdLSBInitScripts )
  • +
  • 配置每天自动安装安全更新
  • +
+

在线查看课件

+

第四章:shell脚本编程基础(2学时)

+
    +
  • 开发和调试环境搭建
  • +
  • 基本语法:shell版本、变量定义、环境变量、过程(函数)、条件语句、循环、数值计算、数组、子进程等
  • +
  • 实例讲解:校园网自动联网bash脚本
  • +
+

在线查看课件

+

第五章:Web服务器(2学时)

+
    +
  • Web服务基本概念:HTTP请求处理的生命周期
  • +
  • 主流WEB服务器:apache 1.x/2.x、nginx(衍生发行版:OpenRestyKongTengine
  • +
  • 用curl和nginx重新认识和学习HTTP协议
  • +
+

在线查看课件

+

第六章:DevOps文化、运维自动化与持续部署(4学时)

+
    +
  • 发布管理:开发环境、测试环境与生产环境的一致性(代码、数据、网络、系统运行时、依赖的lib等)、上线与回滚
  • +
  • 主流技术工具链:git(github/gitlab)、ansible(puppet、chef、salt等)、docker(dockerfile/k8s/dockerhub)、openstack(KVM、Xen)、openvswitch、tcpreplay
  • +
+

在线查看课件 | PXE | ansible

+

第七章:AI 大模型的本地部署与使用(2学时)

+
    +
  • 开源大模型技术发展现状
  • +
  • 基于容器化技术本地部署开源大模型(ollama + Open WebUI + one-api 等)
  • +
+

四、作业、实践环节

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
难度等级说明
⭐️照葫芦画瓢,没有坑。
⭐️⭐️照猫画虎,可能有小坑。
⭐️⭐️⭐️有较为详细的参考资料,但坑也不少,考察自己动手搜索或 AI 工具使用能力。
⭐️⭐️⭐️⭐️参考资料较多,但需要提高信息检索和甄别能力。
⭐️⭐️⭐️⭐️⭐️偏综合能力训练,编程能力要求中等偏上。
+

五、建议教材

+

所有课件的源代码均已开源在Github - c4pr1c3/LinuxSysAdmin

+

六、参考资料

+ + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/img/url-of-linux-wiki.png b/linux/img/url-of-linux-wiki.png new file mode 100644 index 00000000..de364bdf Binary files /dev/null and b/linux/img/url-of-linux-wiki.png differ diff --git a/mis.html b/mis.html new file mode 100644 index 00000000..948fd785 --- /dev/null +++ b/mis.html @@ -0,0 +1,1085 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 移动互联网安全 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+ +
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mis/2019/index.html b/mis/2019/index.html new file mode 100644 index 00000000..d66ea682 --- /dev/null +++ b/mis/2019/index.html @@ -0,0 +1,1240 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2019年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

移动互联网安全

+

一、课程基本信息

+
    +
  • 课程编号:113011
  • +
  • 英文名称:Mobile Internet Security
  • +
  • 授课对象:信息安全专业
  • +
  • 开课学期:5
  • +
  • 学分/学时:2.5/48
  • +
  • 先修课程:信息安全导论、计算机网络、计算机安全与维护
  • +
  • 教学方式:课堂讲授,上机实验
  • +
+

课程简介

+

本课程针对移动互联网安全中的关键技术,从应用角度出发,介绍无线网络监听、扫描、入侵和防御,智能手机系统攻防、智能手机应用攻防等基本概念、原理和技术,并通过实例讲解知识点,将安全理论、安全技术和安全工具有机结合。

+

二、课程教学目的和要求

+

随着互联网的发展和信息化进程的深入,无线网络、智能手机、智能设备等具备互联互通智能化特征的硬件与软件蓬勃发展,传统的计算机互联网内涵已经逐渐外延发展为“万物互联”的物联网。以无线网络为通信基础、智能手机为终端设备基础、APP为服务载体形式和云计算为基础设施的移动互联网技术是物联网大家族中的一个重要且成熟的技术生态圈,移动互联网相关的安全问题已成为各国政府有关部门、各大行业和企事业关注的热点问题,对移动互联网安全专门人才的需求也日显突出。本课程全面系统地介绍移动互联网安全的基本概念、原理和技术,使学生掌握相关理论知识和关键技术,提高安全意识,增强解决互联网和数字传媒等行业中移动互联网安全问题的能力。

+

三、教学内容与学时分配

+

1.无线网络安全基础(4学时)

+

重点内容:无线通信协议分类、802.11协议、802.11家族相关设备认知。

+

在线观看教学PPT

+

2.无线接入网监听(4学时)

+

重点内容:无线网卡配置与使用、WLAN认证原理、802.11协议与wireshark过滤器使用、基于Scapy的802.11编程基础。

+

在线观看教学PPT

+

3.无线接入网入侵与防御(4学时)

+

重点内容:SSID隐藏与发现、Evil Twin攻击与防御、中间人攻击与防御、拒绝服务攻击与防御、WLAN认证机制攻防、WLAN加密与解密、企业级WLAN安全机制攻防、基于Scapy的802.11编程实战。

+

在线观看教学PPT

+

4.移动通信与物联网安全概述(2学时)

+

重点内容: 移动通信技术分类、移动通信网络监听原理、RFID、智能卡、蓝牙安全。

+

在线观看教学PPT

+

5.智能终端操作系统安全基础(4学时)

+

重点内容:智能终端操作系统分类、智能终端操作系统安全机制演进历史、智能终端操作系统与桌面终端操作系统安全机制的区别与联系。

+

在线观看教学PPT

+

6.安卓系统访问控制策略与机制(3学时)

+

重点内容:安卓系统访问控制机制的经典漏洞分析、安卓系统加固技术。

+

在线观看教学PPT

+

7.移动终端应用逆向分析(4学时)

+

重点内容:安卓系统抓包技术、iOS系统抓包技术、典型通信协议的逆向方法。

+

在线观看教学PPT

+

8.移动终端应用攻防与代码安全最佳实践(7学时)

+

重点内容: Android应用常见缺陷成因、原理、漏洞利用和最佳安全实践

+

在线观看教学PPT

+

四、作业、实践环节

+
    +
  • 802.11数据帧结构分析实验,认识常见无线网络设备,了解基本使用和配置方法。(2学时)
  • +
  • 802.11网络监听实验。(2学时)
  • +
  • 802.11网络攻防实验(上),隐藏SSID发现、伪造热点钓鱼、拒绝服务攻击。(2学时)
  • +
  • 802.11网络攻防实验(下),脆弱性认证机制破解、中间人攻击。(2学时)
  • +
  • Android应用安全实验环境搭建(2学时)
  • +
  • Android系统adb进阶实验:绕过手机锁屏认证、获取手机敏感数据、应用程序生命周期管理。(2学时)
  • +
  • 智能终端应用通信协议逆向分析实验。(2学时)
  • +
  • Android应用常见缺陷检测与漏洞利用实验(2学时)
  • +
+

五、建议教材

+

+

六、参考资料

+
    +
  • 802.11® Wireless Networks: The Definitive Guide, Second Edition
  • +
  • Andrew Hoog 著 何泾沙 译. Android取证实战·调查、分析与移动安全. 机械工业出版社,2013.
  • +
  • 丰生强 著. Android软件安全与逆向分析. 人民邮电出版社. 2013.
  • +
  • 沙梓社,吴航,刘瑾 著. 信息安全技术丛书·iOS应用逆向工程:分析与实战. 机械工业出版社. 2013.
  • +
  • 吴倩,赵晨啸,郭莹 著. Android安全机制解析与应用实践. 机械工业出版社. 2013.
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mis/2021/calendar.html b/mis/2021/calendar.html new file mode 100644 index 00000000..3529f892 --- /dev/null +++ b/mis/2021/calendar.html @@ -0,0 +1,1198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2021 春教学日历 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

2021 春教学日历

+

1. 2021-03-03 (线上直播)

+

第一章 无线网络安全基础(2学时)

+

2. 2021-03-10 (线上直播)

+
    +
  • 第一章 无线网络安全基础(2学时)
  • +
  • 第五章 智能终端操作系统安全基础(2学时)
  • +
+

3. 2021-03-17 (线上直播)

+
    +
  • 第五章 智能终端操作系统安全基础(2学时)
  • +
+

4. 2021-03-24 (线下课)

+
    +
  • 课前 领取 USB 无线网卡
  • +
  • 第二章 无线接入网监听 (4学时)
  • +
+

5. 2021-03-31 (线下课)

+
    +
  • 由于本学期 USB 无线网卡发放到位时间推迟缘故,实验报告 H1 提交截止今日 23:59:59
  • +
  • 第二章 无线接入网监听 (2学时)
  • +
+

6. 2021-04-07 (线下课)

+
    +
  • 第二章 课内实验(4学时)
  • +
+

7. 2021-04-14 (线下课)

+
    +
  • H2 提交截止今日 23:59:59
  • +
  • 第三章 无线接入网入侵与防御 (2学时)
  • +
+

8. 2021-04-21 (线下课)

+
    +
  • 第三章 无线接入网入侵与防御 (2学时)
  • +
  • 第三章 课内实验 (2学时)
  • +
+

9. 2021-04-28 (线下课)

+
    +
  • 第三章 课内实验 (2学时)
  • +
+

10. 2021-05-05 春季读书周放假

+

11. 2021-05-12 (线下课)

+
    +
  • H3 提交截止今日 23:59:59
  • +
  • 第四章 移动通信与物联网安全概述 (2学时)
  • +
+

12. 2021-05-19 (线下课)

+
    +
  • 第四章 移动通信与物联网安全概述 (2学时)
  • +
  • 第四章 课内实验(2学时)
  • +
+

13. 2021-05-26 (线下课)

+
    +
  • H4 提交截止今日 23:59:59
  • +
  • 第六章 安卓系统访问控制策略与机制 (2学时)
  • +
+

14. 2021-06-02 (线下课)

+
    +
  • 第六章 安卓系统访问控制策略与机制 (2学时)
  • +
  • 第五章 课内实验 (1学时)
  • +
  • 第六章 课内实验 (1学时)
  • +
+

15. 2021-06-09 (线下课)

+
    +
  • H5 和 H6 提交截止今日 23:59:59
  • +
  • 第七章 移动终端应用逆向分析 (2学时)
  • +
+

16. 2021-06-16 (线下课)

+
    +
  • 第七章 移动终端应用逆向分析 (1学时)
  • +
  • 第七章 课内实验 (2学时)
  • +
  • 第八章 移动终端应用攻防与代码安全最佳实践 (1学时)
  • +
+

17. 2021-06-23 (线下课)

+
    +
  • H7 提交截止今日 23:59:59
  • +
  • 第八章 移动终端应用攻防与代码安全最佳实践 (2学时)
  • +
  • 第八章 课内实验 (2学时)
  • +
  • H8 提交截止 2021-06-30 23:59:59
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mis/2021/homework.html b/mis/2021/homework.html new file mode 100644 index 00000000..15072a38 --- /dev/null +++ b/mis/2021/homework.html @@ -0,0 +1,1102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Homework - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

Homework

+ +

本学期作业计划

+

必选作业

+
    +
  • H1 OpenWrt 虚拟机搭建
  • +
  • H2 无线网络嗅探基础
  • +
  • H3 无线网络攻防实验
  • +
  • H8 Android 缺陷应用漏洞攻击实验
  • +
+

可选作业

+
    +
  • H4 CVE-2019-12272 漏洞复现
  • +
  • H5 Android 模拟器环境搭建笔记
  • +
  • H6 Android Hello World 应用开发和 ADB 实验
  • +
  • H7 Hello World v2版逆向实验
  • +
+

期末总评分规则

+
    +
  • 平时分满分 30 分,分数构成如下:
      +
    • 16 次考勤,每次正常签到得 0.5 分,迟到得 0.2 分,旷课得 0 分。有假条的病事假按正常签到计分。
    • +
    • 学习积极性评分:8 次课后作业总得分 / 8次课后作业满分 * 22 + 主观评价因子,满分不超过 22 分
    • +
    +
  • +
  • 主观评价因子:随堂测试,积极参与课堂讨论
  • +
  • 8 章课程,每章课后均留有作业,按章节顺序分别记为:H1 ~ H8
      +
    • 满分 15 分的 必选 作业:H1, H2, H3, H8
    • +
    • 满分 10 分的可选作业:H4, H5, H6, H7 。可选作业计分规则为 max(H4, H5, H6, H7)
    • +
    • H2 和 H3 作业要求提交到私有仓库,其他作业统一提交到公开仓库
    • +
    +
  • +
  • 默认每一次作业的「规定」提交截止时间是从作业布置当天开始的一周之内。例如,3.17布置的第一次课作业最晚提交截止时间是3.23晚23:59:59。超时提交的作业将被酌情扣分。
  • +
  • 详细考核计分规则请查阅 移动互联网安全课程考核计算器 的 J, K, L, M, N 列的计算公式。
  • +
+

实验报告评分基本规则

+
    +
  • 实验报告内容完成度「满分 7分
      +
    • 部分完成:5分
    • +
    • 基本完成: 6分
    • +
    • 少量瑕疵:7分
    • +
    +
  • +
  • markdown 使用规范 「1分
      +
    • 在 github 上在线渲染结果正确无误 (本条违反,本项直接扣 1 分)
    • +
    • 所有配图均已上传到 github 且在文档内使用「相对路径」引用(禁止使用图片「外链」)(仅本条违反,扣 0.5 分。同时第三条违反,扣 1 分)
    • +
    • 代码块正确使用语法高亮标记 (仅有这一条少量违反,本项可以不扣分。超过 5 处代码引用未高亮标记,扣 0.5 分)
    • +
    +
  • +
  • git 使用规范 「0.5分
      +
    • PR 标题中体现了作业序号,例如 chap0x01
    • +
    • 推荐的目录结构和分支结构
    • +
    • 见名知意 的文件命名,好评 示例如 logged_in.png, install_complete.png扣分 示例:1.png, 新建文本文件.md
    • +
    +
  • +
  • 实验报告结构规范性程度 「0.5分
      +
    • 在实验报告末总结了遇到的问题与解决方案
    • +
    • 参考文献/资料引用标准规范
    • +
    +
  • +
  • 按时提交 「满分 1分
      +
    • 晚提交不超过 1 周 0.5分
    • +
    +
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mis/2021/index.html b/mis/2021/index.html new file mode 100644 index 00000000..f539d4ed --- /dev/null +++ b/mis/2021/index.html @@ -0,0 +1,1245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2021年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

移动互联网安全

+

一、课程基本信息

+
    +
  • 课程编号:2121030125
  • +
  • 英文名称:Mobile Internet Security
  • +
  • 授课对象:信息安全专业
  • +
  • 开课学期:6
  • +
  • 学分/学时:2.5/48
  • +
  • 先修课程:信息安全导论、计算机安全与维护
  • +
  • 教学方式:课堂讲授,上机实验
  • +
  • 详细教学日历
  • +
  • 期末总评分规则明细
  • +
+

课程简介

+

本课程针对移动互联网安全中的关键技术,从应用角度出发,介绍无线网络监听、扫描、入侵和防御,智能手机系统攻防、智能手机应用攻防等基本概念、原理和技术,并通过实例讲解知识点,将安全理论、安全技术和安全工具有机结合。

+

二、课程教学目的和要求

+

随着互联网的发展和信息化进程的深入,无线网络、智能手机、智能设备等具备互联互通智能化特征的硬件与软件蓬勃发展,传统的计算机互联网内涵已经逐渐外延发展为“万物互联”的物联网。以无线网络为通信基础、智能手机为终端设备基础、APP为服务载体形式和云计算为基础设施的移动互联网技术是物联网大家族中的一个重要且成熟的技术生态圈,移动互联网相关的安全问题已成为各国政府有关部门、各大行业和企事业关注的热点问题,对移动互联网安全专门人才的需求也日显突出。本课程全面系统地介绍移动互联网安全的基本概念、原理和技术,使学生掌握相关理论知识和关键技术,提高安全意识,增强解决互联网和数字传媒等行业中移动互联网安全问题的能力。

+

三、教学内容与学时分配

+

1.无线网络安全基础(4学时)

+

重点内容:无线通信协议分类、802.11协议、802.11家族相关设备认知。

+

2.无线接入网监听(6学时)

+

重点内容:无线网卡配置与使用、WLAN认证原理、802.11协议与wireshark过滤器使用、基于Scapy的802.11编程基础。

+

3.无线接入网入侵与防御(4学时)

+

重点内容:SSID隐藏与发现、Evil Twin攻击与防御、中间人攻击与防御、拒绝服务攻击与防御、WLAN认证机制攻防、WLAN加密与解密、企业级WLAN安全机制攻防、基于Scapy的802.11编程实战。

+

4.移动通信与物联网安全概述(4学时)

+

重点内容: 移动通信技术分类、移动通信网络监听原理、RFID、智能卡、蓝牙安全。

+

5.智能终端操作系统安全基础(4学时)

+

重点内容:智能终端操作系统分类、智能终端操作系统安全机制演进历史、智能终端操作系统与桌面终端操作系统安全机制的区别与联系。

+

6.安卓系统访问控制策略与机制(4学时)

+

重点内容:安卓系统访问控制机制的经典漏洞分析、安卓系统加固技术。

+

7.移动终端应用逆向分析(3学时)

+

重点内容:安卓系统抓包技术、iOS系统抓包技术、典型通信协议的逆向方法。

+

8.移动终端应用攻防与代码安全最佳实践(3学时)

+

重点内容: Android应用常见缺陷成因、原理、漏洞利用和最佳安全实践

+

四、作业、实践环节

+
    +
  • 无线网络攻防
      +
    • 基于 OpenWrt 的虚拟软 AP 搭建 (0学时,课后实验报告)
    • +
    • 802.11数据帧结构分析实验,认识常见无线网络设备,了解基本使用和配置方法。(2学时)
    • +
    • 802.11网络监听实验。(2学时)
    • +
    • 802.11网络攻防实验(上),隐藏SSID发现、伪造热点钓鱼、拒绝服务攻击。(2学时)
    • +
    • 802.11网络攻防实验(下),脆弱性认证机制破解、中间人攻击。(2学时)
    • +
    +
  • +
  • 物联网安全
      +
    • OpenWrt 已知漏洞利用复现 (2学时)
    • +
    +
  • +
  • 智能终端攻防
      +
    • Android应用安全实验环境搭建(1学时)
    • +
    • Android系统adb进阶实验:绕过手机锁屏认证、获取手机敏感数据、应用程序生命周期管理。(1学时)
    • +
    • 智能终端应用通信协议逆向分析实验。(2学时)
    • +
    • Android应用常见缺陷检测与漏洞利用实验(2学时)
    • +
    +
  • +
+

五、建议教材

+

+

六、参考资料

+
    +
  • 802.11® Wireless Networks: The Definitive Guide, Second Edition
  • +
  • Andrew Hoog 著 何泾沙 译. Android取证实战·调查、分析与移动安全. 机械工业出版社,2013.
  • +
  • 丰生强 著. Android软件安全与逆向分析. 人民邮电出版社. 2013.
  • +
  • 沙梓社,吴航,刘瑾 著. 信息安全技术丛书·iOS应用逆向工程:分析与实战. 机械工业出版社. 2013.
  • +
  • 吴倩,赵晨啸,郭莹 著. Android安全机制解析与应用实践. 机械工业出版社. 2013.
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/movies.html b/movies.html new file mode 100644 index 00000000..f6800b5f --- /dev/null +++ b/movies.html @@ -0,0 +1,1113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 黑客题材影视剧 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

黑客题材影视剧

+

电视剧

+ +

电影

+ +

社会工程学系列

+ +

纪录片

+ +

极客秀

+ +

参考资料

+ + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ns.html b/ns.html new file mode 100644 index 00000000..2238d95d --- /dev/null +++ b/ns.html @@ -0,0 +1,1106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 网络安全 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+ +
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ns/2019/index.html b/ns/2019/index.html new file mode 100644 index 00000000..f6e1803d --- /dev/null +++ b/ns/2019/index.html @@ -0,0 +1,1261 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2019年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

网络安全

+

一、课程基本信息

+
    +
  • 课程编号:113023
  • +
  • 英文名称:Computer Network Security
  • +
  • 授课对象:信息安全专业
  • +
  • 开课学期:5
  • +
  • 学分/学时:3/64(2014版教学大纲)
  • +
  • 先修课程:信息安全导论、计算机网络、计算机安全与维护
  • +
  • 教学方式:课堂讲授,上机实验
  • +
+

课程简介

+

本课程针对网络安全中的关键技术,从应用角度出发,介绍网络监听、扫描、入侵、后门、防火墙和虚拟专用网等基本概念、原理和技术,并通过实例讲解知识点,将安全理论、安全技术和安全工具有机结合。

+

二、课程教学目的和要求

+

随着互联网的发展和信息化进程的深入,互联网和计算机系统的安全问题已成为各国政府有关部门、各大行业和企事业关注的热点问题,对网络与系统安全专门人才的需求也日显突出。本课程全面系统地介绍网络安全的基本概念、原理和技术,使学生掌握网络安全知识和关键技术,提高安全意识,增强解决互联网和数字传媒等行业中网络安全问题的能力。

+

三、教学内容与学时分配

+

1.网络安全基础(2学时)

+

重点内容:网络威胁模型、操作系统的安全机制、融合网安全、等级安全保护概念、计算机安全法规和黑客守则。

+

在线观看教学PPT | VirtualBox使用入门 | VirtualBox虚拟网络详解

+

2.系统安全、风险评估理论与应用(2学时)

+

重点内容:访问控制理论、CVSS理论、风险评估案例分析。

+

在线观看教学PPT | CVSS 2.0官方指南(英文)PDF | CVSS 3.0官方指南(英文)PDF

+

3.网络安全应用基础(2学时)

+

重点内容:网络代理的分类、基本原理和工具使用,匿名通信的基本原理与检测方法。

+

在线观看教学PPT

+

4.网络监听(4学时)

+

重点内容:网络监听的基本概念、原理、分类和防范方法,常用的监听工具软件使用。

+

在线观看教学PPT

+

5.网络扫描(2学时)

+

重点内容:网络扫描的基本概念、原理、分类和防范方法,常用的扫描工具软件使用。

+

在线观看教学PPT

+

6.网络与系统渗透(4学时)

+

重点内容:网络与系统渗透的基本原理和方法,渗透测试的方法论,渗透测试与网络入侵的区别与联系。

+

在线观看教学PPT

+

7.Web应用漏洞攻防(4学时)

+

重点内容:SQL注入、XSS、CSRF、口令破解、HTTP协议调试方法。

+

在线观看教学PPT

+

8.防火墙(2学时)

+

重点内容:防火墙的基本原理、防火墙技术发展史、典型防火墙配置实验。

+

在线观看教学PPT

+

9.入侵检测(2学时)

+

重点内容:入侵检测的基本原理、入侵检测技术发展史。

+

在线观看教学PPT

+

10.应用程序安全加固(2学时)

+

重点内容:常见应用程序配置缺陷、应用防火墙配置、WEB服务器安全加固。

+

在线观看教学PPT

+

11.蜜罐和蜜网(2学时)

+

重点内容:蜜罐和蜜网的基本原理、蜜罐和蜜网发展史。

+

在线观看教学PPT | 期末试题样本.docx

+

12.计算机取证(2学时)

+

重点内容:计算机取证的基本原理、网络流量分析与取证、系统日志分析与取证、系统运行时监控工具的取证应用。

+

在线观看教学PPT

+
    +
  1. 社会化网络安全(2学时)
  2. +
+

重点内容:社交网络钓鱼、电信诈骗与防范、大数据应用与隐私保护。

+

四、作业、实践环节

+
    +
  • 虚拟网络配置实验:虚拟机软件Virtualbox的5种网络模式的区别、应用场景,多虚拟网卡的应用;(2学时)
  • +
  • 局域网主动监听实验(上):使用ettercap、tcpdump进行网络主动监听实验;(2学时)
  • +
  • 局域网主动监听实验(下):wireshark进行网络监听、流量分析和流量还原实验;(2学时)
  • +
  • 网络扫描实验:使用nmap进行主机和网络扫描实验;(2学时)
  • +
  • 网络渗透实验:信息收集工具(搜索引擎、whois、社交网络搜索工具等)的使用,了解metasploit的基本使用;(2学时)
  • +
  • WEB漏洞检测与利用实验(上):基于WebGoat训练平台,进行SQL注入、XSS等WEB漏洞的检测与利用实验;(4学时)
  • +
  • WEB漏洞检测与利用实验(下):基于真实Web应用,进行漏洞挖掘和漏洞利用实验;(4学时)
  • +
  • 防火墙实验:iptables配置;(2学时)
  • +
  • 网络防御实验(上):snort/bro配置;(2学时)
  • +
  • 网络防御实验(下):应用程序安全配置与加固(fail2ban);(2学时)
  • +
  • 蜜罐实验:python scapy实验;(2学时)
  • +
  • 入侵取证实验:综合snort、系统日志、应用程序日志、wireshark抓包等工具和方法,发现攻击源、重建攻击场景和过程。(2学时)
  • +
  • 网络安全综合实验:开源信息系统搭建、加固与漏洞攻防;(4学时)
  • +
+

五、建议教材

+

+

六、参考资料

+ + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ns/2020/calendar.html b/ns/2020/calendar.html new file mode 100644 index 00000000..90256427 --- /dev/null +++ b/ns/2020/calendar.html @@ -0,0 +1,1135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2020 秋教学日历 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

2020 秋教学日历

+

2020-09-08

+

第一章 网络安全基础

+

2020-09-15

+

第二章 系统安全、风险评估理论与应用

+

2020-09-22

+

第三章 网络安全应用基础

+

2020-09-29

+

第四章 网络监听

+

2020-10-06

+

第五章 网络扫描

+

2020-10-13

+

第六章 网络与系统渗透

+

2020-10-20

+

第七章 Web 应用漏洞攻防(上)

+

2020-10-27

+

第七章 Web 应用漏洞攻防(中)

+

2020-11-03

+

第七章 Web 应用漏洞攻防(下)

+

2020-11-10

+

第八章 防火墙

+

2020-11-17

+

第九章 入侵检测

+

2020-11-24

+

第十章 应用程序安全加固

+

2020-12-01

+

第十一章 蜜罐和蜜网

+

2020-12-08

+

第十二章 计算机取证

+

2020-12-15

+

第十三章 社会化网络安全

+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ns/2020/index.html b/ns/2020/index.html new file mode 100644 index 00000000..34bbcadd --- /dev/null +++ b/ns/2020/index.html @@ -0,0 +1,1283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2020年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

网络安全

+

一、课程基本信息

+
    +
  • 课程编号:2121030134
  • +
  • 英文名称:Computer Network Security
  • +
  • 授课对象:信息安全专业
  • +
  • 开课学期:5
  • +
  • 学分/学时:3/64(2018版教学大纲)
  • +
  • 先修课程:信息安全导论、计算机网络、计算机安全与维护
  • +
  • 教学方式:课堂讲授,上机实验
  • +
  • 详细教学日历
  • +
+

课程简介

+

本课程针对网络安全中的关键技术,从应用角度出发,介绍网络监听、扫描、入侵、后门、防火墙和虚拟专用网等基本概念、原理和技术,并通过实例讲解知识点,将安全理论、安全技术和安全工具有机结合。

+

二、课程教学目的和要求

+

随着互联网的发展和信息化进程的深入,互联网和计算机系统的安全问题已成为各国政府有关部门、各大行业和企事业关注的热点问题,对网络与系统安全专门人才的需求也日显突出。本课程全面系统地介绍网络安全的基本概念、原理和技术,使学生掌握网络安全知识和关键技术,提高安全意识,增强解决互联网和数字传媒等行业中网络安全问题的能力。

+

三、教学内容与学时分配

+

1.网络安全基础(2学时)

+

重点内容:网络威胁模型、操作系统的安全机制、融合网安全、等级安全保护概念、计算机安全法规和黑客守则。

+

2.系统安全、风险评估理论与应用(2学时)

+

重点内容:访问控制理论、CVSS理论、风险评估案例分析。

+

3.网络安全应用基础(2学时)

+

重点内容:网络代理的分类、基本原理和工具使用,匿名通信的基本原理与检测方法。

+

4.网络监听(4学时)

+

重点内容:网络监听的基本概念、原理、分类和防范方法,常用的监听工具软件使用。

+

5.网络扫描(2学时)

+

重点内容:网络扫描的基本概念、原理、分类和防范方法,常用的扫描工具软件使用。

+

6.网络与系统渗透(4学时)

+

重点内容:网络与系统渗透的基本原理和方法,渗透测试的方法论,渗透测试与网络入侵的区别与联系。

+

7.Web 应用漏洞攻防(4学时)

+

重点内容:SQL注入、XSS、CSRF、口令破解、HTTP协议调试方法。

+

8.防火墙(2学时)

+

重点内容:防火墙的基本原理、防火墙技术发展史、典型防火墙配置实验。

+

9.入侵检测(2学时)

+

重点内容:入侵检测的基本原理、入侵检测技术发展史。

+

10.应用程序安全加固(2学时)

+

重点内容:常见应用程序配置缺陷、应用防火墙配置、WEB服务器安全加固。

+

11.蜜罐和蜜网(2学时)

+

重点内容:蜜罐和蜜网的基本原理、蜜罐和蜜网发展史。

+

12.计算机取证(2学时)

+

重点内容:计算机取证的基本原理、网络流量分析与取证、系统日志分析与取证、系统运行时监控工具的取证应用。

+
    +
  1. 社会化网络安全(2学时)
  2. +
+

重点内容:社交网络钓鱼、电信诈骗与防范、大数据应用与隐私保护。

+

在线课件和授课视频回放

+ +

四、作业、实践环节

+
    +
  • 虚拟网络配置实验:虚拟机软件Virtualbox的5种网络模式的区别、应用场景,多虚拟网卡的应用;(2学时)
  • +
  • 局域网主动监听实验(上):使用ettercap、tcpdump进行网络主动监听实验;(2学时)
  • +
  • 局域网主动监听实验(下):wireshark进行网络监听、流量分析和流量还原实验;(2学时)
  • +
  • 网络扫描实验:使用nmap进行主机和网络扫描实验;(2学时)
  • +
  • 网络渗透实验:信息收集工具(搜索引擎、whois、社交网络搜索工具等)的使用,了解metasploit的基本使用;(2学时)
  • +
  • WEB漏洞检测与利用实验(上):基于WebGoat训练平台,进行SQL注入、XSS等WEB漏洞的检测与利用实验;(4学时)
  • +
  • WEB漏洞检测与利用实验(下):基于真实Web应用,进行漏洞挖掘和漏洞利用实验;(4学时)
  • +
  • 防火墙实验:iptables配置;(2学时)
  • +
  • 网络防御实验(上):snort/bro配置;(2学时)
  • +
  • 网络防御实验(下):应用程序安全配置与加固(fail2ban);(2学时)
  • +
  • 蜜罐实验:python scapy实验;(2学时)
  • +
  • 入侵取证实验:综合snort、系统日志、应用程序日志、wireshark抓包等工具和方法,发现攻击源、重建攻击场景和过程。(2学时)
  • +
  • 网络安全综合实验:开源信息系统搭建、加固与漏洞攻防;(4学时)
  • +
+

五、建议教材

+

+

六、参考资料

+ + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ns/2021/calendar.html b/ns/2021/calendar.html new file mode 100644 index 00000000..d86a1771 --- /dev/null +++ b/ns/2021/calendar.html @@ -0,0 +1,1248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2021 秋教学日历 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

2021 秋教学日历

+

第一次上课前准备

+
    +
  • 在自己的 Virtualbox 虚拟机里下载并安装最新版 Kali +
  • +
  • 在自己的 Virtualbox 虚拟机里下载并导入 Debian 10Windows XP SP3 【注意:此处链接仅限 校园网 可访问】
      +
    • 如果无法下载此处 2 个链接或链接失效,请自行下载对应的系统镜像并自行安装
    • +
    • Windows XP SP3 镜像的 SHA1 值: d142469d0c3953d8e4a6a490a58052ef52837f0f
        +
      • Tip: 6crcc 🐶
      • +
      +
    • +
    • Debian 10 对应版本代号 Buster
    • +
    +
  • +
+

第 1 周 线下课 (1/9)

+ +

第 2 周 线上课 [1/7]

+ +

第 3 周 线上课 [2/7]

+ +

第 4 周 线下课 (2/9)

+ +

第 5 周 线上课 [3/7]

+ +

第 6 周 线下课 (3/9)

+
    +
  • 第五章 网络扫描 (实验)
  • +
  • 第六章 网络与系统渗透 (实验)
  • +
+

第 7 周 线上课 [4/7]

+ +

第 8 周 线下课 (4/9)

+ +

第 9 周 线下课 (5/9)

+ +

第 10 周 线上课 [5/7]

+ +

第 11 周 线下课 (6/9)

+
    +
  • 第九章 入侵检测
      +
    • 完成从 P5 ~ P13 共计 9 段课程视频的学习
    • +
    +
  • +
  • 第八章 防火墙 (实验)
  • +
  • 第九章 入侵检测 (实验)
  • +
+

第 12 周 线上课 [6/7]

+ +

第 13 周 线下课 (7/9)

+
    +
  • 第十一章 蜜罐和蜜网
      +
    • 完成从 P9 ~ P14 共计 6 段课程视频的学习
    • +
    +
  • +
  • 第十章 应用程序安全加固 (实验)
  • +
  • 第十一章 蜜罐和蜜网 (实验)
  • +
+

第 14 周 线上课 [7/7]

+ +

第 15 周 线下课 (8/9)

+ +

第 16 周 线下课 (9/9)

+
    +
  • 网络安全综合实验:开源信息系统搭建、加固与漏洞攻防
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ns/2021/homework.html b/ns/2021/homework.html new file mode 100644 index 00000000..e9a4f2b5 --- /dev/null +++ b/ns/2021/homework.html @@ -0,0 +1,1105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 本学期课程考核规则 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

本学期课程考核规则

+

总成绩构成

+

等级成绩类型:百分制

+

总成绩 = 平时成绩 系数20% + 期末成绩 系数60% + 考勤成绩 系数10% + 线上成绩 系数10%

+

总成绩评定规则

+
    +
  • 详见 在线成绩计算器 中的示例数据和具体单元格的计算公式
      +
    • 实验报告总分
    • +
    • 总分
    • +
    +
  • +
  • 实验报告要求继承上学期 《Linux 系统与网络管理》课程的实验报告要求
  • +
+

平时成绩

+
    +
  1. 平时成绩 满分按照 100 分计算。
  2. +
  3. 校内 CTF 平台 得分除以 10 对应 平时成绩。例如,平台上拿到 600 分对应平时成绩 60 分。
  4. +
  5. 平台得分经过折算后,超过 100 分均按 平时成绩 满分记录。
  6. +
  7. 校内 CTF 平台 上部分题目采用 动态计分 :设置动态分数上限和下限;每增加一人解出题目,题目分值动态减少;当解题人数达到题目设置的上限后,题目分值停止在动态分值下限不再变化。
  8. +
  9. 平时成绩 计算截止时间为考试周前一天晚上 23:59:59 。
  10. +
  11. 所有 CTF WriteUp 提交到 私有作业仓库 独立目录下,每道得分题均需配套 WriteUp;缺少配套 WriteUp 则对应题目得分可能被视为无效。
  12. +
+

ctf.cuc.edu.cn

+

仅限校园网访问的 校内 CTF 平台 http://ctf.cuc.edu.cn ,以下是访问前配置步骤:

+
    +
  1. 将你电脑的 DNS 设置里,添加 202.205.24.196 为域名解析服务器,并确保排在 第一位
  2. +
  3. 用浏览器访问 http://ctf.cuc.edu.cn ,使用 @cuc.edu.cn 邮箱注册账号使用。
  4. +
+

如果以上配置方法遇到访问问题,也可以将以下静态的域名和 IP 地址对应关系保存到系统的 hosts 文件。但这种静态配置方法将无法访问系统中的动态域名靶机环境,故推荐使用上述配置域名解析服务器的方式来访问我们的 校内 CTF 平台

+
202.205.24.196 ctf.cuc.edu.cn
+202.205.24.196 legacy.ctf.cuc.edu.cn
+
+ +

期末成绩

+
    +
  1. 所有实验报告得分之和构成期末成绩。
  2. +
  3. 实验报告题目一:第一章、第五章、第七章、第十一章课后实验报告
  4. +
  5. 实验报告题目二:第二章、第三章、第四章、第八章、第九章、第十章和第十二章课后实验报告至少任选其二
  6. +
  7. 实验报告题目一得分占比 80%,实验报告题目二得分占比 20%
  8. +
+

考勤成绩

+
    +
  • 线下课一共 9 次,每次正常考勤记 10 分,全勤加 10 分。
  • +
  • 迟到半小时以内记考勤 8 分。
  • +
  • 早退每满 10 分钟或不足 10 分钟,均扣考勤 1 分。扣到 0 分为止。
  • +
  • 缺勤记 0 分。
  • +
+

线上成绩

+
    +
  • 慕课平台上单元测试成绩之和,按满分 100 分进行等比例折算。
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ns/2021/index.html b/ns/2021/index.html new file mode 100644 index 00000000..b613cc80 --- /dev/null +++ b/ns/2021/index.html @@ -0,0 +1,1284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2021年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

网络安全

+

一、课程基本信息

+
    +
  • 课程编号:2121030134
  • +
  • 英文名称:Computer Network Security
  • +
  • 授课对象:信息安全专业
  • +
  • 开课学期:5
  • +
  • 学分/学时:3/64(2018版教学大纲)
  • +
  • 先修课程:信息安全导论、计算机网络、计算机安全与维护
  • +
  • 教学方式:课堂讲授,上机实验
  • +
  • 详细教学日历
  • +
  • 本学期课程考核规则
  • +
+

课程简介

+

本课程针对网络安全中的关键技术,从应用角度出发,介绍网络监听、扫描、入侵、后门、防火墙和虚拟专用网等基本概念、原理和技术,并通过实例讲解知识点,将安全理论、安全技术和安全工具有机结合。

+

二、课程教学目的和要求

+

随着互联网的发展和信息化进程的深入,互联网和计算机系统的安全问题已成为各国政府有关部门、各大行业和企事业关注的热点问题,对网络与系统安全专门人才的需求也日显突出。本课程全面系统地介绍网络安全的基本概念、原理和技术,使学生掌握网络安全知识和关键技术,提高安全意识,增强解决互联网和数字传媒等行业中网络安全问题的能力。

+

三、教学内容与学时分配

+

1.网络安全基础(2学时)

+

重点内容:网络威胁模型、操作系统的安全机制、融合网安全、等级安全保护概念、计算机安全法规和黑客守则。

+

2.系统安全、风险评估理论与应用(2学时)

+

重点内容:访问控制理论、CVSS理论、风险评估案例分析。

+

3.网络安全应用基础(2学时)

+

重点内容:网络代理的分类、基本原理和工具使用,匿名通信的基本原理与检测方法。

+

4.网络监听(4学时)

+

重点内容:网络监听的基本概念、原理、分类和防范方法,常用的监听工具软件使用。

+

5.网络扫描(2学时)

+

重点内容:网络扫描的基本概念、原理、分类和防范方法,常用的扫描工具软件使用。

+

6.网络与系统渗透(4学时)

+

重点内容:网络与系统渗透的基本原理和方法,渗透测试的方法论,渗透测试与网络入侵的区别与联系。

+

7.Web 应用漏洞攻防(4学时)

+

重点内容:SQL注入、XSS、CSRF、口令破解、HTTP协议调试方法。

+

8.防火墙(2学时)

+

重点内容:防火墙的基本原理、防火墙技术发展史、典型防火墙配置实验。

+

9.入侵检测(2学时)

+

重点内容:入侵检测的基本原理、入侵检测技术发展史。

+

10.应用程序安全加固(2学时)

+

重点内容:常见应用程序配置缺陷、应用防火墙配置、WEB服务器安全加固。

+

11.蜜罐和蜜网(2学时)

+

重点内容:蜜罐和蜜网的基本原理、蜜罐和蜜网发展史。

+

12.计算机取证(2学时)

+

重点内容:计算机取证的基本原理、网络流量分析与取证、系统日志分析与取证、系统运行时监控工具的取证应用。

+
    +
  1. 社会化网络安全(2学时)
  2. +
+

重点内容:社交网络钓鱼、电信诈骗与防范、大数据应用与隐私保护。

+

在线课件和授课视频回放

+ +

四、作业、实践环节

+
    +
  • H1 虚拟网络配置实验:虚拟机软件Virtualbox的5种网络模式的区别、应用场景,多虚拟网卡的应用;(2学时)
  • +
  • H4 局域网主动监听实验(上):使用ettercap、tcpdump进行网络主动监听实验;(2学时)
  • +
  • H4 局域网主动监听实验(下):wireshark进行网络监听、流量分析和流量还原实验;(2学时)
  • +
  • H5 网络扫描实验:使用nmap进行主机和网络扫描实验;(2学时)
  • +
  • H6 网络渗透实验:信息收集工具(搜索引擎、whois、社交网络搜索工具等)的使用,了解metasploit的基本使用;(2学时)
  • +
  • H7 WEB漏洞检测与利用实验(上):基于WebGoat训练平台,进行SQL注入、XSS等WEB漏洞的检测与利用实验;(4学时)
  • +
  • H7 WEB漏洞检测与利用实验(下):基于真实Web应用,进行漏洞挖掘和漏洞利用实验;(4学时)
  • +
  • H8 防火墙实验:iptables配置;(2学时)
  • +
  • H9 网络防御实验(上):snort/bro配置;(2学时)
  • +
  • H10 网络防御实验(下):应用程序安全配置与加固(fail2ban);(2学时)
  • +
  • H11 蜜罐实验:python scapy实验;(2学时)
  • +
  • H12 入侵取证实验:综合snort、系统日志、应用程序日志、wireshark抓包等工具和方法,发现攻击源、重建攻击场景和过程。(2学时)
  • +
  • H13 网络安全综合实验:开源信息系统搭建、加固与漏洞攻防;(4学时)
  • +
+

五、建议教材

+

+

六、参考资料

+ + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/ns/2021/\347\272\277\344\270\212\350\257\276\350\257\276\346\227\266\350\256\241\347\256\227\345\231\250.xlsx" "b/ns/2021/\347\272\277\344\270\212\350\257\276\350\257\276\346\227\266\350\256\241\347\256\227\345\231\250.xlsx" new file mode 100644 index 00000000..87743205 Binary files /dev/null and "b/ns/2021/\347\272\277\344\270\212\350\257\276\350\257\276\346\227\266\350\256\241\347\256\227\345\231\250.xlsx" differ diff --git a/ns/2022/calendar.html b/ns/2022/calendar.html new file mode 100644 index 00000000..1c311023 --- /dev/null +++ b/ns/2022/calendar.html @@ -0,0 +1,1314 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2022 秋教学日历 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

2022 秋教学日历

+

第一次上课前准备

+
    +
  • 在自己的 Virtualbox 虚拟机里下载并安装 最新版 Kali 的虚拟机镜像版
  • +
  • +

    在自己的 Virtualbox 虚拟机里下载并导入 Debian 10Windows XP SP3 的虚拟硬盘文件。

    +
      +
    • 如果无法下载此处 2 个链接或链接失效,请自行下载对应的系统镜像并自行安装。目标 Windows XP SP3 镜像的 SHA1 值: d142469d0c3953d8e4a6a490a58052ef52837f0f
        +
      • Tip: 6crcc 🐶
      • +
      +
    • +
    • Debian 10 对应版本代号 Buster
    • +
    +
  • +
  • +

    校内同学请登录中传云盘后,通过以下分享信息访问到上述 2 个虚拟机虚拟硬盘文件。

    +
  • +
+
+

分享名称:网络安全-课程公开分享分享链接:https://kod.cuc.edu.cn/#s/8d01XBZA访问密码:nG8qk

+
+
    +
  • 没有中传云盘账号的同学,可以使用以下百度云盘分享链接。
  • +
+
+

链接: https://pan.baidu.com/s/1ziXW94xhC-Pc11uxaZ8CDw?pwd=k3nd 提取码: k3nd

+
+

云盘内文件的 SHA256 校验和

+
bcc3c70b27fcbcd8ec02d8961c2483676085a833ea32d1989494ad6e43a774b8  Debian10.vdi.zip
+27853eb0b0574c367100b950990c6ee623f1315657f41a06e3daa428bed2e503  xp_sp3_base.vdi.zip
+
+ +

云盘内文件的 MD5 校验和

+
48358869605300877d1058da9dcb93d0  Debian10.vdi.zip
+7a37ef9a1c38c5afe7eaa52ab1ce0090  xp_sp3_base.vdi.zip
+
+ +

2022.09.05 第1周 线上

+
    +
  • 第一章 网络安全基础
  • +
  • 第一章 网络安全基础(实验)
  • +
+

2022.09.12 第2周 线上

+
    +
  • 第二章 系统安全、风险评估理论与应用
  • +
  • 第三章 网络安全应用基础
      +
    • 完成从 P1 ~ P6 共计 6 段课程视频的学习
    • +
    +
  • +
+

2022.09.19 第3周 线上

+
    +
  • 第三章 网络安全应用基础
      +
    • 完成从 P7 ~ P9 共计 3 段课程视频的学习
    • +
    +
  • +
  • 第四章 网络监听
  • +
+
+

H1 提交截止今天 23:59:59

+
+

2022.09.26 第4周 线下

+
    +
  • 第五章 网络扫描
  • +
  • 第四章 网络监听(实验)
  • +
+

2022.10.3 第5周 线上

+
    +
  • 第六章 网络与系统渗透
  • +
+

2022.10.10 第6周 线下

+
    +
  • 第五章 网络扫描 (实验)
  • +
  • 第六章 网络与系统渗透 (实验)
  • +
+
+

H4 提交截止今天 23:59:59

+
+

2022.10.17 第7周 线上

+
    +
  • 第七章 Web 应用漏洞攻防(上)
      +
    • 完成从 P1 ~ P12 共计 12 段课程视频的学习
    • +
    +
  • +
+
+

H5 提交截止今天 23:59:59

+
+

2022.10.24 第8周 线下

+
    +
  • 已学习内容答疑解惑
  • +
  • 第七章 Web 应用漏洞攻防(中)
      +
    • 完成从 P13 ~ P25 共计 13 段课程视频的学习
    • +
    +
  • +
+
+

H6 提交截止今天 23:59:59

+
+

2022.10.31 第9周 线上

+
    +
  • 第七章 Web 应用漏洞攻防(下)
      +
    • 完成从 P26 ~ P40 共计 15 段课程视频的学习
    • +
    +
  • +
+

2022.11.7 第10周 线下

+
    +
  • 第七章 Web 应用漏洞攻防(实验)
  • +
+

2022.11.14 第11周 线上

+
    +
  • 第八章 防火墙
  • +
  • 第九章 入侵检测
      +
    • 完成从 P1 ~ P4 共计 4 段课程视频的学习
    • +
    +
  • +
+
+

H7 提交截止今天 23:59:59

+
+

2022.11.21 第12周 线下

+
    +
  • 第九章 入侵检测
      +
    • 完成从 P5 ~ P13 共计 9 段课程视频的学习
    • +
    +
  • +
  • 第八章 防火墙 (实验)
  • +
  • 第九章 入侵检测 (实验)
  • +
+

2022.11.28 第13周 线上

+
    +
  • 第十章 应用程序安全加固
  • +
  • 第十一章 蜜罐和蜜网
      +
    • 完成从 P1 ~ P8 共计 8 段课程视频的学习
    • +
    +
  • +
+
+

H8 提交截止今天 23:59:59

+
+

2022.12.5 第14周 线下

+
    +
  • 第十一章 蜜罐和蜜网
      +
    • 完成从 P9 ~ P14 共计 6 段课程视频的学习
    • +
    +
  • +
  • 第十章 应用程序安全加固 (实验)
  • +
  • 第十一章 蜜罐和蜜网 (实验)
  • +
+
+

H9 提交截止今天 23:59:59

+
+

2022.12.12 第15周 线上

+
    +
  • 第十二章 计算机取证
  • +
  • 第十三章 社会化网络安全(上)
      +
    • 完成从 P1 ~ P8 共计 8 段课程视频的学习
    • +
    +
  • +
+
+

H10 提交截止今天 23:59:59

+
+

2022.12.19 第16周 线下

+
    +
  • 第十三章 社会化网络安全(下)
      +
    • 完成从 P9 ~ P15 共计 7 段课程视频的学习
    • +
    +
  • +
  • 第十二章 计算机取证 (实验)
  • +
+
+

H11 提交截止今天 23:59:59

+

H12 提交截止 2022.12.26 23:59:59

+
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ns/2022/homework.html b/ns/2022/homework.html new file mode 100644 index 00000000..9edbf021 --- /dev/null +++ b/ns/2022/homework.html @@ -0,0 +1,1178 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 本学期课程考核规则 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

本学期课程考核规则

+

总成绩构成

+

等级成绩类型:百分制

+

总成绩 = 平时成绩 系数20% + 期末成绩 系数60% + 考勤成绩 系数10% + 线上成绩 系数10%

+

总成绩评定规则

+
    +
  • 详见 在线成绩计算器 中的示例数据和具体单元格的计算公式
      +
    • 实验报告总分
    • +
    • 总分
    • +
    +
  • +
  • 实验报告要求继承上学期 《Linux 系统与网络管理》课程的实验报告要求
  • +
+

平时成绩

+
    +
  1. 平时成绩 满分按照 100 分计算。
  2. +
  3. 自行选择 在线 CTF 平台 完成 刷题百分 打卡,并撰写配套 CTF WriteUp
  4. +
  5. 平时成绩 计算截止时间为考试周前一天晚上 23:59:59 。
  6. +
  7. 所有 CTF WriteUp 提交到 私有作业仓库 独立目录下,每道得分题均需配套 WriteUp;缺少配套 WriteUp 则对应题目得分可能被视为无效。
  8. +
+

在线 CTF 平台

+

刷题百分 推荐平台如下,推荐优先级从高到低排列:

+ +

学习和体验用途,不参与 刷题百分 的平台推荐如下:

+ +

刷题百分

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
难度级别分值CTFHubBUUCTFXCTF
⭐️52星及以下>=2000次解出2星及以下
⭐️⭐️103星[1000,2000)次解出3星
⭐️⭐️⭐️154-5星[100,1000)次解出4-5星
⭐️⭐️⭐️⭐️206-8星小于100次解出且小于90分6-8星
⭐️⭐️⭐️⭐️⭐️509-10星>=90分9-10星
+

补充说明:

+
    +
  • 由于这些平台的开放性和已解题人员数量、难度评分的动态性,需要出具包含上述 证明信息 和带有 时间戳 的做题时截图。
  • +
  • 难度级别请对照上述难度级别说明自评,并在 WriteUp 里汇总一个「目录清单」,每道题目的 WriteUp 显著位置标注上难度级别。
  • +
  • 如发现 PS 截图造假难度级别自评错误,则取消对应题目 WriteUp 的计分。
  • +
  • 所谓 刷题百分 就是提交的 WriteUp 包含的题目总分值达到或超过 100 分,此时 平时成绩 得分为满分。
  • +
  • 最终认定的 刷题百分 总分值如果不满 100 分,则按照实际得分计入平时成绩。
  • +
  • WriteUp 中需要包含 证明自己亲自动手完成实验的「特征标志」。例如,使用的 Linux 终端提示符里包含自己姓名拼音或简拼或自己的 Github ID 等。需要注意的是,后期图片处理加上的 水印 没有亲自动手完成实验的证明力。
  • +
  • 无上述 证明自己亲自动手完成实验的「特征标志」 的题目对应 WriteUp 不予计分。
  • +
+

举例说明:

+
    +
  • 张三CTFHub 平台上完成了 10 道 ⭐️ 难度题目的 WriteUp、2 道 ⭐️⭐️ 难度题目的 WriteUp、3 道 ⭐️⭐️⭐️ 难度题目的 WriteUp ,则总分达到 115 分,平时成绩满分。
  • +
  • 李四CTFHub 平台上完成了 5 道 ⭐️ 难度题目的 WriteUp、2 道 ⭐️⭐️ 难度题目的 WriteUp、3 道 ⭐️⭐️⭐️ 难度题目的 WriteUp ,则总分达到 90 分,平时成绩 90 分。
  • +
+

期末成绩

+
    +
  1. 所有实验报告得分之和构成期末成绩。
  2. +
  3. 实验报告题目一:第一章、第五章、第七章、第十一章课后实验报告。
  4. +
  5. 实验报告题目二:第二章、第三章、第四章、第八章、第九章、第十章和第十二章课后实验报告至少任选其二。
  6. +
  7. 实验报告题目一得分占比 80%,实验报告题目二得分占比 20%。
  8. +
  9. 需要提交到 私有仓库 的实验报告是:第七章和第十一章。
  10. +
  11. 没有特别说明的实验报告默认提交到公开仓库。
  12. +
+

考勤成绩

+
    +
  • 线下课预计一共 9 次,每次正常考勤记 10 分,全勤加 10 分。
  • +
  • 迟到半小时以内记考勤 8 分。
  • +
  • 早退每满 10 分钟或不足 10 分钟,均扣考勤 1 分。扣到 0 分为止。
  • +
  • 缺勤记 0 分。
  • +
  • 如果因不可抗力因素导致线下课总次数不等于 9 次,则临时微调考勤成绩计算方法。
  • +
+

线上成绩

+
    +
  • 畅课平台上单元测试成绩之和,按满分 100 分进行等比例折算。
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ns/2022/index.html b/ns/2022/index.html new file mode 100644 index 00000000..5b9b8d78 --- /dev/null +++ b/ns/2022/index.html @@ -0,0 +1,1282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2022年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

网络安全

+

一、课程基本信息

+
    +
  • 课程编号:2121030134
  • +
  • 英文名称:Computer Network Security
  • +
  • 授课对象:网络空间安全专业
  • +
  • 开课学期:5
  • +
  • 学分/学时:3/64(2020版教学大纲)
  • +
  • 先修课程:网络空间安全导论、计算机网络、计算机安全与维护、Python编程
  • +
  • 教学方式:线上课程学习,线下答疑与实验
  • +
  • 详细教学日历
  • +
  • 本学期课程考核规则
  • +
+

课程简介

+

本课程针对网络安全中的关键技术,从应用角度出发,介绍网络监听、扫描、入侵、后门、防火墙和虚拟专用网等基本概念、原理和技术,并通过实例讲解知识点,将安全理论、安全技术和安全工具有机结合。

+

二、课程教学目的和要求

+

随着互联网的发展和信息化进程的深入,互联网和计算机系统的安全问题已成为各国政府有关部门、各大行业和企事业关注的热点问题,对网络与系统安全专门人才的需求也日显突出。本课程全面系统地介绍网络安全的基本概念、原理和技术,使学生掌握网络安全知识和关键技术,提高安全意识,增强解决互联网和数字传媒等行业中网络安全问题的能力。

+

三、教学内容与学时分配

+

1.网络安全基础(2学时)

+

重点内容:网络威胁模型、操作系统的安全机制、融合网安全、等级安全保护概念、计算机安全法规和黑客守则。

+

2.系统安全、风险评估理论与应用(2学时)

+

重点内容:访问控制理论、CVSS理论、风险评估案例分析。

+

3.网络安全应用基础(2学时)

+

重点内容:网络代理的分类、基本原理和工具使用,匿名通信的基本原理与检测方法。

+

4.网络监听(4学时)

+

重点内容:网络监听的基本概念、原理、分类和防范方法,常用的监听工具软件使用。

+

5.网络扫描(2学时)

+

重点内容:网络扫描的基本概念、原理、分类和防范方法,常用的扫描工具软件使用。

+

6.网络与系统渗透(4学时)

+

重点内容:网络与系统渗透的基本原理和方法,渗透测试的方法论,渗透测试与网络入侵的区别与联系。

+

7.Web 应用漏洞攻防(4学时)

+

重点内容:SQL注入、XSS、CSRF、口令破解、HTTP协议调试方法。

+

8.防火墙(2学时)

+

重点内容:防火墙的基本原理、防火墙技术发展史、典型防火墙配置实验。

+

9.入侵检测(2学时)

+

重点内容:入侵检测的基本原理、入侵检测技术发展史。

+

10.应用程序安全加固(2学时)

+

重点内容:常见应用程序配置缺陷、应用防火墙配置、WEB服务器安全加固。

+

11.蜜罐和蜜网(2学时)

+

重点内容:蜜罐和蜜网的基本原理、蜜罐和蜜网发展史。

+

12.计算机取证(2学时)

+

重点内容:计算机取证的基本原理、网络流量分析与取证、系统日志分析与取证、系统运行时监控工具的取证应用。

+

13.社会化网络安全(2学时)

+

重点内容:社交网络钓鱼、电信诈骗与防范、大数据应用与隐私保护。

+

在线课件和授课视频回放

+ +

四、作业、实践环节

+
    +
  • H1 虚拟网络配置实验:虚拟机软件Virtualbox的5种网络模式的区别、应用场景,多虚拟网卡的应用,无法使用 Virtualbox 的同学可以使用其他虚拟化或容器解决方案。(2学时)
  • +
  • H4 局域网主动监听实验(上):使用ettercap、tcpdump进行网络主动监听实验;(2学时)
  • +
  • H4 局域网主动监听实验(下):wireshark进行网络监听、流量分析和流量还原实验;(2学时)
  • +
  • H5 网络扫描实验:使用nmap/scapy进行主机和网络扫描实验;(2学时)
  • +
  • H6 网络渗透实验:信息收集工具(搜索引擎、whois、社交网络搜索工具等)的使用,了解metasploit的基本使用;(2学时)
  • +
  • H7 WEB漏洞检测与利用实验(上):基于WebGoat等训练平台,进行SQL注入、XSS等WEB漏洞的检测与利用实验;(4学时)
  • +
  • H7 WEB漏洞检测与利用实验(下):基于真实Web应用,进行漏洞挖掘和漏洞利用实验;(4学时)
  • +
  • H8 防火墙实验:iptables配置;(2学时)
  • +
  • H9 网络防御实验(上):snort/zeek配置;(2学时)
  • +
  • H10 网络防御实验(下):应用程序安全配置与加固(fail2ban);(2学时)
  • +
  • H11 蜜罐实验:蜜罐探索体验实验;(2学时)
  • +
  • H12 入侵取证实验:综合snort/zeek、系统日志、应用程序日志、wireshark抓包等工具和方法,发现攻击源、重建攻击场景和过程。(2学时)
  • +
  • H13 网络安全综合实验:开源信息系统搭建、加固与漏洞攻防;(4学时)
  • +
+

五、建议教材

+

+

六、参考资料

+ + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ns/2023/calendar.html b/ns/2023/calendar.html new file mode 100644 index 00000000..208d5e1b --- /dev/null +++ b/ns/2023/calendar.html @@ -0,0 +1,1327 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2023 秋教学日历 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

2023 秋教学日历

+

第一次上课前准备

+
    +
  • 在自己的 Virtualbox 虚拟机里下载并安装 最新版 Kali 的虚拟机镜像版
  • +
  • +

    在自己的 Virtualbox 虚拟机里下载并导入 Debian 10Windows XP SP3 的虚拟硬盘文件。

    +
      +
    • 如果无法下载此处 2 个链接或链接失效,请自行下载对应的系统镜像并自行安装。目标 Windows XP SP3 镜像的 SHA1 值: d142469d0c3953d8e4a6a490a58052ef52837f0f
        +
      • Tip: 6crcc 🐶
      • +
      +
    • +
    • Debian 10 对应版本代号 Buster
    • +
    +
  • +
  • +

    校内同学请登录中传云盘后,通过以下分享信息访问到上述 2 个虚拟机虚拟硬盘文件。

    +
  • +
+
+

分享名称:网络安全-课程公开分享分享链接:https://kod.cuc.edu.cn/#s/8d01XBZA 访问密码:nG8qk

+
+
    +
  • 没有中传云盘账号的同学,可以使用以下百度云盘分享链接。
  • +
+
+

链接: https://pan.baidu.com/s/1ziXW94xhC-Pc11uxaZ8CDw?pwd=k3nd 提取码: k3nd

+
+

云盘内文件的 SHA256 校验和

+
bcc3c70b27fcbcd8ec02d8961c2483676085a833ea32d1989494ad6e43a774b8  Debian10.vdi.zip
+27853eb0b0574c367100b950990c6ee623f1315657f41a06e3daa428bed2e503  xp_sp3_base.vdi.zip
+
+ +

云盘内文件的 MD5 校验和

+
48358869605300877d1058da9dcb93d0  Debian10.vdi.zip
+7a37ef9a1c38c5afe7eaa52ab1ce0090  xp_sp3_base.vdi.zip
+
+ +

2023.09.07 第1周 线下

+
    +
  • 第一章 网络安全基础
  • +
  • 第一章 网络安全基础(实验)
  • +
+

2023.09.14 第2周 线上

+
    +
  • 第二章 系统安全、风险评估理论与应用
  • +
  • 第三章 网络安全应用基础
      +
    • 完成从 P1 ~ P6 共计 6 段课程视频的学习
    • +
    +
  • +
+

2023.09.21 第3周 线上

+
    +
  • 第三章 网络安全应用基础
      +
    • 完成从 P7 ~ P9 共计 3 段课程视频的学习
    • +
    +
  • +
  • 第四章 网络监听
  • +
+
+

H1 提交截止今天 23:59:59

+
+

2023.09.28 第4周 线下

+
    +
  • 第五章 网络扫描
  • +
  • 第四章 网络监听(实验)
  • +
+

2023.10.5 第5周 线上(国庆放假自学)

+
    +
  • 第六章 网络与系统渗透
  • +
+

2023.10.12 第6周 线下

+
    +
  • 第五章 网络扫描 (实验)
  • +
  • 第六章 网络与系统渗透 (实验)
  • +
+
+

H4 提交截止今天 23:59:59

+
+

2023.10.19 第7周 线上

+
    +
  • 第七章 Web 应用漏洞攻防(上)
      +
    • 完成从 P1 ~ P12 共计 12 段课程视频的学习
    • +
    +
  • +
+
+

H5 提交截止今天 23:59:59

+
+

2023.10.26 第8周 线下

+
    +
  • 已学习内容答疑解惑
  • +
  • 第七章 Web 应用漏洞攻防(中)
      +
    • 完成从 P13 ~ P25 共计 13 段课程视频的学习
    • +
    +
  • +
+
+

H6 提交截止今天 23:59:59

+
+

2023.11.2 第9周 线上(读书周)

+
    +
  • 第七章 Web 应用漏洞攻防(下)
      +
    • 完成从 P26 ~ P40 共计 15 段课程视频的学习
    • +
    +
  • +
+

2023.11.9 第10周 线下

+
    +
  • 第七章 Web 应用漏洞攻防(实验)
  • +
+

2023.11.16 第11周 线上

+
    +
  • 第八章 防火墙
  • +
  • 第九章 入侵检测
      +
    • 完成从 P1 ~ P4 共计 4 段课程视频的学习
    • +
    +
  • +
+
+

H7 提交截止今天 23:59:59

+
+

2023.11.23 第12周 线下

+
    +
  • 第九章 入侵检测
      +
    • 完成从 P5 ~ P13 共计 9 段课程视频的学习
    • +
    +
  • +
  • 第八章 防火墙 (实验)
  • +
  • 第九章 入侵检测 (实验)
  • +
+

2023.11.30 第13周 线上

+
    +
  • 第十章 应用程序安全加固
  • +
  • 第十一章 蜜罐和蜜网
      +
    • 完成从 P1 ~ P8 共计 8 段课程视频的学习
    • +
    +
  • +
+
+

H8 提交截止今天 23:59:59

+
+

2023.12.7 第14周 线下

+
    +
  • 第十一章 蜜罐和蜜网
      +
    • 完成从 P9 ~ P14 共计 6 段课程视频的学习
    • +
    +
  • +
  • 第十章 应用程序安全加固 (实验)
  • +
  • 第十一章 蜜罐和蜜网 (实验)
  • +
+
+

H9 提交截止今天 23:59:59

+
+

2023.12.14 第15周 线上

+
    +
  • 第十二章 计算机取证
  • +
  • 第十三章 社会化网络安全(上)
      +
    • 完成从 P1 ~ P8 共计 8 段课程视频的学习
    • +
    +
  • +
+
+

H10 提交截止今天 23:59:59

+
+

2023.12.21 第16周 线下

+
    +
  • 第十三章 社会化网络安全(下)
      +
    • 完成从 P9 ~ P15 共计 7 段课程视频的学习
    • +
    +
  • +
  • 第十二章 计算机取证 (实验)
  • +
+
+

H11 提交截止今天 23:59:59

+

H12 提交截止 2023.12.26 23:59:59

+
+

2023.12.28 第17周 线下

+
    +
  • 综合实验
  • +
+

本学期实验报告批改计算成绩截止时间:2024-01-13 23:59:59

+

畅课平台的作业提交截止时间 2024-01-19 23:59:00 是用于实验报告整理后打包提交存档的截止时间,晚于上述 批改计算成绩截止时间 提交到 git.cuc.edu.cn 的实验报告将按照零分登记。

+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ns/2023/homework.html b/ns/2023/homework.html new file mode 100644 index 00000000..b465152a --- /dev/null +++ b/ns/2023/homework.html @@ -0,0 +1,1202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 本学期课程考核规则 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

本学期课程考核规则

+

总成绩构成

+

等级成绩类型:百分制

+

总成绩 = 平时成绩 系数20% + 期末成绩 系数60% + 考勤成绩 系数10% + 线上成绩 系数10%

+

总成绩评定规则

+
    +
  • 详见 在线成绩计算器 中的示例数据和具体单元格的计算公式
      +
    • 实验报告总分
    • +
    • 总分
    • +
    +
  • +
  • 实验报告要求继承上学期 《Linux 系统与网络管理》课程的实验报告要求
  • +
+

关于私有作业仓库的说明

+

由于在 GitLab 中,私有仓库不代表只有自己一个人可以访问,请看以下搬运自 GitLab 创建新仓库时关于 Private 属性的说明文字:

+
+

Project access must be granted explicitly to each user. If this project is part of a group, access is granted to members of the group.

+
+

翻译如下:

+
+

必须向每个用户显式授予项目访问权限。如果此项目是用户组的一部分,则向组成员授予访问权限。

+
+

据此可以更好地理解在 GitLab 中,在一个用户组命名空间下创建的 私有仓库,对于组内的所有用户来说,实际上是相互可见、内部公开的。

+

以下作业要求里提到的 私有作业仓库 具体指的是: 仅限仓库创建者本人、四名助教、任课老师 有权限访问该仓库,其他同学即使知道该仓库链接地址也无法访问仓库内容。

+

具体操作步骤建议如下:

+
    +
  • 在自己个人命名空间下创建仓库。此处假设个人用户名是 zhangsan ,创建的私有仓库名为 ns-private
  • +
  • 在自己个人命名空间下创建的仓库里,通过左侧导航菜单的 Project information - Members 进入仓库用户管理页面,点击右上角的 Invite members ,通过输入实名的方式,搜索、选中搜索结果,邀请 4名助教、任课老师,授予 Maintainer 角色。
  • +
  • 在自己的组命名空间下(当前为 ccs/ns-2023 )的组内公开仓库根目录下的 README.md 添加指向上述私有仓库的超链接:zhangsan/ns-private
  • +
+

平时成绩

+
    +
  1. 平时成绩 满分按照 100 分计算。
  2. +
  3. 自行选择 在线 CTF 平台 完成 刷题百分 打卡,并撰写配套 CTF WriteUp
  4. +
  5. 平时成绩 计算截止时间为考试周前一天晚上 23:59:59 : 2023-12-31 23:59:59
  6. +
  7. 所有 CTF WriteUp 提交到 私有作业仓库 独立目录下,每道得分题均需配套 WriteUp;缺少配套 WriteUp 则对应题目得分可能被视为无效。
  8. +
+

在线 CTF 平台

+

刷题百分 推荐平台如下,推荐优先级从高到低排列:

+ +

学习和体验用途,不参与 刷题百分 的平台推荐如下:

+ +

刷题百分

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
难度级别分值CTFHubBUUCTFXCTF
⭐️52星及以下>=2000次解出2星及以下
⭐️⭐️103星[1000,2000)次解出3星
⭐️⭐️⭐️154-5星[100,1000)次解出4-5星
⭐️⭐️⭐️⭐️206-8星小于100次解出且小于90分6-8星
⭐️⭐️⭐️⭐️⭐️509-10星>=90分9-10星
+

补充说明:

+
    +
  • 由于这些平台的开放性和已解题人员数量、难度评分的动态性,需要出具包含上述 证明信息 和带有 时间戳 的做题时截图。
  • +
  • 难度级别请对照上述难度级别说明自评,并在 WriteUp 里汇总一个「目录清单」,每道题目的 WriteUp 显著位置标注上难度级别。
  • +
  • 如发现 PS 截图造假难度级别自评错误,则取消对应题目 WriteUp 的计分。
  • +
  • 所谓 刷题百分 就是提交的 WriteUp 包含的题目总分值达到或超过 100 分,此时 平时成绩 得分为满分。
  • +
  • 最终认定的 刷题百分 总分值如果不满 100 分,则按照实际得分计入平时成绩。
  • +
  • WriteUp 中需要包含 证明自己亲自动手完成实验的「特征标志」。例如,使用的 Linux 终端提示符里包含自己姓名拼音或简拼或自己的 Github ID 等。需要注意的是,后期图片处理加上的 水印 没有亲自动手完成实验的证明力。
  • +
  • 无上述 证明自己亲自动手完成实验的「特征标志」 的题目对应 WriteUp 不予计分。
  • +
+

举例说明:

+
    +
  • 张三CTFHub 平台上完成了 10 道 ⭐️ 难度题目的 WriteUp、2 道 ⭐️⭐️ 难度题目的 WriteUp、3 道 ⭐️⭐️⭐️ 难度题目的 WriteUp ,则总分达到 115 分,平时成绩满分。
  • +
  • 李四CTFHub 平台上完成了 5 道 ⭐️ 难度题目的 WriteUp、2 道 ⭐️⭐️ 难度题目的 WriteUp、3 道 ⭐️⭐️⭐️ 难度题目的 WriteUp ,则总分达到 90 分,平时成绩 90 分。
  • +
+

期末成绩

+
    +
  1. 所有实验报告得分之和构成期末成绩。
  2. +
  3. 实验报告题目一:第一章、第五章、第七章、第十一章课后实验报告。
  4. +
  5. 实验报告题目二:第二章、第三章、第四章、第八章、第九章、第十章和第十二章课后实验报告至少任选其二。
  6. +
  7. 实验报告题目一得分占比 80%,实验报告题目二得分占比 20%。
  8. +
  9. 需要提交到 私有作业仓库 的实验报告是:第七章和第十一章。
  10. +
  11. 没有特别说明的实验报告默认提交到公开仓库。
  12. +
+

考勤成绩

+
    +
  • 线下课预计一共 9 次,每次正常考勤记 10 分,全勤加 10 分。
  • +
  • 迟到半小时以内记考勤 8 分。
  • +
  • 早退每满 10 分钟或不足 10 分钟,均扣考勤 1 分。扣到 0 分为止。
  • +
  • 缺勤记 0 分。
  • +
  • 如果因不可抗力因素导致线下课总次数不等于 9 次,则临时微调考勤成绩计算方法。
  • +
+

线上成绩

+
    +
  • 畅课平台上单元测试成绩之和,按满分 100 分进行等比例折算。
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ns/2023/index.html b/ns/2023/index.html new file mode 100644 index 00000000..85b05a5d --- /dev/null +++ b/ns/2023/index.html @@ -0,0 +1,1282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2023年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

网络安全

+

一、课程基本信息

+
    +
  • 课程编号:2121030134
  • +
  • 英文名称:Computer Network Security
  • +
  • 授课对象:网络空间安全专业
  • +
  • 开课学期:5
  • +
  • 学分/学时:3/64(2020版教学大纲)
  • +
  • 先修课程:网络空间安全导论、计算机网络、计算机安全与维护、Python编程
  • +
  • 教学方式:线上课程学习,线下答疑与实验
  • +
  • 详细教学日历
  • +
  • 本学期课程考核规则
  • +
+

课程简介

+

本课程针对网络安全中的关键技术,从应用角度出发,介绍网络监听、扫描、入侵、后门、防火墙和虚拟专用网等基本概念、原理和技术,并通过实例讲解知识点,将安全理论、安全技术和安全工具有机结合。

+

二、课程教学目的和要求

+

随着互联网的发展和信息化进程的深入,互联网和计算机系统的安全问题已成为各国政府有关部门、各大行业和企事业关注的热点问题,对网络与系统安全专门人才的需求也日显突出。本课程全面系统地介绍网络安全的基本概念、原理和技术,使学生掌握网络安全知识和关键技术,提高安全意识,增强解决互联网和数字传媒等行业中网络安全问题的能力。

+

三、教学内容与学时分配

+

1.网络安全基础(2学时)

+

重点内容:网络威胁模型、操作系统的安全机制、融合网安全、等级安全保护概念、计算机安全法规和黑客守则。

+

2.系统安全、风险评估理论与应用(2学时)

+

重点内容:访问控制理论、CVSS理论、风险评估案例分析。

+

3.网络安全应用基础(2学时)

+

重点内容:网络代理的分类、基本原理和工具使用,匿名通信的基本原理与检测方法。

+

4.网络监听(4学时)

+

重点内容:网络监听的基本概念、原理、分类和防范方法,常用的监听工具软件使用。

+

5.网络扫描(2学时)

+

重点内容:网络扫描的基本概念、原理、分类和防范方法,常用的扫描工具软件使用。

+

6.网络与系统渗透(4学时)

+

重点内容:网络与系统渗透的基本原理和方法,渗透测试的方法论,渗透测试与网络入侵的区别与联系。

+

7.Web 应用漏洞攻防(4学时)

+

重点内容:SQL注入、XSS、CSRF、口令破解、HTTP协议调试方法。

+

8.防火墙(2学时)

+

重点内容:防火墙的基本原理、防火墙技术发展史、典型防火墙配置实验。

+

9.入侵检测(2学时)

+

重点内容:入侵检测的基本原理、入侵检测技术发展史。

+

10.应用程序安全加固(2学时)

+

重点内容:常见应用程序配置缺陷、应用防火墙配置、WEB服务器安全加固。

+

11.蜜罐和蜜网(2学时)

+

重点内容:蜜罐和蜜网的基本原理、蜜罐和蜜网发展史。

+

12.计算机取证(2学时)

+

重点内容:计算机取证的基本原理、网络流量分析与取证、系统日志分析与取证、系统运行时监控工具的取证应用。

+

13.社会化网络安全(2学时)

+

重点内容:社交网络钓鱼、电信诈骗与防范、大数据应用与隐私保护。

+

在线课件和授课视频回放

+ +

四、作业、实践环节

+
    +
  • H1 虚拟网络配置实验:虚拟机软件Virtualbox的5种网络模式的区别、应用场景,多虚拟网卡的应用,无法使用 Virtualbox 的同学可以使用其他虚拟化或容器解决方案。(2学时)
  • +
  • H4 局域网主动监听实验(上):使用ettercap、tcpdump进行网络主动监听实验;(2学时)
  • +
  • H4 局域网主动监听实验(下):wireshark进行网络监听、流量分析和流量还原实验;(2学时)
  • +
  • H5 网络扫描实验:使用nmap/scapy进行主机和网络扫描实验;(2学时)
  • +
  • H6 网络渗透实验:信息收集工具(搜索引擎、whois、社交网络搜索工具等)的使用,了解metasploit的基本使用;(2学时)
  • +
  • H7 WEB漏洞检测与利用实验(上):基于WebGoat等训练平台,进行SQL注入、XSS等WEB漏洞的检测与利用实验;(4学时)
  • +
  • H7 WEB漏洞检测与利用实验(下):基于真实Web应用,进行漏洞挖掘和漏洞利用实验;(4学时)
  • +
  • H8 防火墙实验:iptables配置;(2学时)
  • +
  • H9 网络防御实验(上):snort/zeek配置;(2学时)
  • +
  • H10 网络防御实验(下):应用程序安全配置与加固(fail2ban);(2学时)
  • +
  • H11 蜜罐实验:蜜罐探索体验实验;(2学时)
  • +
  • H12 入侵取证实验:综合snort/zeek、系统日志、应用程序日志、wireshark抓包等工具和方法,发现攻击源、重建攻击场景和过程。(2学时)
  • +
  • H13 网络安全综合实验:开源信息系统搭建、加固与漏洞攻防;(4学时)
  • +
+

五、建议教材

+

+

六、参考资料

+ + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ns/2024/calendar.html b/ns/2024/calendar.html new file mode 100644 index 00000000..c1540022 --- /dev/null +++ b/ns/2024/calendar.html @@ -0,0 +1,1262 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2024 秋教学日历 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

2024 秋教学日历

+

第一次上课前准备

+
    +
  • 在自己的 Virtualbox 虚拟机里下载并安装 最新版 Kali 的虚拟机镜像版
  • +
  • +

    在自己的 Virtualbox 虚拟机里下载并导入 Debian 10Windows XP SP3 的虚拟硬盘文件。

    +
      +
    • 如果无法下载此处 2 个链接或链接失效,请自行下载对应的系统镜像并自行安装。目标 Windows XP SP3 镜像的 SHA1 值: d142469d0c3953d8e4a6a490a58052ef52837f0f
        +
      • Tip: 6crcc 🐶
      • +
      +
    • +
    • Debian 10 对应版本代号 Buster
    • +
    +
  • +
  • +

    校内同学请登录中传云盘后,通过以下分享信息访问到上述 2 个虚拟机虚拟硬盘文件。

    +
  • +
+
+

分享名称:网络安全-课程公开分享分享链接:https://kod.cuc.edu.cn/#s/8d01XBZA 访问密码:nG8qk

+
+
    +
  • 没有中传云盘账号的同学,可以使用以下百度云盘分享链接。
  • +
+
+

链接: https://pan.baidu.com/s/1ziXW94xhC-Pc11uxaZ8CDw?pwd=k3nd 提取码: k3nd

+
+

云盘内文件的 SHA256 校验和

+
bcc3c70b27fcbcd8ec02d8961c2483676085a833ea32d1989494ad6e43a774b8  Debian10.vdi.zip
+27853eb0b0574c367100b950990c6ee623f1315657f41a06e3daa428bed2e503  xp_sp3_base.vdi.zip
+
+ +

云盘内文件的 MD5 校验和

+
48358869605300877d1058da9dcb93d0  Debian10.vdi.zip
+7a37ef9a1c38c5afe7eaa52ab1ce0090  xp_sp3_base.vdi.zip
+
+ +

2024.09.04 第1周 线下

+
    +
  • 第一章 网络安全基础
  • +
  • 第一章 网络安全基础(实验)
  • +
+

2024.09.11 第2周 线下

+
    +
  • 第一章 网络安全基础(实验)
  • +
+

2024.09.18 第3周 线下

+
    +
  • 第二章 系统安全、风险评估理论与应用
  • +
  • 第三章 网络安全应用基础
  • +
  • 第四章 网络监听
  • +
+

2024.09.25 第4周 线下

+
    +
  • 第四章 网络监听(实验)
  • +
+

2024.10.2 第5周 (国庆放假)

+

无课。

+

2024.10.9 第6周 线下

+
    +
  • 第五章 网络扫描
  • +
  • 第五章 网络扫描 (实验)
  • +
+

2024.10.16 第7周 线下

+
    +
  • 第五章 网络扫描 (实验)
  • +
+

2024.10.23 第8周 线下

+
    +
  • 第六章 网络与系统渗透
  • +
  • 第六章 网络与系统渗透 (实验)
  • +
+

2024.10.30 第9周 线下

+
    +
  • 第七章 Web 应用漏洞攻防
  • +
  • 第七章 Web 应用漏洞攻防(实验)
  • +
+

2024.11.6 第10周 线下

+
    +
  • 第七章 Web 应用漏洞攻防(实验)
  • +
+

2024.11.13 第11周 线下

+
    +
  • 第七章 Web 应用漏洞攻防(实验)
  • +
+

2024.11.20 第12周 线下

+
    +
  • 第八章 防火墙
  • +
  • 第八章 防火墙(实验)
  • +
+

2024.11.27 第13周 线下

+
    +
  • 第九章 入侵检测
  • +
  • 第九章 入侵检测(实验)
  • +
+

2024.12.4 第14周 线下

+
    +
  • 第十章 应用程序安全加固
  • +
  • 第十章 应用程序安全加固(实验)
  • +
+

2024.12.11 第15周 线下

+
    +
  • 第十一章 蜜罐和蜜网
  • +
  • 第十一章 蜜罐和蜜网(实验)
  • +
+

2024.12.18 第16周 线下

+
    +
  • 第十一章 蜜罐和蜜网(实验)
  • +
  • 第十二章 计算机取证
  • +
+

2024.12.25 第17周 线下

+
    +
  • 第十三章 社会化网络安全
  • +
  • 第十二章 计算机取证(实验)
  • +
+

批改计算成绩截止时间2025.01.07 23:59 晚于这个时间节点提交到 git.cuc.edu.cn 的实验报告将按照零分登记。

+

畅课平台的作业提交截止时间 2025.01.10 23:59 是用于实验报告整理后 打包提交存档的截止时间 ,仅用于 git 上已提交作业的存档,不会被批改。

+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ns/2024/homework.html b/ns/2024/homework.html new file mode 100644 index 00000000..a1b9b14f --- /dev/null +++ b/ns/2024/homework.html @@ -0,0 +1,1108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 本学期课程考核规则 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

本学期课程考核规则

+

总成绩构成

+

等级成绩类型:百分制

+

总成绩 = 平时成绩 系数20% + 期末成绩 系数60% + 考勤成绩 系数10% + 线上成绩 系数10%

+

总成绩评定规则

+
    +
  • 详见 在线成绩计算器 中的示例数据和具体单元格的计算公式
      +
    • 实验报告总分
    • +
    • 总分
    • +
    +
  • +
  • 实验报告要求继承上学期 《Linux 系统与网络管理》课程的实验报告要求
  • +
+

关于私有作业仓库的说明

+

由于在 GitLab 中,私有仓库不代表只有自己一个人可以访问,请看以下搬运自 GitLab 创建新仓库时关于 Private 属性的说明文字:

+
+

Project access must be granted explicitly to each user. If this project is part of a group, access is granted to members of the group.

+
+

翻译如下:

+
+

必须向每个用户显式授予项目访问权限。如果此项目是用户组的一部分,则向组成员授予访问权限。

+
+

据此可以更好地理解在 GitLab 中,在一个用户组命名空间下创建的 私有仓库,对于组内的所有用户来说,实际上是相互可见、内部公开的。

+

以下作业要求里提到的 私有作业仓库 具体指的是: 仅限仓库创建者本人、四名助教、任课老师 有权限访问该仓库,其他同学即使知道该仓库链接地址也无法访问仓库内容。

+

具体操作步骤建议如下:

+
    +
  • 在自己个人命名空间下创建仓库。此处假设个人用户名是 zhangsan ,创建的私有仓库名为 ns-private
  • +
  • 在自己个人命名空间下创建的仓库里,通过左侧导航菜单的 Project information - Members 进入仓库用户管理页面,点击右上角的 Invite members ,通过输入实名的方式,搜索、选中搜索结果,邀请 4名助教、任课老师,授予 Maintainer 角色。
  • +
  • 在自己的组命名空间下(当前为 ccs/ns-2024 )的组内公开仓库根目录下的 README.md 添加指向上述私有仓库的超链接:zhangsan/ns-private
  • +
+

平时成绩

+
    +
  1. 平时成绩 满分按照 100 分计算。
  2. +
  3. 平时成绩 重点关注同学们的 学习态度课堂表现 等综合评价。
  4. +
  5. 学习态度:同学们在畅课平台上的 讨论区 发帖数量和质量的综合评价。“发帖”数量统计包括“新发帖”数量、“回复发帖”数量。质量评价是基于客观事实的主观评价,评价标准主要包括帖子内容与课程内容的相关性、帖子内容的原创性、帖子内容的排版质量、帖子内容对其他同学的有效帮助或启发(点赞数量会作为辅助评价指标)等。学习态度 及格标准为 1 条有效“发帖”,满分标准为 5 条有效“发帖”或 1 条高质量“发帖”。
  6. +
  7. 课堂表现:本学期的所有课堂实验环节都将给同学们提供“翻转课堂”的机会。通过课堂上随机点名的方式,挑选同学上讲台进行 5~10 分钟的专题知识点、技能点分享。分享后还需要接受现场老师和台下同学们的提问,由老师根据同学们的分享内容质量和回答问题质量进行综合评价。每个同学在一学期内最多有 2 次分享机会,取最高成绩计入平时成绩。
  8. +
  9. 平时成绩 = max(学习态度, 课堂表现)
  10. +
+

期末成绩

+
    +
  1. 所有实验报告得分之和构成期末成绩。
  2. +
  3. 实验报告题目一:第一章、第五章、第十一章课后实验报告。
  4. +
  5. 实验报告题目二:第八章、第九章和第十二章课后实验报告至少任选其一。
  6. +
  7. 实验报告题目一得分占比 80%,实验报告题目二得分占比 20%。
  8. +
  9. 需要提交到 私有作业仓库 的实验报告是:第十一章。
  10. +
  11. 没有特别说明的实验报告默认提交到公开仓库。
  12. +
+

考勤成绩

+
    +
  • 线下课一共 16 次,每次正常考勤记 5 分,全勤加 20 分。
  • +
  • 迟到半小时以内记考勤 4 分。
  • +
  • 早退或迟到超过半小时后,每满 10 分钟或不足 10 分钟,均扣考勤 1 分。如此累进扣分,扣到 0 分为止。
  • +
  • 缺勤记 0 分。
  • +
  • 正常规范请假按正常考勤记录,需提前 24 小时请假。其他情况酌情扣分。
  • +
  • 如因不可抗力因素导致线下课总次数不等于 16 次,则临时微调考勤成绩计算方法。
  • +
+

线上成绩

+
    +
  • 畅课平台上单元测试成绩之和,按满分 100 分进行等比例折算。
  • +
+ + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ns/2024/index.html b/ns/2024/index.html new file mode 100644 index 00000000..d7f1cc08 --- /dev/null +++ b/ns/2024/index.html @@ -0,0 +1,1280 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2024年 - 传媒网安教学 Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 跳转至 + + + +
+ +
+ +
+ + + + + + + + + + +
+
+ + +
+
+
+ +
+
+
+ + + + + +
+
+ + + + + +

网络安全

+

一、课程基本信息

+
    +
  • 课程编号:2121030192
  • +
  • 英文名称:Computer Network Security
  • +
  • 授课对象:网络空间安全专业
  • +
  • 开课学期:5
  • +
  • 学分/学时:2.5/64(2022版教学大纲)
  • +
  • 先修课程:网络空间安全导论、计算机网络、计算机安全与维护、Python编程
  • +
  • 教学方式:线上课程学习,线下答疑与实验
  • +
  • 详细教学日历
  • +
  • 本学期课程考核规则
  • +
+

课程简介

+

本课程针对网络安全中的关键技术,从应用角度出发,介绍网络监听、扫描、入侵、后门、防火墙和虚拟专用网等基本概念、原理和技术,并通过实例讲解知识点,将安全理论、安全技术和安全工具有机结合。

+

二、课程教学目的和要求

+

随着互联网的发展和信息化进程的深入,互联网和计算机系统的安全问题已成为各国政府有关部门、各大行业和企事业关注的热点问题,对网络与系统安全专门人才的需求也日显突出。本课程全面系统地介绍网络安全的基本概念、原理和技术,使学生掌握网络安全知识和关键技术,提高安全意识,增强解决互联网和数字传媒等行业中网络安全问题的能力。

+

三、教学内容与学时分配

+

1.网络安全基础(1学时)

+

重点内容:网络威胁模型、操作系统的安全机制、融合网安全、等级安全保护概念、计算机安全法规和黑客守则。

+

2.系统安全、风险评估理论与应用(1学时)

+

重点内容:访问控制理论、CVSS理论、风险评估案例分析。

+

3.网络安全应用基础(1学时)

+

重点内容:网络代理的分类、基本原理和工具使用,匿名通信的基本原理与检测方法。

+

4.网络监听(2学时)

+

重点内容:网络监听的基本概念、原理、分类和防范方法,常用的监听工具软件使用。

+

5.网络扫描(1学时)

+

重点内容:网络扫描的基本概念、原理、分类和防范方法,常用的扫描工具软件使用。

+

6.网络与系统渗透(1学时)

+

重点内容:网络与系统渗透的基本原理和方法,渗透测试的方法论,渗透测试与网络入侵的区别与联系。

+

7.Web 应用漏洞攻防(3学时)

+

重点内容:SQL注入、XSS、CSRF、口令破解、HTTP协议调试方法。

+

8.防火墙(1学时)

+

重点内容:防火墙的基本原理、防火墙技术发展史、典型防火墙配置实验。

+

9.入侵检测(1学时)

+

重点内容:入侵检测的基本原理、入侵检测技术发展史。

+

10.应用程序安全加固(1学时)

+

重点内容:常见应用程序配置缺陷、应用防火墙配置、WEB服务器安全加固。

+

11.蜜罐和蜜网(1学时)

+

重点内容:蜜罐和蜜网的基本原理、蜜罐和蜜网发展史。

+

12.计算机取证(1学时)

+

重点内容:计算机取证的基本原理、网络流量分析与取证、系统日志分析与取证、系统运行时监控工具的取证应用。

+

13.社会化网络安全(1学时)

+

重点内容:社交网络钓鱼、电信诈骗与防范、大数据应用与隐私保护。

+

在线课件和授课视频回放

+ +

四、作业、实践环节

+
    +
  • H1 虚拟网络配置实验:虚拟机软件Virtualbox的5种网络模式的区别、应用场景,多虚拟网卡的应用,无法使用 Virtualbox 的同学可以使用其他虚拟化或容器解决方案。(7学时)
  • +
  • H4 局域网主动监听实验:使用ettercap、tcpdump进行网络主动监听实验;wireshark进行网络监听、流量分析和流量还原实验;(4学时)
  • +
  • H5 网络扫描实验:使用nmap/scapy进行主机和网络扫描实验;(7学时)
  • +
  • H6 网络渗透实验:信息收集工具(搜索引擎、whois、社交网络搜索工具等)的使用,了解metasploit的基本使用;(3学时)
  • +
  • H7 WEB漏洞检测与利用实验(上):基于WebGoat等训练平台,进行SQL注入、XSS等WEB漏洞的检测与利用实验;(6学时)
  • +
  • H7 WEB漏洞检测与利用实验(下):基于真实Web应用,进行漏洞挖掘和漏洞利用实验;(3学时)
  • +
  • H8 防火墙实验:iptables配置;(3学时)
  • +
  • H9 网络防御实验(上):snort/zeek配置;(3学时)
  • +
  • H10 网络防御实验(下):应用程序安全配置与加固(fail2ban);(3学时)
  • +
  • H11 蜜罐实验:蜜罐探索体验实验;(6学时)
  • +
  • H12 入侵取证实验:综合snort/zeek、系统日志、应用程序日志、wireshark抓包等工具和方法,发现攻击源、重建攻击场景和过程。(3学时)
  • +
+

五、建议教材

+

+

六、参考资料

+ + + + + + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/search/search_index.json b/search/search_index.json new file mode 100644 index 00000000..7971dac8 --- /dev/null +++ b/search/search_index.json @@ -0,0 +1 @@ +{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"index.html","text":"\u8bfe\u7a0b\u5217\u8868 \u8fdb\u884c\u4e2d Linux \u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406 \u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u7efc\u5408\u5b9e\u8df5 \u672a\u5f00\u8bfe \u5bc6\u7801\u5b66\u5e94\u7528\u5b9e\u8df5 \u7f51\u7edc\u5b89\u5168 \u5b58\u6863\u8bfe \u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168 \u6570\u636e\u7ed3\u6784A \u9ed1\u5ba2\u9898\u6750\u5f71\u89c6\u5267 \u7f3a\u7701\u7684\u5b9e\u9a8c\u62a5\u544a\u8bc4\u5206\u6807\u51c6 \u4ee5\u4e0b\u89c4\u5219\u4ee5\u5355\u6b21\u5b9e\u9a8c\u62a5\u544a\u6ee1\u5206 10 \u5206\u4e3a\u4f8b\uff0c\u5176\u4ed6\u6ee1\u5206\u5206\u503c\u9700\u8981\u8fdb\u884c\u7b49\u6bd4\u4f8b\u8c03\u6574\u3002 \u5b9e\u9a8c\u62a5\u544a\u5185\u5bb9\u5b8c\u6210\u5ea6\u300c\u6ee1\u5206 7\u5206 \u300d \u90e8\u5206\u5b8c\u6210\uff1a 5\u5206 \u57fa\u672c\u5b8c\u6210: 6\u5206 \u5c11\u91cf\u7455\u75b5\uff1a 7\u5206 markdown \u4f7f\u7528\u89c4\u8303 \u300c 1\u5206 \u300d \u5728 github / gitlab \u4e0a\u5728\u7ebf\u6e32\u67d3\u7ed3\u679c\u6b63\u786e\u65e0\u8bef \uff08\u672c\u6761\u8fdd\u53cd\uff0c\u672c\u9879\u76f4\u63a5\u6263 1 \u5206\uff09 \u6240\u6709\u914d\u56fe\u5747\u5df2\u4e0a\u4f20\u5230 github / gitlab \u4e14\u5728\u6587\u6863\u5185\u4f7f\u7528\u300c\u76f8\u5bf9\u8def\u5f84\u300d\u5f15\u7528\uff08\u7981\u6b62\u4f7f\u7528\u56fe\u7247\u300c\u5916\u94fe\u300d\uff09\uff08\u4ec5\u672c\u6761\u8fdd\u53cd\uff0c\u6263 0.5 \u5206\u3002\u540c\u65f6\u7b2c\u4e09\u6761\u8fdd\u53cd\uff0c\u6263 1 \u5206\uff09 \u4ee3\u7801\u5757\u6b63\u786e\u4f7f\u7528\u8bed\u6cd5\u9ad8\u4eae\u6807\u8bb0 \uff08\u4ec5\u6709\u8fd9\u4e00\u6761\u5c11\u91cf\u8fdd\u53cd\uff0c\u672c\u9879\u53ef\u4ee5\u4e0d\u6263\u5206\u3002\u8d85\u8fc7 5 \u5904\u4ee3\u7801\u5f15\u7528\u672a\u9ad8\u4eae\u6807\u8bb0\uff0c\u6263 0.5 \u5206\uff09 git \u4f7f\u7528\u89c4\u8303 \u300c 0.5\u5206 \u300d \u5728 PR / MR \u6807\u9898\u4e2d\u4f53\u73b0\u4e86\u4f5c\u4e1a\u5e8f\u53f7\uff0c\u4f8b\u5982 chap0x01 \u63a8\u8350\u7684\u76ee\u5f55\u7ed3\u6784\u548c\u5206\u652f\u7ed3\u6784 \u89c1\u540d\u77e5\u610f \u7684\u6587\u4ef6\u547d\u540d\uff0c \u597d\u8bc4 \u793a\u4f8b\u5982 logged_in.png , install_complete.png \u3002 \u6263\u5206 \u793a\u4f8b\uff1a 1.png , \u65b0\u5efa\u6587\u672c\u6587\u4ef6.md \u3002 \u6bcf\u4e00\u7ae0\u7684\u4f5c\u4e1a\u53ea\u6709\u901a\u8fc7 PR / MR \u65b9\u5f0f\u63d0\u4ea4\uff0c\u624d\u4f1a\u83b7\u5f97\u52a9\u6559\u6279\u6539\u3002 \u4e0d\u63a5\u53d7 \u76f4\u63a5\u5c06\u6587\u4ef6\u4e0a\u4f20\u5230\u4e3b\u5206\u652f\u7684\u65b9\u5f0f\u63d0\u4ea4\u4f5c\u4e1a\u3002\u672a\u901a\u8fc7 PR / MR \u65b9\u5f0f\u63d0\u4ea4\u4f5c\u4e1a\uff0c\u52a9\u6559\u6709\u6743\u4e0d\u4e88\u6279\u6539\u3002\u8fdb\u884c\u4e2d\u7684\u4f5c\u4e1a\u53ef\u4ee5\u653e\u5fc3\u63d0\u4ea4\u5230\u5bf9\u5e94\u4f5c\u4e1a\u5206\u652f\u5b9e\u73b0\u4f5c\u4e1a\u8fdb\u5ea6\u4fdd\u5b58\uff0c\u53ea\u8981\u4e0d PR / MR \uff0c\u4e0d\u4f1a\u88ab\u6279\u6539\u3002 \u5728\u6559\u52a1\u7cfb\u7edf\u4e2d\u6ca1\u6709\u67e5\u5230\u4f60\u7684\u671f\u672b\u6210\u7ee9\u4e4b\u524d\uff0c\u4e0d\u8981\u624b\u52a8\u5408\u5e76 PR / MR \u5230\u4e3b\u5206\u652f\u3002 \u5b9e\u9a8c\u62a5\u544a\u7ed3\u6784\u89c4\u8303\u6027\u7a0b\u5ea6 \u300c 0.5\u5206 \u300d \u5728\u5b9e\u9a8c\u62a5\u544a\u672b\u603b\u7ed3\u4e86\u9047\u5230\u7684\u95ee\u9898\u4e0e\u89e3\u51b3\u65b9\u6848 \u53c2\u8003\u6587\u732e/\u8d44\u6599\u5f15\u7528\u6807\u51c6\u89c4\u8303 \u6309\u65f6\u63d0\u4ea4 \u300c\u6ee1\u5206 1\u5206 \u300d \u665a\u63d0\u4ea4\u4e0d\u8d85\u8fc7 1 \u5468 0.5\u5206 \u672a\u4f53\u73b0 \u81ea\u5df1\u4eb2\u81ea\u52a8\u624b\u5b8c\u6210 \u7684\u5b9e\u9a8c\u62a5\u544a\u76f4\u63a5\u6309\u7167 0 \u5206\u5904\u7406\u3002\u4f53\u73b0\u81ea\u5df1\u4eb2\u81ea\u52a8\u624b\u5b8c\u6210\u7684\u5b9e\u9a8c\u62a5\u544a\u7684\u5178\u578b\u65b9\u5f0f\u5982\uff1a\u622a\u56fe\u4e2d\u5305\u542b\u4f53\u73b0\u81ea\u5df1\u4e2a\u4eba\u7279\u5f81\u7684\u5b9e\u9a8c\u73af\u5883\u6307\u7eb9\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1aLinux \u7cfb\u7edf\u7684\u547d\u4ee4\u884c\u63d0\u793a\u7b26\u3001\u81ea\u5b9a\u4e49\u7684 shell \u63d0\u793a\u7b26 \u5305\u542b\u81ea\u5df1\u7684\u7f51\u540d\uff1b\u64cd\u4f5c\u622a\u56fe\u4e2d\u591a\u6b21\u51fa\u73b0\u81ea\u5df1\u72ec\u4e00\u65e0\u4e8c\u7684\u684c\u9762\u58c1\u7eb8\u7684\u4e0d\u540c\u5c40\u90e8\u3001\u5f55\u5236\u5b8c\u6574\u7684\u81ea\u5df1\u52a8\u624b\u64cd\u4f5c\u89c6\u9891\u5e76\u8fdb\u884c\u540e\u671f\u526a\u8f91\u3001\u6dfb\u52a0\u6c34\u5370\u3001\u4e0a\u4f20\u5230\u89c6\u9891\u7f51\u7ad9\u81ea\u5df1\u7684\u8d26\u53f7\u4e0b","title":"\u9996\u9875"},{"location":"index.html#_1","text":"","title":"\u8bfe\u7a0b\u5217\u8868"},{"location":"index.html#_2","text":"Linux \u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406 \u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u7efc\u5408\u5b9e\u8df5","title":"\u8fdb\u884c\u4e2d"},{"location":"index.html#_3","text":"\u5bc6\u7801\u5b66\u5e94\u7528\u5b9e\u8df5 \u7f51\u7edc\u5b89\u5168","title":"\u672a\u5f00\u8bfe"},{"location":"index.html#_4","text":"\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168 \u6570\u636e\u7ed3\u6784A \u9ed1\u5ba2\u9898\u6750\u5f71\u89c6\u5267","title":"\u5b58\u6863\u8bfe"},{"location":"index.html#_5","text":"\u4ee5\u4e0b\u89c4\u5219\u4ee5\u5355\u6b21\u5b9e\u9a8c\u62a5\u544a\u6ee1\u5206 10 \u5206\u4e3a\u4f8b\uff0c\u5176\u4ed6\u6ee1\u5206\u5206\u503c\u9700\u8981\u8fdb\u884c\u7b49\u6bd4\u4f8b\u8c03\u6574\u3002 \u5b9e\u9a8c\u62a5\u544a\u5185\u5bb9\u5b8c\u6210\u5ea6\u300c\u6ee1\u5206 7\u5206 \u300d \u90e8\u5206\u5b8c\u6210\uff1a 5\u5206 \u57fa\u672c\u5b8c\u6210: 6\u5206 \u5c11\u91cf\u7455\u75b5\uff1a 7\u5206 markdown \u4f7f\u7528\u89c4\u8303 \u300c 1\u5206 \u300d \u5728 github / gitlab \u4e0a\u5728\u7ebf\u6e32\u67d3\u7ed3\u679c\u6b63\u786e\u65e0\u8bef \uff08\u672c\u6761\u8fdd\u53cd\uff0c\u672c\u9879\u76f4\u63a5\u6263 1 \u5206\uff09 \u6240\u6709\u914d\u56fe\u5747\u5df2\u4e0a\u4f20\u5230 github / gitlab \u4e14\u5728\u6587\u6863\u5185\u4f7f\u7528\u300c\u76f8\u5bf9\u8def\u5f84\u300d\u5f15\u7528\uff08\u7981\u6b62\u4f7f\u7528\u56fe\u7247\u300c\u5916\u94fe\u300d\uff09\uff08\u4ec5\u672c\u6761\u8fdd\u53cd\uff0c\u6263 0.5 \u5206\u3002\u540c\u65f6\u7b2c\u4e09\u6761\u8fdd\u53cd\uff0c\u6263 1 \u5206\uff09 \u4ee3\u7801\u5757\u6b63\u786e\u4f7f\u7528\u8bed\u6cd5\u9ad8\u4eae\u6807\u8bb0 \uff08\u4ec5\u6709\u8fd9\u4e00\u6761\u5c11\u91cf\u8fdd\u53cd\uff0c\u672c\u9879\u53ef\u4ee5\u4e0d\u6263\u5206\u3002\u8d85\u8fc7 5 \u5904\u4ee3\u7801\u5f15\u7528\u672a\u9ad8\u4eae\u6807\u8bb0\uff0c\u6263 0.5 \u5206\uff09 git \u4f7f\u7528\u89c4\u8303 \u300c 0.5\u5206 \u300d \u5728 PR / MR \u6807\u9898\u4e2d\u4f53\u73b0\u4e86\u4f5c\u4e1a\u5e8f\u53f7\uff0c\u4f8b\u5982 chap0x01 \u63a8\u8350\u7684\u76ee\u5f55\u7ed3\u6784\u548c\u5206\u652f\u7ed3\u6784 \u89c1\u540d\u77e5\u610f \u7684\u6587\u4ef6\u547d\u540d\uff0c \u597d\u8bc4 \u793a\u4f8b\u5982 logged_in.png , install_complete.png \u3002 \u6263\u5206 \u793a\u4f8b\uff1a 1.png , \u65b0\u5efa\u6587\u672c\u6587\u4ef6.md \u3002 \u6bcf\u4e00\u7ae0\u7684\u4f5c\u4e1a\u53ea\u6709\u901a\u8fc7 PR / MR \u65b9\u5f0f\u63d0\u4ea4\uff0c\u624d\u4f1a\u83b7\u5f97\u52a9\u6559\u6279\u6539\u3002 \u4e0d\u63a5\u53d7 \u76f4\u63a5\u5c06\u6587\u4ef6\u4e0a\u4f20\u5230\u4e3b\u5206\u652f\u7684\u65b9\u5f0f\u63d0\u4ea4\u4f5c\u4e1a\u3002\u672a\u901a\u8fc7 PR / MR \u65b9\u5f0f\u63d0\u4ea4\u4f5c\u4e1a\uff0c\u52a9\u6559\u6709\u6743\u4e0d\u4e88\u6279\u6539\u3002\u8fdb\u884c\u4e2d\u7684\u4f5c\u4e1a\u53ef\u4ee5\u653e\u5fc3\u63d0\u4ea4\u5230\u5bf9\u5e94\u4f5c\u4e1a\u5206\u652f\u5b9e\u73b0\u4f5c\u4e1a\u8fdb\u5ea6\u4fdd\u5b58\uff0c\u53ea\u8981\u4e0d PR / MR \uff0c\u4e0d\u4f1a\u88ab\u6279\u6539\u3002 \u5728\u6559\u52a1\u7cfb\u7edf\u4e2d\u6ca1\u6709\u67e5\u5230\u4f60\u7684\u671f\u672b\u6210\u7ee9\u4e4b\u524d\uff0c\u4e0d\u8981\u624b\u52a8\u5408\u5e76 PR / MR \u5230\u4e3b\u5206\u652f\u3002 \u5b9e\u9a8c\u62a5\u544a\u7ed3\u6784\u89c4\u8303\u6027\u7a0b\u5ea6 \u300c 0.5\u5206 \u300d \u5728\u5b9e\u9a8c\u62a5\u544a\u672b\u603b\u7ed3\u4e86\u9047\u5230\u7684\u95ee\u9898\u4e0e\u89e3\u51b3\u65b9\u6848 \u53c2\u8003\u6587\u732e/\u8d44\u6599\u5f15\u7528\u6807\u51c6\u89c4\u8303 \u6309\u65f6\u63d0\u4ea4 \u300c\u6ee1\u5206 1\u5206 \u300d \u665a\u63d0\u4ea4\u4e0d\u8d85\u8fc7 1 \u5468 0.5\u5206 \u672a\u4f53\u73b0 \u81ea\u5df1\u4eb2\u81ea\u52a8\u624b\u5b8c\u6210 \u7684\u5b9e\u9a8c\u62a5\u544a\u76f4\u63a5\u6309\u7167 0 \u5206\u5904\u7406\u3002\u4f53\u73b0\u81ea\u5df1\u4eb2\u81ea\u52a8\u624b\u5b8c\u6210\u7684\u5b9e\u9a8c\u62a5\u544a\u7684\u5178\u578b\u65b9\u5f0f\u5982\uff1a\u622a\u56fe\u4e2d\u5305\u542b\u4f53\u73b0\u81ea\u5df1\u4e2a\u4eba\u7279\u5f81\u7684\u5b9e\u9a8c\u73af\u5883\u6307\u7eb9\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1aLinux \u7cfb\u7edf\u7684\u547d\u4ee4\u884c\u63d0\u793a\u7b26\u3001\u81ea\u5b9a\u4e49\u7684 shell \u63d0\u793a\u7b26 \u5305\u542b\u81ea\u5df1\u7684\u7f51\u540d\uff1b\u64cd\u4f5c\u622a\u56fe\u4e2d\u591a\u6b21\u51fa\u73b0\u81ea\u5df1\u72ec\u4e00\u65e0\u4e8c\u7684\u684c\u9762\u58c1\u7eb8\u7684\u4e0d\u540c\u5c40\u90e8\u3001\u5f55\u5236\u5b8c\u6574\u7684\u81ea\u5df1\u52a8\u624b\u64cd\u4f5c\u89c6\u9891\u5e76\u8fdb\u884c\u540e\u671f\u526a\u8f91\u3001\u6dfb\u52a0\u6c34\u5370\u3001\u4e0a\u4f20\u5230\u89c6\u9891\u7f51\u7ad9\u81ea\u5df1\u7684\u8d26\u53f7\u4e0b","title":"\u7f3a\u7701\u7684\u5b9e\u9a8c\u62a5\u544a\u8bc4\u5206\u6807\u51c6"},{"location":"ac.html","text":"\u6559\u5b66\u8ba1\u5212 2023\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 \u5b58\u6863 2022\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2021\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2019\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2018\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2017\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2016\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2015\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2014\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868","title":"\u5bc6\u7801\u5b66\u5e94\u7528\u5b9e\u8df5"},{"location":"ac.html#_1","text":"2023\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868","title":"\u6559\u5b66\u8ba1\u5212"},{"location":"ac.html#_2","text":"2022\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2021\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2019\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2018\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2017\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2016\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2015\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2014\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868","title":"\u5b58\u6863"},{"location":"cp.html","text":"\u6559\u5b66\u8ba1\u5212 2025\u5e74\u8bfe\u8868 \u5b58\u6863 2024\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2023\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2022\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2021\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2019\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2018\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2017\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2016\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2015\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868","title":"\u4fe1\u606f\u5b89\u5168\u7efc\u5408\u5b9e\u8df5"},{"location":"cp.html#_1","text":"2025\u5e74\u8bfe\u8868","title":"\u6559\u5b66\u8ba1\u5212"},{"location":"cp.html#_2","text":"2024\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2023\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2022\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2021\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2019\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2018\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2017\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2016\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868 2015\u5e74\u5c0f\u5b66\u671f\u8bfe\u8868","title":"\u5b58\u6863"},{"location":"ds.html","text":"","title":"\u6570\u636e\u7ed3\u6784A"},{"location":"linux.html","text":"\u6559\u5b66\u8ba1\u5212 \u8fdb\u884c\u4e2d 2025\u5e74\u8bfe\u8868 \u5df2\u5b58\u6863 2019\u5e74\u8bfe\u8868 2020\u5e74\u8bfe\u8868 2021\u5e74\u8bfe\u8868 2022\u5e74\u8bfe\u8868 2023\u5e74\u8bfe\u8868 2024\u5e74\u8bfe\u8868","title":"Linux \u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406"},{"location":"linux.html#_1","text":"","title":"\u6559\u5b66\u8ba1\u5212"},{"location":"linux.html#_2","text":"2025\u5e74\u8bfe\u8868","title":"\u8fdb\u884c\u4e2d"},{"location":"linux.html#_3","text":"2019\u5e74\u8bfe\u8868 2020\u5e74\u8bfe\u8868 2021\u5e74\u8bfe\u8868 2022\u5e74\u8bfe\u8868 2023\u5e74\u8bfe\u8868 2024\u5e74\u8bfe\u8868","title":"\u5df2\u5b58\u6863"},{"location":"mis.html","text":"\u5728\u7ebf\u8bfe\u672c \u6559\u5b66\u8ba1\u5212 2021\u5e74\u8bfe\u8868 2019\u5e74\u8bfe\u8868","title":"\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168"},{"location":"mis.html#_1","text":"2021\u5e74\u8bfe\u8868 2019\u5e74\u8bfe\u8868","title":"\u6559\u5b66\u8ba1\u5212"},{"location":"movies.html","text":"\u9ed1\u5ba2\u9898\u6750\u5f71\u89c6\u5267 \u7535\u89c6\u5267 \u5e7d\u7075 \uc720\ub839 (2012) \u9ed1\u5ba2\u519b\u56e2 \u7b2c\u4e00\u5b63 Mr. Robot Season 1 (2015) \u98de\u5929\u5927\u76d7 \u7b2c\u4e00\u5b63 Hustle Season 1 (2004) \u98de\u5929\u5927\u76d7 \u7b2c\u4e8c\u5b63 Hustle Season 2 (2005) \u98de\u5929\u5927\u76d7 \u7b2c\u4e09\u5b63 Hustle Season 3 (2006) \u98de\u5929\u5927\u76d7 \u7b2c\u56db\u5b63 Hustle Season 4 (2007) \u98de\u5929\u5927\u76d7 \u7b2c\u4e94\u5b63 Hustle Season 5 (2009) \u98de\u5929\u5927\u76d7 \u7b2c\u516d\u5b63 Hustle Season 6 (2010) \u98de\u5929\u5927\u76d7 \u7b2c\u4e03\u5b63 Hustle Season 7 (2011) \u98de\u5929\u5927\u76d7 \u7b2c\u516b\u5b63 Hustle Season 8 (2012) \u5929\u874e \u7b2c\u4e00\u5b63 Scorpion Season 1 (2014) \u5929\u874e \u7b2c\u4e8c\u5b63 Scorpion Season 2 (2015) \u7f51\u7edc\u72af\u7f6a\u8c03\u67e5 \u7b2c\u4e00\u5b63 CSI: Cyber Season 1 (2015) \u5343\u8c0e\u767e\u8ba1 \u7b2c\u4e00\u5b63 Lie to Me Season 1 (2009) \u5343\u8c0e\u767e\u8ba1 \u7b2c\u4e8c\u5b63 Lie to Me Season 1 (2009) \u5343\u8c0e\u767e\u8ba1 \u7b2c\u4e09\u5b63 Lie to Me Season 1 (2010) \u7535\u5f71 Blackhat (2015) | \u9ad8\u989c\u503c\u3001\u4f4e\u6f14\u6280\uff0c\u8d1f\u5206\uff1a2015\u9ed1\u5ba2\u7535\u5f71\u300aBlackhat\u300b\u906d\u5410\u69fd\uff08\u5df2\u66f4\u65b0\u4e0b\u8f7d\u8d44\u6e90\uff09 Algorithm (2014) | \u9ed1\u5ba2\u9898\u6750\u7535\u5f71\uff1a\u7b97\u6cd5\uff08ALGORITHM\uff09 \u6a21\u4eff\u6e38\u620f The Imitation Game (2014) \u9ed1\u5ba2\u5e1d\u56fd The Matrix (1999) \u9ed1\u5ba2\u5e1d\u56fd2\uff1a\u91cd\u88c5\u4e0a\u9635 The Matrix Reloaded (2003) \u9ed1\u5ba2\u5e1d\u56fd3\uff1a\u77e9\u9635\u9769\u547d The Matrix Revolutions (2003) \u6e90\u4ee3\u7801 Source Code (2011) \u6211\u662f\u8c01\uff1a\u6ca1\u6709\u7edd\u5bf9\u5b89\u5168\u7684\u7cfb\u7edf Who Am I - Kein System ist sicher (2014) | \u9ed1\u5ba2\u7535\u5f71\u300a\u6211\u662f\u8c01\uff1a\u6ca1\u6709\u7edd\u5bf9\u5b89\u5168\u7684\u7cfb\u7edf\u300b\u6b63\u7247\uff08\u542b\u4e0b\u8f7d\uff09 \u7f51\u8def\u672b\u65e5\u6218 Cybergeddon (2012) 2014\u5e74\u9ed1\u5ba2\u9898\u6750\u7535\u5f71\uff1a\u300a\u8d85\u9a8c\u9a87\u5ba2\u300b\u5168\u957f\u9884\u544a\u7247 \u9ed1\u5ba2\u7535\u5f71\u300a\u7b2c\u4e94\u9636\u5c42\u300b10\u6708\u4e0a\u6620\uff0c\u63ed\u79d8\"\u7ef4\u57fa\u89e3\u5bc6\"\u4f20\u5947\u9ed1\u5ba2\u963f\u6851\u5947 \u96f6\u65e5 Zero Days (2016): \u9707\u7f51\u75c5\u6bd2\u5927\u7535\u5f71\uff0c\u89e3\u5bc6\u7f8e\u56fd\u4ee5\u8272\u5217\u7f51\u7edc\u653b\u51fb\u884c\u52a8 \u793e\u4f1a\u5de5\u7a0b\u5b66\u7cfb\u5217 \u9a97\u4e2d\u9a97 The Sting (1973) \u6625\u5929\u4e0d\u662f\u8bfb\u4e66\u5929 Ferris Bueller\\'s Day Off (1986) \u6f5c\u884c\u8005 Sneakers (1992) \u516d\u5ea6\u5206\u79bb Six Degrees of Separation (1993) \u975e\u5e38\u5acc\u7591\u72af The Usual Suspects (1995) \u6218\u7565\u9ad8\u624b Out of Sight (1998) \u5077\u5929\u9677\u9631 Entrapment (1999) \u5929\u624d\u745e\u666e\u5229 The Talented Mr. Ripley (1999) \u5077\u5929\u6e38\u620f The Thomas Crown Affair (1999) \u9a87\u5ba2\u8ffd\u7f09\u4ee4 Takedown (2000) \u95f4\u8c0d\u6e38\u620f Spy Game (2001) \u732b\u9f20\u6e38\u620f Catch Me If You Can (2002) \u706b\u67f4\u4eba Matchstick Men (2003) \u5077\u5929\u6362\u65e5 The Italian Job (2003) \u611f\u8c22\u4f60\u62bd\u70df Thank You for Smoking (2005) \u9632\u706b\u5899 Firewall\uff082006\uff09 \u795e\u5077 Street Thief (2006) \u5341\u4e09\u7f57\u6c49 Ocean\\'s Thirteen (2007) \u62ef\u6551\u4e16\u754c\u7684\u597d\u4eba The Yes Men Fix the World (2009) \u5192\u5145\u8005 The Imposter (2012) \u7eaa\u5f55\u7247 \u3010\u7eaa\u5f55\u7247\u3011\"\u96f6\u65e5\u6f0f\u6d1e\"------\u7f51\u7edc\u7a7a\u95f4\u7684\u91d1\u77ff\uff08\u4e2d\u6587\u5b57\u5e55\uff09 \u3010PBS\u7eaa\u5f55\u7247\u3011\u9ed1\u5ba2\u5d1b\u8d77\u3010\u4e2d\u6587\u5b57\u5e55\u3011 \u6781\u5ba2\u79c0 \u4e8e\u65f8(TK\u6559\u4e3b\uff09\uff1a\u300a\u7528\u4e00\u5f20\u7eb8\u5165\u4fb5\u4f01\u4e1a\u53f7\u661f\u8230\u300b(2015 GeekPwn) \u53c2\u8003\u8d44\u6599 FreeBuf\u5e74\u7ec8\u7b56\u5212\uff1a\u9ed1\u5ba2\u9898\u6750\u7535\u5f71\u3001\u7535\u89c6\u5267\u5927\u5408\u96c6(2015.1) \u4ece\u54f2\u5b66\u89d2\u5ea6\u770b\u6e17\u900f\u4e4b\u5173\u4e8e\u6e17\u900f\u4e0e\u9ad8\u667a\u5546\u7535\u5f71","title":"\u9ed1\u5ba2\u9898\u6750\u5f71\u89c6\u5267"},{"location":"movies.html#_1","text":"","title":"\u9ed1\u5ba2\u9898\u6750\u5f71\u89c6\u5267"},{"location":"movies.html#_2","text":"\u5e7d\u7075 \uc720\ub839 (2012) \u9ed1\u5ba2\u519b\u56e2 \u7b2c\u4e00\u5b63 Mr. Robot Season 1 (2015) \u98de\u5929\u5927\u76d7 \u7b2c\u4e00\u5b63 Hustle Season 1 (2004) \u98de\u5929\u5927\u76d7 \u7b2c\u4e8c\u5b63 Hustle Season 2 (2005) \u98de\u5929\u5927\u76d7 \u7b2c\u4e09\u5b63 Hustle Season 3 (2006) \u98de\u5929\u5927\u76d7 \u7b2c\u56db\u5b63 Hustle Season 4 (2007) \u98de\u5929\u5927\u76d7 \u7b2c\u4e94\u5b63 Hustle Season 5 (2009) \u98de\u5929\u5927\u76d7 \u7b2c\u516d\u5b63 Hustle Season 6 (2010) \u98de\u5929\u5927\u76d7 \u7b2c\u4e03\u5b63 Hustle Season 7 (2011) \u98de\u5929\u5927\u76d7 \u7b2c\u516b\u5b63 Hustle Season 8 (2012) \u5929\u874e \u7b2c\u4e00\u5b63 Scorpion Season 1 (2014) \u5929\u874e \u7b2c\u4e8c\u5b63 Scorpion Season 2 (2015) \u7f51\u7edc\u72af\u7f6a\u8c03\u67e5 \u7b2c\u4e00\u5b63 CSI: Cyber Season 1 (2015) \u5343\u8c0e\u767e\u8ba1 \u7b2c\u4e00\u5b63 Lie to Me Season 1 (2009) \u5343\u8c0e\u767e\u8ba1 \u7b2c\u4e8c\u5b63 Lie to Me Season 1 (2009) \u5343\u8c0e\u767e\u8ba1 \u7b2c\u4e09\u5b63 Lie to Me Season 1 (2010)","title":"\u7535\u89c6\u5267"},{"location":"movies.html#_3","text":"Blackhat (2015) | \u9ad8\u989c\u503c\u3001\u4f4e\u6f14\u6280\uff0c\u8d1f\u5206\uff1a2015\u9ed1\u5ba2\u7535\u5f71\u300aBlackhat\u300b\u906d\u5410\u69fd\uff08\u5df2\u66f4\u65b0\u4e0b\u8f7d\u8d44\u6e90\uff09 Algorithm (2014) | \u9ed1\u5ba2\u9898\u6750\u7535\u5f71\uff1a\u7b97\u6cd5\uff08ALGORITHM\uff09 \u6a21\u4eff\u6e38\u620f The Imitation Game (2014) \u9ed1\u5ba2\u5e1d\u56fd The Matrix (1999) \u9ed1\u5ba2\u5e1d\u56fd2\uff1a\u91cd\u88c5\u4e0a\u9635 The Matrix Reloaded (2003) \u9ed1\u5ba2\u5e1d\u56fd3\uff1a\u77e9\u9635\u9769\u547d The Matrix Revolutions (2003) \u6e90\u4ee3\u7801 Source Code (2011) \u6211\u662f\u8c01\uff1a\u6ca1\u6709\u7edd\u5bf9\u5b89\u5168\u7684\u7cfb\u7edf Who Am I - Kein System ist sicher (2014) | \u9ed1\u5ba2\u7535\u5f71\u300a\u6211\u662f\u8c01\uff1a\u6ca1\u6709\u7edd\u5bf9\u5b89\u5168\u7684\u7cfb\u7edf\u300b\u6b63\u7247\uff08\u542b\u4e0b\u8f7d\uff09 \u7f51\u8def\u672b\u65e5\u6218 Cybergeddon (2012) 2014\u5e74\u9ed1\u5ba2\u9898\u6750\u7535\u5f71\uff1a\u300a\u8d85\u9a8c\u9a87\u5ba2\u300b\u5168\u957f\u9884\u544a\u7247 \u9ed1\u5ba2\u7535\u5f71\u300a\u7b2c\u4e94\u9636\u5c42\u300b10\u6708\u4e0a\u6620\uff0c\u63ed\u79d8\"\u7ef4\u57fa\u89e3\u5bc6\"\u4f20\u5947\u9ed1\u5ba2\u963f\u6851\u5947 \u96f6\u65e5 Zero Days (2016): \u9707\u7f51\u75c5\u6bd2\u5927\u7535\u5f71\uff0c\u89e3\u5bc6\u7f8e\u56fd\u4ee5\u8272\u5217\u7f51\u7edc\u653b\u51fb\u884c\u52a8","title":"\u7535\u5f71"},{"location":"movies.html#_4","text":"\u9a97\u4e2d\u9a97 The Sting (1973) \u6625\u5929\u4e0d\u662f\u8bfb\u4e66\u5929 Ferris Bueller\\'s Day Off (1986) \u6f5c\u884c\u8005 Sneakers (1992) \u516d\u5ea6\u5206\u79bb Six Degrees of Separation (1993) \u975e\u5e38\u5acc\u7591\u72af The Usual Suspects (1995) \u6218\u7565\u9ad8\u624b Out of Sight (1998) \u5077\u5929\u9677\u9631 Entrapment (1999) \u5929\u624d\u745e\u666e\u5229 The Talented Mr. Ripley (1999) \u5077\u5929\u6e38\u620f The Thomas Crown Affair (1999) \u9a87\u5ba2\u8ffd\u7f09\u4ee4 Takedown (2000) \u95f4\u8c0d\u6e38\u620f Spy Game (2001) \u732b\u9f20\u6e38\u620f Catch Me If You Can (2002) \u706b\u67f4\u4eba Matchstick Men (2003) \u5077\u5929\u6362\u65e5 The Italian Job (2003) \u611f\u8c22\u4f60\u62bd\u70df Thank You for Smoking (2005) \u9632\u706b\u5899 Firewall\uff082006\uff09 \u795e\u5077 Street Thief (2006) \u5341\u4e09\u7f57\u6c49 Ocean\\'s Thirteen (2007) \u62ef\u6551\u4e16\u754c\u7684\u597d\u4eba The Yes Men Fix the World (2009) \u5192\u5145\u8005 The Imposter (2012)","title":"\u793e\u4f1a\u5de5\u7a0b\u5b66\u7cfb\u5217"},{"location":"movies.html#_5","text":"\u3010\u7eaa\u5f55\u7247\u3011\"\u96f6\u65e5\u6f0f\u6d1e\"------\u7f51\u7edc\u7a7a\u95f4\u7684\u91d1\u77ff\uff08\u4e2d\u6587\u5b57\u5e55\uff09 \u3010PBS\u7eaa\u5f55\u7247\u3011\u9ed1\u5ba2\u5d1b\u8d77\u3010\u4e2d\u6587\u5b57\u5e55\u3011","title":"\u7eaa\u5f55\u7247"},{"location":"movies.html#_6","text":"\u4e8e\u65f8(TK\u6559\u4e3b\uff09\uff1a\u300a\u7528\u4e00\u5f20\u7eb8\u5165\u4fb5\u4f01\u4e1a\u53f7\u661f\u8230\u300b(2015 GeekPwn)","title":"\u6781\u5ba2\u79c0"},{"location":"movies.html#_7","text":"FreeBuf\u5e74\u7ec8\u7b56\u5212\uff1a\u9ed1\u5ba2\u9898\u6750\u7535\u5f71\u3001\u7535\u89c6\u5267\u5927\u5408\u96c6(2015.1) \u4ece\u54f2\u5b66\u89d2\u5ea6\u770b\u6e17\u900f\u4e4b\u5173\u4e8e\u6e17\u900f\u4e0e\u9ad8\u667a\u5546\u7535\u5f71","title":"\u53c2\u8003\u8d44\u6599"},{"location":"ns.html","text":"\u5728\u7ebf\u8bfe\u672c \u6559\u5b66\u8ba1\u5212 2024\u5e74\u8bfe\u8868 \u5b58\u6863 2023\u5e74\u8bfe\u8868 2022\u5e74\u8bfe\u8868 2021\u5e74\u8bfe\u8868 2020\u5e74\u8bfe\u8868 2019\u5e74\u8bfe\u8868","title":"\u7f51\u7edc\u5b89\u5168"},{"location":"ns.html#_1","text":"2024\u5e74\u8bfe\u8868","title":"\u6559\u5b66\u8ba1\u5212"},{"location":"ns.html#_2","text":"2023\u5e74\u8bfe\u8868 2022\u5e74\u8bfe\u8868 2021\u5e74\u8bfe\u8868 2020\u5e74\u8bfe\u8868 2019\u5e74\u8bfe\u8868","title":"\u5b58\u6863"},{"location":"ac/2019/index.html","text":"2019 \u5e74\u6559\u5b66\u8ba1\u5212 \u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae \u8bfe\u7a0b\u4e3b\u9898\uff1a\u4ece\u5bc6\u7801\u5b66\u7406\u8bba\u5230\u5bc6\u7801\u5b66\u7684\u5de5\u7a0b\u5b9e\u8df5\u4e0e\u5e94\u7528 \u4e0a\u8bfe\u65b9\u5f0f\uff1a\u8bb2\u6388+\u5b9e\u9a8c+\u5927\u4f5c\u4e1a \u7ed3\u8bfe\u5927\u4f5c\u4e1a\u57fa\u672c\u8981\u6c42 \u5206\u7ec4\u5b8c\u6210 \u548c \u5355\u5175\u4f5c\u6218 \u81f3\u5c11\u300c\u4e8c\u9009\u4e00\u300d\uff0c\u9f13\u52b1\u5b66\u6709\u4f59\u529b\u7684\u540c\u5b66\u300c\u591a\u52b3\u591a\u5f97\u300d\u3002 \u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528 zip \u683c\u5f0f\u6253\u5305\uff08\u6ee1\u8db3\u5b66\u6821\u6559\u52a1\u5904\u8981\u6c42\uff09\u5e76\u53d1\u9001\u5230\u6211\u90ae\u7bb1\uff08 huangwei.me AT gmail.com \uff09\uff0c\u90ae\u4ef6\u4e3b\u9898\u548c\u90ae\u4ef6\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u4f5c\u4e1a\u9898\u76ee.zip \u3002\u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167\u5bf9\u7ed3\u8bfe\u4f5c\u4e1a\u7684\u8d21\u732e\u7a0b\u5ea6\u6392\u540d\u3002 \u5b8c\u6574\u6e90\u4ee3\u7801 \u7b54\u8fa9PPT \u8bfe\u9898\u7ed3\u9898\u62a5\u544a \u7981\u6b62\u4e0a\u4f20 \u5230 Github \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\u3002 \u5206\u7ec4\u5b8c\u6210 \u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 3 \u4eba \u6bcf\u4e2a\u9898\u76ee\u7684\u9a8c\u6536\u6807\u51c6\u5305\u62ec\uff1a \u5b8c\u6210\u5ea6\uff1a\u5047\u8bbe\u9898\u76ee\u8981\u6c42\u7684\u4e00\u7ea7\u9700\u6c42\u670910\u6761\uff0c\u6700\u7ec8\u5b8c\u6210\u4e868\u6761\uff0c\u5219\u5b8c\u6210\u5ea6\uff1d8/10*100%=80% \u5b8c\u6210\u8d28\u91cf\uff1a\u58f0\u79f0\u5df2\u5b8c\u6210\u7684\u9700\u6c42\uff0c\u7ecf\u8fc7\u68c0\u67e5\u540e\u8ba4\u5b9a\u5b9e\u9645\u7684\u5b8c\u6210\u8d28\u91cf \u5927\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u8bf7\u5728 Github \u4e0a\u5efa\u7acb\u5c0f\u7ec4\u7684\u9879\u76ee\u4ed3\u5e93\uff0c\u6bcf\u4e2a\u7ec4\u5458\u7684\u65e5\u5e38\u5b8c\u6210\u8fdb\u5ea6\u901a\u8fc7 git \u63d0\u4ea4\u5386\u53f2\u6765\u4f53\u73b0\u3002 \u5982\u679c\u662f \u79c1\u6709 \u4ed3\u5e93\uff0c\u8bf7\u9080\u8bf7 c4pr1c3 \u6210\u4e3a\u4f60\u4eec\u5c0f\u7ec4\u5efa\u7acb\u7684\u4ed3\u5e93\u7684\u534f\u4f5c\u8005\uff08Collaborators\uff09\uff1b \u5982\u679c\u662f Fork \u6837\u4f8b\u4ed3\u5e93\uff0c\u5219\u65e0\u9700\u505a\u7279\u522b\u8bbe\u7f6e\uff1b \u4e0d\u8981\u5728\u4f60\u63d0\u4ea4\u7684\u4efb\u4f55\u6750\u6599\u4e2d\u51fa\u73b0\u4efb\u4f55\u91cd\u8981\u4e2a\u4eba\u9690\u79c1\u4fe1\u606f\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u59d3\u540d\u3001\u5b66\u53f7\u3001\u5bc6\u7801\u7b49\uff1b \u4f5c\u4e1a\u63d0\u4ea4\u5185\u5bb9\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u4ee3\u7801\u3001markdown \u683c\u5f0f\u7684\u6587\u6863\u3001\u56fe\u7247\u7b49\uff1b \u7ec4\u957f\u521b\u5efa\u4ed3\u5e93\uff0c\u7ec4\u5458\u53ef\u4ee5\u5728 Github \u540e\u53f0\u6dfb\u52a0\u5230 Collaborators \u6216\u901a\u8fc7 Fork + PR \u7684\u65b9\u5f0f\u6765\u5b9e\u73b0\u534f\u540c\u5f00\u53d1\u548c\u7f16\u8f91\uff1b \u4e0d\u5efa\u8bae\u76f4\u63a5\u4f7f\u7528 Github \u5b98\u65b9\u5ba2\u6237\u7aef\uff0c\u63a8\u8350\u4f7f\u7528 git \u547d\u4ee4\u884c\u5ba2\u6237\u7aef\uff1b commit \u6ce8\u91ca\u5e94\u8be5\u6e05\u6670\u660e\u4e86\uff0c\u8bf4\u660e\u672c\u6b21\u63d0\u4ea4\u7684\u76ee\u7684\uff0c\u4e0d\u8981\u641e\u51fa\u4e00\u5806\u7684 Add files via upload \uff1b \u7981\u6b62\u63d0\u4ea4\uff1a\u4e34\u65f6\u6587\u4ef6\uff08\u6587\u672c\u7f16\u8f91\u5668\u4ea7\u751f\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u5907\u4efd\u6587\u4ef6\u7b49\uff09\u3001\u4e2d\u95f4\u7ed3\u679c\u6587\u4ef6\uff08.exe\u3001.pdb\u3001.log\u7b49\u90fd\u662f\u5178\u578b\u4ee3\u8868\uff09 \u56fe\u7247\u5e94\u5728\u4fdd\u6301\u6e05\u6670\u5ea6\u3001\u4e0d\u5f71\u54cd\u9605\u8bfb\u7684\u524d\u63d0\u4e0b\u8fdb\u884c\u5fc5\u8981\u7684\u5c3a\u5bf8\u88c1\u526a\u548c\u56fe\u50cf\u538b\u7f29\u4ee5\u51cf\u5c11\u56fe\u7247\u6587\u4ef6\u5360\u7528\u5b58\u50a8\u7a7a\u95f4\u5927\u5c0f\uff1b \u8bfe\u7a0b\u603b\u8bc4\u5206\u6570\uff1d\u51fa\u52e4 * 10% + \u7cfb\u7edf\u5b9e\u73b0\uff08\u4ee3\u7801\uff09* 60% + \u8bfe\u9898\u7ed3\u9898\u62a5\u544a * 30% \u5355\u5175\u4f5c\u6218 \u4e0a\u8ff0\u63a8\u8350\u5b9e\u9a8c\u4e2d\u81f3\u5c11\u9009\u62e9\u5e76\u5b8c\u6210 1 \u4e2a\uff0c\u5efa\u8bae\u9009\u62e9 2 \u4e2a\u6216\u66f4\u591a \uff0810 \u5206\uff09 \u4eff\u7167 \u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c\u6307\u5357 \u548c Padding Oracle Attack \u5b9e\u9a8c\u6307\u5357 \u7684\u5f62\u5f0f\u7f16\u5199\u5b9e\u9a8c\u62a5\u544a \uff08 70 \u5206\uff09 \u6392\u7248\u8d28\u91cf 10% \u5185\u5bb9\u4e13\u4e1a\u6027\u7a0b\u5ea6 20% \u5b9e\u9a8c\u64cd\u4f5c\u6b65\u9aa4\u8be6\u7ec6\u7a0b\u5ea6\uff08\u64cd\u4f5c\u6548\u679c\u622a\u56fe\u3001\u4ee3\u7801\uff09 60% \u53c2\u8003\u6587\u732e\u5f15\u7528\u6807\u6ce8 10% \u9664\u4e86\u6309\u7167\u4e0a\u8ff0\u5b9e\u9a8c\u5b98\u65b9\u6307\u5357\u4e2d\u7684\u65b9\u6cd5\u548c\u5de5\u5177\u5b8c\u6210\u5b9e\u9a8c\u4e4b\u5916\uff0c\u518d\u4f7f\u7528\u53e6\u4e00\u79cd\u7f16\u7a0b\u8bed\u8a00\u6216\u5de5\u5177\u5b8c\u6210\u5b9e\u9a8c \uff0810 \u5206\uff09 \u9644\u52a0\u5206 \u7f16\u5199\u300c\u81ea\u52a8\u5316\u6f0f\u6d1e\u5229\u7528\u811a\u672c\u300d+10 \u6bcf\u589e\u52a0\u5b8c\u6210 1 \u4e2a\u5b9e\u9a8c +10 \u6ee1\u5206\uff1a100 \u7ed3\u8bfe\u5927\u4f5c\u4e1a\u9898\u76ee \u5206\u7ec4\u5b8c\u6210 \u57fa\u4e8e\u7f51\u9875\u7684\u7528\u6237\u6ce8\u518c\u4e0e\u767b\u5f55\u7cfb\u7edf\uff0860\u5206\uff09 \u4f7f\u7528https\u7ed1\u5b9a\u8bc1\u4e66\u5230\u57df\u540d\u800c\u975eIP\u5730\u5740 \u3010 PKI X.509 \u3011 \u5141\u8bb8\u7528\u6237\u6ce8\u518c\u5230\u7cfb\u7edf \u7528\u6237\u540d\u7684\u5408\u6cd5\u5b57\u7b26\u96c6\u8303\u56f4\uff1a\u4e2d\u6587\u3001\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57 \u7c7b\u4f3c\uff1a-\u3001_\u3001.\u7b49\u5408\u6cd5\u5b57\u7b26\u96c6\u8303\u56f4\u4e4b\u5916\u7684\u5b57\u7b26\u4e0d\u5141\u8bb8\u4f7f\u7528 \u7528\u6237\u53e3\u4ee4\u957f\u5ea6\u9650\u5236\u572836\u4e2a\u5b57\u7b26\u4e4b\u5185 \u5bf9\u7528\u6237\u8f93\u5165\u7684\u53e3\u4ee4\u8fdb\u884c\u5f3a\u5ea6\u6821\u9a8c\uff0c\u7981\u6b62\u4f7f\u7528\u5f31\u53e3\u4ee4 \u4f7f\u7528\u5408\u6cd5\u7528\u6237\u540d\u548c\u53e3\u4ee4\u767b\u5f55\u7cfb\u7edf \u7981\u6b62\u4f7f\u7528\u660e\u6587\u5b58\u50a8\u7528\u6237\u53e3\u4ee4 \u3010 PBKDF2 \u6563\u5217\u7b97\u6cd5 \u6162\u901f\u6563\u5217 \u9488\u5bf9\u6563\u5217\u7b97\u6cd5\uff08\u5982MD5\u3001SHA1\u7b49\uff09\u7684\u653b\u51fb\u65b9\u6cd5 \u3011 \u5b58\u50a8\u7684\u53e3\u4ee4\u5373\u4f7f\u88ab\u516c\u5f00\uff0c\u4e5f\u65e0\u6cd5\u8fd8\u539f/\u89e3\u7801\u51fa\u539f\u59cb\u660e\u6587\u53e3\u4ee4 \uff08\u53ef\u9009\uff09\u5b89\u5168\u7684\u5fd8\u8bb0\u53e3\u4ee4 / \u627e\u56de\u5bc6\u7801\u529f\u80fd \uff08\u53ef\u9009\uff09\u5fae\u4fe1/\u5fae\u535a/\u652f\u4ed8\u5b9d\u7684OAuth\u6388\u6743\u767b\u5f55 / \u6ce8\u518c\u7ed1\u5b9a \uff08\u53ef\u9009\uff09\u53cc\u56e0\u7d20\u8ba4\u8bc1 OTP: Google Authenticator Email SMS \u626b\u7801\u767b\u5f55 \u57fa\u4e8e\u7f51\u9875\u7684\u6587\u4ef6\u4e0a\u4f20\u52a0\u5bc6\u4e0e\u6570\u5b57\u7b7e\u540d\u7cfb\u7edf\uff0820\u5206\uff09 \u5df2\u5b8c\u6210\u300a\u57fa\u4e8e\u7f51\u9875\u7684\u7528\u6237\u6ce8\u518c\u4e0e\u767b\u5f55\u7cfb\u7edf\u300b\u6240\u6709\u8981\u6c42 \u9650\u5236\u6587\u4ef6\u5927\u5c0f\uff1a\u5c0f\u4e8e 10MB \u9650\u5236\u6587\u4ef6\u7c7b\u578b\uff1aoffice\u6587\u6863\u3001\u5e38\u89c1\u56fe\u7247\u7c7b\u578b \u533f\u540d\u7528\u6237\u7981\u6b62\u4e0a\u4f20\u6587\u4ef6 \u5bf9\u6587\u4ef6\u8fdb\u884c\u5bf9\u79f0\u52a0\u5bc6\u5b58\u50a8\u5230\u6587\u4ef6\u7cfb\u7edf\uff0c\u7981\u6b62\u660e\u6587\u5b58\u50a8\u6587\u4ef6 \u3010 \u5bf9\u79f0\u52a0\u5bc6 \u5bc6\u94a5\u7ba1\u7406\uff08\u5982\u4f55\u5b89\u5168\u5b58\u50a8\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\uff09 \u5bf9\u79f0\u52a0\u5bc6\u5bc6\u6587\u7684PADDING\u95ee\u9898 \u3011 \u7cfb\u7edf\u5bf9\u52a0\u5bc6\u540e\u6587\u4ef6\u8fdb\u884c\u6570\u5b57\u7b7e\u540d \u3010 \u6570\u5b57\u7b7e\u540d\uff08\u591a\u79cd\u7b7e\u540d\u5de5\u4f5c\u6a21\u5f0f\u5dee\u5f02\uff09 \u3011 \uff08\u53ef\u9009\uff09\u6587\u4ef6\u79d2\u4f20\uff1a\u670d\u52a1\u5668\u4e0a\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5ba2\u6237\u7aef\u53ef\u4ee5\u4e0d\u5fc5\u518d\u91cd\u590d\u4e0a\u4f20\u4e86 \u57fa\u4e8e\u7f51\u9875\u7684\u52a0\u5bc6\u6587\u4ef6\u4e0b\u8f7d\u4e0e\u89e3\u5bc6\uff0820\u5206\uff09 \u5df2\u5b8c\u6210\u300a\u57fa\u4e8e\u7f51\u9875\u7684\u6587\u4ef6\u4e0a\u4f20\u52a0\u5bc6\u4e0e\u6570\u5b57\u7b7e\u540d\u7cfb\u7edf\u300b\u6240\u6709\u8981\u6c42 \u63d0\u4f9b\u533f\u540d\u7528\u6237\u52a0\u5bc6\u540e\u6587\u4ef6\u548c\u5173\u8054\u7684\u6570\u5b57\u7b7e\u540d\u6587\u4ef6\u7684\u4e0b\u8f7d \u5ba2\u6237\u7aef\u5bf9\u4e0b\u8f7d\u540e\u7684\u6587\u4ef6\u8fdb\u884c\u6570\u5b57\u7b7e\u540d\u9a8c\u8bc1 \u3010 \u975e\u5bf9\u79f0\uff08\u516c\u94a5\uff09\u52a0\u5bc6 \u6570\u5b57\u7b7e\u540d \u3011 \u5ba2\u6237\u7aef\u5bf9\u4e0b\u8f7d\u540e\u7684\u6587\u4ef6\u53ef\u4ee5\u89e3\u5bc6\u8fd8\u539f\u5230\u539f\u59cb\u6587\u4ef6 \u3010 \u5bf9\u79f0\u89e3\u5bc6 \u5bc6\u94a5\u7ba1\u7406 \u3011 \u63d0\u4f9b\u5df2\u767b\u5f55\u7528\u6237\u89e3\u5bc6\u540e\u6587\u4ef6\u4e0b\u8f7d \u4e0b\u8f7dURL\u8bbe\u7f6e\u6709\u6548\u671f\uff08\u9650\u5236\u65f6\u95f4\u6216\u9650\u5236\u4e0b\u8f7d\u6b21\u6570\uff09\uff0c\u8fc7\u671f\u540e\u7981\u6b62\u8bbf\u95ee \u3010 \u6570\u5b57\u7b7e\u540d \u6d88\u606f\u8ba4\u8bc1\u7801 Hash Extension Length Attack Hash\u7b97\u6cd5\u4e0eHMAC\u7b97\u6cd5\u7684\u533a\u522b\u4e0e\u8054\u7cfb \u3011 \u63d0\u4f9b\u9759\u6001\u6587\u4ef6\u7684\u6563\u5217\u503c\u4e0b\u8f7d\uff0c\u4f9b\u4e0b\u8f7d\u6587\u4ef6\u5b8c\u6210\u540e\u672c\u5730\u6821\u9a8c\u6587\u4ef6\u5b8c\u6574\u6027 \u3010 \u6563\u5217\u7b97\u6cd5 \u3011 \u53ef\u4ee5\u57fa\u4e8e PHP \u7248\u5b9e\u73b0\u7684\u8bfe\u7a0b\u7cfb\u7edf\u534a\u6210\u54c1\u6e90\u4ee3\u7801 \u6216 Python \u7248\u5b9e\u73b0\u7684\u8bfe\u7a0b\u7cfb\u7edf\u534a\u6210\u54c1\u6e90\u4ee3\u7801 \u8fdb\u884c\u300c\u4e8c\u6b21\u5f00\u53d1\u300d\uff0c\u4e5f\u53ef\u4ee5\u81ea\u5df1\u4ece\u96f6\u5f00\u59cb\u5f00\u53d1\u3002\u7f16\u7a0b\u8bed\u8a00\u6280\u672f\u6808\u6ca1\u6709\u9650\u5236\u3002 \u524d\u65b9\u91cd\u8981\u63d0\u9192 \u5982\u679c\u57fa\u4e8e\u4ee5\u4e0a\u4ee3\u7801\u8fdb\u884c\u300c\u4e8c\u6b21\u5f00\u53d1\u300d\uff0c \u5fc5\u987b\u91c7\u7528 fork + PR \u7684\u65b9\u5f0f\u63d0\u4ea4\u6700\u7ec8\u5b8c\u6210\u7684\u7cfb\u7edf\u6e90\u4ee3\u7801\uff08\u7b2c\u4e09\u65b9\u4f9d\u8d56\u7684\u6e90\u4ee3\u7801\u4e0d\u8981 push \u5230 github\uff09\uff0c\u65b9\u4fbf\u6211\u67e5\u770b\u4f60 \u4f60\u5177\u4f53\u505a\u4e86\u54ea\u4e9b\u6539\u52a8 \u3002 \u5355\u5175\u4f5c\u6218 \u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c CBC Bit-flipping Attack \u5b9e\u9a8c Padding Oracle Attack \u5b9e\u9a8c Hash Length Extension Attack \u5b9e\u9a8c \u95ee\u9898\u6e05\u5355 \u5206\u7ec4\u5b8c\u6210 \u8bf7\u901a\u8fc7\u5c4f\u5e55\u64cd\u4f5c\u5f55\u50cf\u7684\u65b9\u5f0f\uff0c\u5c55\u793a\u4f60\u4eec\u5c0f\u7ec4\u5b8c\u6210\u7684\u7cfb\u7edf\uff0c\u5e76 \u5c3d\u529b\u800c\u4e3a \u5728\u5f55\u50cf\u4e2d\u7ed3\u5408\u64cd\u4f5c\u6f14\u793a\u56de\u7b54\u4ee5\u4e0b\u6bcf\u4e00\u4e2a\u95ee\u9898\u3002 \u5f55\u50cf\u8bf7\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff08\u9996\u9009\u817e\u8baf\u89c6\u9891\uff0c\u4fbf\u4e8e\u4f18\u79c0\u4f5c\u54c1\u53ef\u4ee5\u76f4\u63a5\u5728\u5fae\u4fe1\u516c\u4f17\u53f7\u63a8\u9001\u4e2d\u5d4c\u5165\uff09\uff0c\u52a1\u5fc5\u907f\u514d\u5728\u5f55\u50cf\u4e2d\u6cc4\u6f0f\u4e2a\u4eba\u9690\u79c1\u4fe1\u606f\uff0c\u5728\u5c4f\u5e55\u64cd\u4f5c\u5f55\u50cf\u8fc7\u7a0b\u4e2d\u5efa\u8bae\u5173\u95ed\u5373\u65f6\u901a\u4fe1\u5de5\u5177\u7b49\u6709\u53ef\u80fd\u4f1a\u5f39\u51fa\u901a\u77e5\u7a97\u53e3\u7684\u5e94\u7528\u7a0b\u5e8f\uff0c\u4fdd\u8bc1\u5f55\u50cf\u8d28\u91cf\u548c\u6548\u679c\u3002 \u8bf7\u603b\u7ed3\u4f60\u7684\u6240\u6709\u5df2\u5b8c\u6210\u529f\u80fd\u70b9 X.509\u8bc1\u4e66\u4e2d\u5404\u4e2a\u5b57\u6bb5\u542b\u4e49\u3001\u7528\u9014\u89e3\u91ca\u8bf4\u660e\u3002 WEB\u670d\u52a1\u5668\u4f7f\u7528\u7684\u8bc1\u4e66\u548cCA\u4f7f\u7528\u7684\u8bc1\u4e66\u6709\u4ec0\u4e48\u533a\u522b\u548c\u8054\u7cfb\uff1f \u7b80\u8ff0\u4f60\u7684\u53e3\u4ee4\u5b89\u5168\u5b58\u50a8\u7b56\u7565\u3002 \u4f60\u662f\u5982\u4f55\u5b9e\u73b0\u5f31\u53e3\u4ee4\u68c0\u6d4b\u7684\uff1f \u4f60\u662f\u5982\u4f55\u5b9e\u73b0\u5b89\u5168\u7684\u6587\u4ef6\u4e0a\u4f20\u7684\uff1f \u8bf7\u5c55\u793a\u5e76\u8bf4\u660e\u4f60\u7684 \u6587\u4ef6\u52a0\u5bc6\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u89e3\u5bc6\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u7b7e\u540d\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u7b7e\u540d\u9a8c\u8bc1\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u5b8c\u6574\u6027\u9a8c\u8bc1\u4ee3\u7801\u7247\u6bb5 \u540c\u4e00\u4e2a\u7528\u6237\u7684\u4e0d\u540c\u6587\u4ef6\u662f\u5426\u4f7f\u7528\u76f8\u540c\u7684\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\uff1f\u5982\u679c\u662f\uff0c\u8bf7\u8bf4\u660e\u5176\u4e2d\u5b58\u5728\u7684\u5b89\u5168\u98ce\u9669\u3002\u5982\u679c\u5426\uff0c\u8bf7\u7ed3\u5408\u4ee3\u7801\u5c55\u793a\u4f60\u7684\u6587\u4ef6\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\u7684\u5b58\u50a8\u548c\u63d0\u53d6\u4f7f\u7528\u7b56\u7565 \u4f60\u7684\u6587\u4ef6\u4e0b\u8f7d\u8fc7\u671f\u7b56\u7565\u662f\u5982\u4f55\u8bbe\u8ba1\u5e76\u5b9e\u73b0\u7684\uff1f \u5e38\u89c1\u5bf9\u79f0\u52a0\u5bc6\u5de5\u4f5c\u6a21\u5f0f\u6709\u54ea\u4e9b\uff1f\u5404\u81ea\u5e94\u7528\u573a\u666f\u3001\u4f18\u7f3a\u70b9\u8bf4\u660e\u3002 \u7b80\u8ff0RSA\u52a0\u5bc6\u7b97\u6cd5\u548cRSA\u7b7e\u540d\u7b97\u6cd5\u4e4b\u95f4\u7684\u5173\u7cfb\uff1f \u901a\u8fc7 PHP / Python \u5b9e\u73b0\u6587\u4ef6\u6563\u5217\u503c\u8ba1\u7b97\u6709\u54ea\u4e9b\u65b9\u6cd5\uff1f \u4f60\u662f\u5982\u4f55\u5b9e\u73b0\u533f\u540d\u7528\u6237\u7981\u6b62\u4e0a\u4f20\u6587\u4ef6\u529f\u80fd\u7684\uff1f \u8bf7\u5c55\u793a\u5e76\u8bf4\u660e\u4f60\u7684\u6570\u636e\u5e93\u8868\u7ed3\u6784\u8bbe\u8ba1 \u5728\u8bfe\u7a0b\u7ed3\u9898\u62a5\u544a\u4e2d\u9644\u4e0a\u5728\u7ebf\u89c6\u9891\u94fe\u63a5\u5373\u53ef\u3002 \u53c2\u8003\u8d44\u6599 \u8bfe\u7a0b\u77e5\u8bc6\u56de\u987e\u4e0e\u5c55\u671b \u5728\u5e94\u7528\u5f00\u53d1\u9879\u76ee\u4e2d\u5982\u4f55\u5b89\u5168\u5b9e\u73b0\u5bc6\u7801\u5b66\u7b97\u6cd5","title":"2019\u5e74"},{"location":"ac/2019/index.html#2019","text":"","title":"2019 \u5e74\u6559\u5b66\u8ba1\u5212"},{"location":"ac/2019/index.html#_1","text":"\u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae \u8bfe\u7a0b\u4e3b\u9898\uff1a\u4ece\u5bc6\u7801\u5b66\u7406\u8bba\u5230\u5bc6\u7801\u5b66\u7684\u5de5\u7a0b\u5b9e\u8df5\u4e0e\u5e94\u7528 \u4e0a\u8bfe\u65b9\u5f0f\uff1a\u8bb2\u6388+\u5b9e\u9a8c+\u5927\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"ac/2019/index.html#_2","text":"\u5206\u7ec4\u5b8c\u6210 \u548c \u5355\u5175\u4f5c\u6218 \u81f3\u5c11\u300c\u4e8c\u9009\u4e00\u300d\uff0c\u9f13\u52b1\u5b66\u6709\u4f59\u529b\u7684\u540c\u5b66\u300c\u591a\u52b3\u591a\u5f97\u300d\u3002 \u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528 zip \u683c\u5f0f\u6253\u5305\uff08\u6ee1\u8db3\u5b66\u6821\u6559\u52a1\u5904\u8981\u6c42\uff09\u5e76\u53d1\u9001\u5230\u6211\u90ae\u7bb1\uff08 huangwei.me AT gmail.com \uff09\uff0c\u90ae\u4ef6\u4e3b\u9898\u548c\u90ae\u4ef6\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u4f5c\u4e1a\u9898\u76ee.zip \u3002\u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167\u5bf9\u7ed3\u8bfe\u4f5c\u4e1a\u7684\u8d21\u732e\u7a0b\u5ea6\u6392\u540d\u3002 \u5b8c\u6574\u6e90\u4ee3\u7801 \u7b54\u8fa9PPT \u8bfe\u9898\u7ed3\u9898\u62a5\u544a \u7981\u6b62\u4e0a\u4f20 \u5230 Github \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\u3002","title":"\u7ed3\u8bfe\u5927\u4f5c\u4e1a\u57fa\u672c\u8981\u6c42"},{"location":"ac/2019/index.html#_3","text":"\u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 3 \u4eba \u6bcf\u4e2a\u9898\u76ee\u7684\u9a8c\u6536\u6807\u51c6\u5305\u62ec\uff1a \u5b8c\u6210\u5ea6\uff1a\u5047\u8bbe\u9898\u76ee\u8981\u6c42\u7684\u4e00\u7ea7\u9700\u6c42\u670910\u6761\uff0c\u6700\u7ec8\u5b8c\u6210\u4e868\u6761\uff0c\u5219\u5b8c\u6210\u5ea6\uff1d8/10*100%=80% \u5b8c\u6210\u8d28\u91cf\uff1a\u58f0\u79f0\u5df2\u5b8c\u6210\u7684\u9700\u6c42\uff0c\u7ecf\u8fc7\u68c0\u67e5\u540e\u8ba4\u5b9a\u5b9e\u9645\u7684\u5b8c\u6210\u8d28\u91cf \u5927\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u8bf7\u5728 Github \u4e0a\u5efa\u7acb\u5c0f\u7ec4\u7684\u9879\u76ee\u4ed3\u5e93\uff0c\u6bcf\u4e2a\u7ec4\u5458\u7684\u65e5\u5e38\u5b8c\u6210\u8fdb\u5ea6\u901a\u8fc7 git \u63d0\u4ea4\u5386\u53f2\u6765\u4f53\u73b0\u3002 \u5982\u679c\u662f \u79c1\u6709 \u4ed3\u5e93\uff0c\u8bf7\u9080\u8bf7 c4pr1c3 \u6210\u4e3a\u4f60\u4eec\u5c0f\u7ec4\u5efa\u7acb\u7684\u4ed3\u5e93\u7684\u534f\u4f5c\u8005\uff08Collaborators\uff09\uff1b \u5982\u679c\u662f Fork \u6837\u4f8b\u4ed3\u5e93\uff0c\u5219\u65e0\u9700\u505a\u7279\u522b\u8bbe\u7f6e\uff1b \u4e0d\u8981\u5728\u4f60\u63d0\u4ea4\u7684\u4efb\u4f55\u6750\u6599\u4e2d\u51fa\u73b0\u4efb\u4f55\u91cd\u8981\u4e2a\u4eba\u9690\u79c1\u4fe1\u606f\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u59d3\u540d\u3001\u5b66\u53f7\u3001\u5bc6\u7801\u7b49\uff1b \u4f5c\u4e1a\u63d0\u4ea4\u5185\u5bb9\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u4ee3\u7801\u3001markdown \u683c\u5f0f\u7684\u6587\u6863\u3001\u56fe\u7247\u7b49\uff1b \u7ec4\u957f\u521b\u5efa\u4ed3\u5e93\uff0c\u7ec4\u5458\u53ef\u4ee5\u5728 Github \u540e\u53f0\u6dfb\u52a0\u5230 Collaborators \u6216\u901a\u8fc7 Fork + PR \u7684\u65b9\u5f0f\u6765\u5b9e\u73b0\u534f\u540c\u5f00\u53d1\u548c\u7f16\u8f91\uff1b \u4e0d\u5efa\u8bae\u76f4\u63a5\u4f7f\u7528 Github \u5b98\u65b9\u5ba2\u6237\u7aef\uff0c\u63a8\u8350\u4f7f\u7528 git \u547d\u4ee4\u884c\u5ba2\u6237\u7aef\uff1b commit \u6ce8\u91ca\u5e94\u8be5\u6e05\u6670\u660e\u4e86\uff0c\u8bf4\u660e\u672c\u6b21\u63d0\u4ea4\u7684\u76ee\u7684\uff0c\u4e0d\u8981\u641e\u51fa\u4e00\u5806\u7684 Add files via upload \uff1b \u7981\u6b62\u63d0\u4ea4\uff1a\u4e34\u65f6\u6587\u4ef6\uff08\u6587\u672c\u7f16\u8f91\u5668\u4ea7\u751f\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u5907\u4efd\u6587\u4ef6\u7b49\uff09\u3001\u4e2d\u95f4\u7ed3\u679c\u6587\u4ef6\uff08.exe\u3001.pdb\u3001.log\u7b49\u90fd\u662f\u5178\u578b\u4ee3\u8868\uff09 \u56fe\u7247\u5e94\u5728\u4fdd\u6301\u6e05\u6670\u5ea6\u3001\u4e0d\u5f71\u54cd\u9605\u8bfb\u7684\u524d\u63d0\u4e0b\u8fdb\u884c\u5fc5\u8981\u7684\u5c3a\u5bf8\u88c1\u526a\u548c\u56fe\u50cf\u538b\u7f29\u4ee5\u51cf\u5c11\u56fe\u7247\u6587\u4ef6\u5360\u7528\u5b58\u50a8\u7a7a\u95f4\u5927\u5c0f\uff1b \u8bfe\u7a0b\u603b\u8bc4\u5206\u6570\uff1d\u51fa\u52e4 * 10% + \u7cfb\u7edf\u5b9e\u73b0\uff08\u4ee3\u7801\uff09* 60% + \u8bfe\u9898\u7ed3\u9898\u62a5\u544a * 30%","title":"\u5206\u7ec4\u5b8c\u6210"},{"location":"ac/2019/index.html#_4","text":"\u4e0a\u8ff0\u63a8\u8350\u5b9e\u9a8c\u4e2d\u81f3\u5c11\u9009\u62e9\u5e76\u5b8c\u6210 1 \u4e2a\uff0c\u5efa\u8bae\u9009\u62e9 2 \u4e2a\u6216\u66f4\u591a \uff0810 \u5206\uff09 \u4eff\u7167 \u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c\u6307\u5357 \u548c Padding Oracle Attack \u5b9e\u9a8c\u6307\u5357 \u7684\u5f62\u5f0f\u7f16\u5199\u5b9e\u9a8c\u62a5\u544a \uff08 70 \u5206\uff09 \u6392\u7248\u8d28\u91cf 10% \u5185\u5bb9\u4e13\u4e1a\u6027\u7a0b\u5ea6 20% \u5b9e\u9a8c\u64cd\u4f5c\u6b65\u9aa4\u8be6\u7ec6\u7a0b\u5ea6\uff08\u64cd\u4f5c\u6548\u679c\u622a\u56fe\u3001\u4ee3\u7801\uff09 60% \u53c2\u8003\u6587\u732e\u5f15\u7528\u6807\u6ce8 10% \u9664\u4e86\u6309\u7167\u4e0a\u8ff0\u5b9e\u9a8c\u5b98\u65b9\u6307\u5357\u4e2d\u7684\u65b9\u6cd5\u548c\u5de5\u5177\u5b8c\u6210\u5b9e\u9a8c\u4e4b\u5916\uff0c\u518d\u4f7f\u7528\u53e6\u4e00\u79cd\u7f16\u7a0b\u8bed\u8a00\u6216\u5de5\u5177\u5b8c\u6210\u5b9e\u9a8c \uff0810 \u5206\uff09 \u9644\u52a0\u5206 \u7f16\u5199\u300c\u81ea\u52a8\u5316\u6f0f\u6d1e\u5229\u7528\u811a\u672c\u300d+10 \u6bcf\u589e\u52a0\u5b8c\u6210 1 \u4e2a\u5b9e\u9a8c +10 \u6ee1\u5206\uff1a100","title":"\u5355\u5175\u4f5c\u6218"},{"location":"ac/2019/index.html#_5","text":"","title":"\u7ed3\u8bfe\u5927\u4f5c\u4e1a\u9898\u76ee"},{"location":"ac/2019/index.html#_6","text":"\u57fa\u4e8e\u7f51\u9875\u7684\u7528\u6237\u6ce8\u518c\u4e0e\u767b\u5f55\u7cfb\u7edf\uff0860\u5206\uff09 \u4f7f\u7528https\u7ed1\u5b9a\u8bc1\u4e66\u5230\u57df\u540d\u800c\u975eIP\u5730\u5740 \u3010 PKI X.509 \u3011 \u5141\u8bb8\u7528\u6237\u6ce8\u518c\u5230\u7cfb\u7edf \u7528\u6237\u540d\u7684\u5408\u6cd5\u5b57\u7b26\u96c6\u8303\u56f4\uff1a\u4e2d\u6587\u3001\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57 \u7c7b\u4f3c\uff1a-\u3001_\u3001.\u7b49\u5408\u6cd5\u5b57\u7b26\u96c6\u8303\u56f4\u4e4b\u5916\u7684\u5b57\u7b26\u4e0d\u5141\u8bb8\u4f7f\u7528 \u7528\u6237\u53e3\u4ee4\u957f\u5ea6\u9650\u5236\u572836\u4e2a\u5b57\u7b26\u4e4b\u5185 \u5bf9\u7528\u6237\u8f93\u5165\u7684\u53e3\u4ee4\u8fdb\u884c\u5f3a\u5ea6\u6821\u9a8c\uff0c\u7981\u6b62\u4f7f\u7528\u5f31\u53e3\u4ee4 \u4f7f\u7528\u5408\u6cd5\u7528\u6237\u540d\u548c\u53e3\u4ee4\u767b\u5f55\u7cfb\u7edf \u7981\u6b62\u4f7f\u7528\u660e\u6587\u5b58\u50a8\u7528\u6237\u53e3\u4ee4 \u3010 PBKDF2 \u6563\u5217\u7b97\u6cd5 \u6162\u901f\u6563\u5217 \u9488\u5bf9\u6563\u5217\u7b97\u6cd5\uff08\u5982MD5\u3001SHA1\u7b49\uff09\u7684\u653b\u51fb\u65b9\u6cd5 \u3011 \u5b58\u50a8\u7684\u53e3\u4ee4\u5373\u4f7f\u88ab\u516c\u5f00\uff0c\u4e5f\u65e0\u6cd5\u8fd8\u539f/\u89e3\u7801\u51fa\u539f\u59cb\u660e\u6587\u53e3\u4ee4 \uff08\u53ef\u9009\uff09\u5b89\u5168\u7684\u5fd8\u8bb0\u53e3\u4ee4 / \u627e\u56de\u5bc6\u7801\u529f\u80fd \uff08\u53ef\u9009\uff09\u5fae\u4fe1/\u5fae\u535a/\u652f\u4ed8\u5b9d\u7684OAuth\u6388\u6743\u767b\u5f55 / \u6ce8\u518c\u7ed1\u5b9a \uff08\u53ef\u9009\uff09\u53cc\u56e0\u7d20\u8ba4\u8bc1 OTP: Google Authenticator Email SMS \u626b\u7801\u767b\u5f55 \u57fa\u4e8e\u7f51\u9875\u7684\u6587\u4ef6\u4e0a\u4f20\u52a0\u5bc6\u4e0e\u6570\u5b57\u7b7e\u540d\u7cfb\u7edf\uff0820\u5206\uff09 \u5df2\u5b8c\u6210\u300a\u57fa\u4e8e\u7f51\u9875\u7684\u7528\u6237\u6ce8\u518c\u4e0e\u767b\u5f55\u7cfb\u7edf\u300b\u6240\u6709\u8981\u6c42 \u9650\u5236\u6587\u4ef6\u5927\u5c0f\uff1a\u5c0f\u4e8e 10MB \u9650\u5236\u6587\u4ef6\u7c7b\u578b\uff1aoffice\u6587\u6863\u3001\u5e38\u89c1\u56fe\u7247\u7c7b\u578b \u533f\u540d\u7528\u6237\u7981\u6b62\u4e0a\u4f20\u6587\u4ef6 \u5bf9\u6587\u4ef6\u8fdb\u884c\u5bf9\u79f0\u52a0\u5bc6\u5b58\u50a8\u5230\u6587\u4ef6\u7cfb\u7edf\uff0c\u7981\u6b62\u660e\u6587\u5b58\u50a8\u6587\u4ef6 \u3010 \u5bf9\u79f0\u52a0\u5bc6 \u5bc6\u94a5\u7ba1\u7406\uff08\u5982\u4f55\u5b89\u5168\u5b58\u50a8\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\uff09 \u5bf9\u79f0\u52a0\u5bc6\u5bc6\u6587\u7684PADDING\u95ee\u9898 \u3011 \u7cfb\u7edf\u5bf9\u52a0\u5bc6\u540e\u6587\u4ef6\u8fdb\u884c\u6570\u5b57\u7b7e\u540d \u3010 \u6570\u5b57\u7b7e\u540d\uff08\u591a\u79cd\u7b7e\u540d\u5de5\u4f5c\u6a21\u5f0f\u5dee\u5f02\uff09 \u3011 \uff08\u53ef\u9009\uff09\u6587\u4ef6\u79d2\u4f20\uff1a\u670d\u52a1\u5668\u4e0a\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5ba2\u6237\u7aef\u53ef\u4ee5\u4e0d\u5fc5\u518d\u91cd\u590d\u4e0a\u4f20\u4e86 \u57fa\u4e8e\u7f51\u9875\u7684\u52a0\u5bc6\u6587\u4ef6\u4e0b\u8f7d\u4e0e\u89e3\u5bc6\uff0820\u5206\uff09 \u5df2\u5b8c\u6210\u300a\u57fa\u4e8e\u7f51\u9875\u7684\u6587\u4ef6\u4e0a\u4f20\u52a0\u5bc6\u4e0e\u6570\u5b57\u7b7e\u540d\u7cfb\u7edf\u300b\u6240\u6709\u8981\u6c42 \u63d0\u4f9b\u533f\u540d\u7528\u6237\u52a0\u5bc6\u540e\u6587\u4ef6\u548c\u5173\u8054\u7684\u6570\u5b57\u7b7e\u540d\u6587\u4ef6\u7684\u4e0b\u8f7d \u5ba2\u6237\u7aef\u5bf9\u4e0b\u8f7d\u540e\u7684\u6587\u4ef6\u8fdb\u884c\u6570\u5b57\u7b7e\u540d\u9a8c\u8bc1 \u3010 \u975e\u5bf9\u79f0\uff08\u516c\u94a5\uff09\u52a0\u5bc6 \u6570\u5b57\u7b7e\u540d \u3011 \u5ba2\u6237\u7aef\u5bf9\u4e0b\u8f7d\u540e\u7684\u6587\u4ef6\u53ef\u4ee5\u89e3\u5bc6\u8fd8\u539f\u5230\u539f\u59cb\u6587\u4ef6 \u3010 \u5bf9\u79f0\u89e3\u5bc6 \u5bc6\u94a5\u7ba1\u7406 \u3011 \u63d0\u4f9b\u5df2\u767b\u5f55\u7528\u6237\u89e3\u5bc6\u540e\u6587\u4ef6\u4e0b\u8f7d \u4e0b\u8f7dURL\u8bbe\u7f6e\u6709\u6548\u671f\uff08\u9650\u5236\u65f6\u95f4\u6216\u9650\u5236\u4e0b\u8f7d\u6b21\u6570\uff09\uff0c\u8fc7\u671f\u540e\u7981\u6b62\u8bbf\u95ee \u3010 \u6570\u5b57\u7b7e\u540d \u6d88\u606f\u8ba4\u8bc1\u7801 Hash Extension Length Attack Hash\u7b97\u6cd5\u4e0eHMAC\u7b97\u6cd5\u7684\u533a\u522b\u4e0e\u8054\u7cfb \u3011 \u63d0\u4f9b\u9759\u6001\u6587\u4ef6\u7684\u6563\u5217\u503c\u4e0b\u8f7d\uff0c\u4f9b\u4e0b\u8f7d\u6587\u4ef6\u5b8c\u6210\u540e\u672c\u5730\u6821\u9a8c\u6587\u4ef6\u5b8c\u6574\u6027 \u3010 \u6563\u5217\u7b97\u6cd5 \u3011 \u53ef\u4ee5\u57fa\u4e8e PHP \u7248\u5b9e\u73b0\u7684\u8bfe\u7a0b\u7cfb\u7edf\u534a\u6210\u54c1\u6e90\u4ee3\u7801 \u6216 Python \u7248\u5b9e\u73b0\u7684\u8bfe\u7a0b\u7cfb\u7edf\u534a\u6210\u54c1\u6e90\u4ee3\u7801 \u8fdb\u884c\u300c\u4e8c\u6b21\u5f00\u53d1\u300d\uff0c\u4e5f\u53ef\u4ee5\u81ea\u5df1\u4ece\u96f6\u5f00\u59cb\u5f00\u53d1\u3002\u7f16\u7a0b\u8bed\u8a00\u6280\u672f\u6808\u6ca1\u6709\u9650\u5236\u3002 \u524d\u65b9\u91cd\u8981\u63d0\u9192 \u5982\u679c\u57fa\u4e8e\u4ee5\u4e0a\u4ee3\u7801\u8fdb\u884c\u300c\u4e8c\u6b21\u5f00\u53d1\u300d\uff0c \u5fc5\u987b\u91c7\u7528 fork + PR \u7684\u65b9\u5f0f\u63d0\u4ea4\u6700\u7ec8\u5b8c\u6210\u7684\u7cfb\u7edf\u6e90\u4ee3\u7801\uff08\u7b2c\u4e09\u65b9\u4f9d\u8d56\u7684\u6e90\u4ee3\u7801\u4e0d\u8981 push \u5230 github\uff09\uff0c\u65b9\u4fbf\u6211\u67e5\u770b\u4f60 \u4f60\u5177\u4f53\u505a\u4e86\u54ea\u4e9b\u6539\u52a8 \u3002","title":"\u5206\u7ec4\u5b8c\u6210"},{"location":"ac/2019/index.html#_7","text":"\u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c CBC Bit-flipping Attack \u5b9e\u9a8c Padding Oracle Attack \u5b9e\u9a8c Hash Length Extension Attack \u5b9e\u9a8c","title":"\u5355\u5175\u4f5c\u6218"},{"location":"ac/2019/index.html#_8","text":"","title":"\u95ee\u9898\u6e05\u5355"},{"location":"ac/2019/index.html#_9","text":"\u8bf7\u901a\u8fc7\u5c4f\u5e55\u64cd\u4f5c\u5f55\u50cf\u7684\u65b9\u5f0f\uff0c\u5c55\u793a\u4f60\u4eec\u5c0f\u7ec4\u5b8c\u6210\u7684\u7cfb\u7edf\uff0c\u5e76 \u5c3d\u529b\u800c\u4e3a \u5728\u5f55\u50cf\u4e2d\u7ed3\u5408\u64cd\u4f5c\u6f14\u793a\u56de\u7b54\u4ee5\u4e0b\u6bcf\u4e00\u4e2a\u95ee\u9898\u3002 \u5f55\u50cf\u8bf7\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff08\u9996\u9009\u817e\u8baf\u89c6\u9891\uff0c\u4fbf\u4e8e\u4f18\u79c0\u4f5c\u54c1\u53ef\u4ee5\u76f4\u63a5\u5728\u5fae\u4fe1\u516c\u4f17\u53f7\u63a8\u9001\u4e2d\u5d4c\u5165\uff09\uff0c\u52a1\u5fc5\u907f\u514d\u5728\u5f55\u50cf\u4e2d\u6cc4\u6f0f\u4e2a\u4eba\u9690\u79c1\u4fe1\u606f\uff0c\u5728\u5c4f\u5e55\u64cd\u4f5c\u5f55\u50cf\u8fc7\u7a0b\u4e2d\u5efa\u8bae\u5173\u95ed\u5373\u65f6\u901a\u4fe1\u5de5\u5177\u7b49\u6709\u53ef\u80fd\u4f1a\u5f39\u51fa\u901a\u77e5\u7a97\u53e3\u7684\u5e94\u7528\u7a0b\u5e8f\uff0c\u4fdd\u8bc1\u5f55\u50cf\u8d28\u91cf\u548c\u6548\u679c\u3002 \u8bf7\u603b\u7ed3\u4f60\u7684\u6240\u6709\u5df2\u5b8c\u6210\u529f\u80fd\u70b9 X.509\u8bc1\u4e66\u4e2d\u5404\u4e2a\u5b57\u6bb5\u542b\u4e49\u3001\u7528\u9014\u89e3\u91ca\u8bf4\u660e\u3002 WEB\u670d\u52a1\u5668\u4f7f\u7528\u7684\u8bc1\u4e66\u548cCA\u4f7f\u7528\u7684\u8bc1\u4e66\u6709\u4ec0\u4e48\u533a\u522b\u548c\u8054\u7cfb\uff1f \u7b80\u8ff0\u4f60\u7684\u53e3\u4ee4\u5b89\u5168\u5b58\u50a8\u7b56\u7565\u3002 \u4f60\u662f\u5982\u4f55\u5b9e\u73b0\u5f31\u53e3\u4ee4\u68c0\u6d4b\u7684\uff1f \u4f60\u662f\u5982\u4f55\u5b9e\u73b0\u5b89\u5168\u7684\u6587\u4ef6\u4e0a\u4f20\u7684\uff1f \u8bf7\u5c55\u793a\u5e76\u8bf4\u660e\u4f60\u7684 \u6587\u4ef6\u52a0\u5bc6\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u89e3\u5bc6\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u7b7e\u540d\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u7b7e\u540d\u9a8c\u8bc1\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u5b8c\u6574\u6027\u9a8c\u8bc1\u4ee3\u7801\u7247\u6bb5 \u540c\u4e00\u4e2a\u7528\u6237\u7684\u4e0d\u540c\u6587\u4ef6\u662f\u5426\u4f7f\u7528\u76f8\u540c\u7684\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\uff1f\u5982\u679c\u662f\uff0c\u8bf7\u8bf4\u660e\u5176\u4e2d\u5b58\u5728\u7684\u5b89\u5168\u98ce\u9669\u3002\u5982\u679c\u5426\uff0c\u8bf7\u7ed3\u5408\u4ee3\u7801\u5c55\u793a\u4f60\u7684\u6587\u4ef6\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\u7684\u5b58\u50a8\u548c\u63d0\u53d6\u4f7f\u7528\u7b56\u7565 \u4f60\u7684\u6587\u4ef6\u4e0b\u8f7d\u8fc7\u671f\u7b56\u7565\u662f\u5982\u4f55\u8bbe\u8ba1\u5e76\u5b9e\u73b0\u7684\uff1f \u5e38\u89c1\u5bf9\u79f0\u52a0\u5bc6\u5de5\u4f5c\u6a21\u5f0f\u6709\u54ea\u4e9b\uff1f\u5404\u81ea\u5e94\u7528\u573a\u666f\u3001\u4f18\u7f3a\u70b9\u8bf4\u660e\u3002 \u7b80\u8ff0RSA\u52a0\u5bc6\u7b97\u6cd5\u548cRSA\u7b7e\u540d\u7b97\u6cd5\u4e4b\u95f4\u7684\u5173\u7cfb\uff1f \u901a\u8fc7 PHP / Python \u5b9e\u73b0\u6587\u4ef6\u6563\u5217\u503c\u8ba1\u7b97\u6709\u54ea\u4e9b\u65b9\u6cd5\uff1f \u4f60\u662f\u5982\u4f55\u5b9e\u73b0\u533f\u540d\u7528\u6237\u7981\u6b62\u4e0a\u4f20\u6587\u4ef6\u529f\u80fd\u7684\uff1f \u8bf7\u5c55\u793a\u5e76\u8bf4\u660e\u4f60\u7684\u6570\u636e\u5e93\u8868\u7ed3\u6784\u8bbe\u8ba1 \u5728\u8bfe\u7a0b\u7ed3\u9898\u62a5\u544a\u4e2d\u9644\u4e0a\u5728\u7ebf\u89c6\u9891\u94fe\u63a5\u5373\u53ef\u3002","title":"\u5206\u7ec4\u5b8c\u6210"},{"location":"ac/2019/index.html#_10","text":"\u8bfe\u7a0b\u77e5\u8bc6\u56de\u987e\u4e0e\u5c55\u671b \u5728\u5e94\u7528\u5f00\u53d1\u9879\u76ee\u4e2d\u5982\u4f55\u5b89\u5168\u5b9e\u73b0\u5bc6\u7801\u5b66\u7b97\u6cd5","title":"\u53c2\u8003\u8d44\u6599"},{"location":"ac/2021/index.html","text":"2021 \u5e74\u6559\u5b66\u8ba1\u5212 \u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae \u8bfe\u7a0b\u4e3b\u9898\uff1a\u4ece\u5bc6\u7801\u5b66\u7406\u8bba\u5230\u5bc6\u7801\u5b66\u7684\u5de5\u7a0b\u5b9e\u8df5\u4e0e\u5e94\u7528 \u4e0a\u8bfe\u65b9\u5f0f\uff1a\u8bb2\u6388+\u5b9e\u9a8c+\u5927\u4f5c\u4e1a \u7ed3\u8bfe\u5927\u4f5c\u4e1a\u57fa\u672c\u8981\u6c42 \u5206\u7ec4\u5b8c\u6210 \u548c \u5355\u5175\u4f5c\u6218 \u81f3\u5c11\u300c\u4e8c\u9009\u4e00\u300d\uff0c\u9f13\u52b1\u5b66\u6709\u4f59\u529b\u7684\u540c\u5b66\u300c\u591a\u52b3\u591a\u5f97\u300d\u3002 \u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528 zip \u683c\u5f0f\u6253\u5305\uff08\u6ee1\u8db3\u5b66\u6821\u6559\u52a1\u5904\u8981\u6c42\uff09\u5e76\u53d1\u9001\u5230\u6211\u90ae\u7bb1\uff08 huangwei.me AT gmail.com \uff09\uff0c\u90ae\u4ef6\u4e3b\u9898\u548c\u90ae\u4ef6\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u59d3\u540d4_\u59d3\u540d5_\u4f5c\u4e1a\u9898\u76ee.zip \u3002 \u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167\u5bf9\u7ed3\u8bfe\u4f5c\u4e1a\u7684\u8d21\u732e\u7a0b\u5ea6\u6392\u540d \u3002 \u5b8c\u6574\u6e90\u4ee3\u7801 \u7b54\u8fa9PPT \u8bfe\u9898\u7ed3\u9898\u62a5\u544a \u7981\u6b62\u4e0a\u4f20 \u5230 Github \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\u3002 \u5206\u7ec4\u5b8c\u6210 \u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 5 \u4eba \u6bcf\u4e2a\u9898\u76ee\u7684\u9a8c\u6536\u6807\u51c6\u5305\u62ec\uff1a \u5b8c\u6210\u5ea6\uff1a\u5047\u8bbe\u9898\u76ee\u8981\u6c42\u7684\u4e00\u7ea7\u9700\u6c42\u670910\u6761\uff0c\u6700\u7ec8\u5b8c\u6210\u4e868\u6761\uff0c\u5219\u5b8c\u6210\u5ea6\uff1d8/10*100%=80% \u5b8c\u6210\u8d28\u91cf\uff1a\u58f0\u79f0\u5df2\u5b8c\u6210\u7684\u9700\u6c42\uff0c\u7ecf\u8fc7\u68c0\u67e5\u540e\u8ba4\u5b9a\u5b9e\u9645\u7684\u5b8c\u6210\u8d28\u91cf \u5927\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u8bf7\u5728 Github \u4e0a\u5efa\u7acb\u5c0f\u7ec4\u7684\u9879\u76ee\u4ed3\u5e93\uff0c\u6bcf\u4e2a\u7ec4\u5458\u7684\u65e5\u5e38\u5b8c\u6210\u8fdb\u5ea6\u901a\u8fc7 git \u63d0\u4ea4\u5386\u53f2\u6765\u4f53\u73b0\u3002 \u5982\u679c\u662f \u79c1\u6709 \u4ed3\u5e93\uff0c\u8bf7\u9080\u8bf7 c4pr1c3 \u6210\u4e3a\u4f60\u4eec\u5c0f\u7ec4\u5efa\u7acb\u7684\u4ed3\u5e93\u7684\u534f\u4f5c\u8005\uff08Collaborators\uff09\uff1b \u5982\u679c\u662f Fork \u6837\u4f8b\u4ed3\u5e93\uff0c\u5219\u65e0\u9700\u505a\u7279\u522b\u8bbe\u7f6e\uff1b \u4e0d\u8981\u5728\u4f60\u63d0\u4ea4\u7684\u4efb\u4f55\u6750\u6599\u4e2d\u51fa\u73b0\u4efb\u4f55\u91cd\u8981\u4e2a\u4eba\u9690\u79c1\u4fe1\u606f\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u59d3\u540d\u3001\u5b66\u53f7\u3001\u5bc6\u7801\u7b49\uff1b \u4f5c\u4e1a\u63d0\u4ea4\u5185\u5bb9\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u4ee3\u7801\u3001markdown \u683c\u5f0f\u7684\u6587\u6863\u3001\u56fe\u7247\u7b49\uff1b \u7ec4\u957f\u521b\u5efa\u4ed3\u5e93\uff0c\u7ec4\u5458\u53ef\u4ee5\u5728 Github \u540e\u53f0\u6dfb\u52a0\u5230 Collaborators \u6216\u901a\u8fc7 Fork + PR \u7684\u65b9\u5f0f\u6765\u5b9e\u73b0\u534f\u540c\u5f00\u53d1\u548c\u7f16\u8f91\uff1b \u4e0d\u5efa\u8bae\u76f4\u63a5\u4f7f\u7528 Github \u5b98\u65b9\u5ba2\u6237\u7aef\uff0c\u63a8\u8350\u4f7f\u7528 git \u547d\u4ee4\u884c\u5ba2\u6237\u7aef\uff1b commit \u6ce8\u91ca\u5e94\u8be5\u6e05\u6670\u660e\u4e86\uff0c\u8bf4\u660e\u672c\u6b21\u63d0\u4ea4\u7684\u76ee\u7684\uff0c\u4e0d\u8981\u641e\u51fa\u4e00\u5806\u7684 Add files via upload \uff1b \u7981\u6b62\u63d0\u4ea4\uff1a\u4e34\u65f6\u6587\u4ef6\uff08\u6587\u672c\u7f16\u8f91\u5668\u4ea7\u751f\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u5907\u4efd\u6587\u4ef6\u7b49\uff09\u3001\u4e2d\u95f4\u7ed3\u679c\u6587\u4ef6\uff08.exe\u3001.pdb\u3001.log\u7b49\u90fd\u662f\u5178\u578b\u4ee3\u8868\uff09 \u56fe\u7247\u5e94\u5728\u4fdd\u6301\u6e05\u6670\u5ea6\u3001\u4e0d\u5f71\u54cd\u9605\u8bfb\u7684\u524d\u63d0\u4e0b\u8fdb\u884c\u5fc5\u8981\u7684\u5c3a\u5bf8\u88c1\u526a\u548c\u56fe\u50cf\u538b\u7f29\u4ee5\u51cf\u5c11\u56fe\u7247\u6587\u4ef6\u5360\u7528\u5b58\u50a8\u7a7a\u95f4\u5927\u5c0f\uff1b \u8bfe\u7a0b\u603b\u8bc4\u5206\u6570\uff1d\u51fa\u52e4 * 10% + \u7cfb\u7edf\u5b9e\u73b0\uff08\u4ee3\u7801\uff09* 60% + \u8bfe\u9898\u7ed3\u9898\u62a5\u544a * 30% \u5355\u5175\u4f5c\u6218 \u4ece\u63a8\u8350\u5b9e\u9a8c\u4e2d\u81f3\u5c11\u9009\u62e9\u5e76\u5b8c\u6210 1 \u4e2a\uff0c\u5efa\u8bae\u9009\u62e9 2 \u4e2a\u6216\u66f4\u591a \uff0810 \u5206\uff09 \u4eff\u7167 \u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c\u6307\u5357 \u548c Padding Oracle Attack \u5b9e\u9a8c\u6307\u5357 \u7684\u5f62\u5f0f\u7f16\u5199\u5b9e\u9a8c\u62a5\u544a \uff08 70 \u5206\uff09 \u6392\u7248\u8d28\u91cf 10% \u5185\u5bb9\u4e13\u4e1a\u6027\u7a0b\u5ea6 20% \u5b9e\u9a8c\u64cd\u4f5c\u6b65\u9aa4\u8be6\u7ec6\u7a0b\u5ea6\uff08\u64cd\u4f5c\u6548\u679c\u622a\u56fe\u3001\u4ee3\u7801\uff09 60% \u53c2\u8003\u6587\u732e\u5f15\u7528\u6807\u6ce8 10% \u9664\u4e86\u6309\u7167\u4e0a\u8ff0\u5b9e\u9a8c\u5b98\u65b9\u6307\u5357\u4e2d\u7684\u65b9\u6cd5\u548c\u5de5\u5177\u5b8c\u6210\u5b9e\u9a8c\u4e4b\u5916\uff0c\u518d\u4f7f\u7528\u53e6\u4e00\u79cd\u7f16\u7a0b\u8bed\u8a00\u6216\u5de5\u5177\u5b8c\u6210\u5b9e\u9a8c \uff0810 \u5206\uff09 \u9644\u52a0\u5206 \u7f16\u5199\u300c\u81ea\u52a8\u5316\u6f0f\u6d1e\u5229\u7528\u811a\u672c\u300d+10 \u6bcf\u589e\u52a0\u5b8c\u6210 1 \u4e2a\u5b9e\u9a8c +10 \u6ee1\u5206\uff1a100 \u7ed3\u8bfe\u5927\u4f5c\u4e1a\u9898\u76ee \u5206\u7ec4\u5b8c\u6210 \u57fa\u4e8e\u7f51\u9875\u7684\u7528\u6237\u6ce8\u518c\u4e0e\u767b\u5f55\u7cfb\u7edf\uff0860\u5206\uff09 \u4f7f\u7528https\u7ed1\u5b9a\u8bc1\u4e66\u5230\u57df\u540d\u800c\u975eIP\u5730\u5740 \u3010 PKI X.509 \u3011 \u5141\u8bb8\u7528\u6237\u6ce8\u518c\u5230\u7cfb\u7edf \u7528\u6237\u540d\u7684\u5408\u6cd5\u5b57\u7b26\u96c6\u8303\u56f4\uff1a\u4e2d\u6587\u3001\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57 \u7c7b\u4f3c\uff1a-\u3001_\u3001.\u7b49\u5408\u6cd5\u5b57\u7b26\u96c6\u8303\u56f4\u4e4b\u5916\u7684\u5b57\u7b26\u4e0d\u5141\u8bb8\u4f7f\u7528 \u7528\u6237\u53e3\u4ee4\u957f\u5ea6\u9650\u5236\u572836\u4e2a\u5b57\u7b26\u4e4b\u5185 \u5bf9\u7528\u6237\u8f93\u5165\u7684\u53e3\u4ee4\u8fdb\u884c\u5f3a\u5ea6\u6821\u9a8c\uff0c\u7981\u6b62\u4f7f\u7528\u5f31\u53e3\u4ee4 \u4f7f\u7528\u5408\u6cd5\u7528\u6237\u540d\u548c\u53e3\u4ee4\u767b\u5f55\u7cfb\u7edf \u7981\u6b62\u4f7f\u7528\u660e\u6587\u5b58\u50a8\u7528\u6237\u53e3\u4ee4 \u3010 PBKDF2 \u6563\u5217\u7b97\u6cd5 \u6162\u901f\u6563\u5217 \u9488\u5bf9\u6563\u5217\u7b97\u6cd5\uff08\u5982MD5\u3001SHA1\u7b49\uff09\u7684\u653b\u51fb\u65b9\u6cd5 \u3011 \u5b58\u50a8\u7684\u53e3\u4ee4\u5373\u4f7f\u88ab\u516c\u5f00\uff0c\u4e5f\u65e0\u6cd5\u8fd8\u539f/\u89e3\u7801\u51fa\u539f\u59cb\u660e\u6587\u53e3\u4ee4 \uff08\u53ef\u9009\uff09\u5b89\u5168\u7684\u5fd8\u8bb0\u53e3\u4ee4 / \u627e\u56de\u5bc6\u7801\u529f\u80fd \uff08\u53ef\u9009\uff09\u5fae\u4fe1/\u5fae\u535a/\u652f\u4ed8\u5b9d\u7684OAuth\u6388\u6743\u767b\u5f55 / \u6ce8\u518c\u7ed1\u5b9a \uff08\u53ef\u9009\uff09\u53cc\u56e0\u7d20\u8ba4\u8bc1 OTP: Google Authenticator Email SMS \u626b\u7801\u767b\u5f55 \u57fa\u4e8e\u7f51\u9875\u7684\u6587\u4ef6\u4e0a\u4f20\u52a0\u5bc6\u4e0e\u6570\u5b57\u7b7e\u540d\u7cfb\u7edf\uff0820\u5206\uff09 \u5df2\u5b8c\u6210\u300a\u57fa\u4e8e\u7f51\u9875\u7684\u7528\u6237\u6ce8\u518c\u4e0e\u767b\u5f55\u7cfb\u7edf\u300b\u6240\u6709\u8981\u6c42 \u9650\u5236\u6587\u4ef6\u5927\u5c0f\uff1a\u5c0f\u4e8e 10MB \u9650\u5236\u6587\u4ef6\u7c7b\u578b\uff1aoffice\u6587\u6863\u3001\u5e38\u89c1\u56fe\u7247\u7c7b\u578b \u533f\u540d\u7528\u6237\u7981\u6b62\u4e0a\u4f20\u6587\u4ef6 \u5bf9\u6587\u4ef6\u8fdb\u884c\u5bf9\u79f0\u52a0\u5bc6\u5b58\u50a8\u5230\u6587\u4ef6\u7cfb\u7edf\uff0c\u7981\u6b62\u660e\u6587\u5b58\u50a8\u6587\u4ef6 \u3010 \u5bf9\u79f0\u52a0\u5bc6 \u5bc6\u94a5\u7ba1\u7406\uff08\u5982\u4f55\u5b89\u5168\u5b58\u50a8\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\uff09 \u5bf9\u79f0\u52a0\u5bc6\u5bc6\u6587\u7684PADDING\u95ee\u9898 \u3011 \u7cfb\u7edf\u5bf9\u52a0\u5bc6\u540e\u6587\u4ef6\u8fdb\u884c\u6570\u5b57\u7b7e\u540d \u3010 \u6570\u5b57\u7b7e\u540d\uff08\u591a\u79cd\u7b7e\u540d\u5de5\u4f5c\u6a21\u5f0f\u5dee\u5f02\uff09 \u3011 \uff08\u53ef\u9009\uff09\u6587\u4ef6\u79d2\u4f20\uff1a\u670d\u52a1\u5668\u4e0a\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5ba2\u6237\u7aef\u53ef\u4ee5\u4e0d\u5fc5\u518d\u91cd\u590d\u4e0a\u4f20\u4e86 \u57fa\u4e8e\u7f51\u9875\u7684\u52a0\u5bc6\u6587\u4ef6\u4e0b\u8f7d\u4e0e\u89e3\u5bc6\uff0820\u5206\uff09 \u5df2\u5b8c\u6210\u300a\u57fa\u4e8e\u7f51\u9875\u7684\u6587\u4ef6\u4e0a\u4f20\u52a0\u5bc6\u4e0e\u6570\u5b57\u7b7e\u540d\u7cfb\u7edf\u300b\u6240\u6709\u8981\u6c42 \u63d0\u4f9b\u533f\u540d\u7528\u6237\u52a0\u5bc6\u540e\u6587\u4ef6\u548c\u5173\u8054\u7684\u6570\u5b57\u7b7e\u540d\u6587\u4ef6\u7684\u4e0b\u8f7d \u5ba2\u6237\u7aef\u5bf9\u4e0b\u8f7d\u540e\u7684\u6587\u4ef6\u8fdb\u884c\u6570\u5b57\u7b7e\u540d\u9a8c\u8bc1 \u3010 \u975e\u5bf9\u79f0\uff08\u516c\u94a5\uff09\u52a0\u5bc6 \u6570\u5b57\u7b7e\u540d \u3011 \u5ba2\u6237\u7aef\u5bf9\u4e0b\u8f7d\u540e\u7684\u6587\u4ef6\u53ef\u4ee5\u89e3\u5bc6\u8fd8\u539f\u5230\u539f\u59cb\u6587\u4ef6 \u3010 \u5bf9\u79f0\u89e3\u5bc6 \u5bc6\u94a5\u7ba1\u7406 \u3011 \u63d0\u4f9b\u5df2\u767b\u5f55\u7528\u6237\u89e3\u5bc6\u540e\u6587\u4ef6\u4e0b\u8f7d \u4e0b\u8f7dURL\u8bbe\u7f6e\u6709\u6548\u671f\uff08\u9650\u5236\u65f6\u95f4\u6216\u9650\u5236\u4e0b\u8f7d\u6b21\u6570\uff09\uff0c\u8fc7\u671f\u540e\u7981\u6b62\u8bbf\u95ee \u3010 \u6570\u5b57\u7b7e\u540d \u6d88\u606f\u8ba4\u8bc1\u7801 Hash Extension Length Attack Hash\u7b97\u6cd5\u4e0eHMAC\u7b97\u6cd5\u7684\u533a\u522b\u4e0e\u8054\u7cfb \u3011 \u63d0\u4f9b\u9759\u6001\u6587\u4ef6\u7684\u6563\u5217\u503c\u4e0b\u8f7d\uff0c\u4f9b\u4e0b\u8f7d\u6587\u4ef6\u5b8c\u6210\u540e\u672c\u5730\u6821\u9a8c\u6587\u4ef6\u5b8c\u6574\u6027 \u3010 \u6563\u5217\u7b97\u6cd5 \u3011 \u53ef\u4ee5\u57fa\u4e8e PHP \u7248\u5b9e\u73b0\u7684\u8bfe\u7a0b\u7cfb\u7edf\u534a\u6210\u54c1\u6e90\u4ee3\u7801 \u6216 Python \u7248\u5b9e\u73b0\u7684\u8bfe\u7a0b\u7cfb\u7edf\u534a\u6210\u54c1\u6e90\u4ee3\u7801 \u8fdb\u884c\u300c\u4e8c\u6b21\u5f00\u53d1\u300d\uff0c\u4e5f\u53ef\u4ee5\u81ea\u5df1\u4ece\u96f6\u5f00\u59cb\u5f00\u53d1\u3002\u7f16\u7a0b\u8bed\u8a00\u6280\u672f\u6808\u6ca1\u6709\u9650\u5236\u3002 \u524d\u65b9\u91cd\u8981\u63d0\u9192 \u5982\u679c\u57fa\u4e8e\u4ee5\u4e0a\u4ee3\u7801\u8fdb\u884c\u300c\u4e8c\u6b21\u5f00\u53d1\u300d\uff0c \u5fc5\u987b\u91c7\u7528 fork + PR \u7684\u65b9\u5f0f\u63d0\u4ea4\u6700\u7ec8\u5b8c\u6210\u7684\u7cfb\u7edf\u6e90\u4ee3\u7801\uff08\u7b2c\u4e09\u65b9\u4f9d\u8d56\u7684\u6e90\u4ee3\u7801\u4e0d\u8981 push \u5230 github\uff09\uff0c\u65b9\u4fbf\u6211\u67e5\u770b\u4f60 \u4f60\u5177\u4f53\u505a\u4e86\u54ea\u4e9b\u6539\u52a8 \u3002 \u5355\u5175\u4f5c\u6218 \u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c CBC Bit-flipping Attack \u5b9e\u9a8c Padding Oracle Attack \u5b9e\u9a8c Hash Length Extension Attack \u5b9e\u9a8c \u95ee\u9898\u6e05\u5355 \u5206\u7ec4\u5b8c\u6210 \u8bf7\u901a\u8fc7\u5c4f\u5e55\u64cd\u4f5c\u5f55\u50cf\u7684\u65b9\u5f0f\uff0c\u5c55\u793a\u4f60\u4eec\u5c0f\u7ec4\u5b8c\u6210\u7684\u7cfb\u7edf\uff0c\u5e76 \u5c3d\u529b\u800c\u4e3a \u5728\u5f55\u50cf\u4e2d\u7ed3\u5408\u64cd\u4f5c\u6f14\u793a\u56de\u7b54\u4ee5\u4e0b\u6bcf\u4e00\u4e2a\u95ee\u9898\u3002 \u5f55\u50cf\u8bf7\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff08\u9996\u9009\u817e\u8baf\u89c6\u9891\uff0c\u4fbf\u4e8e\u4f18\u79c0\u4f5c\u54c1\u53ef\u4ee5\u76f4\u63a5\u5728\u5fae\u4fe1\u516c\u4f17\u53f7\u63a8\u9001\u4e2d\u5d4c\u5165\uff09\uff0c\u52a1\u5fc5\u907f\u514d\u5728\u5f55\u50cf\u4e2d\u6cc4\u6f0f\u4e2a\u4eba\u9690\u79c1\u4fe1\u606f\uff0c\u5728\u5c4f\u5e55\u64cd\u4f5c\u5f55\u50cf\u8fc7\u7a0b\u4e2d\u5efa\u8bae\u5173\u95ed\u5373\u65f6\u901a\u4fe1\u5de5\u5177\u7b49\u6709\u53ef\u80fd\u4f1a\u5f39\u51fa\u901a\u77e5\u7a97\u53e3\u7684\u5e94\u7528\u7a0b\u5e8f\uff0c\u4fdd\u8bc1\u5f55\u50cf\u8d28\u91cf\u548c\u6548\u679c\u3002 \u8bf7\u603b\u7ed3\u4f60\u4eec\u7684\u6240\u6709\u5df2\u5b8c\u6210\u529f\u80fd\u70b9 X.509\u8bc1\u4e66\u4e2d\u5404\u4e2a\u5b57\u6bb5\u542b\u4e49\u3001\u7528\u9014\u89e3\u91ca\u8bf4\u660e\u3002 WEB\u670d\u52a1\u5668\u4f7f\u7528\u7684\u8bc1\u4e66\u548cCA\u4f7f\u7528\u7684\u8bc1\u4e66\u6709\u4ec0\u4e48\u533a\u522b\u548c\u8054\u7cfb\uff1f \u7b80\u8ff0\u4f60\u4eec\u7684\u53e3\u4ee4\u5b89\u5168\u5b58\u50a8\u7b56\u7565\u3002 \u4f60\u4eec\u662f\u5982\u4f55\u5b9e\u73b0\u5f31\u53e3\u4ee4\u68c0\u6d4b\u7684\uff1f \u4f60\u4eec\u662f\u5982\u4f55\u5b9e\u73b0\u5b89\u5168\u7684\u6587\u4ef6\u4e0a\u4f20\u7684\uff1f \u8bf7\u5c55\u793a\u5e76\u8bf4\u660e\u4f60\u4eec\u7684 \u6587\u4ef6\u52a0\u5bc6\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u89e3\u5bc6\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u7b7e\u540d\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u7b7e\u540d\u9a8c\u8bc1\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u5b8c\u6574\u6027\u9a8c\u8bc1\u4ee3\u7801\u7247\u6bb5 \u540c\u4e00\u4e2a\u7528\u6237\u7684\u4e0d\u540c\u6587\u4ef6\u662f\u5426\u4f7f\u7528\u76f8\u540c\u7684\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\uff1f\u5982\u679c\u662f\uff0c\u8bf7\u8bf4\u660e\u5176\u4e2d\u5b58\u5728\u7684\u5b89\u5168\u98ce\u9669\u3002\u5982\u679c\u5426\uff0c\u8bf7\u7ed3\u5408\u4ee3\u7801\u5c55\u793a\u4f60\u4eec\u7684\u6587\u4ef6\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\u7684\u5b58\u50a8\u548c\u63d0\u53d6\u4f7f\u7528\u7b56\u7565 \u4f60\u4eec\u7684\u6587\u4ef6\u4e0b\u8f7d\u8fc7\u671f\u7b56\u7565\u662f\u5982\u4f55\u8bbe\u8ba1\u5e76\u5b9e\u73b0\u7684\uff1f \u5e38\u89c1\u5bf9\u79f0\u52a0\u5bc6\u5de5\u4f5c\u6a21\u5f0f\u6709\u54ea\u4e9b\uff1f\u5404\u81ea\u5e94\u7528\u573a\u666f\u3001\u4f18\u7f3a\u70b9\u8bf4\u660e\u3002 \u7b80\u8ff0RSA\u52a0\u5bc6\u7b97\u6cd5\u548cRSA\u7b7e\u540d\u7b97\u6cd5\u4e4b\u95f4\u7684\u5173\u7cfb\uff1f \u901a\u8fc7 PHP / Python \u5b9e\u73b0\u6587\u4ef6\u6563\u5217\u503c\u8ba1\u7b97\u6709\u54ea\u4e9b\u65b9\u6cd5\uff1f \u4f60\u4eec\u662f\u5982\u4f55\u5b9e\u73b0\u533f\u540d\u7528\u6237\u7981\u6b62\u4e0a\u4f20\u6587\u4ef6\u529f\u80fd\u7684\uff1f \u8bf7\u5c55\u793a\u5e76\u8bf4\u660e\u4f60\u4eec\u7684\u6570\u636e\u5e93\u8868\u7ed3\u6784\u8bbe\u8ba1 \u5728\u8bfe\u7a0b\u7ed3\u9898\u62a5\u544a\u4e2d\u9644\u4e0a\u5728\u7ebf\u89c6\u9891\u94fe\u63a5\u5373\u53ef\u3002 \u8bfe\u7a0b\u9636\u6bb5\u8ba1\u5212 \u524d 4 \u5929\u5f00\u53d1\uff0c\u6700\u540e 1 \u5929\u96c6\u4e2d\u62a5\u544a \u53c2\u8003\u8d44\u6599 \u8bfe\u7a0b\u77e5\u8bc6\u56de\u987e\u4e0e\u5c55\u671b \u5728\u5e94\u7528\u5f00\u53d1\u9879\u76ee\u4e2d\u5982\u4f55\u5b89\u5168\u5b9e\u73b0\u5bc6\u7801\u5b66\u7b97\u6cd5","title":"2021\u5e74"},{"location":"ac/2021/index.html#2021","text":"","title":"2021 \u5e74\u6559\u5b66\u8ba1\u5212"},{"location":"ac/2021/index.html#_1","text":"\u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae \u8bfe\u7a0b\u4e3b\u9898\uff1a\u4ece\u5bc6\u7801\u5b66\u7406\u8bba\u5230\u5bc6\u7801\u5b66\u7684\u5de5\u7a0b\u5b9e\u8df5\u4e0e\u5e94\u7528 \u4e0a\u8bfe\u65b9\u5f0f\uff1a\u8bb2\u6388+\u5b9e\u9a8c+\u5927\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"ac/2021/index.html#_2","text":"\u5206\u7ec4\u5b8c\u6210 \u548c \u5355\u5175\u4f5c\u6218 \u81f3\u5c11\u300c\u4e8c\u9009\u4e00\u300d\uff0c\u9f13\u52b1\u5b66\u6709\u4f59\u529b\u7684\u540c\u5b66\u300c\u591a\u52b3\u591a\u5f97\u300d\u3002 \u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528 zip \u683c\u5f0f\u6253\u5305\uff08\u6ee1\u8db3\u5b66\u6821\u6559\u52a1\u5904\u8981\u6c42\uff09\u5e76\u53d1\u9001\u5230\u6211\u90ae\u7bb1\uff08 huangwei.me AT gmail.com \uff09\uff0c\u90ae\u4ef6\u4e3b\u9898\u548c\u90ae\u4ef6\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u59d3\u540d4_\u59d3\u540d5_\u4f5c\u4e1a\u9898\u76ee.zip \u3002 \u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167\u5bf9\u7ed3\u8bfe\u4f5c\u4e1a\u7684\u8d21\u732e\u7a0b\u5ea6\u6392\u540d \u3002 \u5b8c\u6574\u6e90\u4ee3\u7801 \u7b54\u8fa9PPT \u8bfe\u9898\u7ed3\u9898\u62a5\u544a \u7981\u6b62\u4e0a\u4f20 \u5230 Github \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\u3002","title":"\u7ed3\u8bfe\u5927\u4f5c\u4e1a\u57fa\u672c\u8981\u6c42"},{"location":"ac/2021/index.html#_3","text":"\u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 5 \u4eba \u6bcf\u4e2a\u9898\u76ee\u7684\u9a8c\u6536\u6807\u51c6\u5305\u62ec\uff1a \u5b8c\u6210\u5ea6\uff1a\u5047\u8bbe\u9898\u76ee\u8981\u6c42\u7684\u4e00\u7ea7\u9700\u6c42\u670910\u6761\uff0c\u6700\u7ec8\u5b8c\u6210\u4e868\u6761\uff0c\u5219\u5b8c\u6210\u5ea6\uff1d8/10*100%=80% \u5b8c\u6210\u8d28\u91cf\uff1a\u58f0\u79f0\u5df2\u5b8c\u6210\u7684\u9700\u6c42\uff0c\u7ecf\u8fc7\u68c0\u67e5\u540e\u8ba4\u5b9a\u5b9e\u9645\u7684\u5b8c\u6210\u8d28\u91cf \u5927\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u8bf7\u5728 Github \u4e0a\u5efa\u7acb\u5c0f\u7ec4\u7684\u9879\u76ee\u4ed3\u5e93\uff0c\u6bcf\u4e2a\u7ec4\u5458\u7684\u65e5\u5e38\u5b8c\u6210\u8fdb\u5ea6\u901a\u8fc7 git \u63d0\u4ea4\u5386\u53f2\u6765\u4f53\u73b0\u3002 \u5982\u679c\u662f \u79c1\u6709 \u4ed3\u5e93\uff0c\u8bf7\u9080\u8bf7 c4pr1c3 \u6210\u4e3a\u4f60\u4eec\u5c0f\u7ec4\u5efa\u7acb\u7684\u4ed3\u5e93\u7684\u534f\u4f5c\u8005\uff08Collaborators\uff09\uff1b \u5982\u679c\u662f Fork \u6837\u4f8b\u4ed3\u5e93\uff0c\u5219\u65e0\u9700\u505a\u7279\u522b\u8bbe\u7f6e\uff1b \u4e0d\u8981\u5728\u4f60\u63d0\u4ea4\u7684\u4efb\u4f55\u6750\u6599\u4e2d\u51fa\u73b0\u4efb\u4f55\u91cd\u8981\u4e2a\u4eba\u9690\u79c1\u4fe1\u606f\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u59d3\u540d\u3001\u5b66\u53f7\u3001\u5bc6\u7801\u7b49\uff1b \u4f5c\u4e1a\u63d0\u4ea4\u5185\u5bb9\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u4ee3\u7801\u3001markdown \u683c\u5f0f\u7684\u6587\u6863\u3001\u56fe\u7247\u7b49\uff1b \u7ec4\u957f\u521b\u5efa\u4ed3\u5e93\uff0c\u7ec4\u5458\u53ef\u4ee5\u5728 Github \u540e\u53f0\u6dfb\u52a0\u5230 Collaborators \u6216\u901a\u8fc7 Fork + PR \u7684\u65b9\u5f0f\u6765\u5b9e\u73b0\u534f\u540c\u5f00\u53d1\u548c\u7f16\u8f91\uff1b \u4e0d\u5efa\u8bae\u76f4\u63a5\u4f7f\u7528 Github \u5b98\u65b9\u5ba2\u6237\u7aef\uff0c\u63a8\u8350\u4f7f\u7528 git \u547d\u4ee4\u884c\u5ba2\u6237\u7aef\uff1b commit \u6ce8\u91ca\u5e94\u8be5\u6e05\u6670\u660e\u4e86\uff0c\u8bf4\u660e\u672c\u6b21\u63d0\u4ea4\u7684\u76ee\u7684\uff0c\u4e0d\u8981\u641e\u51fa\u4e00\u5806\u7684 Add files via upload \uff1b \u7981\u6b62\u63d0\u4ea4\uff1a\u4e34\u65f6\u6587\u4ef6\uff08\u6587\u672c\u7f16\u8f91\u5668\u4ea7\u751f\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u5907\u4efd\u6587\u4ef6\u7b49\uff09\u3001\u4e2d\u95f4\u7ed3\u679c\u6587\u4ef6\uff08.exe\u3001.pdb\u3001.log\u7b49\u90fd\u662f\u5178\u578b\u4ee3\u8868\uff09 \u56fe\u7247\u5e94\u5728\u4fdd\u6301\u6e05\u6670\u5ea6\u3001\u4e0d\u5f71\u54cd\u9605\u8bfb\u7684\u524d\u63d0\u4e0b\u8fdb\u884c\u5fc5\u8981\u7684\u5c3a\u5bf8\u88c1\u526a\u548c\u56fe\u50cf\u538b\u7f29\u4ee5\u51cf\u5c11\u56fe\u7247\u6587\u4ef6\u5360\u7528\u5b58\u50a8\u7a7a\u95f4\u5927\u5c0f\uff1b \u8bfe\u7a0b\u603b\u8bc4\u5206\u6570\uff1d\u51fa\u52e4 * 10% + \u7cfb\u7edf\u5b9e\u73b0\uff08\u4ee3\u7801\uff09* 60% + \u8bfe\u9898\u7ed3\u9898\u62a5\u544a * 30%","title":"\u5206\u7ec4\u5b8c\u6210"},{"location":"ac/2021/index.html#_4","text":"\u4ece\u63a8\u8350\u5b9e\u9a8c\u4e2d\u81f3\u5c11\u9009\u62e9\u5e76\u5b8c\u6210 1 \u4e2a\uff0c\u5efa\u8bae\u9009\u62e9 2 \u4e2a\u6216\u66f4\u591a \uff0810 \u5206\uff09 \u4eff\u7167 \u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c\u6307\u5357 \u548c Padding Oracle Attack \u5b9e\u9a8c\u6307\u5357 \u7684\u5f62\u5f0f\u7f16\u5199\u5b9e\u9a8c\u62a5\u544a \uff08 70 \u5206\uff09 \u6392\u7248\u8d28\u91cf 10% \u5185\u5bb9\u4e13\u4e1a\u6027\u7a0b\u5ea6 20% \u5b9e\u9a8c\u64cd\u4f5c\u6b65\u9aa4\u8be6\u7ec6\u7a0b\u5ea6\uff08\u64cd\u4f5c\u6548\u679c\u622a\u56fe\u3001\u4ee3\u7801\uff09 60% \u53c2\u8003\u6587\u732e\u5f15\u7528\u6807\u6ce8 10% \u9664\u4e86\u6309\u7167\u4e0a\u8ff0\u5b9e\u9a8c\u5b98\u65b9\u6307\u5357\u4e2d\u7684\u65b9\u6cd5\u548c\u5de5\u5177\u5b8c\u6210\u5b9e\u9a8c\u4e4b\u5916\uff0c\u518d\u4f7f\u7528\u53e6\u4e00\u79cd\u7f16\u7a0b\u8bed\u8a00\u6216\u5de5\u5177\u5b8c\u6210\u5b9e\u9a8c \uff0810 \u5206\uff09 \u9644\u52a0\u5206 \u7f16\u5199\u300c\u81ea\u52a8\u5316\u6f0f\u6d1e\u5229\u7528\u811a\u672c\u300d+10 \u6bcf\u589e\u52a0\u5b8c\u6210 1 \u4e2a\u5b9e\u9a8c +10 \u6ee1\u5206\uff1a100","title":"\u5355\u5175\u4f5c\u6218"},{"location":"ac/2021/index.html#_5","text":"","title":"\u7ed3\u8bfe\u5927\u4f5c\u4e1a\u9898\u76ee"},{"location":"ac/2021/index.html#_6","text":"\u57fa\u4e8e\u7f51\u9875\u7684\u7528\u6237\u6ce8\u518c\u4e0e\u767b\u5f55\u7cfb\u7edf\uff0860\u5206\uff09 \u4f7f\u7528https\u7ed1\u5b9a\u8bc1\u4e66\u5230\u57df\u540d\u800c\u975eIP\u5730\u5740 \u3010 PKI X.509 \u3011 \u5141\u8bb8\u7528\u6237\u6ce8\u518c\u5230\u7cfb\u7edf \u7528\u6237\u540d\u7684\u5408\u6cd5\u5b57\u7b26\u96c6\u8303\u56f4\uff1a\u4e2d\u6587\u3001\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57 \u7c7b\u4f3c\uff1a-\u3001_\u3001.\u7b49\u5408\u6cd5\u5b57\u7b26\u96c6\u8303\u56f4\u4e4b\u5916\u7684\u5b57\u7b26\u4e0d\u5141\u8bb8\u4f7f\u7528 \u7528\u6237\u53e3\u4ee4\u957f\u5ea6\u9650\u5236\u572836\u4e2a\u5b57\u7b26\u4e4b\u5185 \u5bf9\u7528\u6237\u8f93\u5165\u7684\u53e3\u4ee4\u8fdb\u884c\u5f3a\u5ea6\u6821\u9a8c\uff0c\u7981\u6b62\u4f7f\u7528\u5f31\u53e3\u4ee4 \u4f7f\u7528\u5408\u6cd5\u7528\u6237\u540d\u548c\u53e3\u4ee4\u767b\u5f55\u7cfb\u7edf \u7981\u6b62\u4f7f\u7528\u660e\u6587\u5b58\u50a8\u7528\u6237\u53e3\u4ee4 \u3010 PBKDF2 \u6563\u5217\u7b97\u6cd5 \u6162\u901f\u6563\u5217 \u9488\u5bf9\u6563\u5217\u7b97\u6cd5\uff08\u5982MD5\u3001SHA1\u7b49\uff09\u7684\u653b\u51fb\u65b9\u6cd5 \u3011 \u5b58\u50a8\u7684\u53e3\u4ee4\u5373\u4f7f\u88ab\u516c\u5f00\uff0c\u4e5f\u65e0\u6cd5\u8fd8\u539f/\u89e3\u7801\u51fa\u539f\u59cb\u660e\u6587\u53e3\u4ee4 \uff08\u53ef\u9009\uff09\u5b89\u5168\u7684\u5fd8\u8bb0\u53e3\u4ee4 / \u627e\u56de\u5bc6\u7801\u529f\u80fd \uff08\u53ef\u9009\uff09\u5fae\u4fe1/\u5fae\u535a/\u652f\u4ed8\u5b9d\u7684OAuth\u6388\u6743\u767b\u5f55 / \u6ce8\u518c\u7ed1\u5b9a \uff08\u53ef\u9009\uff09\u53cc\u56e0\u7d20\u8ba4\u8bc1 OTP: Google Authenticator Email SMS \u626b\u7801\u767b\u5f55 \u57fa\u4e8e\u7f51\u9875\u7684\u6587\u4ef6\u4e0a\u4f20\u52a0\u5bc6\u4e0e\u6570\u5b57\u7b7e\u540d\u7cfb\u7edf\uff0820\u5206\uff09 \u5df2\u5b8c\u6210\u300a\u57fa\u4e8e\u7f51\u9875\u7684\u7528\u6237\u6ce8\u518c\u4e0e\u767b\u5f55\u7cfb\u7edf\u300b\u6240\u6709\u8981\u6c42 \u9650\u5236\u6587\u4ef6\u5927\u5c0f\uff1a\u5c0f\u4e8e 10MB \u9650\u5236\u6587\u4ef6\u7c7b\u578b\uff1aoffice\u6587\u6863\u3001\u5e38\u89c1\u56fe\u7247\u7c7b\u578b \u533f\u540d\u7528\u6237\u7981\u6b62\u4e0a\u4f20\u6587\u4ef6 \u5bf9\u6587\u4ef6\u8fdb\u884c\u5bf9\u79f0\u52a0\u5bc6\u5b58\u50a8\u5230\u6587\u4ef6\u7cfb\u7edf\uff0c\u7981\u6b62\u660e\u6587\u5b58\u50a8\u6587\u4ef6 \u3010 \u5bf9\u79f0\u52a0\u5bc6 \u5bc6\u94a5\u7ba1\u7406\uff08\u5982\u4f55\u5b89\u5168\u5b58\u50a8\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\uff09 \u5bf9\u79f0\u52a0\u5bc6\u5bc6\u6587\u7684PADDING\u95ee\u9898 \u3011 \u7cfb\u7edf\u5bf9\u52a0\u5bc6\u540e\u6587\u4ef6\u8fdb\u884c\u6570\u5b57\u7b7e\u540d \u3010 \u6570\u5b57\u7b7e\u540d\uff08\u591a\u79cd\u7b7e\u540d\u5de5\u4f5c\u6a21\u5f0f\u5dee\u5f02\uff09 \u3011 \uff08\u53ef\u9009\uff09\u6587\u4ef6\u79d2\u4f20\uff1a\u670d\u52a1\u5668\u4e0a\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5ba2\u6237\u7aef\u53ef\u4ee5\u4e0d\u5fc5\u518d\u91cd\u590d\u4e0a\u4f20\u4e86 \u57fa\u4e8e\u7f51\u9875\u7684\u52a0\u5bc6\u6587\u4ef6\u4e0b\u8f7d\u4e0e\u89e3\u5bc6\uff0820\u5206\uff09 \u5df2\u5b8c\u6210\u300a\u57fa\u4e8e\u7f51\u9875\u7684\u6587\u4ef6\u4e0a\u4f20\u52a0\u5bc6\u4e0e\u6570\u5b57\u7b7e\u540d\u7cfb\u7edf\u300b\u6240\u6709\u8981\u6c42 \u63d0\u4f9b\u533f\u540d\u7528\u6237\u52a0\u5bc6\u540e\u6587\u4ef6\u548c\u5173\u8054\u7684\u6570\u5b57\u7b7e\u540d\u6587\u4ef6\u7684\u4e0b\u8f7d \u5ba2\u6237\u7aef\u5bf9\u4e0b\u8f7d\u540e\u7684\u6587\u4ef6\u8fdb\u884c\u6570\u5b57\u7b7e\u540d\u9a8c\u8bc1 \u3010 \u975e\u5bf9\u79f0\uff08\u516c\u94a5\uff09\u52a0\u5bc6 \u6570\u5b57\u7b7e\u540d \u3011 \u5ba2\u6237\u7aef\u5bf9\u4e0b\u8f7d\u540e\u7684\u6587\u4ef6\u53ef\u4ee5\u89e3\u5bc6\u8fd8\u539f\u5230\u539f\u59cb\u6587\u4ef6 \u3010 \u5bf9\u79f0\u89e3\u5bc6 \u5bc6\u94a5\u7ba1\u7406 \u3011 \u63d0\u4f9b\u5df2\u767b\u5f55\u7528\u6237\u89e3\u5bc6\u540e\u6587\u4ef6\u4e0b\u8f7d \u4e0b\u8f7dURL\u8bbe\u7f6e\u6709\u6548\u671f\uff08\u9650\u5236\u65f6\u95f4\u6216\u9650\u5236\u4e0b\u8f7d\u6b21\u6570\uff09\uff0c\u8fc7\u671f\u540e\u7981\u6b62\u8bbf\u95ee \u3010 \u6570\u5b57\u7b7e\u540d \u6d88\u606f\u8ba4\u8bc1\u7801 Hash Extension Length Attack Hash\u7b97\u6cd5\u4e0eHMAC\u7b97\u6cd5\u7684\u533a\u522b\u4e0e\u8054\u7cfb \u3011 \u63d0\u4f9b\u9759\u6001\u6587\u4ef6\u7684\u6563\u5217\u503c\u4e0b\u8f7d\uff0c\u4f9b\u4e0b\u8f7d\u6587\u4ef6\u5b8c\u6210\u540e\u672c\u5730\u6821\u9a8c\u6587\u4ef6\u5b8c\u6574\u6027 \u3010 \u6563\u5217\u7b97\u6cd5 \u3011 \u53ef\u4ee5\u57fa\u4e8e PHP \u7248\u5b9e\u73b0\u7684\u8bfe\u7a0b\u7cfb\u7edf\u534a\u6210\u54c1\u6e90\u4ee3\u7801 \u6216 Python \u7248\u5b9e\u73b0\u7684\u8bfe\u7a0b\u7cfb\u7edf\u534a\u6210\u54c1\u6e90\u4ee3\u7801 \u8fdb\u884c\u300c\u4e8c\u6b21\u5f00\u53d1\u300d\uff0c\u4e5f\u53ef\u4ee5\u81ea\u5df1\u4ece\u96f6\u5f00\u59cb\u5f00\u53d1\u3002\u7f16\u7a0b\u8bed\u8a00\u6280\u672f\u6808\u6ca1\u6709\u9650\u5236\u3002 \u524d\u65b9\u91cd\u8981\u63d0\u9192 \u5982\u679c\u57fa\u4e8e\u4ee5\u4e0a\u4ee3\u7801\u8fdb\u884c\u300c\u4e8c\u6b21\u5f00\u53d1\u300d\uff0c \u5fc5\u987b\u91c7\u7528 fork + PR \u7684\u65b9\u5f0f\u63d0\u4ea4\u6700\u7ec8\u5b8c\u6210\u7684\u7cfb\u7edf\u6e90\u4ee3\u7801\uff08\u7b2c\u4e09\u65b9\u4f9d\u8d56\u7684\u6e90\u4ee3\u7801\u4e0d\u8981 push \u5230 github\uff09\uff0c\u65b9\u4fbf\u6211\u67e5\u770b\u4f60 \u4f60\u5177\u4f53\u505a\u4e86\u54ea\u4e9b\u6539\u52a8 \u3002","title":"\u5206\u7ec4\u5b8c\u6210"},{"location":"ac/2021/index.html#_7","text":"\u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c CBC Bit-flipping Attack \u5b9e\u9a8c Padding Oracle Attack \u5b9e\u9a8c Hash Length Extension Attack \u5b9e\u9a8c","title":"\u5355\u5175\u4f5c\u6218"},{"location":"ac/2021/index.html#_8","text":"","title":"\u95ee\u9898\u6e05\u5355"},{"location":"ac/2021/index.html#_9","text":"\u8bf7\u901a\u8fc7\u5c4f\u5e55\u64cd\u4f5c\u5f55\u50cf\u7684\u65b9\u5f0f\uff0c\u5c55\u793a\u4f60\u4eec\u5c0f\u7ec4\u5b8c\u6210\u7684\u7cfb\u7edf\uff0c\u5e76 \u5c3d\u529b\u800c\u4e3a \u5728\u5f55\u50cf\u4e2d\u7ed3\u5408\u64cd\u4f5c\u6f14\u793a\u56de\u7b54\u4ee5\u4e0b\u6bcf\u4e00\u4e2a\u95ee\u9898\u3002 \u5f55\u50cf\u8bf7\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff08\u9996\u9009\u817e\u8baf\u89c6\u9891\uff0c\u4fbf\u4e8e\u4f18\u79c0\u4f5c\u54c1\u53ef\u4ee5\u76f4\u63a5\u5728\u5fae\u4fe1\u516c\u4f17\u53f7\u63a8\u9001\u4e2d\u5d4c\u5165\uff09\uff0c\u52a1\u5fc5\u907f\u514d\u5728\u5f55\u50cf\u4e2d\u6cc4\u6f0f\u4e2a\u4eba\u9690\u79c1\u4fe1\u606f\uff0c\u5728\u5c4f\u5e55\u64cd\u4f5c\u5f55\u50cf\u8fc7\u7a0b\u4e2d\u5efa\u8bae\u5173\u95ed\u5373\u65f6\u901a\u4fe1\u5de5\u5177\u7b49\u6709\u53ef\u80fd\u4f1a\u5f39\u51fa\u901a\u77e5\u7a97\u53e3\u7684\u5e94\u7528\u7a0b\u5e8f\uff0c\u4fdd\u8bc1\u5f55\u50cf\u8d28\u91cf\u548c\u6548\u679c\u3002 \u8bf7\u603b\u7ed3\u4f60\u4eec\u7684\u6240\u6709\u5df2\u5b8c\u6210\u529f\u80fd\u70b9 X.509\u8bc1\u4e66\u4e2d\u5404\u4e2a\u5b57\u6bb5\u542b\u4e49\u3001\u7528\u9014\u89e3\u91ca\u8bf4\u660e\u3002 WEB\u670d\u52a1\u5668\u4f7f\u7528\u7684\u8bc1\u4e66\u548cCA\u4f7f\u7528\u7684\u8bc1\u4e66\u6709\u4ec0\u4e48\u533a\u522b\u548c\u8054\u7cfb\uff1f \u7b80\u8ff0\u4f60\u4eec\u7684\u53e3\u4ee4\u5b89\u5168\u5b58\u50a8\u7b56\u7565\u3002 \u4f60\u4eec\u662f\u5982\u4f55\u5b9e\u73b0\u5f31\u53e3\u4ee4\u68c0\u6d4b\u7684\uff1f \u4f60\u4eec\u662f\u5982\u4f55\u5b9e\u73b0\u5b89\u5168\u7684\u6587\u4ef6\u4e0a\u4f20\u7684\uff1f \u8bf7\u5c55\u793a\u5e76\u8bf4\u660e\u4f60\u4eec\u7684 \u6587\u4ef6\u52a0\u5bc6\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u89e3\u5bc6\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u7b7e\u540d\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u7b7e\u540d\u9a8c\u8bc1\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u5b8c\u6574\u6027\u9a8c\u8bc1\u4ee3\u7801\u7247\u6bb5 \u540c\u4e00\u4e2a\u7528\u6237\u7684\u4e0d\u540c\u6587\u4ef6\u662f\u5426\u4f7f\u7528\u76f8\u540c\u7684\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\uff1f\u5982\u679c\u662f\uff0c\u8bf7\u8bf4\u660e\u5176\u4e2d\u5b58\u5728\u7684\u5b89\u5168\u98ce\u9669\u3002\u5982\u679c\u5426\uff0c\u8bf7\u7ed3\u5408\u4ee3\u7801\u5c55\u793a\u4f60\u4eec\u7684\u6587\u4ef6\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\u7684\u5b58\u50a8\u548c\u63d0\u53d6\u4f7f\u7528\u7b56\u7565 \u4f60\u4eec\u7684\u6587\u4ef6\u4e0b\u8f7d\u8fc7\u671f\u7b56\u7565\u662f\u5982\u4f55\u8bbe\u8ba1\u5e76\u5b9e\u73b0\u7684\uff1f \u5e38\u89c1\u5bf9\u79f0\u52a0\u5bc6\u5de5\u4f5c\u6a21\u5f0f\u6709\u54ea\u4e9b\uff1f\u5404\u81ea\u5e94\u7528\u573a\u666f\u3001\u4f18\u7f3a\u70b9\u8bf4\u660e\u3002 \u7b80\u8ff0RSA\u52a0\u5bc6\u7b97\u6cd5\u548cRSA\u7b7e\u540d\u7b97\u6cd5\u4e4b\u95f4\u7684\u5173\u7cfb\uff1f \u901a\u8fc7 PHP / Python \u5b9e\u73b0\u6587\u4ef6\u6563\u5217\u503c\u8ba1\u7b97\u6709\u54ea\u4e9b\u65b9\u6cd5\uff1f \u4f60\u4eec\u662f\u5982\u4f55\u5b9e\u73b0\u533f\u540d\u7528\u6237\u7981\u6b62\u4e0a\u4f20\u6587\u4ef6\u529f\u80fd\u7684\uff1f \u8bf7\u5c55\u793a\u5e76\u8bf4\u660e\u4f60\u4eec\u7684\u6570\u636e\u5e93\u8868\u7ed3\u6784\u8bbe\u8ba1 \u5728\u8bfe\u7a0b\u7ed3\u9898\u62a5\u544a\u4e2d\u9644\u4e0a\u5728\u7ebf\u89c6\u9891\u94fe\u63a5\u5373\u53ef\u3002","title":"\u5206\u7ec4\u5b8c\u6210"},{"location":"ac/2021/index.html#_10","text":"\u524d 4 \u5929\u5f00\u53d1\uff0c\u6700\u540e 1 \u5929\u96c6\u4e2d\u62a5\u544a","title":"\u8bfe\u7a0b\u9636\u6bb5\u8ba1\u5212"},{"location":"ac/2021/index.html#_11","text":"\u8bfe\u7a0b\u77e5\u8bc6\u56de\u987e\u4e0e\u5c55\u671b \u5728\u5e94\u7528\u5f00\u53d1\u9879\u76ee\u4e2d\u5982\u4f55\u5b89\u5168\u5b9e\u73b0\u5bc6\u7801\u5b66\u7b97\u6cd5","title":"\u53c2\u8003\u8d44\u6599"},{"location":"ac/2022/index.html","text":"2022 \u5e74\u6559\u5b66\u8ba1\u5212 \u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae \u8bfe\u7a0b\u4e3b\u9898\uff1a\u4ece\u5bc6\u7801\u5b66\u7406\u8bba\u5230\u5bc6\u7801\u5b66\u7684\u5de5\u7a0b\u5b9e\u8df5\u4e0e\u5e94\u7528 \u5b9e\u9a8c\u51c6\u5907\uff1a\u81ea\u5907\u7535\u8111\uff0c\u81ea\u884c\u5b89\u6392\u65f6\u95f4\u548c\u5730\u70b9 \u4e0a\u8bfe\u65b9\u5f0f\uff1a\u8bb2\u6388\u7ed3\u8bfe\u65b9\u5f0f1\u6b21+\u81ea\u884c\u7ec4\u961f\u5b8c\u6210\u5927\u4f5c\u4e1a \u8bfe\u7a0b\u9636\u6bb5\u8ba1\u5212 \u4f5c\u54c1\u63d0\u4ea4 DDL\uff1a2022.8.15 23:59:59\u3002 \u7ed3\u8bfe\u5927\u4f5c\u4e1a\u57fa\u672c\u8981\u6c42 \u5206\u7ec4\u5b8c\u6210 \u548c \u5355\u5175\u4f5c\u6218 \u81f3\u5c11\u300c\u4e8c\u9009\u4e00\u300d\uff0c\u9f13\u52b1\u5b66\u6709\u4f59\u529b\u7684\u540c\u5b66\u300c\u591a\u52b3\u591a\u5f97\u300d\u3002 \u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 6 \u4eba\uff0c\u5efa\u8bae 4 \u4eba\u6700\u4f73\uff1b \u5206\u7ec4\u5b8c\u6210 \u4f5c\u4e1a\u8fc7\u7a0b\u4e2d\u4ea7\u751f\u7684\u6587\u6863\u3001\u4ee3\u7801\u5747\u53ef\u4ee5\u91c7\u7528 Github \u7684\u65b9\u5f0f\u7ba1\u7406\uff08\u8fd9\u662f\u4e00\u4e2a\u9f13\u52b1\u548c\u652f\u6301\u7684\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u5efa\u8bae\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5370\u8c61\u5206\u54e6\uff5e\uff09\uff1b \u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528zip\u683c\u5f0f\u6253\u5305\u5e76\u63d0\u4ea4\u5230\u5b66\u6821\u7545\u8bfe\u5e73\u53f0\u6307\u5b9a\u4f5c\u4e1a\u6a21\u5757\uff08\u540e\u7eed\u5728\u8bfe\u7a0b\u5fae\u4fe1\u7fa4\u3001\u7545\u8bfe\u5e73\u53f0\u8bfe\u7a0b\u516c\u544a\u6a21\u5757\u8fdb\u884c\u901a\u77e5\uff0c\u6ce8\u610f\u67e5\u770b\uff09\u3002\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u59d3\u540d4_\u59d3\u540d5_\u59d3\u540d6_\u4f5c\u4e1a\u9898\u76ee.zip \uff1b \u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167\u5bf9\u7ed3\u8bfe\u4f5c\u4e1a\u7684\u8d21\u732e\u7a0b\u5ea6\u6392\u540d\uff1b \u6bcf\u4eba \u72ec\u7acb\u5b8c\u6210\u4e00\u4efd \u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u603b\u7ed3\u6280\u672f\u62a5\u544a\uff1b markdown \u4e66\u5199\uff0c\u5efa\u8bae\u53c2\u7167 \u57fa\u4e8e Markdown \u7684\u4e2d\u6587\u6587\u6863\u6392\u7248\u89c4\u8303 \u5bf9\u5b9e\u9a8c\u62a5\u544a\u8fdb\u884c\u6392\u7248\uff1b \u5185\u5bb9\u91cd\u70b9\u5f3a\u8c03\uff1a\u4e2a\u4eba\u5728\u672c\u6b21\u5927\u4f5c\u4e1a\u4e2d\u7684\u4e3b\u8981\u8d21\u732e\uff1b\u5b8c\u6210\u4e86\u54ea\u4e9b\u81ea\u8ba4\u4e3a\u6709\u6280\u672f\u542b\u91cf\u7684\u5de5\u4f5c\uff1b\u5370\u8c61\u6df1\u523b\u7684\u4e00\u4e9b bug \u548c\u81ea\u5df1\u7684\u89e3\u51b3\u65b9\u6cd5\uff1b \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\uff1b \u89c6\u9891\u6587\u4ef6\u53ef\u4ee5\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff0c\u7136\u540e\u5728\u603b\u7ed3\u62a5\u544a\u6587\u6863\u4e2d\u9644\u4e0a\u89c6\u9891\u94fe\u63a5\u5373\u53ef\uff0c\u4ee5\u51cf\u5c11\u538b\u7f29\u5305\u5927\u5c0f\uff1b \u5df2\u5728 Github \u4e0a\u4f20\u6240\u6709\u6587\u4ef6\u7684\u5c0f\u7ec4\uff0c\u5728\u5b9e\u9a8c\u62a5\u544a\u4e2d\u540c\u6837\u9700\u8981\u9644\u4e0a\u9879\u76ee\u4ed3\u5e93\u5730\u5740\u5907\u67e5\u3002 \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\u3002 \u63a8\u8350\u7684\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u7ec4\u7ec7\u5f62\u5f0f \u251c\u2500\u2500 0_\u5f20\u4e09 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 1_\u674e\u56db \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 2_\u738b\u4e94 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 3_\u8d75\u516d \u2502 \u2514\u2500\u2500 README.md \u2514\u2500\u2500 README.md \u5982\u679c\u662f\u9009\u62e9 \u5355\u5175\u4f5c\u6218 \u7684\u540c\u5b66\uff0c\u5219\u65e0\u9700\u521b\u5efa\u4ee5\u81ea\u5df1\u59d3\u540d\u547d\u540d\u7684\u5b50\u76ee\u5f55\u3002 \u5982\u679c\u662f\u9009\u62e9\u5728 \u516c\u5f00\u4ed3\u5e93 \u63d0\u4ea4\u4f5c\u54c1\uff0c\u5219\u65e0\u9700\u5b9e\u540d\u547d\u540d\u4e0a\u8ff0\u5b50\u76ee\u5f55\uff0c\u53ef\u4ee5\u4f7f\u7528\u81ea\u5df1\u7684 \u7f51\u7edc ID \uff0c\u4f46\u662f\u5728\u6253\u5305\u63d0\u4ea4\u5230\u7545\u8bfe\u4f5c\u4e1a\u533a\u7684\u6700\u7ec8\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u91cc\u9700\u8981\u4f7f\u7528\u5b9e\u540d\u3002 \u6839\u76ee\u5f55\u4e0b\u7684 README.md \u5185\u5bb9\u7edf\u4e00\u8981\u6c42\u5982\u4e0b\uff0c\u793a\u8303 README \u89c1 ac-demo \uff1a # \u4f5c\u54c1\u540d > \u4e00\u53e5\u8bdd\u7b80\u4ecb\u3002 ## \u529f\u80fd\u6e05\u5355 > \u5217\u8868\u5f62\u5f0f\u8bf4\u660e\u9010\u4e2a\u529f\u80fd\u8981\u70b9\u3002 ## \u672c\u9879\u76ee\u7528\u5230\u7684\u5173\u952e\u6280\u672f > \u672c\u4f5c\u54c1\u4e2d\u5305\u542b\u7684\u5bc6\u7801\u5b66\u7406\u8bba\u4e0e\u6280\u672f\u793a\u8303\u5e94\u7528\u8981\u70b9\u8bf4\u660e\uff0c\u5217\u8868\u5f62\u5f0f\u3001\u9010\u4e2a\u8981\u70b9\u8bf4\u660e\u3002 ## \u5feb\u901f\u4e0a\u624b\u4f53\u9a8c > \u5feb\u901f\u5b89\u88c5\u4e0e\u4f7f\u7528\u65b9\u6cd5\u8bf4\u660e\u3002 ## \u6f14\u793a > \u8bfe\u7a0b\u7ed3\u9898\u62a5\u544a\u4e0e\u7cfb\u7edf\u529f\u80fd\u64cd\u4f5c\u89c6\u9891\u6f14\u793a\u5730\u5740\u3002 ## \u9644\u5f55-1 \uff08\u53ef\u9009\uff09 ## \u9644\u5f55-2 \uff08\u53ef\u9009\uff09 \u5206\u7ec4\u5b8c\u6210 \u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 6 \u4eba \u6bcf\u4e2a\u9898\u76ee\u7684\u9a8c\u6536\u6807\u51c6\u5305\u62ec\uff1a \u5b8c\u6210\u5ea6\uff1a\u5047\u8bbe\u9898\u76ee\u8981\u6c42\u7684\u4e00\u7ea7\u9700\u6c42\u670910\u6761\uff0c\u6700\u7ec8\u5b8c\u6210\u4e868\u6761\uff0c\u5219\u5b8c\u6210\u5ea6\uff1d8/10*100%=80% \u5b8c\u6210\u8d28\u91cf\uff1a\u58f0\u79f0\u5df2\u5b8c\u6210\u7684\u9700\u6c42\uff0c\u7ecf\u8fc7\u68c0\u67e5\u540e\u8ba4\u5b9a\u5b9e\u9645\u7684\u5b8c\u6210\u8d28\u91cf \u5927\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u8bf7\u5728 Github \u4e0a\u5efa\u7acb\u5c0f\u7ec4\u7684\u9879\u76ee\u4ed3\u5e93\uff0c\u6bcf\u4e2a\u7ec4\u5458\u7684\u65e5\u5e38\u5b8c\u6210\u8fdb\u5ea6\u901a\u8fc7 git \u63d0\u4ea4\u5386\u53f2\u6765\u4f53\u73b0\u3002 \u5982\u679c\u662f \u79c1\u6709 \u4ed3\u5e93\uff0c\u8bf7\u9080\u8bf7 c4pr1c3 \u6210\u4e3a\u4f60\u4eec\u5c0f\u7ec4\u5efa\u7acb\u7684\u4ed3\u5e93\u7684\u534f\u4f5c\u8005\uff08Collaborators\uff09\uff1b \u5982\u679c\u662f Fork \u6837\u4f8b\u4ed3\u5e93\uff0c\u5219\u65e0\u9700\u505a\u7279\u522b\u8bbe\u7f6e\uff1b \u4e0d\u8981\u5728\u4f60\u63d0\u4ea4\u7684\u4efb\u4f55\u6750\u6599\u4e2d\u51fa\u73b0\u4efb\u4f55\u91cd\u8981\u4e2a\u4eba\u9690\u79c1\u4fe1\u606f\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u59d3\u540d\u3001\u5b66\u53f7\u3001\u5bc6\u7801\u7b49\uff1b \u4f5c\u4e1a\u63d0\u4ea4\u5185\u5bb9\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u4ee3\u7801\u3001markdown \u683c\u5f0f\u7684\u6587\u6863\u3001\u56fe\u7247\u7b49\uff1b \u7ec4\u957f\u521b\u5efa\u4ed3\u5e93\uff0c\u7ec4\u5458\u53ef\u4ee5\u5728 Github \u540e\u53f0\u6dfb\u52a0\u5230 Collaborators \u6216\u901a\u8fc7 Fork + PR \u7684\u65b9\u5f0f\u6765\u5b9e\u73b0\u534f\u540c\u5f00\u53d1\u548c\u7f16\u8f91\uff1b \u4e0d\u5efa\u8bae\u76f4\u63a5\u4f7f\u7528 Github \u5b98\u65b9\u5ba2\u6237\u7aef\uff0c\u63a8\u8350\u4f7f\u7528 git \u547d\u4ee4\u884c\u5ba2\u6237\u7aef\uff1b commit \u6ce8\u91ca\u5e94\u8be5\u6e05\u6670\u660e\u4e86\uff0c\u8bf4\u660e\u672c\u6b21\u63d0\u4ea4\u7684\u76ee\u7684\uff0c\u4e0d\u8981\u641e\u51fa\u4e00\u5806\u7684 Add files via upload \uff1b \u7981\u6b62\u63d0\u4ea4\uff1a\u4e34\u65f6\u6587\u4ef6\uff08\u6587\u672c\u7f16\u8f91\u5668\u4ea7\u751f\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u5907\u4efd\u6587\u4ef6\u7b49\uff09\u3001\u4e2d\u95f4\u7ed3\u679c\u6587\u4ef6\uff08.exe\u3001.pdb\u3001.log\u7b49\u90fd\u662f\u5178\u578b\u4ee3\u8868\uff09 \u56fe\u7247\u5e94\u5728\u4fdd\u6301\u6e05\u6670\u5ea6\u3001\u4e0d\u5f71\u54cd\u9605\u8bfb\u7684\u524d\u63d0\u4e0b\u8fdb\u884c\u5fc5\u8981\u7684\u5c3a\u5bf8\u88c1\u526a\u548c\u56fe\u50cf\u538b\u7f29\u4ee5\u51cf\u5c11\u56fe\u7247\u6587\u4ef6\u5360\u7528\u5b58\u50a8\u7a7a\u95f4\u5927\u5c0f\uff1b \u8bfe\u7a0b\u603b\u8bc4\u5206\u6570\uff1d\u51fa\u52e4 * 10% + \u7cfb\u7edf\u5b9e\u73b0\uff08\u4ee3\u7801\uff09* 60% + \u8bfe\u9898\u7ed3\u9898\u62a5\u544a * 30% \u5355\u5175\u4f5c\u6218 \u4ece\u63a8\u8350\u5b9e\u9a8c\u4e2d\u81f3\u5c11\u9009\u62e9\u5e76\u5b8c\u6210 1 \u4e2a\uff0c\u5efa\u8bae\u9009\u62e9 2 \u4e2a\u6216\u66f4\u591a \uff0810 \u5206\uff09 \u4eff\u7167 \u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c\u6307\u5357 \u548c Padding Oracle Attack \u5b9e\u9a8c\u6307\u5357 \u7684\u5f62\u5f0f\u7f16\u5199\u5b9e\u9a8c\u62a5\u544a \uff08 70 \u5206\uff09 \u6392\u7248\u8d28\u91cf 10% \u5185\u5bb9\u4e13\u4e1a\u6027\u7a0b\u5ea6 20% \u5b9e\u9a8c\u64cd\u4f5c\u6b65\u9aa4\u8be6\u7ec6\u7a0b\u5ea6\uff08\u64cd\u4f5c\u6548\u679c\u622a\u56fe\u3001\u4ee3\u7801\uff09 60% \u53c2\u8003\u6587\u732e\u5f15\u7528\u6807\u6ce8 10% \u9664\u4e86\u6309\u7167\u4e0a\u8ff0\u5b9e\u9a8c\u5b98\u65b9\u6307\u5357\u4e2d\u7684\u65b9\u6cd5\u548c\u5de5\u5177\u5b8c\u6210\u5b9e\u9a8c\u4e4b\u5916\uff0c\u518d\u4f7f\u7528\u53e6\u4e00\u79cd\u7f16\u7a0b\u8bed\u8a00\u6216\u5de5\u5177\u5b8c\u6210\u5b9e\u9a8c \uff0810 \u5206\uff09 \u9644\u52a0\u5206 \u7f16\u5199\u300c\u81ea\u52a8\u5316\u6f0f\u6d1e\u5229\u7528\u811a\u672c\u300d+10 \u5b8c\u6210 3 \u4e2a\u6216\u4ee5\u4e0a\u5b9e\u9a8c +10 \u6700\u7ec8\u6210\u7ee9\uff1a\u4e0a\u8ff0\u5206\u9879\u5f97\u5206\u7d2f\u52a0 x 80% \uff0888 \u5206\u5c01\u9876\uff09 \u7ed3\u8bfe\u5927\u4f5c\u4e1a\u9898\u76ee \u5206\u7ec4\u5b8c\u6210\u3010\u5019\u9009\u3011\u9898\u76ee-1 \u201c\u4e2d\u4f20\u653e\u5fc3\u4f20\u201d \u57fa\u4e8e\u7f51\u9875\u7684\u7528\u6237\u6ce8\u518c\u4e0e\u767b\u5f55\u7cfb\u7edf\uff0860\u5206\uff09 \u4f7f\u7528https\u7ed1\u5b9a\u8bc1\u4e66\u5230\u57df\u540d\u800c\u975eIP\u5730\u5740 \u3010 PKI X.509 \u3011 \u5141\u8bb8\u7528\u6237\u6ce8\u518c\u5230\u7cfb\u7edf \u7528\u6237\u540d\u7684\u5408\u6cd5\u5b57\u7b26\u96c6\u8303\u56f4\uff1a\u4e2d\u6587\u3001\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57 \u7c7b\u4f3c\uff1a-\u3001_\u3001.\u7b49\u5408\u6cd5\u5b57\u7b26\u96c6\u8303\u56f4\u4e4b\u5916\u7684\u5b57\u7b26\u4e0d\u5141\u8bb8\u4f7f\u7528 \u7528\u6237\u53e3\u4ee4\u957f\u5ea6\u9650\u5236\u572836\u4e2a\u5b57\u7b26\u4e4b\u5185 \u5bf9\u7528\u6237\u8f93\u5165\u7684\u53e3\u4ee4\u8fdb\u884c\u5f3a\u5ea6\u6821\u9a8c\uff0c\u7981\u6b62\u4f7f\u7528\u5f31\u53e3\u4ee4 \u4f7f\u7528\u5408\u6cd5\u7528\u6237\u540d\u548c\u53e3\u4ee4\u767b\u5f55\u7cfb\u7edf \u7981\u6b62\u4f7f\u7528\u660e\u6587\u5b58\u50a8\u7528\u6237\u53e3\u4ee4 \u3010 PBKDF2 \u6563\u5217\u7b97\u6cd5 \u6162\u901f\u6563\u5217 \u9488\u5bf9\u6563\u5217\u7b97\u6cd5\uff08\u5982MD5\u3001SHA1\u7b49\uff09\u7684\u653b\u51fb\u65b9\u6cd5 \u3011 \u5b58\u50a8\u7684\u53e3\u4ee4\u5373\u4f7f\u88ab\u516c\u5f00\uff0c\u4e5f\u65e0\u6cd5\u8fd8\u539f/\u89e3\u7801\u51fa\u539f\u59cb\u660e\u6587\u53e3\u4ee4 \uff08\u53ef\u9009\uff09\u5b89\u5168\u7684\u5fd8\u8bb0\u53e3\u4ee4 / \u627e\u56de\u5bc6\u7801\u529f\u80fd \uff08\u53ef\u9009\uff09\u5fae\u4fe1/\u5fae\u535a/\u652f\u4ed8\u5b9d\u7684OAuth\u6388\u6743\u767b\u5f55 / \u6ce8\u518c\u7ed1\u5b9a \uff08\u53ef\u9009\uff09\u53cc\u56e0\u7d20\u8ba4\u8bc1 OTP: Google Authenticator Email SMS \u626b\u7801\u767b\u5f55 \u57fa\u4e8e\u7f51\u9875\u7684\u6587\u4ef6\u4e0a\u4f20\u52a0\u5bc6\u4e0e\u6570\u5b57\u7b7e\u540d\u7cfb\u7edf\uff0820\u5206\uff09 \u5df2\u5b8c\u6210\u300a\u57fa\u4e8e\u7f51\u9875\u7684\u7528\u6237\u6ce8\u518c\u4e0e\u767b\u5f55\u7cfb\u7edf\u300b\u6240\u6709\u8981\u6c42 \u9650\u5236\u6587\u4ef6\u5927\u5c0f\uff1a\u5c0f\u4e8e 10MB \u9650\u5236\u6587\u4ef6\u7c7b\u578b\uff1aoffice\u6587\u6863\u3001\u5e38\u89c1\u56fe\u7247\u7c7b\u578b \u533f\u540d\u7528\u6237\u7981\u6b62\u4e0a\u4f20\u6587\u4ef6 \u5bf9\u6587\u4ef6\u8fdb\u884c\u5bf9\u79f0\u52a0\u5bc6\u5b58\u50a8\u5230\u6587\u4ef6\u7cfb\u7edf\uff0c\u7981\u6b62\u660e\u6587\u5b58\u50a8\u6587\u4ef6 \u3010 \u5bf9\u79f0\u52a0\u5bc6 \u5bc6\u94a5\u7ba1\u7406\uff08\u5982\u4f55\u5b89\u5168\u5b58\u50a8\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\uff09 \u5bf9\u79f0\u52a0\u5bc6\u5bc6\u6587\u7684PADDING\u95ee\u9898 \u3011 \u7cfb\u7edf\u5bf9\u52a0\u5bc6\u540e\u6587\u4ef6\u8fdb\u884c\u6570\u5b57\u7b7e\u540d \u3010 \u6570\u5b57\u7b7e\u540d\uff08\u591a\u79cd\u7b7e\u540d\u5de5\u4f5c\u6a21\u5f0f\u5dee\u5f02\uff09 \u3011 \uff08\u53ef\u9009\uff09\u6587\u4ef6\u79d2\u4f20\uff1a\u670d\u52a1\u5668\u4e0a\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5ba2\u6237\u7aef\u53ef\u4ee5\u4e0d\u5fc5\u518d\u91cd\u590d\u4e0a\u4f20\u4e86 \u57fa\u4e8e\u7f51\u9875\u7684\u52a0\u5bc6\u6587\u4ef6\u4e0b\u8f7d\u4e0e\u89e3\u5bc6\uff0820\u5206\uff09 \u5df2\u5b8c\u6210\u300a\u57fa\u4e8e\u7f51\u9875\u7684\u6587\u4ef6\u4e0a\u4f20\u52a0\u5bc6\u4e0e\u6570\u5b57\u7b7e\u540d\u7cfb\u7edf\u300b\u6240\u6709\u8981\u6c42 \u63d0\u4f9b\u533f\u540d\u7528\u6237\u52a0\u5bc6\u540e\u6587\u4ef6\u548c\u5173\u8054\u7684\u6570\u5b57\u7b7e\u540d\u6587\u4ef6\u7684\u4e0b\u8f7d \u5ba2\u6237\u7aef\u5bf9\u4e0b\u8f7d\u540e\u7684\u6587\u4ef6\u8fdb\u884c\u6570\u5b57\u7b7e\u540d\u9a8c\u8bc1 \u3010 \u975e\u5bf9\u79f0\uff08\u516c\u94a5\uff09\u52a0\u5bc6 \u6570\u5b57\u7b7e\u540d \u3011 \u5ba2\u6237\u7aef\u5bf9\u4e0b\u8f7d\u540e\u7684\u6587\u4ef6\u53ef\u4ee5\u89e3\u5bc6\u8fd8\u539f\u5230\u539f\u59cb\u6587\u4ef6 \u3010 \u5bf9\u79f0\u89e3\u5bc6 \u5bc6\u94a5\u7ba1\u7406 \u3011 \u63d0\u4f9b\u5df2\u767b\u5f55\u7528\u6237\u89e3\u5bc6\u540e\u6587\u4ef6\u4e0b\u8f7d \u4e0b\u8f7dURL\u8bbe\u7f6e\u6709\u6548\u671f\uff08\u9650\u5236\u65f6\u95f4\u6216\u9650\u5236\u4e0b\u8f7d\u6b21\u6570\uff09\uff0c\u8fc7\u671f\u540e\u7981\u6b62\u8bbf\u95ee \u3010 \u6570\u5b57\u7b7e\u540d \u6d88\u606f\u8ba4\u8bc1\u7801 Hash Extension Length Attack Hash\u7b97\u6cd5\u4e0eHMAC\u7b97\u6cd5\u7684\u533a\u522b\u4e0e\u8054\u7cfb \u3011 \u63d0\u4f9b\u9759\u6001\u6587\u4ef6\u7684\u6563\u5217\u503c\u4e0b\u8f7d\uff0c\u4f9b\u4e0b\u8f7d\u6587\u4ef6\u5b8c\u6210\u540e\u672c\u5730\u6821\u9a8c\u6587\u4ef6\u5b8c\u6574\u6027 \u3010 \u6563\u5217\u7b97\u6cd5 \u3011 \u53ef\u4ee5\u57fa\u4e8e PHP \u7248\u5b9e\u73b0\u7684\u8bfe\u7a0b\u7cfb\u7edf\u534a\u6210\u54c1\u6e90\u4ee3\u7801 \u6216 Python \u7248\u5b9e\u73b0\u7684\u8bfe\u7a0b\u7cfb\u7edf\u534a\u6210\u54c1\u6e90\u4ee3\u7801 \u8fdb\u884c\u300c\u4e8c\u6b21\u5f00\u53d1\u300d\uff0c\u4e5f\u53ef\u4ee5\u81ea\u5df1\u4ece\u96f6\u5f00\u59cb\u5f00\u53d1\u3002\u7f16\u7a0b\u8bed\u8a00\u6280\u672f\u6808\u6ca1\u6709\u9650\u5236\u3002\u201c\u4e2d\u4f20\u653e\u5fc3\u4f20\u201d\u4e0d\u662f\u9650\u5b9a\u7684\u9898\u76ee\uff0c\u4ec5\u4f5c\u793a\u4f8b\uff0c\u540c\u5b66\u4eec\u53ef\u4ee5\u81ea\u62df\u5177\u4f53\u4f5c\u54c1\u540d\u3002 \u524d\u65b9\u91cd\u8981\u63d0\u9192 \u5982\u679c\u57fa\u4e8e\u4ee5\u4e0a\u4ee3\u7801\u8fdb\u884c\u300c\u4e8c\u6b21\u5f00\u53d1\u300d\uff0c \u5fc5\u987b\u91c7\u7528 fork + PR \u7684\u65b9\u5f0f\u63d0\u4ea4\u6700\u7ec8\u5b8c\u6210\u7684\u7cfb\u7edf\u6e90\u4ee3\u7801\uff08\u7b2c\u4e09\u65b9\u4f9d\u8d56\u7684\u6e90\u4ee3\u7801\u4e0d\u8981 push \u5230 github\uff09\uff0c\u65b9\u4fbf\u6211\u67e5\u770b\u4f60 \u4f60\u5177\u4f53\u505a\u4e86\u54ea\u4e9b\u6539\u52a8 \u3002 \u5206\u7ec4\u5b8c\u6210\u3010\u5019\u9009\u3011\u9898\u76ee-2 \u201c\u5f00\u653e\u5f0f\u547d\u9898\u201d \u4ee5 \u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b \u4f5c\u54c1\u8d5b \u7684\u8981\u6c42\u4e3a\u57fa\u7840\uff08 \u5f00\u653e\u5f0f\u81ea\u4e3b\u547d\u9898\uff0c\u81ea\u4e3b\u8bbe\u8ba1 \uff09\uff0c\u5728\u4f60\u4eec\u7684\u5c0f\u7ec4\u4f5c\u54c1\u4e2d\u9700\u8981\u4eff\u7167\u4e0a\u8ff0\u201c\u4e2d\u4f20\u653e\u5fc3\u4f20\u201d\u8bbe\u8ba1\u7684\u5bc6\u7801\u5b66\u76f8\u5173\u6280\u672f\u8981\u70b9\u5e94\u7528\uff0c\u5728 \u81ea\u547d\u9898\u3001\u81ea\u4e3b\u8bbe\u8ba1 \u7684\u4f5c\u54c1\u4e2d\u81f3\u5c11\u5305\u542b 6 \u4e2a\u4ee5\u4e0a\u7684\u5bc6\u7801\u5b66\u76f8\u5173\u7406\u8bba\u6216\u5173\u952e\u6280\u672f\u7684\u793a\u8303\u5e94\u7528\u3002 \u5355\u5175\u4f5c\u6218 \u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c CBC Bit-flipping Attack \u5b9e\u9a8c Padding Oracle Attack \u5b9e\u9a8c Hash Length Extension Attack \u5b9e\u9a8c \u95ee\u9898\u6e05\u5355 \u5206\u7ec4\u5b8c\u6210 \u8bf7\u901a\u8fc7\u5c4f\u5e55\u64cd\u4f5c\u5f55\u50cf\u7684\u65b9\u5f0f\uff0c\u5c55\u793a\u4f60\u4eec\u5c0f\u7ec4\u5b8c\u6210\u7684\u7cfb\u7edf\uff0c\u5e76 \u5c3d\u529b\u800c\u4e3a \u5728\u5f55\u50cf\u4e2d\u7ed3\u5408\u64cd\u4f5c\u6f14\u793a\u56de\u7b54\u4ee5\u4e0b\u6bcf\u4e00\u4e2a\u95ee\u9898\u3002 \u5f55\u50cf\u8bf7\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff08\u9996\u9009\u817e\u8baf\u89c6\u9891\uff0c\u4fbf\u4e8e\u4f18\u79c0\u4f5c\u54c1\u53ef\u4ee5\u76f4\u63a5\u5728\u5fae\u4fe1\u516c\u4f17\u53f7\u63a8\u9001\u4e2d\u5d4c\u5165\uff09\uff0c\u52a1\u5fc5\u907f\u514d\u5728\u5f55\u50cf\u4e2d\u6cc4\u6f0f\u4e2a\u4eba\u9690\u79c1\u4fe1\u606f\uff0c\u5728\u5c4f\u5e55\u64cd\u4f5c\u5f55\u50cf\u8fc7\u7a0b\u4e2d\u5efa\u8bae\u5173\u95ed\u5373\u65f6\u901a\u4fe1\u5de5\u5177\u7b49\u6709\u53ef\u80fd\u4f1a\u5f39\u51fa\u901a\u77e5\u7a97\u53e3\u7684\u5e94\u7528\u7a0b\u5e8f\uff0c\u4fdd\u8bc1\u5f55\u50cf\u8d28\u91cf\u548c\u6548\u679c\u3002 \u8bf7\u603b\u7ed3\u4f60\u4eec\u7684\u6240\u6709\u5df2\u5b8c\u6210\u529f\u80fd\u70b9 X.509\u8bc1\u4e66\u4e2d\u5404\u4e2a\u5b57\u6bb5\u542b\u4e49\u3001\u7528\u9014\u89e3\u91ca\u8bf4\u660e\u3002 WEB\u670d\u52a1\u5668\u4f7f\u7528\u7684\u8bc1\u4e66\u548cCA\u4f7f\u7528\u7684\u8bc1\u4e66\u6709\u4ec0\u4e48\u533a\u522b\u548c\u8054\u7cfb\uff1f \u7b80\u8ff0\u4f60\u4eec\u7684\u53e3\u4ee4\u5b89\u5168\u5b58\u50a8\u7b56\u7565\u3002 \u4f60\u4eec\u662f\u5982\u4f55\u5b9e\u73b0\u5f31\u53e3\u4ee4\u68c0\u6d4b\u7684\uff1f \u4f60\u4eec\u662f\u5982\u4f55\u5b9e\u73b0\u5b89\u5168\u7684\u6587\u4ef6\u4e0a\u4f20\u7684\uff1f \u8bf7\u5c55\u793a\u5e76\u8bf4\u660e\u4f60\u4eec\u7684 \u6587\u4ef6\u52a0\u5bc6\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u89e3\u5bc6\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u7b7e\u540d\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u7b7e\u540d\u9a8c\u8bc1\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u5b8c\u6574\u6027\u9a8c\u8bc1\u4ee3\u7801\u7247\u6bb5 \u540c\u4e00\u4e2a\u7528\u6237\u7684\u4e0d\u540c\u6587\u4ef6\u662f\u5426\u4f7f\u7528\u76f8\u540c\u7684\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\uff1f\u5982\u679c\u662f\uff0c\u8bf7\u8bf4\u660e\u5176\u4e2d\u5b58\u5728\u7684\u5b89\u5168\u98ce\u9669\u3002\u5982\u679c\u5426\uff0c\u8bf7\u7ed3\u5408\u4ee3\u7801\u5c55\u793a\u4f60\u4eec\u7684\u6587\u4ef6\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\u7684\u5b58\u50a8\u548c\u63d0\u53d6\u4f7f\u7528\u7b56\u7565 \u4f60\u4eec\u7684\u6587\u4ef6\u4e0b\u8f7d\u8fc7\u671f\u7b56\u7565\u662f\u5982\u4f55\u8bbe\u8ba1\u5e76\u5b9e\u73b0\u7684\uff1f \u5e38\u89c1\u5bf9\u79f0\u52a0\u5bc6\u5de5\u4f5c\u6a21\u5f0f\u6709\u54ea\u4e9b\uff1f\u5404\u81ea\u5e94\u7528\u573a\u666f\u3001\u4f18\u7f3a\u70b9\u8bf4\u660e\u3002 \u7b80\u8ff0RSA\u52a0\u5bc6\u7b97\u6cd5\u548cRSA\u7b7e\u540d\u7b97\u6cd5\u4e4b\u95f4\u7684\u5173\u7cfb\uff1f \u901a\u8fc7 PHP / Python \u5b9e\u73b0\u6587\u4ef6\u6563\u5217\u503c\u8ba1\u7b97\u6709\u54ea\u4e9b\u65b9\u6cd5\uff1f \u4f60\u4eec\u662f\u5982\u4f55\u5b9e\u73b0\u533f\u540d\u7528\u6237\u7981\u6b62\u4e0a\u4f20\u6587\u4ef6\u529f\u80fd\u7684\uff1f \u8bf7\u5c55\u793a\u5e76\u8bf4\u660e\u4f60\u4eec\u7684\u6570\u636e\u5e93\u8868\u7ed3\u6784\u8bbe\u8ba1 \u5728\u8bfe\u7a0b\u7ed3\u9898\u62a5\u544a\u4e2d\u9644\u4e0a\u5728\u7ebf\u89c6\u9891\u94fe\u63a5\u5373\u53ef\u3002 \u53c2\u8003\u8d44\u6599 \u8bfe\u7a0b\u77e5\u8bc6\u56de\u987e\u4e0e\u5c55\u671b \u5728\u5e94\u7528\u5f00\u53d1\u9879\u76ee\u4e2d\u5982\u4f55\u5b89\u5168\u5b9e\u73b0\u5bc6\u7801\u5b66\u7b97\u6cd5","title":"2022\u5e74"},{"location":"ac/2022/index.html#2022","text":"","title":"2022 \u5e74\u6559\u5b66\u8ba1\u5212"},{"location":"ac/2022/index.html#_1","text":"\u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae \u8bfe\u7a0b\u4e3b\u9898\uff1a\u4ece\u5bc6\u7801\u5b66\u7406\u8bba\u5230\u5bc6\u7801\u5b66\u7684\u5de5\u7a0b\u5b9e\u8df5\u4e0e\u5e94\u7528 \u5b9e\u9a8c\u51c6\u5907\uff1a\u81ea\u5907\u7535\u8111\uff0c\u81ea\u884c\u5b89\u6392\u65f6\u95f4\u548c\u5730\u70b9 \u4e0a\u8bfe\u65b9\u5f0f\uff1a\u8bb2\u6388\u7ed3\u8bfe\u65b9\u5f0f1\u6b21+\u81ea\u884c\u7ec4\u961f\u5b8c\u6210\u5927\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"ac/2022/index.html#_2","text":"\u4f5c\u54c1\u63d0\u4ea4 DDL\uff1a2022.8.15 23:59:59\u3002","title":"\u8bfe\u7a0b\u9636\u6bb5\u8ba1\u5212"},{"location":"ac/2022/index.html#_3","text":"\u5206\u7ec4\u5b8c\u6210 \u548c \u5355\u5175\u4f5c\u6218 \u81f3\u5c11\u300c\u4e8c\u9009\u4e00\u300d\uff0c\u9f13\u52b1\u5b66\u6709\u4f59\u529b\u7684\u540c\u5b66\u300c\u591a\u52b3\u591a\u5f97\u300d\u3002 \u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 6 \u4eba\uff0c\u5efa\u8bae 4 \u4eba\u6700\u4f73\uff1b \u5206\u7ec4\u5b8c\u6210 \u4f5c\u4e1a\u8fc7\u7a0b\u4e2d\u4ea7\u751f\u7684\u6587\u6863\u3001\u4ee3\u7801\u5747\u53ef\u4ee5\u91c7\u7528 Github \u7684\u65b9\u5f0f\u7ba1\u7406\uff08\u8fd9\u662f\u4e00\u4e2a\u9f13\u52b1\u548c\u652f\u6301\u7684\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u5efa\u8bae\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5370\u8c61\u5206\u54e6\uff5e\uff09\uff1b \u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528zip\u683c\u5f0f\u6253\u5305\u5e76\u63d0\u4ea4\u5230\u5b66\u6821\u7545\u8bfe\u5e73\u53f0\u6307\u5b9a\u4f5c\u4e1a\u6a21\u5757\uff08\u540e\u7eed\u5728\u8bfe\u7a0b\u5fae\u4fe1\u7fa4\u3001\u7545\u8bfe\u5e73\u53f0\u8bfe\u7a0b\u516c\u544a\u6a21\u5757\u8fdb\u884c\u901a\u77e5\uff0c\u6ce8\u610f\u67e5\u770b\uff09\u3002\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u59d3\u540d4_\u59d3\u540d5_\u59d3\u540d6_\u4f5c\u4e1a\u9898\u76ee.zip \uff1b \u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167\u5bf9\u7ed3\u8bfe\u4f5c\u4e1a\u7684\u8d21\u732e\u7a0b\u5ea6\u6392\u540d\uff1b \u6bcf\u4eba \u72ec\u7acb\u5b8c\u6210\u4e00\u4efd \u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u603b\u7ed3\u6280\u672f\u62a5\u544a\uff1b markdown \u4e66\u5199\uff0c\u5efa\u8bae\u53c2\u7167 \u57fa\u4e8e Markdown \u7684\u4e2d\u6587\u6587\u6863\u6392\u7248\u89c4\u8303 \u5bf9\u5b9e\u9a8c\u62a5\u544a\u8fdb\u884c\u6392\u7248\uff1b \u5185\u5bb9\u91cd\u70b9\u5f3a\u8c03\uff1a\u4e2a\u4eba\u5728\u672c\u6b21\u5927\u4f5c\u4e1a\u4e2d\u7684\u4e3b\u8981\u8d21\u732e\uff1b\u5b8c\u6210\u4e86\u54ea\u4e9b\u81ea\u8ba4\u4e3a\u6709\u6280\u672f\u542b\u91cf\u7684\u5de5\u4f5c\uff1b\u5370\u8c61\u6df1\u523b\u7684\u4e00\u4e9b bug \u548c\u81ea\u5df1\u7684\u89e3\u51b3\u65b9\u6cd5\uff1b \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\uff1b \u89c6\u9891\u6587\u4ef6\u53ef\u4ee5\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff0c\u7136\u540e\u5728\u603b\u7ed3\u62a5\u544a\u6587\u6863\u4e2d\u9644\u4e0a\u89c6\u9891\u94fe\u63a5\u5373\u53ef\uff0c\u4ee5\u51cf\u5c11\u538b\u7f29\u5305\u5927\u5c0f\uff1b \u5df2\u5728 Github \u4e0a\u4f20\u6240\u6709\u6587\u4ef6\u7684\u5c0f\u7ec4\uff0c\u5728\u5b9e\u9a8c\u62a5\u544a\u4e2d\u540c\u6837\u9700\u8981\u9644\u4e0a\u9879\u76ee\u4ed3\u5e93\u5730\u5740\u5907\u67e5\u3002 \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\u3002","title":"\u7ed3\u8bfe\u5927\u4f5c\u4e1a\u57fa\u672c\u8981\u6c42"},{"location":"ac/2022/index.html#_4","text":"\u251c\u2500\u2500 0_\u5f20\u4e09 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 1_\u674e\u56db \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 2_\u738b\u4e94 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 3_\u8d75\u516d \u2502 \u2514\u2500\u2500 README.md \u2514\u2500\u2500 README.md \u5982\u679c\u662f\u9009\u62e9 \u5355\u5175\u4f5c\u6218 \u7684\u540c\u5b66\uff0c\u5219\u65e0\u9700\u521b\u5efa\u4ee5\u81ea\u5df1\u59d3\u540d\u547d\u540d\u7684\u5b50\u76ee\u5f55\u3002 \u5982\u679c\u662f\u9009\u62e9\u5728 \u516c\u5f00\u4ed3\u5e93 \u63d0\u4ea4\u4f5c\u54c1\uff0c\u5219\u65e0\u9700\u5b9e\u540d\u547d\u540d\u4e0a\u8ff0\u5b50\u76ee\u5f55\uff0c\u53ef\u4ee5\u4f7f\u7528\u81ea\u5df1\u7684 \u7f51\u7edc ID \uff0c\u4f46\u662f\u5728\u6253\u5305\u63d0\u4ea4\u5230\u7545\u8bfe\u4f5c\u4e1a\u533a\u7684\u6700\u7ec8\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u91cc\u9700\u8981\u4f7f\u7528\u5b9e\u540d\u3002 \u6839\u76ee\u5f55\u4e0b\u7684 README.md \u5185\u5bb9\u7edf\u4e00\u8981\u6c42\u5982\u4e0b\uff0c\u793a\u8303 README \u89c1 ac-demo \uff1a # \u4f5c\u54c1\u540d > \u4e00\u53e5\u8bdd\u7b80\u4ecb\u3002 ## \u529f\u80fd\u6e05\u5355 > \u5217\u8868\u5f62\u5f0f\u8bf4\u660e\u9010\u4e2a\u529f\u80fd\u8981\u70b9\u3002 ## \u672c\u9879\u76ee\u7528\u5230\u7684\u5173\u952e\u6280\u672f > \u672c\u4f5c\u54c1\u4e2d\u5305\u542b\u7684\u5bc6\u7801\u5b66\u7406\u8bba\u4e0e\u6280\u672f\u793a\u8303\u5e94\u7528\u8981\u70b9\u8bf4\u660e\uff0c\u5217\u8868\u5f62\u5f0f\u3001\u9010\u4e2a\u8981\u70b9\u8bf4\u660e\u3002 ## \u5feb\u901f\u4e0a\u624b\u4f53\u9a8c > \u5feb\u901f\u5b89\u88c5\u4e0e\u4f7f\u7528\u65b9\u6cd5\u8bf4\u660e\u3002 ## \u6f14\u793a > \u8bfe\u7a0b\u7ed3\u9898\u62a5\u544a\u4e0e\u7cfb\u7edf\u529f\u80fd\u64cd\u4f5c\u89c6\u9891\u6f14\u793a\u5730\u5740\u3002 ## \u9644\u5f55-1 \uff08\u53ef\u9009\uff09 ## \u9644\u5f55-2 \uff08\u53ef\u9009\uff09","title":"\u63a8\u8350\u7684\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u7ec4\u7ec7\u5f62\u5f0f"},{"location":"ac/2022/index.html#_5","text":"\u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 6 \u4eba \u6bcf\u4e2a\u9898\u76ee\u7684\u9a8c\u6536\u6807\u51c6\u5305\u62ec\uff1a \u5b8c\u6210\u5ea6\uff1a\u5047\u8bbe\u9898\u76ee\u8981\u6c42\u7684\u4e00\u7ea7\u9700\u6c42\u670910\u6761\uff0c\u6700\u7ec8\u5b8c\u6210\u4e868\u6761\uff0c\u5219\u5b8c\u6210\u5ea6\uff1d8/10*100%=80% \u5b8c\u6210\u8d28\u91cf\uff1a\u58f0\u79f0\u5df2\u5b8c\u6210\u7684\u9700\u6c42\uff0c\u7ecf\u8fc7\u68c0\u67e5\u540e\u8ba4\u5b9a\u5b9e\u9645\u7684\u5b8c\u6210\u8d28\u91cf \u5927\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u8bf7\u5728 Github \u4e0a\u5efa\u7acb\u5c0f\u7ec4\u7684\u9879\u76ee\u4ed3\u5e93\uff0c\u6bcf\u4e2a\u7ec4\u5458\u7684\u65e5\u5e38\u5b8c\u6210\u8fdb\u5ea6\u901a\u8fc7 git \u63d0\u4ea4\u5386\u53f2\u6765\u4f53\u73b0\u3002 \u5982\u679c\u662f \u79c1\u6709 \u4ed3\u5e93\uff0c\u8bf7\u9080\u8bf7 c4pr1c3 \u6210\u4e3a\u4f60\u4eec\u5c0f\u7ec4\u5efa\u7acb\u7684\u4ed3\u5e93\u7684\u534f\u4f5c\u8005\uff08Collaborators\uff09\uff1b \u5982\u679c\u662f Fork \u6837\u4f8b\u4ed3\u5e93\uff0c\u5219\u65e0\u9700\u505a\u7279\u522b\u8bbe\u7f6e\uff1b \u4e0d\u8981\u5728\u4f60\u63d0\u4ea4\u7684\u4efb\u4f55\u6750\u6599\u4e2d\u51fa\u73b0\u4efb\u4f55\u91cd\u8981\u4e2a\u4eba\u9690\u79c1\u4fe1\u606f\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u59d3\u540d\u3001\u5b66\u53f7\u3001\u5bc6\u7801\u7b49\uff1b \u4f5c\u4e1a\u63d0\u4ea4\u5185\u5bb9\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u4ee3\u7801\u3001markdown \u683c\u5f0f\u7684\u6587\u6863\u3001\u56fe\u7247\u7b49\uff1b \u7ec4\u957f\u521b\u5efa\u4ed3\u5e93\uff0c\u7ec4\u5458\u53ef\u4ee5\u5728 Github \u540e\u53f0\u6dfb\u52a0\u5230 Collaborators \u6216\u901a\u8fc7 Fork + PR \u7684\u65b9\u5f0f\u6765\u5b9e\u73b0\u534f\u540c\u5f00\u53d1\u548c\u7f16\u8f91\uff1b \u4e0d\u5efa\u8bae\u76f4\u63a5\u4f7f\u7528 Github \u5b98\u65b9\u5ba2\u6237\u7aef\uff0c\u63a8\u8350\u4f7f\u7528 git \u547d\u4ee4\u884c\u5ba2\u6237\u7aef\uff1b commit \u6ce8\u91ca\u5e94\u8be5\u6e05\u6670\u660e\u4e86\uff0c\u8bf4\u660e\u672c\u6b21\u63d0\u4ea4\u7684\u76ee\u7684\uff0c\u4e0d\u8981\u641e\u51fa\u4e00\u5806\u7684 Add files via upload \uff1b \u7981\u6b62\u63d0\u4ea4\uff1a\u4e34\u65f6\u6587\u4ef6\uff08\u6587\u672c\u7f16\u8f91\u5668\u4ea7\u751f\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u5907\u4efd\u6587\u4ef6\u7b49\uff09\u3001\u4e2d\u95f4\u7ed3\u679c\u6587\u4ef6\uff08.exe\u3001.pdb\u3001.log\u7b49\u90fd\u662f\u5178\u578b\u4ee3\u8868\uff09 \u56fe\u7247\u5e94\u5728\u4fdd\u6301\u6e05\u6670\u5ea6\u3001\u4e0d\u5f71\u54cd\u9605\u8bfb\u7684\u524d\u63d0\u4e0b\u8fdb\u884c\u5fc5\u8981\u7684\u5c3a\u5bf8\u88c1\u526a\u548c\u56fe\u50cf\u538b\u7f29\u4ee5\u51cf\u5c11\u56fe\u7247\u6587\u4ef6\u5360\u7528\u5b58\u50a8\u7a7a\u95f4\u5927\u5c0f\uff1b \u8bfe\u7a0b\u603b\u8bc4\u5206\u6570\uff1d\u51fa\u52e4 * 10% + \u7cfb\u7edf\u5b9e\u73b0\uff08\u4ee3\u7801\uff09* 60% + \u8bfe\u9898\u7ed3\u9898\u62a5\u544a * 30%","title":"\u5206\u7ec4\u5b8c\u6210"},{"location":"ac/2022/index.html#_6","text":"\u4ece\u63a8\u8350\u5b9e\u9a8c\u4e2d\u81f3\u5c11\u9009\u62e9\u5e76\u5b8c\u6210 1 \u4e2a\uff0c\u5efa\u8bae\u9009\u62e9 2 \u4e2a\u6216\u66f4\u591a \uff0810 \u5206\uff09 \u4eff\u7167 \u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c\u6307\u5357 \u548c Padding Oracle Attack \u5b9e\u9a8c\u6307\u5357 \u7684\u5f62\u5f0f\u7f16\u5199\u5b9e\u9a8c\u62a5\u544a \uff08 70 \u5206\uff09 \u6392\u7248\u8d28\u91cf 10% \u5185\u5bb9\u4e13\u4e1a\u6027\u7a0b\u5ea6 20% \u5b9e\u9a8c\u64cd\u4f5c\u6b65\u9aa4\u8be6\u7ec6\u7a0b\u5ea6\uff08\u64cd\u4f5c\u6548\u679c\u622a\u56fe\u3001\u4ee3\u7801\uff09 60% \u53c2\u8003\u6587\u732e\u5f15\u7528\u6807\u6ce8 10% \u9664\u4e86\u6309\u7167\u4e0a\u8ff0\u5b9e\u9a8c\u5b98\u65b9\u6307\u5357\u4e2d\u7684\u65b9\u6cd5\u548c\u5de5\u5177\u5b8c\u6210\u5b9e\u9a8c\u4e4b\u5916\uff0c\u518d\u4f7f\u7528\u53e6\u4e00\u79cd\u7f16\u7a0b\u8bed\u8a00\u6216\u5de5\u5177\u5b8c\u6210\u5b9e\u9a8c \uff0810 \u5206\uff09 \u9644\u52a0\u5206 \u7f16\u5199\u300c\u81ea\u52a8\u5316\u6f0f\u6d1e\u5229\u7528\u811a\u672c\u300d+10 \u5b8c\u6210 3 \u4e2a\u6216\u4ee5\u4e0a\u5b9e\u9a8c +10 \u6700\u7ec8\u6210\u7ee9\uff1a\u4e0a\u8ff0\u5206\u9879\u5f97\u5206\u7d2f\u52a0 x 80% \uff0888 \u5206\u5c01\u9876\uff09","title":"\u5355\u5175\u4f5c\u6218"},{"location":"ac/2022/index.html#_7","text":"","title":"\u7ed3\u8bfe\u5927\u4f5c\u4e1a\u9898\u76ee"},{"location":"ac/2022/index.html#-1","text":"\u57fa\u4e8e\u7f51\u9875\u7684\u7528\u6237\u6ce8\u518c\u4e0e\u767b\u5f55\u7cfb\u7edf\uff0860\u5206\uff09 \u4f7f\u7528https\u7ed1\u5b9a\u8bc1\u4e66\u5230\u57df\u540d\u800c\u975eIP\u5730\u5740 \u3010 PKI X.509 \u3011 \u5141\u8bb8\u7528\u6237\u6ce8\u518c\u5230\u7cfb\u7edf \u7528\u6237\u540d\u7684\u5408\u6cd5\u5b57\u7b26\u96c6\u8303\u56f4\uff1a\u4e2d\u6587\u3001\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57 \u7c7b\u4f3c\uff1a-\u3001_\u3001.\u7b49\u5408\u6cd5\u5b57\u7b26\u96c6\u8303\u56f4\u4e4b\u5916\u7684\u5b57\u7b26\u4e0d\u5141\u8bb8\u4f7f\u7528 \u7528\u6237\u53e3\u4ee4\u957f\u5ea6\u9650\u5236\u572836\u4e2a\u5b57\u7b26\u4e4b\u5185 \u5bf9\u7528\u6237\u8f93\u5165\u7684\u53e3\u4ee4\u8fdb\u884c\u5f3a\u5ea6\u6821\u9a8c\uff0c\u7981\u6b62\u4f7f\u7528\u5f31\u53e3\u4ee4 \u4f7f\u7528\u5408\u6cd5\u7528\u6237\u540d\u548c\u53e3\u4ee4\u767b\u5f55\u7cfb\u7edf \u7981\u6b62\u4f7f\u7528\u660e\u6587\u5b58\u50a8\u7528\u6237\u53e3\u4ee4 \u3010 PBKDF2 \u6563\u5217\u7b97\u6cd5 \u6162\u901f\u6563\u5217 \u9488\u5bf9\u6563\u5217\u7b97\u6cd5\uff08\u5982MD5\u3001SHA1\u7b49\uff09\u7684\u653b\u51fb\u65b9\u6cd5 \u3011 \u5b58\u50a8\u7684\u53e3\u4ee4\u5373\u4f7f\u88ab\u516c\u5f00\uff0c\u4e5f\u65e0\u6cd5\u8fd8\u539f/\u89e3\u7801\u51fa\u539f\u59cb\u660e\u6587\u53e3\u4ee4 \uff08\u53ef\u9009\uff09\u5b89\u5168\u7684\u5fd8\u8bb0\u53e3\u4ee4 / \u627e\u56de\u5bc6\u7801\u529f\u80fd \uff08\u53ef\u9009\uff09\u5fae\u4fe1/\u5fae\u535a/\u652f\u4ed8\u5b9d\u7684OAuth\u6388\u6743\u767b\u5f55 / \u6ce8\u518c\u7ed1\u5b9a \uff08\u53ef\u9009\uff09\u53cc\u56e0\u7d20\u8ba4\u8bc1 OTP: Google Authenticator Email SMS \u626b\u7801\u767b\u5f55 \u57fa\u4e8e\u7f51\u9875\u7684\u6587\u4ef6\u4e0a\u4f20\u52a0\u5bc6\u4e0e\u6570\u5b57\u7b7e\u540d\u7cfb\u7edf\uff0820\u5206\uff09 \u5df2\u5b8c\u6210\u300a\u57fa\u4e8e\u7f51\u9875\u7684\u7528\u6237\u6ce8\u518c\u4e0e\u767b\u5f55\u7cfb\u7edf\u300b\u6240\u6709\u8981\u6c42 \u9650\u5236\u6587\u4ef6\u5927\u5c0f\uff1a\u5c0f\u4e8e 10MB \u9650\u5236\u6587\u4ef6\u7c7b\u578b\uff1aoffice\u6587\u6863\u3001\u5e38\u89c1\u56fe\u7247\u7c7b\u578b \u533f\u540d\u7528\u6237\u7981\u6b62\u4e0a\u4f20\u6587\u4ef6 \u5bf9\u6587\u4ef6\u8fdb\u884c\u5bf9\u79f0\u52a0\u5bc6\u5b58\u50a8\u5230\u6587\u4ef6\u7cfb\u7edf\uff0c\u7981\u6b62\u660e\u6587\u5b58\u50a8\u6587\u4ef6 \u3010 \u5bf9\u79f0\u52a0\u5bc6 \u5bc6\u94a5\u7ba1\u7406\uff08\u5982\u4f55\u5b89\u5168\u5b58\u50a8\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\uff09 \u5bf9\u79f0\u52a0\u5bc6\u5bc6\u6587\u7684PADDING\u95ee\u9898 \u3011 \u7cfb\u7edf\u5bf9\u52a0\u5bc6\u540e\u6587\u4ef6\u8fdb\u884c\u6570\u5b57\u7b7e\u540d \u3010 \u6570\u5b57\u7b7e\u540d\uff08\u591a\u79cd\u7b7e\u540d\u5de5\u4f5c\u6a21\u5f0f\u5dee\u5f02\uff09 \u3011 \uff08\u53ef\u9009\uff09\u6587\u4ef6\u79d2\u4f20\uff1a\u670d\u52a1\u5668\u4e0a\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5ba2\u6237\u7aef\u53ef\u4ee5\u4e0d\u5fc5\u518d\u91cd\u590d\u4e0a\u4f20\u4e86 \u57fa\u4e8e\u7f51\u9875\u7684\u52a0\u5bc6\u6587\u4ef6\u4e0b\u8f7d\u4e0e\u89e3\u5bc6\uff0820\u5206\uff09 \u5df2\u5b8c\u6210\u300a\u57fa\u4e8e\u7f51\u9875\u7684\u6587\u4ef6\u4e0a\u4f20\u52a0\u5bc6\u4e0e\u6570\u5b57\u7b7e\u540d\u7cfb\u7edf\u300b\u6240\u6709\u8981\u6c42 \u63d0\u4f9b\u533f\u540d\u7528\u6237\u52a0\u5bc6\u540e\u6587\u4ef6\u548c\u5173\u8054\u7684\u6570\u5b57\u7b7e\u540d\u6587\u4ef6\u7684\u4e0b\u8f7d \u5ba2\u6237\u7aef\u5bf9\u4e0b\u8f7d\u540e\u7684\u6587\u4ef6\u8fdb\u884c\u6570\u5b57\u7b7e\u540d\u9a8c\u8bc1 \u3010 \u975e\u5bf9\u79f0\uff08\u516c\u94a5\uff09\u52a0\u5bc6 \u6570\u5b57\u7b7e\u540d \u3011 \u5ba2\u6237\u7aef\u5bf9\u4e0b\u8f7d\u540e\u7684\u6587\u4ef6\u53ef\u4ee5\u89e3\u5bc6\u8fd8\u539f\u5230\u539f\u59cb\u6587\u4ef6 \u3010 \u5bf9\u79f0\u89e3\u5bc6 \u5bc6\u94a5\u7ba1\u7406 \u3011 \u63d0\u4f9b\u5df2\u767b\u5f55\u7528\u6237\u89e3\u5bc6\u540e\u6587\u4ef6\u4e0b\u8f7d \u4e0b\u8f7dURL\u8bbe\u7f6e\u6709\u6548\u671f\uff08\u9650\u5236\u65f6\u95f4\u6216\u9650\u5236\u4e0b\u8f7d\u6b21\u6570\uff09\uff0c\u8fc7\u671f\u540e\u7981\u6b62\u8bbf\u95ee \u3010 \u6570\u5b57\u7b7e\u540d \u6d88\u606f\u8ba4\u8bc1\u7801 Hash Extension Length Attack Hash\u7b97\u6cd5\u4e0eHMAC\u7b97\u6cd5\u7684\u533a\u522b\u4e0e\u8054\u7cfb \u3011 \u63d0\u4f9b\u9759\u6001\u6587\u4ef6\u7684\u6563\u5217\u503c\u4e0b\u8f7d\uff0c\u4f9b\u4e0b\u8f7d\u6587\u4ef6\u5b8c\u6210\u540e\u672c\u5730\u6821\u9a8c\u6587\u4ef6\u5b8c\u6574\u6027 \u3010 \u6563\u5217\u7b97\u6cd5 \u3011 \u53ef\u4ee5\u57fa\u4e8e PHP \u7248\u5b9e\u73b0\u7684\u8bfe\u7a0b\u7cfb\u7edf\u534a\u6210\u54c1\u6e90\u4ee3\u7801 \u6216 Python \u7248\u5b9e\u73b0\u7684\u8bfe\u7a0b\u7cfb\u7edf\u534a\u6210\u54c1\u6e90\u4ee3\u7801 \u8fdb\u884c\u300c\u4e8c\u6b21\u5f00\u53d1\u300d\uff0c\u4e5f\u53ef\u4ee5\u81ea\u5df1\u4ece\u96f6\u5f00\u59cb\u5f00\u53d1\u3002\u7f16\u7a0b\u8bed\u8a00\u6280\u672f\u6808\u6ca1\u6709\u9650\u5236\u3002\u201c\u4e2d\u4f20\u653e\u5fc3\u4f20\u201d\u4e0d\u662f\u9650\u5b9a\u7684\u9898\u76ee\uff0c\u4ec5\u4f5c\u793a\u4f8b\uff0c\u540c\u5b66\u4eec\u53ef\u4ee5\u81ea\u62df\u5177\u4f53\u4f5c\u54c1\u540d\u3002 \u524d\u65b9\u91cd\u8981\u63d0\u9192 \u5982\u679c\u57fa\u4e8e\u4ee5\u4e0a\u4ee3\u7801\u8fdb\u884c\u300c\u4e8c\u6b21\u5f00\u53d1\u300d\uff0c \u5fc5\u987b\u91c7\u7528 fork + PR \u7684\u65b9\u5f0f\u63d0\u4ea4\u6700\u7ec8\u5b8c\u6210\u7684\u7cfb\u7edf\u6e90\u4ee3\u7801\uff08\u7b2c\u4e09\u65b9\u4f9d\u8d56\u7684\u6e90\u4ee3\u7801\u4e0d\u8981 push \u5230 github\uff09\uff0c\u65b9\u4fbf\u6211\u67e5\u770b\u4f60 \u4f60\u5177\u4f53\u505a\u4e86\u54ea\u4e9b\u6539\u52a8 \u3002","title":"\u5206\u7ec4\u5b8c\u6210\u3010\u5019\u9009\u3011\u9898\u76ee-1 \u201c\u4e2d\u4f20\u653e\u5fc3\u4f20\u201d"},{"location":"ac/2022/index.html#-2","text":"\u4ee5 \u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b \u4f5c\u54c1\u8d5b \u7684\u8981\u6c42\u4e3a\u57fa\u7840\uff08 \u5f00\u653e\u5f0f\u81ea\u4e3b\u547d\u9898\uff0c\u81ea\u4e3b\u8bbe\u8ba1 \uff09\uff0c\u5728\u4f60\u4eec\u7684\u5c0f\u7ec4\u4f5c\u54c1\u4e2d\u9700\u8981\u4eff\u7167\u4e0a\u8ff0\u201c\u4e2d\u4f20\u653e\u5fc3\u4f20\u201d\u8bbe\u8ba1\u7684\u5bc6\u7801\u5b66\u76f8\u5173\u6280\u672f\u8981\u70b9\u5e94\u7528\uff0c\u5728 \u81ea\u547d\u9898\u3001\u81ea\u4e3b\u8bbe\u8ba1 \u7684\u4f5c\u54c1\u4e2d\u81f3\u5c11\u5305\u542b 6 \u4e2a\u4ee5\u4e0a\u7684\u5bc6\u7801\u5b66\u76f8\u5173\u7406\u8bba\u6216\u5173\u952e\u6280\u672f\u7684\u793a\u8303\u5e94\u7528\u3002","title":"\u5206\u7ec4\u5b8c\u6210\u3010\u5019\u9009\u3011\u9898\u76ee-2 \u201c\u5f00\u653e\u5f0f\u547d\u9898\u201d"},{"location":"ac/2022/index.html#_8","text":"\u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c CBC Bit-flipping Attack \u5b9e\u9a8c Padding Oracle Attack \u5b9e\u9a8c Hash Length Extension Attack \u5b9e\u9a8c","title":"\u5355\u5175\u4f5c\u6218"},{"location":"ac/2022/index.html#_9","text":"","title":"\u95ee\u9898\u6e05\u5355"},{"location":"ac/2022/index.html#_10","text":"\u8bf7\u901a\u8fc7\u5c4f\u5e55\u64cd\u4f5c\u5f55\u50cf\u7684\u65b9\u5f0f\uff0c\u5c55\u793a\u4f60\u4eec\u5c0f\u7ec4\u5b8c\u6210\u7684\u7cfb\u7edf\uff0c\u5e76 \u5c3d\u529b\u800c\u4e3a \u5728\u5f55\u50cf\u4e2d\u7ed3\u5408\u64cd\u4f5c\u6f14\u793a\u56de\u7b54\u4ee5\u4e0b\u6bcf\u4e00\u4e2a\u95ee\u9898\u3002 \u5f55\u50cf\u8bf7\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff08\u9996\u9009\u817e\u8baf\u89c6\u9891\uff0c\u4fbf\u4e8e\u4f18\u79c0\u4f5c\u54c1\u53ef\u4ee5\u76f4\u63a5\u5728\u5fae\u4fe1\u516c\u4f17\u53f7\u63a8\u9001\u4e2d\u5d4c\u5165\uff09\uff0c\u52a1\u5fc5\u907f\u514d\u5728\u5f55\u50cf\u4e2d\u6cc4\u6f0f\u4e2a\u4eba\u9690\u79c1\u4fe1\u606f\uff0c\u5728\u5c4f\u5e55\u64cd\u4f5c\u5f55\u50cf\u8fc7\u7a0b\u4e2d\u5efa\u8bae\u5173\u95ed\u5373\u65f6\u901a\u4fe1\u5de5\u5177\u7b49\u6709\u53ef\u80fd\u4f1a\u5f39\u51fa\u901a\u77e5\u7a97\u53e3\u7684\u5e94\u7528\u7a0b\u5e8f\uff0c\u4fdd\u8bc1\u5f55\u50cf\u8d28\u91cf\u548c\u6548\u679c\u3002 \u8bf7\u603b\u7ed3\u4f60\u4eec\u7684\u6240\u6709\u5df2\u5b8c\u6210\u529f\u80fd\u70b9 X.509\u8bc1\u4e66\u4e2d\u5404\u4e2a\u5b57\u6bb5\u542b\u4e49\u3001\u7528\u9014\u89e3\u91ca\u8bf4\u660e\u3002 WEB\u670d\u52a1\u5668\u4f7f\u7528\u7684\u8bc1\u4e66\u548cCA\u4f7f\u7528\u7684\u8bc1\u4e66\u6709\u4ec0\u4e48\u533a\u522b\u548c\u8054\u7cfb\uff1f \u7b80\u8ff0\u4f60\u4eec\u7684\u53e3\u4ee4\u5b89\u5168\u5b58\u50a8\u7b56\u7565\u3002 \u4f60\u4eec\u662f\u5982\u4f55\u5b9e\u73b0\u5f31\u53e3\u4ee4\u68c0\u6d4b\u7684\uff1f \u4f60\u4eec\u662f\u5982\u4f55\u5b9e\u73b0\u5b89\u5168\u7684\u6587\u4ef6\u4e0a\u4f20\u7684\uff1f \u8bf7\u5c55\u793a\u5e76\u8bf4\u660e\u4f60\u4eec\u7684 \u6587\u4ef6\u52a0\u5bc6\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u89e3\u5bc6\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u7b7e\u540d\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u7b7e\u540d\u9a8c\u8bc1\u4ee3\u7801\u7247\u6bb5 \u6587\u4ef6\u5b8c\u6574\u6027\u9a8c\u8bc1\u4ee3\u7801\u7247\u6bb5 \u540c\u4e00\u4e2a\u7528\u6237\u7684\u4e0d\u540c\u6587\u4ef6\u662f\u5426\u4f7f\u7528\u76f8\u540c\u7684\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\uff1f\u5982\u679c\u662f\uff0c\u8bf7\u8bf4\u660e\u5176\u4e2d\u5b58\u5728\u7684\u5b89\u5168\u98ce\u9669\u3002\u5982\u679c\u5426\uff0c\u8bf7\u7ed3\u5408\u4ee3\u7801\u5c55\u793a\u4f60\u4eec\u7684\u6587\u4ef6\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\u7684\u5b58\u50a8\u548c\u63d0\u53d6\u4f7f\u7528\u7b56\u7565 \u4f60\u4eec\u7684\u6587\u4ef6\u4e0b\u8f7d\u8fc7\u671f\u7b56\u7565\u662f\u5982\u4f55\u8bbe\u8ba1\u5e76\u5b9e\u73b0\u7684\uff1f \u5e38\u89c1\u5bf9\u79f0\u52a0\u5bc6\u5de5\u4f5c\u6a21\u5f0f\u6709\u54ea\u4e9b\uff1f\u5404\u81ea\u5e94\u7528\u573a\u666f\u3001\u4f18\u7f3a\u70b9\u8bf4\u660e\u3002 \u7b80\u8ff0RSA\u52a0\u5bc6\u7b97\u6cd5\u548cRSA\u7b7e\u540d\u7b97\u6cd5\u4e4b\u95f4\u7684\u5173\u7cfb\uff1f \u901a\u8fc7 PHP / Python \u5b9e\u73b0\u6587\u4ef6\u6563\u5217\u503c\u8ba1\u7b97\u6709\u54ea\u4e9b\u65b9\u6cd5\uff1f \u4f60\u4eec\u662f\u5982\u4f55\u5b9e\u73b0\u533f\u540d\u7528\u6237\u7981\u6b62\u4e0a\u4f20\u6587\u4ef6\u529f\u80fd\u7684\uff1f \u8bf7\u5c55\u793a\u5e76\u8bf4\u660e\u4f60\u4eec\u7684\u6570\u636e\u5e93\u8868\u7ed3\u6784\u8bbe\u8ba1 \u5728\u8bfe\u7a0b\u7ed3\u9898\u62a5\u544a\u4e2d\u9644\u4e0a\u5728\u7ebf\u89c6\u9891\u94fe\u63a5\u5373\u53ef\u3002","title":"\u5206\u7ec4\u5b8c\u6210"},{"location":"ac/2022/index.html#_11","text":"\u8bfe\u7a0b\u77e5\u8bc6\u56de\u987e\u4e0e\u5c55\u671b \u5728\u5e94\u7528\u5f00\u53d1\u9879\u76ee\u4e2d\u5982\u4f55\u5b89\u5168\u5b9e\u73b0\u5bc6\u7801\u5b66\u7b97\u6cd5","title":"\u53c2\u8003\u8d44\u6599"},{"location":"ac/2023/index.html","text":"2023 \u5e74\u6559\u5b66\u8ba1\u5212 \u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae \u8bfe\u7a0b\u4e3b\u9898\uff1a\u4ece\u5bc6\u7801\u5b66\u7406\u8bba\u5230\u5bc6\u7801\u5b66\u7684\u5de5\u7a0b\u5b9e\u8df5\u4e0e\u5e94\u7528 \u5b9e\u9a8c\u51c6\u5907\uff1a\u81ea\u5907\u7535\u8111\uff0c\u81ea\u884c\u5b89\u6392\u65f6\u95f4\u548c\u5730\u70b9 \u4e0a\u8bfe\u65b9\u5f0f\uff1a\u96c6\u4e2d\u6388\u8bfe1\u6b21+\u5206\u7ec4\u5b66\u4e60+\u81ea\u884c\u7ec4\u961f\u5b8c\u6210\u5927\u4f5c\u4e1a \u8bfe\u7a0b\u9636\u6bb5\u8ba1\u5212 \u672c\u6b21\u5c0f\u5b66\u671f\u8bbe\u8ba1\u4e86 \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u548c \u5355\u5175\u4f5c\u6218 \u4efb\u52a1\u3002\u987e\u540d\u601d\u4e49\uff0c \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u91c7\u53d6\u540c\u5b66\u4eec\u81ea\u7531\u7ec4\u961f \u5206\u7ec4\u5b8c\u6210 \u65b9\u5f0f\uff0c\u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 6 \u4eba\uff0c\u5efa\u8bae 4 \u4eba\u6700\u4f73\uff1b \u5355\u5175\u4f5c\u6218 \u91c7\u53d6\u4e2a\u4eba\u72ec\u7acb\u5b8c\u6210\u65b9\u5f0f\u3002 \u5206\u7ec4\u5b8c\u6210 \u548c \u5355\u5175\u4f5c\u6218 \u81f3\u5c11\u300c\u4e8c\u9009\u4e00\u300d\uff0c\u9f13\u52b1\u5b66\u6709\u4f59\u529b\u7684\u540c\u5b66\u300c\u591a\u52b3\u591a\u5f97\u300d\u3002 \u5206\u7ec4\u5b8c\u6210\u3010\u5019\u9009\u3011\u9898\u76ee-1 \u201c\u4e2d\u4f20\u653e\u5fc3\u4f20\u201d \u57fa\u4e8e\u7f51\u9875\u7684\u7528\u6237\u6ce8\u518c\u4e0e\u767b\u5f55\u7cfb\u7edf\uff0860\u5206\uff09 \u4f7f\u7528https\u7ed1\u5b9a\u8bc1\u4e66\u5230\u57df\u540d\u800c\u975eIP\u5730\u5740 \u3010 PKI X.509 \u3011 \u5141\u8bb8\u7528\u6237\u6ce8\u518c\u5230\u7cfb\u7edf \u7528\u6237\u540d\u7684\u5408\u6cd5\u5b57\u7b26\u96c6\u8303\u56f4\uff1a\u4e2d\u6587\u3001\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57 \u7c7b\u4f3c\uff1a-\u3001_\u3001.\u7b49\u5408\u6cd5\u5b57\u7b26\u96c6\u8303\u56f4\u4e4b\u5916\u7684\u5b57\u7b26\u4e0d\u5141\u8bb8\u4f7f\u7528 \u7528\u6237\u53e3\u4ee4\u957f\u5ea6\u9650\u5236\u572836\u4e2a\u5b57\u7b26\u4e4b\u5185 \u5bf9\u7528\u6237\u8f93\u5165\u7684\u53e3\u4ee4\u8fdb\u884c\u5f3a\u5ea6\u6821\u9a8c\uff0c\u7981\u6b62\u4f7f\u7528\u5f31\u53e3\u4ee4 \u4f7f\u7528\u5408\u6cd5\u7528\u6237\u540d\u548c\u53e3\u4ee4\u767b\u5f55\u7cfb\u7edf \u7981\u6b62\u4f7f\u7528\u660e\u6587\u5b58\u50a8\u7528\u6237\u53e3\u4ee4 \u3010 PBKDF2 \u6563\u5217\u7b97\u6cd5 \u6162\u901f\u6563\u5217 \u9488\u5bf9\u6563\u5217\u7b97\u6cd5\uff08\u5982MD5\u3001SHA1\u7b49\uff09\u7684\u653b\u51fb\u65b9\u6cd5 \u3011 \u5b58\u50a8\u7684\u53e3\u4ee4\u5373\u4f7f\u88ab\u516c\u5f00\uff0c\u4e5f\u65e0\u6cd5\u8fd8\u539f/\u89e3\u7801\u51fa\u539f\u59cb\u660e\u6587\u53e3\u4ee4 \uff08\u53ef\u9009\uff09\u5b89\u5168\u7684\u5fd8\u8bb0\u53e3\u4ee4 / \u627e\u56de\u5bc6\u7801\u529f\u80fd \uff08\u53ef\u9009\uff09\u5fae\u4fe1/\u5fae\u535a/\u652f\u4ed8\u5b9d\u7684OAuth\u6388\u6743\u767b\u5f55 / \u6ce8\u518c\u7ed1\u5b9a \uff08\u53ef\u9009\uff09\u53cc\u56e0\u7d20\u8ba4\u8bc1 OTP: Google Authenticator Email SMS \u626b\u7801\u767b\u5f55 \u57fa\u4e8e\u7f51\u9875\u7684\u6587\u4ef6\u4e0a\u4f20\u52a0\u5bc6\u4e0e\u6570\u5b57\u7b7e\u540d\u7cfb\u7edf\uff0820\u5206\uff09 \u5df2\u5b8c\u6210\u300a\u57fa\u4e8e\u7f51\u9875\u7684\u7528\u6237\u6ce8\u518c\u4e0e\u767b\u5f55\u7cfb\u7edf\u300b\u6240\u6709\u8981\u6c42 \u9650\u5236\u6587\u4ef6\u5927\u5c0f\uff1a\u5c0f\u4e8e 10MB \u9650\u5236\u6587\u4ef6\u7c7b\u578b\uff1aoffice\u6587\u6863\u3001\u5e38\u89c1\u56fe\u7247\u7c7b\u578b \u533f\u540d\u7528\u6237\u7981\u6b62\u4e0a\u4f20\u6587\u4ef6 \u5bf9\u6587\u4ef6\u8fdb\u884c\u5bf9\u79f0\u52a0\u5bc6\u5b58\u50a8\u5230\u6587\u4ef6\u7cfb\u7edf\uff0c\u7981\u6b62\u660e\u6587\u5b58\u50a8\u6587\u4ef6 \u3010 \u5bf9\u79f0\u52a0\u5bc6 \u5bc6\u94a5\u7ba1\u7406\uff08\u5982\u4f55\u5b89\u5168\u5b58\u50a8\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\uff09 \u5bf9\u79f0\u52a0\u5bc6\u5bc6\u6587\u7684PADDING\u95ee\u9898 \u3011 \u7cfb\u7edf\u5bf9\u52a0\u5bc6\u540e\u6587\u4ef6\u8fdb\u884c\u6570\u5b57\u7b7e\u540d \u3010 \u6570\u5b57\u7b7e\u540d\uff08\u591a\u79cd\u7b7e\u540d\u5de5\u4f5c\u6a21\u5f0f\u5dee\u5f02\uff09 \u3011 \uff08\u53ef\u9009\uff09\u6587\u4ef6\u79d2\u4f20\uff1a\u670d\u52a1\u5668\u4e0a\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5ba2\u6237\u7aef\u53ef\u4ee5\u4e0d\u5fc5\u518d\u91cd\u590d\u4e0a\u4f20\u4e86 \u57fa\u4e8e\u7f51\u9875\u7684\u52a0\u5bc6\u6587\u4ef6\u4e0b\u8f7d\u4e0e\u89e3\u5bc6\uff0820\u5206\uff09 \u5df2\u5b8c\u6210\u300a\u57fa\u4e8e\u7f51\u9875\u7684\u6587\u4ef6\u4e0a\u4f20\u52a0\u5bc6\u4e0e\u6570\u5b57\u7b7e\u540d\u7cfb\u7edf\u300b\u6240\u6709\u8981\u6c42 \u63d0\u4f9b\u533f\u540d\u7528\u6237\u52a0\u5bc6\u540e\u6587\u4ef6\u548c\u5173\u8054\u7684\u6570\u5b57\u7b7e\u540d\u6587\u4ef6\u7684\u4e0b\u8f7d \u5ba2\u6237\u7aef\u5bf9\u4e0b\u8f7d\u540e\u7684\u6587\u4ef6\u8fdb\u884c\u6570\u5b57\u7b7e\u540d\u9a8c\u8bc1 \u3010 \u975e\u5bf9\u79f0\uff08\u516c\u94a5\uff09\u52a0\u5bc6 \u6570\u5b57\u7b7e\u540d \u3011 \u5ba2\u6237\u7aef\u5bf9\u4e0b\u8f7d\u540e\u7684\u6587\u4ef6\u53ef\u4ee5\u89e3\u5bc6\u8fd8\u539f\u5230\u539f\u59cb\u6587\u4ef6 \u3010 \u5bf9\u79f0\u89e3\u5bc6 \u5bc6\u94a5\u7ba1\u7406 \u3011 \u63d0\u4f9b\u5df2\u767b\u5f55\u7528\u6237\u89e3\u5bc6\u540e\u6587\u4ef6\u4e0b\u8f7d \u4e0b\u8f7dURL\u8bbe\u7f6e\u6709\u6548\u671f\uff08\u9650\u5236\u65f6\u95f4\u6216\u9650\u5236\u4e0b\u8f7d\u6b21\u6570\uff09\uff0c\u8fc7\u671f\u540e\u7981\u6b62\u8bbf\u95ee \u3010 \u6570\u5b57\u7b7e\u540d \u6d88\u606f\u8ba4\u8bc1\u7801 Hash Extension Length Attack Hash\u7b97\u6cd5\u4e0eHMAC\u7b97\u6cd5\u7684\u533a\u522b\u4e0e\u8054\u7cfb \u3011 \u63d0\u4f9b\u9759\u6001\u6587\u4ef6\u7684\u6563\u5217\u503c\u4e0b\u8f7d\uff0c\u4f9b\u4e0b\u8f7d\u6587\u4ef6\u5b8c\u6210\u540e\u672c\u5730\u6821\u9a8c\u6587\u4ef6\u5b8c\u6574\u6027 \u3010 \u6563\u5217\u7b97\u6cd5 \u3011 \u53ef\u4ee5\u57fa\u4e8e PHP \u7248\u5b9e\u73b0\u7684\u8bfe\u7a0b\u7cfb\u7edf\u534a\u6210\u54c1\u6e90\u4ee3\u7801 \u6216 Python \u7248\u5b9e\u73b0\u7684\u8bfe\u7a0b\u7cfb\u7edf\u534a\u6210\u54c1\u6e90\u4ee3\u7801 \u8fdb\u884c\u300c\u4e8c\u6b21\u5f00\u53d1\u300d\uff0c\u4e5f\u53ef\u4ee5\u81ea\u5df1\u4ece\u96f6\u5f00\u59cb\u5f00\u53d1\u3002\u7f16\u7a0b\u8bed\u8a00\u6280\u672f\u6808\u6ca1\u6709\u9650\u5236\u3002\u201c\u4e2d\u4f20\u653e\u5fc3\u4f20\u201d\u4e0d\u662f\u9650\u5b9a\u7684\u9898\u76ee\uff0c\u4ec5\u4f5c\u793a\u4f8b\uff0c\u540c\u5b66\u4eec\u53ef\u4ee5\u81ea\u62df\u5177\u4f53\u4f5c\u54c1\u540d\u3002 \u524d\u65b9\u91cd\u8981\u63d0\u9192 \u5982\u679c\u57fa\u4e8e\u4ee5\u4e0a\u4ee3\u7801\u8fdb\u884c\u300c\u4e8c\u6b21\u5f00\u53d1\u300d\uff0c \u5fc5\u987b\u91c7\u7528 fork + PR \u7684\u65b9\u5f0f\u63d0\u4ea4\u6700\u7ec8\u5b8c\u6210\u7684\u7cfb\u7edf\u6e90\u4ee3\u7801\uff08\u7b2c\u4e09\u65b9\u4f9d\u8d56\u7684\u6e90\u4ee3\u7801\u4e0d\u8981 push \u5230 github\uff09\uff0c\u65b9\u4fbf\u6211\u67e5\u770b\u4f60 \u4f60\u5177\u4f53\u505a\u4e86\u54ea\u4e9b\u6539\u52a8 \u3002 \u5206\u7ec4\u5b8c\u6210\u3010\u5019\u9009\u3011\u9898\u76ee-2 \u201c\u5f00\u653e\u5f0f\u547d\u9898\u201d \u4ee5 \u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b \u4f5c\u54c1\u8d5b \u7684\u8981\u6c42\u4e3a\u57fa\u7840\uff08 \u5f00\u653e\u5f0f\u81ea\u4e3b\u547d\u9898\uff0c\u81ea\u4e3b\u8bbe\u8ba1 \uff09\uff0c\u5728\u4f60\u4eec\u7684\u5c0f\u7ec4\u4f5c\u54c1\u4e2d\u9700\u8981\u4eff\u7167\u4e0a\u8ff0\u201c\u4e2d\u4f20\u653e\u5fc3\u4f20\u201d\u8bbe\u8ba1\u7684\u5bc6\u7801\u5b66\u76f8\u5173\u6280\u672f\u8981\u70b9\u5e94\u7528\uff0c\u5728 \u81ea\u547d\u9898\u3001\u81ea\u4e3b\u8bbe\u8ba1 \u7684\u4f5c\u54c1\u4e2d\u81f3\u5c11\u5305\u542b 6 \u4e2a\u4ee5\u4e0a\u7684\u5bc6\u7801\u5b66\u76f8\u5173\u7406\u8bba\u6216\u5173\u952e\u6280\u672f\u7684\u793a\u8303\u5e94\u7528\u3002 \u5355\u5175\u4f5c\u6218 \u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c CBC Bit-flipping Attack \u5b9e\u9a8c Padding Oracle Attack \u5b9e\u9a8c Hash Length Extension Attack \u5b9e\u9a8c \u7ed3\u8bfe\u5927\u4f5c\u4e1a\u57fa\u672c\u8981\u6c42 \u5171\u6027\u8981\u6c42 \u5b9e\u8df5\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4ea7\u751f\u7684\u6587\u6863\u3001\u4ee3\u7801\u5747\u53ef\u4ee5\u91c7\u7528 Github/ Gitlab /Gitee \u7684\u65b9\u5f0f\u7ba1\u7406\uff08\u8fd9\u662f\u4e00\u4e2a\u9f13\u52b1\u548c\u652f\u6301\u7684\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u5efa\u8bae\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5370\u8c61\u5206\u54e6\uff5e\uff09\uff1b \u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528zip\u683c\u5f0f\u6253\u5305\u5e76\u63d0\u4ea4\u5230\u5b66\u6821\u7545\u8bfe\u5e73\u53f0\u6307\u5b9a\u4f5c\u4e1a\u6a21\u5757\uff08\u540e\u7eed\u5728\u8bfe\u7a0b\u5fae\u4fe1\u7fa4\u3001\u7545\u8bfe\u5e73\u53f0\u8bfe\u7a0b\u516c\u544a\u6a21\u5757\u8fdb\u884c\u901a\u77e5\uff0c\u6ce8\u610f\u67e5\u770b\uff09\u3002\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u59d3\u540d4_\u59d3\u540d5_\u59d3\u540d6_\u4f5c\u4e1a\u9898\u76ee.zip \uff1b \u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167\u5bf9\u7ed3\u8bfe\u4f5c\u4e1a\u7684\u8d21\u732e\u7a0b\u5ea6\u6392\u540d\uff1b \u6bcf\u4eba \u72ec\u7acb\u5b8c\u6210\u4e00\u4efd \u300c\u4e2a\u4eba\u300d\u603b\u7ed3\u6280\u672f\u62a5\u544a\uff1b markdown \u4e66\u5199\uff0c\u5efa\u8bae\u53c2\u7167 \u57fa\u4e8e Markdown \u7684\u4e2d\u6587\u6587\u6863\u6392\u7248\u89c4\u8303 \u5bf9\u603b\u7ed3\u6280\u672f\u62a5\u544a\u8fdb\u884c\u6392\u7248\uff1b \u5185\u5bb9\u91cd\u70b9\u5f3a\u8c03\uff1a\u4e2a\u4eba\u5728\u672c\u6b21\u5927\u4f5c\u4e1a\u4e2d\u7684\u4e3b\u8981\u8d21\u732e\uff1b\u5b8c\u6210\u4e86\u54ea\u4e9b\u81ea\u8ba4\u4e3a\u6709\u6280\u672f\u542b\u91cf\u7684\u5de5\u4f5c\uff1b\u5370\u8c61\u6df1\u523b\u7684\u4e00\u4e9b bug \u548c\u81ea\u5df1\u7684\u89e3\u51b3\u65b9\u6cd5\uff1b \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\uff1b \u89c6\u9891\u6587\u4ef6\u53ef\u4ee5\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff0c\u7136\u540e\u5728\u603b\u7ed3\u62a5\u544a\u6587\u6863\u4e2d\u9644\u4e0a\u89c6\u9891\u94fe\u63a5\u5373\u53ef\uff0c\u4ee5\u51cf\u5c0f\u538b\u7f29\u5305\u5927\u5c0f\uff1b \u5df2\u5728 Github/ Gitlab /Gitee \u4e0a\u4f20\u6240\u6709\u6587\u4ef6\u7684\u5c0f\u7ec4\uff0c\u5728\u5b9e\u9a8c\u62a5\u544a\u4e2d\u540c\u6837\u9700\u8981\u9644\u4e0a\u9879\u76ee\u4ed3\u5e93\u5730\u5740\u5907\u67e5\u3002 \u7ed3\u8bfe\u6750\u6599\u63d0\u4ea4 DDL\uff1a2023.7.28 23:59:59\u3002 \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\u3002 \u63a8\u8350\u7684\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u7ec4\u7ec7\u5f62\u5f0f \u251c\u2500\u2500 0_\u5f20\u4e09 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 1_\u674e\u56db \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 2_\u738b\u4e94 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 3_\u8d75\u516d \u2502 \u2514\u2500\u2500 README.md \u2514\u2500\u2500 README.md \u5982\u679c\u662f\u9009\u62e9 \u5355\u5175\u4f5c\u6218 \u7684\u540c\u5b66\uff0c\u5219\u65e0\u9700\u521b\u5efa\u4ee5\u81ea\u5df1\u59d3\u540d\u547d\u540d\u7684\u5b50\u76ee\u5f55\u3002\u4e0a\u8ff0\u4e00\u7ea7\u5b50\u76ee\u5f55\u540d\u8bf7\u66f4\u6362\u6210\u5177\u4f53\u5b9e\u9a8c\u4efb\u52a1\u540d\uff0c\u4f8b\u5982 0_\u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c \u3001 1_Padding Oracle Attack \u5b9e\u9a8c \u3002\u6839\u76ee\u5f55\u4e0b\u7684 README.md \u5185\u5bb9\u53ea\u9700\u8981\u63d0\u4f9b\u63d0\u4f9b\u6240\u5b8c\u6210\u7684\u5177\u4f53\u5b9e\u9a8c\u4efb\u52a1\u7684\u76f8\u5bf9\u94fe\u63a5\u4fe1\u606f\u5373\u53ef\uff0c\u5982\u4e0b\u6240\u793a\uff1a - [ 0_\u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c ]( 0_\u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c/README.md ) - [ 1_Padding Oracle Attack \u5b9e\u9a8c ]( 1_Padding Oracle Attack \u5b9e\u9a8c/README.md ) \u5982\u679c\u662f\u9009\u62e9\u5728 \u516c\u5f00\u4ed3\u5e93 \u63d0\u4ea4\u4f5c\u54c1\uff0c\u5219\u65e0\u9700\u5b9e\u540d\u547d\u540d\u4e0a\u8ff0\u5b50\u76ee\u5f55\uff0c\u53ef\u4ee5\u4f7f\u7528\u81ea\u5df1\u7684 \u7f51\u7edc ID \uff0c\u4f46\u662f\u5728\u6253\u5305\u63d0\u4ea4\u5230\u7545\u8bfe\u4f5c\u4e1a\u533a\u7684\u6700\u7ec8\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u91cc\u9700\u8981\u4f7f\u7528\u5b9e\u540d\u3002 \u5982\u679c\u662f\u9009\u62e9 \u5206\u7ec4\u5b8c\u6210 \u7684\u5b9e\u8df5\u62a5\u544a\uff0c\u6839\u76ee\u5f55\u4e0b\u7684 README.md \u5185\u5bb9\u7edf\u4e00\u8981\u6c42\u5982\u4e0b\uff0c\u793a\u8303 README \u89c1 ac-demo \uff1a # \u4f5c\u54c1\u540d > \u4e00\u53e5\u8bdd\u7b80\u4ecb\u3002 ## \u529f\u80fd\u6e05\u5355 > \u5217\u8868\u5f62\u5f0f\u8bf4\u660e\u9010\u4e2a\u529f\u80fd\u8981\u70b9\u3002 ## \u672c\u9879\u76ee\u7528\u5230\u7684\u5173\u952e\u6280\u672f > \u672c\u4f5c\u54c1\u4e2d\u5305\u542b\u7684\u5bc6\u7801\u5b66\u7406\u8bba\u4e0e\u6280\u672f\u793a\u8303\u5e94\u7528\u8981\u70b9\u8bf4\u660e\uff0c\u5217\u8868\u5f62\u5f0f\u3001\u9010\u4e2a\u8981\u70b9\u8bf4\u660e\u3002 ## \u5feb\u901f\u4e0a\u624b\u4f53\u9a8c > \u5feb\u901f\u5b89\u88c5\u4e0e\u4f7f\u7528\u65b9\u6cd5\u8bf4\u660e\u3002 ## \u6f14\u793a > \u8bfe\u7a0b\u7ed3\u9898\u62a5\u544a\u4e0e\u7cfb\u7edf\u529f\u80fd\u64cd\u4f5c\u89c6\u9891\u6f14\u793a\u5730\u5740\u3002 ## \u9644\u5f55-1 \uff08\u53ef\u9009\uff09 ## \u9644\u5f55-2 \uff08\u53ef\u9009\uff09 \u5206\u7ec4\u5b8c\u6210 \u6bcf\u4e2a\u9898\u76ee\u7684\u9a8c\u6536\u6807\u51c6\u5305\u62ec\uff1a \u5b8c\u6210\u5ea6\uff1a\u5047\u8bbe\u9898\u76ee\u8981\u6c42\u7684\u4e00\u7ea7\u9700\u6c42\u670910\u6761\uff0c\u6700\u7ec8\u5b8c\u6210\u4e868\u6761\uff0c\u5219\u5b8c\u6210\u5ea6\uff1d8/10*100%=80% \u5b8c\u6210\u8d28\u91cf\uff1a\u58f0\u79f0\u5df2\u5b8c\u6210\u7684\u9700\u6c42\uff0c\u7ecf\u8fc7\u68c0\u67e5\u540e\u8ba4\u5b9a\u5b9e\u9645\u7684\u5b8c\u6210\u8d28\u91cf \u5927\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u8bf7\u5728 Github / Gitlab /Gitee \u4e0a\u5efa\u7acb\u5c0f\u7ec4\u7684\u9879\u76ee\u4ed3\u5e93\uff0c\u6bcf\u4e2a\u7ec4\u5458\u7684\u65e5\u5e38\u5b8c\u6210\u8fdb\u5ea6\u901a\u8fc7 git \u63d0\u4ea4\u5386\u53f2\u6765\u4f53\u73b0\u3002 \u5982\u679c\u662f \u79c1\u6709 \u4ed3\u5e93\uff0c\u8bf7\u9080\u8bf7 c4pr1c3@github /\u5176\u4ed6\u5e73\u53f0\u8bf7\u5fae\u4fe1\u79c1\u4fe1\u6211 \u6210\u4e3a\u4f60\u4eec\u5c0f\u7ec4\u5efa\u7acb\u7684\u4ed3\u5e93\u7684\u534f\u4f5c\u8005\uff08Collaborators\uff09\uff1b \u5982\u679c\u662f Fork \u6837\u4f8b\u4ed3\u5e93\uff0c\u5219\u65e0\u9700\u505a\u7279\u522b\u8bbe\u7f6e\uff1b \u4e0d\u8981\u5728\u4f60\u63d0\u4ea4\u7684\u4efb\u4f55\u6750\u6599\u4e2d\u51fa\u73b0\u4efb\u4f55\u91cd\u8981\u4e2a\u4eba\u9690\u79c1\u4fe1\u606f\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u59d3\u540d\u3001\u5b66\u53f7\u3001\u5bc6\u7801\u7b49\uff1b \u4f5c\u4e1a\u63d0\u4ea4\u5185\u5bb9\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u4ee3\u7801\u3001markdown \u683c\u5f0f\u7684\u6587\u6863\u3001\u56fe\u7247\u7b49\uff1b \u7ec4\u957f\u521b\u5efa\u4ed3\u5e93\uff0c\u7ec4\u5458\u53ef\u4ee5\u5728 Github \u540e\u53f0\u6dfb\u52a0\u5230 Collaborators \u6216\u901a\u8fc7 Fork + PR \u7684\u65b9\u5f0f\u6765\u5b9e\u73b0\u534f\u540c\u5f00\u53d1\u548c\u7f16\u8f91\uff1b \u4e0d\u5efa\u8bae\u76f4\u63a5\u4f7f\u7528 Github \u5b98\u65b9\u5ba2\u6237\u7aef\uff0c\u63a8\u8350\u4f7f\u7528 git \u547d\u4ee4\u884c\u5ba2\u6237\u7aef\uff1b commit \u6ce8\u91ca\u5e94\u8be5\u6e05\u6670\u660e\u4e86\uff0c\u8bf4\u660e\u672c\u6b21\u63d0\u4ea4\u7684\u76ee\u7684\uff0c\u4e0d\u8981\u641e\u51fa\u4e00\u5806\u7684 Add files via upload \uff1b \u7981\u6b62\u63d0\u4ea4\uff1a\u4e34\u65f6\u6587\u4ef6\uff08\u6587\u672c\u7f16\u8f91\u5668\u4ea7\u751f\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u5907\u4efd\u6587\u4ef6\u7b49\uff09\u3001\u4e2d\u95f4\u7ed3\u679c\u6587\u4ef6\uff08.exe\u3001.pdb\u3001.log\u7b49\u90fd\u662f\u5178\u578b\u4ee3\u8868\uff09 \u56fe\u7247\u5e94\u5728\u4fdd\u6301\u6e05\u6670\u5ea6\u3001\u4e0d\u5f71\u54cd\u9605\u8bfb\u7684\u524d\u63d0\u4e0b\u8fdb\u884c\u5fc5\u8981\u7684\u5c3a\u5bf8\u88c1\u526a\u548c\u56fe\u50cf\u538b\u7f29\u4ee5\u51cf\u5c11\u56fe\u7247\u6587\u4ef6\u5360\u7528\u5b58\u50a8\u7a7a\u95f4\u5927\u5c0f\uff1b \u8bfe\u7a0b\u603b\u8bc4\u5206\u6570\uff1d\u7cfb\u7edf\u5b9e\u73b0\uff08\u4ee3\u7801\uff09* 60% + \u7ed3\u9898\u62a5\u544a\u56fe\u6587\u7248 * 20% + \u7ed3\u9898\u62a5\u544a\u89c6\u9891\u7248 * 20% \u5355\u5175\u4f5c\u6218 \u4ece\u63a8\u8350\u5b9e\u9a8c\u4e2d\u81f3\u5c11\u9009\u62e9\u5e76\u5b8c\u6210 1 \u4e2a \uff0810 \u5206\uff09 \u4eff\u7167 \u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c\u6307\u5357 \u548c Padding Oracle Attack \u5b9e\u9a8c\u6307\u5357 \u7684\u5f62\u5f0f\u7f16\u5199\u5b9e\u9a8c\u62a5\u544a \uff08 70 \u5206\uff09 \u6392\u7248\u8d28\u91cf 10% \u5185\u5bb9\u4e13\u4e1a\u6027\u7a0b\u5ea6 20% \u5b9e\u9a8c\u64cd\u4f5c\u6b65\u9aa4\u8be6\u7ec6\u7a0b\u5ea6\uff08\u64cd\u4f5c\u6548\u679c\u622a\u56fe\u3001\u4ee3\u7801\uff09 60% \u53c2\u8003\u6587\u732e\u5f15\u7528\u6807\u6ce8 10% \u9664\u4e86\u6309\u7167\u4e0a\u8ff0\u5b9e\u9a8c\u5b98\u65b9\u6307\u5357\u4e2d\u7684\u65b9\u6cd5\u548c\u5de5\u5177\u5b8c\u6210\u5b9e\u9a8c\u4e4b\u5916\uff0c\u518d\u4f7f\u7528\u53e6\u4e00\u79cd\u7f16\u7a0b\u8bed\u8a00\u6216\u5de5\u5177\u5b8c\u6210\u5b9e\u9a8c \uff0810 \u5206\uff09 \u9644\u52a0\u5206 \u7f16\u5199\u300c\u81ea\u52a8\u5316\u6f0f\u6d1e\u5229\u7528\u811a\u672c\u300d+10 \u5b8c\u6210 3 \u4e2a\u6216\u4ee5\u4e0a\u5b9e\u9a8c +10 \u6700\u7ec8\u6210\u7ee9\uff1a\u4e0a\u8ff0\u5206\u9879\u5f97\u5206\u7d2f\u52a0 x 80% \uff0890 \u5206\u5c01\u9876\uff09 \u7ed3\u8bfe\u5927\u4f5c\u4e1a\u9898\u76ee \u5206\u7ec4\u5b8c\u6210\u5f55\u5236\u7ed3\u8bfe\u89c6\u9891\u7684\u95ee\u9898\u6e05\u5355 \u8bf7\u901a\u8fc7\u5c4f\u5e55\u64cd\u4f5c\u5f55\u50cf\u7684\u65b9\u5f0f\uff0c\u5c55\u793a\u4f60\u4eec\u5c0f\u7ec4\u5b8c\u6210\u7684\u7cfb\u7edf\uff0c\u5e76 \u5c3d\u529b\u800c\u4e3a \u5728\u5f55\u50cf\u4e2d\u7ed3\u5408\u64cd\u4f5c\u6f14\u793a\u56de\u7b54\u4ee5\u4e0b\u6bcf\u4e00\u4e2a\u95ee\u9898\uff0c\u89c6\u9891\u65f6\u957f\u9650\u5236\u5728 10 \u5206\u949f\u4ee5\u5185\uff0c\u4e0d\u8981\u4f7f\u7528\u500d\u901f\u6a21\u5f0f\u3002 \u5f55\u50cf\u8bf7\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff08\u63a8\u8350 B\u7ad9 \uff0c\u4e0a\u4f20\u540e\u8bf7\u5728\u89c6\u9891\u8bc4\u8bba\u533a @\u9ec4\u836f\u5e08\u6f2b\u6b65\u6843\u82b1\u5c9b \uff09\uff0c \u52a1\u5fc5\u907f\u514d\u5728\u5f55\u50cf\u4e2d\u6cc4\u6f0f\u4e2a\u4eba\u9690\u79c1\u4fe1\u606f\uff0c\u5728\u5c4f\u5e55\u64cd\u4f5c\u5f55\u50cf\u8fc7\u7a0b\u4e2d\u5efa\u8bae\u5173\u95ed\u5373\u65f6\u901a\u4fe1\u5de5\u5177\u7b49\u6709\u53ef\u80fd\u4f1a\u5f39\u51fa\u901a\u77e5\u7a97\u53e3\u7684\u5e94\u7528\u7a0b\u5e8f \uff0c\u4fdd\u8bc1\u5f55\u50cf\u8d28\u91cf\u548c\u6548\u679c\u3002 \u8bf7\u901a\u8fc7\u5177\u4f53\u64cd\u4f5c\u6f14\u793a\u7684\u65b9\u5f0f\uff0c\u5c55\u793a\u5e76\u8bf4\u660e\u4f60\u4eec\u7684 \u6587\u4ef6\u52a0\u5bc6\u4ee3\u7801\u7247\u6bb5\uff1a\u7528\u6237\u4e0a\u4f20\u6587\u4ef6\u540e\uff0c\u5bf9\u5e94\u5728\u670d\u52a1\u5668\u7aef\u5b58\u50a8\u7684\u662f\u5426\u662f\u5bc6\u6587\u6587\u4ef6\u3002 \u6587\u4ef6\u89e3\u5bc6\u4ee3\u7801\u7247\u6bb5\uff1a\u975e\u6587\u4ef6\u6240\u6709\u8005\u4e0b\u8f7d\u5e76\u89e3\u5bc6\u4e0a\u8ff0\u5bc6\u6587\u6587\u4ef6\u7684\u5177\u4f53\u64cd\u4f5c\u8fc7\u7a0b\u548c\u5bf9\u5e94\u7684\u5173\u952e\u4ee3\u7801\u7247\u6bb5\u3002 \u6587\u4ef6\u7b7e\u540d\u4ee3\u7801\u7247\u6bb5\uff1a\u7528\u6237\u4e0a\u4f20\u6587\u4ef6\u540e\uff0c\u5bf9\u5e94\u5728\u670d\u52a1\u5668\u7aef\u7684\u7b7e\u540d\u4fe1\u606f\u662f\u5982\u4f55\u5b58\u50a8\u7684\u3002 \u6587\u4ef6\u7b7e\u540d\u9a8c\u8bc1\u4ee3\u7801\u7247\u6bb5\uff1a\u975e\u6587\u4ef6\u6240\u6709\u8005\u4e0b\u8f7d\u5e76\u9a8c\u8bc1\u4e0a\u8ff0\u5bc6\u6587\u6587\u4ef6\u7684\u7b7e\u540d\u4fe1\u606f\u7684\u5177\u4f53\u64cd\u4f5c\u8fc7\u7a0b\u548c\u5bf9\u5e94\u7684\u5173\u952e\u4ee3\u7801\u7247\u6bb5\u3002 \u540c\u4e00\u4e2a\u7528\u6237\u7684\u4e0d\u540c\u6587\u4ef6\u662f\u5426\u4f7f\u7528\u76f8\u540c\u7684\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\uff1f\u5982\u679c\u662f\uff0c\u8bf7\u8bf4\u660e\u5176\u4e2d\u5b58\u5728\u7684\u5b89\u5168\u98ce\u9669\u3002\u5982\u679c\u5426\uff0c\u8bf7\u7ed3\u5408\u4ee3\u7801\u5c55\u793a\u4f60\u4eec\u7684\u6587\u4ef6\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\u7684\u5b58\u50a8\u548c\u63d0\u53d6\u4f7f\u7528\u7b56\u7565 \u4f60\u4eec\u7684\u6587\u4ef6\u4e0b\u8f7d\u8fc7\u671f\u7b56\u7565\u662f\u5982\u4f55\u8bbe\u8ba1\u5e76\u5b9e\u73b0\u7684\uff1f \u8bf7\u5c55\u793a\u5e76\u8bf4\u660e\u4f60\u4eec\u7684\u6570\u636e\u5e93\u8868\u7ed3\u6784\u8bbe\u8ba1\u3002 \u5728\u8bfe\u7a0b\u7ed3\u9898\u62a5\u544a\u4e2d\u9644\u4e0a\u5728\u7ebf\u89c6\u9891\u94fe\u63a5\u5373\u53ef\u3002 \u53c2\u8003\u8d44\u6599 \u8bfe\u7a0b\u77e5\u8bc6\u56de\u987e\u4e0e\u5c55\u671b \u5728\u5e94\u7528\u5f00\u53d1\u9879\u76ee\u4e2d\u5982\u4f55\u5b89\u5168\u5b9e\u73b0\u5bc6\u7801\u5b66\u7b97\u6cd5","title":"2023\u5e74"},{"location":"ac/2023/index.html#2023","text":"","title":"2023 \u5e74\u6559\u5b66\u8ba1\u5212"},{"location":"ac/2023/index.html#_1","text":"\u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae \u8bfe\u7a0b\u4e3b\u9898\uff1a\u4ece\u5bc6\u7801\u5b66\u7406\u8bba\u5230\u5bc6\u7801\u5b66\u7684\u5de5\u7a0b\u5b9e\u8df5\u4e0e\u5e94\u7528 \u5b9e\u9a8c\u51c6\u5907\uff1a\u81ea\u5907\u7535\u8111\uff0c\u81ea\u884c\u5b89\u6392\u65f6\u95f4\u548c\u5730\u70b9 \u4e0a\u8bfe\u65b9\u5f0f\uff1a\u96c6\u4e2d\u6388\u8bfe1\u6b21+\u5206\u7ec4\u5b66\u4e60+\u81ea\u884c\u7ec4\u961f\u5b8c\u6210\u5927\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"ac/2023/index.html#_2","text":"\u672c\u6b21\u5c0f\u5b66\u671f\u8bbe\u8ba1\u4e86 \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u548c \u5355\u5175\u4f5c\u6218 \u4efb\u52a1\u3002\u987e\u540d\u601d\u4e49\uff0c \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u91c7\u53d6\u540c\u5b66\u4eec\u81ea\u7531\u7ec4\u961f \u5206\u7ec4\u5b8c\u6210 \u65b9\u5f0f\uff0c\u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 6 \u4eba\uff0c\u5efa\u8bae 4 \u4eba\u6700\u4f73\uff1b \u5355\u5175\u4f5c\u6218 \u91c7\u53d6\u4e2a\u4eba\u72ec\u7acb\u5b8c\u6210\u65b9\u5f0f\u3002 \u5206\u7ec4\u5b8c\u6210 \u548c \u5355\u5175\u4f5c\u6218 \u81f3\u5c11\u300c\u4e8c\u9009\u4e00\u300d\uff0c\u9f13\u52b1\u5b66\u6709\u4f59\u529b\u7684\u540c\u5b66\u300c\u591a\u52b3\u591a\u5f97\u300d\u3002","title":"\u8bfe\u7a0b\u9636\u6bb5\u8ba1\u5212"},{"location":"ac/2023/index.html#-1","text":"\u57fa\u4e8e\u7f51\u9875\u7684\u7528\u6237\u6ce8\u518c\u4e0e\u767b\u5f55\u7cfb\u7edf\uff0860\u5206\uff09 \u4f7f\u7528https\u7ed1\u5b9a\u8bc1\u4e66\u5230\u57df\u540d\u800c\u975eIP\u5730\u5740 \u3010 PKI X.509 \u3011 \u5141\u8bb8\u7528\u6237\u6ce8\u518c\u5230\u7cfb\u7edf \u7528\u6237\u540d\u7684\u5408\u6cd5\u5b57\u7b26\u96c6\u8303\u56f4\uff1a\u4e2d\u6587\u3001\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57 \u7c7b\u4f3c\uff1a-\u3001_\u3001.\u7b49\u5408\u6cd5\u5b57\u7b26\u96c6\u8303\u56f4\u4e4b\u5916\u7684\u5b57\u7b26\u4e0d\u5141\u8bb8\u4f7f\u7528 \u7528\u6237\u53e3\u4ee4\u957f\u5ea6\u9650\u5236\u572836\u4e2a\u5b57\u7b26\u4e4b\u5185 \u5bf9\u7528\u6237\u8f93\u5165\u7684\u53e3\u4ee4\u8fdb\u884c\u5f3a\u5ea6\u6821\u9a8c\uff0c\u7981\u6b62\u4f7f\u7528\u5f31\u53e3\u4ee4 \u4f7f\u7528\u5408\u6cd5\u7528\u6237\u540d\u548c\u53e3\u4ee4\u767b\u5f55\u7cfb\u7edf \u7981\u6b62\u4f7f\u7528\u660e\u6587\u5b58\u50a8\u7528\u6237\u53e3\u4ee4 \u3010 PBKDF2 \u6563\u5217\u7b97\u6cd5 \u6162\u901f\u6563\u5217 \u9488\u5bf9\u6563\u5217\u7b97\u6cd5\uff08\u5982MD5\u3001SHA1\u7b49\uff09\u7684\u653b\u51fb\u65b9\u6cd5 \u3011 \u5b58\u50a8\u7684\u53e3\u4ee4\u5373\u4f7f\u88ab\u516c\u5f00\uff0c\u4e5f\u65e0\u6cd5\u8fd8\u539f/\u89e3\u7801\u51fa\u539f\u59cb\u660e\u6587\u53e3\u4ee4 \uff08\u53ef\u9009\uff09\u5b89\u5168\u7684\u5fd8\u8bb0\u53e3\u4ee4 / \u627e\u56de\u5bc6\u7801\u529f\u80fd \uff08\u53ef\u9009\uff09\u5fae\u4fe1/\u5fae\u535a/\u652f\u4ed8\u5b9d\u7684OAuth\u6388\u6743\u767b\u5f55 / \u6ce8\u518c\u7ed1\u5b9a \uff08\u53ef\u9009\uff09\u53cc\u56e0\u7d20\u8ba4\u8bc1 OTP: Google Authenticator Email SMS \u626b\u7801\u767b\u5f55 \u57fa\u4e8e\u7f51\u9875\u7684\u6587\u4ef6\u4e0a\u4f20\u52a0\u5bc6\u4e0e\u6570\u5b57\u7b7e\u540d\u7cfb\u7edf\uff0820\u5206\uff09 \u5df2\u5b8c\u6210\u300a\u57fa\u4e8e\u7f51\u9875\u7684\u7528\u6237\u6ce8\u518c\u4e0e\u767b\u5f55\u7cfb\u7edf\u300b\u6240\u6709\u8981\u6c42 \u9650\u5236\u6587\u4ef6\u5927\u5c0f\uff1a\u5c0f\u4e8e 10MB \u9650\u5236\u6587\u4ef6\u7c7b\u578b\uff1aoffice\u6587\u6863\u3001\u5e38\u89c1\u56fe\u7247\u7c7b\u578b \u533f\u540d\u7528\u6237\u7981\u6b62\u4e0a\u4f20\u6587\u4ef6 \u5bf9\u6587\u4ef6\u8fdb\u884c\u5bf9\u79f0\u52a0\u5bc6\u5b58\u50a8\u5230\u6587\u4ef6\u7cfb\u7edf\uff0c\u7981\u6b62\u660e\u6587\u5b58\u50a8\u6587\u4ef6 \u3010 \u5bf9\u79f0\u52a0\u5bc6 \u5bc6\u94a5\u7ba1\u7406\uff08\u5982\u4f55\u5b89\u5168\u5b58\u50a8\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\uff09 \u5bf9\u79f0\u52a0\u5bc6\u5bc6\u6587\u7684PADDING\u95ee\u9898 \u3011 \u7cfb\u7edf\u5bf9\u52a0\u5bc6\u540e\u6587\u4ef6\u8fdb\u884c\u6570\u5b57\u7b7e\u540d \u3010 \u6570\u5b57\u7b7e\u540d\uff08\u591a\u79cd\u7b7e\u540d\u5de5\u4f5c\u6a21\u5f0f\u5dee\u5f02\uff09 \u3011 \uff08\u53ef\u9009\uff09\u6587\u4ef6\u79d2\u4f20\uff1a\u670d\u52a1\u5668\u4e0a\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5ba2\u6237\u7aef\u53ef\u4ee5\u4e0d\u5fc5\u518d\u91cd\u590d\u4e0a\u4f20\u4e86 \u57fa\u4e8e\u7f51\u9875\u7684\u52a0\u5bc6\u6587\u4ef6\u4e0b\u8f7d\u4e0e\u89e3\u5bc6\uff0820\u5206\uff09 \u5df2\u5b8c\u6210\u300a\u57fa\u4e8e\u7f51\u9875\u7684\u6587\u4ef6\u4e0a\u4f20\u52a0\u5bc6\u4e0e\u6570\u5b57\u7b7e\u540d\u7cfb\u7edf\u300b\u6240\u6709\u8981\u6c42 \u63d0\u4f9b\u533f\u540d\u7528\u6237\u52a0\u5bc6\u540e\u6587\u4ef6\u548c\u5173\u8054\u7684\u6570\u5b57\u7b7e\u540d\u6587\u4ef6\u7684\u4e0b\u8f7d \u5ba2\u6237\u7aef\u5bf9\u4e0b\u8f7d\u540e\u7684\u6587\u4ef6\u8fdb\u884c\u6570\u5b57\u7b7e\u540d\u9a8c\u8bc1 \u3010 \u975e\u5bf9\u79f0\uff08\u516c\u94a5\uff09\u52a0\u5bc6 \u6570\u5b57\u7b7e\u540d \u3011 \u5ba2\u6237\u7aef\u5bf9\u4e0b\u8f7d\u540e\u7684\u6587\u4ef6\u53ef\u4ee5\u89e3\u5bc6\u8fd8\u539f\u5230\u539f\u59cb\u6587\u4ef6 \u3010 \u5bf9\u79f0\u89e3\u5bc6 \u5bc6\u94a5\u7ba1\u7406 \u3011 \u63d0\u4f9b\u5df2\u767b\u5f55\u7528\u6237\u89e3\u5bc6\u540e\u6587\u4ef6\u4e0b\u8f7d \u4e0b\u8f7dURL\u8bbe\u7f6e\u6709\u6548\u671f\uff08\u9650\u5236\u65f6\u95f4\u6216\u9650\u5236\u4e0b\u8f7d\u6b21\u6570\uff09\uff0c\u8fc7\u671f\u540e\u7981\u6b62\u8bbf\u95ee \u3010 \u6570\u5b57\u7b7e\u540d \u6d88\u606f\u8ba4\u8bc1\u7801 Hash Extension Length Attack Hash\u7b97\u6cd5\u4e0eHMAC\u7b97\u6cd5\u7684\u533a\u522b\u4e0e\u8054\u7cfb \u3011 \u63d0\u4f9b\u9759\u6001\u6587\u4ef6\u7684\u6563\u5217\u503c\u4e0b\u8f7d\uff0c\u4f9b\u4e0b\u8f7d\u6587\u4ef6\u5b8c\u6210\u540e\u672c\u5730\u6821\u9a8c\u6587\u4ef6\u5b8c\u6574\u6027 \u3010 \u6563\u5217\u7b97\u6cd5 \u3011 \u53ef\u4ee5\u57fa\u4e8e PHP \u7248\u5b9e\u73b0\u7684\u8bfe\u7a0b\u7cfb\u7edf\u534a\u6210\u54c1\u6e90\u4ee3\u7801 \u6216 Python \u7248\u5b9e\u73b0\u7684\u8bfe\u7a0b\u7cfb\u7edf\u534a\u6210\u54c1\u6e90\u4ee3\u7801 \u8fdb\u884c\u300c\u4e8c\u6b21\u5f00\u53d1\u300d\uff0c\u4e5f\u53ef\u4ee5\u81ea\u5df1\u4ece\u96f6\u5f00\u59cb\u5f00\u53d1\u3002\u7f16\u7a0b\u8bed\u8a00\u6280\u672f\u6808\u6ca1\u6709\u9650\u5236\u3002\u201c\u4e2d\u4f20\u653e\u5fc3\u4f20\u201d\u4e0d\u662f\u9650\u5b9a\u7684\u9898\u76ee\uff0c\u4ec5\u4f5c\u793a\u4f8b\uff0c\u540c\u5b66\u4eec\u53ef\u4ee5\u81ea\u62df\u5177\u4f53\u4f5c\u54c1\u540d\u3002 \u524d\u65b9\u91cd\u8981\u63d0\u9192 \u5982\u679c\u57fa\u4e8e\u4ee5\u4e0a\u4ee3\u7801\u8fdb\u884c\u300c\u4e8c\u6b21\u5f00\u53d1\u300d\uff0c \u5fc5\u987b\u91c7\u7528 fork + PR \u7684\u65b9\u5f0f\u63d0\u4ea4\u6700\u7ec8\u5b8c\u6210\u7684\u7cfb\u7edf\u6e90\u4ee3\u7801\uff08\u7b2c\u4e09\u65b9\u4f9d\u8d56\u7684\u6e90\u4ee3\u7801\u4e0d\u8981 push \u5230 github\uff09\uff0c\u65b9\u4fbf\u6211\u67e5\u770b\u4f60 \u4f60\u5177\u4f53\u505a\u4e86\u54ea\u4e9b\u6539\u52a8 \u3002","title":"\u5206\u7ec4\u5b8c\u6210\u3010\u5019\u9009\u3011\u9898\u76ee-1 \u201c\u4e2d\u4f20\u653e\u5fc3\u4f20\u201d"},{"location":"ac/2023/index.html#-2","text":"\u4ee5 \u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b \u4f5c\u54c1\u8d5b \u7684\u8981\u6c42\u4e3a\u57fa\u7840\uff08 \u5f00\u653e\u5f0f\u81ea\u4e3b\u547d\u9898\uff0c\u81ea\u4e3b\u8bbe\u8ba1 \uff09\uff0c\u5728\u4f60\u4eec\u7684\u5c0f\u7ec4\u4f5c\u54c1\u4e2d\u9700\u8981\u4eff\u7167\u4e0a\u8ff0\u201c\u4e2d\u4f20\u653e\u5fc3\u4f20\u201d\u8bbe\u8ba1\u7684\u5bc6\u7801\u5b66\u76f8\u5173\u6280\u672f\u8981\u70b9\u5e94\u7528\uff0c\u5728 \u81ea\u547d\u9898\u3001\u81ea\u4e3b\u8bbe\u8ba1 \u7684\u4f5c\u54c1\u4e2d\u81f3\u5c11\u5305\u542b 6 \u4e2a\u4ee5\u4e0a\u7684\u5bc6\u7801\u5b66\u76f8\u5173\u7406\u8bba\u6216\u5173\u952e\u6280\u672f\u7684\u793a\u8303\u5e94\u7528\u3002","title":"\u5206\u7ec4\u5b8c\u6210\u3010\u5019\u9009\u3011\u9898\u76ee-2 \u201c\u5f00\u653e\u5f0f\u547d\u9898\u201d"},{"location":"ac/2023/index.html#_3","text":"\u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c CBC Bit-flipping Attack \u5b9e\u9a8c Padding Oracle Attack \u5b9e\u9a8c Hash Length Extension Attack \u5b9e\u9a8c","title":"\u5355\u5175\u4f5c\u6218"},{"location":"ac/2023/index.html#_4","text":"","title":"\u7ed3\u8bfe\u5927\u4f5c\u4e1a\u57fa\u672c\u8981\u6c42"},{"location":"ac/2023/index.html#_5","text":"\u5b9e\u8df5\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4ea7\u751f\u7684\u6587\u6863\u3001\u4ee3\u7801\u5747\u53ef\u4ee5\u91c7\u7528 Github/ Gitlab /Gitee \u7684\u65b9\u5f0f\u7ba1\u7406\uff08\u8fd9\u662f\u4e00\u4e2a\u9f13\u52b1\u548c\u652f\u6301\u7684\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u5efa\u8bae\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5370\u8c61\u5206\u54e6\uff5e\uff09\uff1b \u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528zip\u683c\u5f0f\u6253\u5305\u5e76\u63d0\u4ea4\u5230\u5b66\u6821\u7545\u8bfe\u5e73\u53f0\u6307\u5b9a\u4f5c\u4e1a\u6a21\u5757\uff08\u540e\u7eed\u5728\u8bfe\u7a0b\u5fae\u4fe1\u7fa4\u3001\u7545\u8bfe\u5e73\u53f0\u8bfe\u7a0b\u516c\u544a\u6a21\u5757\u8fdb\u884c\u901a\u77e5\uff0c\u6ce8\u610f\u67e5\u770b\uff09\u3002\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u59d3\u540d4_\u59d3\u540d5_\u59d3\u540d6_\u4f5c\u4e1a\u9898\u76ee.zip \uff1b \u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167\u5bf9\u7ed3\u8bfe\u4f5c\u4e1a\u7684\u8d21\u732e\u7a0b\u5ea6\u6392\u540d\uff1b \u6bcf\u4eba \u72ec\u7acb\u5b8c\u6210\u4e00\u4efd \u300c\u4e2a\u4eba\u300d\u603b\u7ed3\u6280\u672f\u62a5\u544a\uff1b markdown \u4e66\u5199\uff0c\u5efa\u8bae\u53c2\u7167 \u57fa\u4e8e Markdown \u7684\u4e2d\u6587\u6587\u6863\u6392\u7248\u89c4\u8303 \u5bf9\u603b\u7ed3\u6280\u672f\u62a5\u544a\u8fdb\u884c\u6392\u7248\uff1b \u5185\u5bb9\u91cd\u70b9\u5f3a\u8c03\uff1a\u4e2a\u4eba\u5728\u672c\u6b21\u5927\u4f5c\u4e1a\u4e2d\u7684\u4e3b\u8981\u8d21\u732e\uff1b\u5b8c\u6210\u4e86\u54ea\u4e9b\u81ea\u8ba4\u4e3a\u6709\u6280\u672f\u542b\u91cf\u7684\u5de5\u4f5c\uff1b\u5370\u8c61\u6df1\u523b\u7684\u4e00\u4e9b bug \u548c\u81ea\u5df1\u7684\u89e3\u51b3\u65b9\u6cd5\uff1b \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\uff1b \u89c6\u9891\u6587\u4ef6\u53ef\u4ee5\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff0c\u7136\u540e\u5728\u603b\u7ed3\u62a5\u544a\u6587\u6863\u4e2d\u9644\u4e0a\u89c6\u9891\u94fe\u63a5\u5373\u53ef\uff0c\u4ee5\u51cf\u5c0f\u538b\u7f29\u5305\u5927\u5c0f\uff1b \u5df2\u5728 Github/ Gitlab /Gitee \u4e0a\u4f20\u6240\u6709\u6587\u4ef6\u7684\u5c0f\u7ec4\uff0c\u5728\u5b9e\u9a8c\u62a5\u544a\u4e2d\u540c\u6837\u9700\u8981\u9644\u4e0a\u9879\u76ee\u4ed3\u5e93\u5730\u5740\u5907\u67e5\u3002 \u7ed3\u8bfe\u6750\u6599\u63d0\u4ea4 DDL\uff1a2023.7.28 23:59:59\u3002 \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\u3002","title":"\u5171\u6027\u8981\u6c42"},{"location":"ac/2023/index.html#_6","text":"\u251c\u2500\u2500 0_\u5f20\u4e09 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 1_\u674e\u56db \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 2_\u738b\u4e94 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 3_\u8d75\u516d \u2502 \u2514\u2500\u2500 README.md \u2514\u2500\u2500 README.md \u5982\u679c\u662f\u9009\u62e9 \u5355\u5175\u4f5c\u6218 \u7684\u540c\u5b66\uff0c\u5219\u65e0\u9700\u521b\u5efa\u4ee5\u81ea\u5df1\u59d3\u540d\u547d\u540d\u7684\u5b50\u76ee\u5f55\u3002\u4e0a\u8ff0\u4e00\u7ea7\u5b50\u76ee\u5f55\u540d\u8bf7\u66f4\u6362\u6210\u5177\u4f53\u5b9e\u9a8c\u4efb\u52a1\u540d\uff0c\u4f8b\u5982 0_\u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c \u3001 1_Padding Oracle Attack \u5b9e\u9a8c \u3002\u6839\u76ee\u5f55\u4e0b\u7684 README.md \u5185\u5bb9\u53ea\u9700\u8981\u63d0\u4f9b\u63d0\u4f9b\u6240\u5b8c\u6210\u7684\u5177\u4f53\u5b9e\u9a8c\u4efb\u52a1\u7684\u76f8\u5bf9\u94fe\u63a5\u4fe1\u606f\u5373\u53ef\uff0c\u5982\u4e0b\u6240\u793a\uff1a - [ 0_\u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c ]( 0_\u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c/README.md ) - [ 1_Padding Oracle Attack \u5b9e\u9a8c ]( 1_Padding Oracle Attack \u5b9e\u9a8c/README.md ) \u5982\u679c\u662f\u9009\u62e9\u5728 \u516c\u5f00\u4ed3\u5e93 \u63d0\u4ea4\u4f5c\u54c1\uff0c\u5219\u65e0\u9700\u5b9e\u540d\u547d\u540d\u4e0a\u8ff0\u5b50\u76ee\u5f55\uff0c\u53ef\u4ee5\u4f7f\u7528\u81ea\u5df1\u7684 \u7f51\u7edc ID \uff0c\u4f46\u662f\u5728\u6253\u5305\u63d0\u4ea4\u5230\u7545\u8bfe\u4f5c\u4e1a\u533a\u7684\u6700\u7ec8\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u91cc\u9700\u8981\u4f7f\u7528\u5b9e\u540d\u3002 \u5982\u679c\u662f\u9009\u62e9 \u5206\u7ec4\u5b8c\u6210 \u7684\u5b9e\u8df5\u62a5\u544a\uff0c\u6839\u76ee\u5f55\u4e0b\u7684 README.md \u5185\u5bb9\u7edf\u4e00\u8981\u6c42\u5982\u4e0b\uff0c\u793a\u8303 README \u89c1 ac-demo \uff1a # \u4f5c\u54c1\u540d > \u4e00\u53e5\u8bdd\u7b80\u4ecb\u3002 ## \u529f\u80fd\u6e05\u5355 > \u5217\u8868\u5f62\u5f0f\u8bf4\u660e\u9010\u4e2a\u529f\u80fd\u8981\u70b9\u3002 ## \u672c\u9879\u76ee\u7528\u5230\u7684\u5173\u952e\u6280\u672f > \u672c\u4f5c\u54c1\u4e2d\u5305\u542b\u7684\u5bc6\u7801\u5b66\u7406\u8bba\u4e0e\u6280\u672f\u793a\u8303\u5e94\u7528\u8981\u70b9\u8bf4\u660e\uff0c\u5217\u8868\u5f62\u5f0f\u3001\u9010\u4e2a\u8981\u70b9\u8bf4\u660e\u3002 ## \u5feb\u901f\u4e0a\u624b\u4f53\u9a8c > \u5feb\u901f\u5b89\u88c5\u4e0e\u4f7f\u7528\u65b9\u6cd5\u8bf4\u660e\u3002 ## \u6f14\u793a > \u8bfe\u7a0b\u7ed3\u9898\u62a5\u544a\u4e0e\u7cfb\u7edf\u529f\u80fd\u64cd\u4f5c\u89c6\u9891\u6f14\u793a\u5730\u5740\u3002 ## \u9644\u5f55-1 \uff08\u53ef\u9009\uff09 ## \u9644\u5f55-2 \uff08\u53ef\u9009\uff09","title":"\u63a8\u8350\u7684\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u7ec4\u7ec7\u5f62\u5f0f"},{"location":"ac/2023/index.html#_7","text":"\u6bcf\u4e2a\u9898\u76ee\u7684\u9a8c\u6536\u6807\u51c6\u5305\u62ec\uff1a \u5b8c\u6210\u5ea6\uff1a\u5047\u8bbe\u9898\u76ee\u8981\u6c42\u7684\u4e00\u7ea7\u9700\u6c42\u670910\u6761\uff0c\u6700\u7ec8\u5b8c\u6210\u4e868\u6761\uff0c\u5219\u5b8c\u6210\u5ea6\uff1d8/10*100%=80% \u5b8c\u6210\u8d28\u91cf\uff1a\u58f0\u79f0\u5df2\u5b8c\u6210\u7684\u9700\u6c42\uff0c\u7ecf\u8fc7\u68c0\u67e5\u540e\u8ba4\u5b9a\u5b9e\u9645\u7684\u5b8c\u6210\u8d28\u91cf \u5927\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u8bf7\u5728 Github / Gitlab /Gitee \u4e0a\u5efa\u7acb\u5c0f\u7ec4\u7684\u9879\u76ee\u4ed3\u5e93\uff0c\u6bcf\u4e2a\u7ec4\u5458\u7684\u65e5\u5e38\u5b8c\u6210\u8fdb\u5ea6\u901a\u8fc7 git \u63d0\u4ea4\u5386\u53f2\u6765\u4f53\u73b0\u3002 \u5982\u679c\u662f \u79c1\u6709 \u4ed3\u5e93\uff0c\u8bf7\u9080\u8bf7 c4pr1c3@github /\u5176\u4ed6\u5e73\u53f0\u8bf7\u5fae\u4fe1\u79c1\u4fe1\u6211 \u6210\u4e3a\u4f60\u4eec\u5c0f\u7ec4\u5efa\u7acb\u7684\u4ed3\u5e93\u7684\u534f\u4f5c\u8005\uff08Collaborators\uff09\uff1b \u5982\u679c\u662f Fork \u6837\u4f8b\u4ed3\u5e93\uff0c\u5219\u65e0\u9700\u505a\u7279\u522b\u8bbe\u7f6e\uff1b \u4e0d\u8981\u5728\u4f60\u63d0\u4ea4\u7684\u4efb\u4f55\u6750\u6599\u4e2d\u51fa\u73b0\u4efb\u4f55\u91cd\u8981\u4e2a\u4eba\u9690\u79c1\u4fe1\u606f\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u59d3\u540d\u3001\u5b66\u53f7\u3001\u5bc6\u7801\u7b49\uff1b \u4f5c\u4e1a\u63d0\u4ea4\u5185\u5bb9\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u4ee3\u7801\u3001markdown \u683c\u5f0f\u7684\u6587\u6863\u3001\u56fe\u7247\u7b49\uff1b \u7ec4\u957f\u521b\u5efa\u4ed3\u5e93\uff0c\u7ec4\u5458\u53ef\u4ee5\u5728 Github \u540e\u53f0\u6dfb\u52a0\u5230 Collaborators \u6216\u901a\u8fc7 Fork + PR \u7684\u65b9\u5f0f\u6765\u5b9e\u73b0\u534f\u540c\u5f00\u53d1\u548c\u7f16\u8f91\uff1b \u4e0d\u5efa\u8bae\u76f4\u63a5\u4f7f\u7528 Github \u5b98\u65b9\u5ba2\u6237\u7aef\uff0c\u63a8\u8350\u4f7f\u7528 git \u547d\u4ee4\u884c\u5ba2\u6237\u7aef\uff1b commit \u6ce8\u91ca\u5e94\u8be5\u6e05\u6670\u660e\u4e86\uff0c\u8bf4\u660e\u672c\u6b21\u63d0\u4ea4\u7684\u76ee\u7684\uff0c\u4e0d\u8981\u641e\u51fa\u4e00\u5806\u7684 Add files via upload \uff1b \u7981\u6b62\u63d0\u4ea4\uff1a\u4e34\u65f6\u6587\u4ef6\uff08\u6587\u672c\u7f16\u8f91\u5668\u4ea7\u751f\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u5907\u4efd\u6587\u4ef6\u7b49\uff09\u3001\u4e2d\u95f4\u7ed3\u679c\u6587\u4ef6\uff08.exe\u3001.pdb\u3001.log\u7b49\u90fd\u662f\u5178\u578b\u4ee3\u8868\uff09 \u56fe\u7247\u5e94\u5728\u4fdd\u6301\u6e05\u6670\u5ea6\u3001\u4e0d\u5f71\u54cd\u9605\u8bfb\u7684\u524d\u63d0\u4e0b\u8fdb\u884c\u5fc5\u8981\u7684\u5c3a\u5bf8\u88c1\u526a\u548c\u56fe\u50cf\u538b\u7f29\u4ee5\u51cf\u5c11\u56fe\u7247\u6587\u4ef6\u5360\u7528\u5b58\u50a8\u7a7a\u95f4\u5927\u5c0f\uff1b \u8bfe\u7a0b\u603b\u8bc4\u5206\u6570\uff1d\u7cfb\u7edf\u5b9e\u73b0\uff08\u4ee3\u7801\uff09* 60% + \u7ed3\u9898\u62a5\u544a\u56fe\u6587\u7248 * 20% + \u7ed3\u9898\u62a5\u544a\u89c6\u9891\u7248 * 20%","title":"\u5206\u7ec4\u5b8c\u6210"},{"location":"ac/2023/index.html#_8","text":"\u4ece\u63a8\u8350\u5b9e\u9a8c\u4e2d\u81f3\u5c11\u9009\u62e9\u5e76\u5b8c\u6210 1 \u4e2a \uff0810 \u5206\uff09 \u4eff\u7167 \u5bf9\u79f0\u52a0\u5bc6 ECB \u6a21\u5f0f\u7684\u6f0f\u6d1e\u5229\u7528\u7efc\u5408\u5b9e\u9a8c\u6307\u5357 \u548c Padding Oracle Attack \u5b9e\u9a8c\u6307\u5357 \u7684\u5f62\u5f0f\u7f16\u5199\u5b9e\u9a8c\u62a5\u544a \uff08 70 \u5206\uff09 \u6392\u7248\u8d28\u91cf 10% \u5185\u5bb9\u4e13\u4e1a\u6027\u7a0b\u5ea6 20% \u5b9e\u9a8c\u64cd\u4f5c\u6b65\u9aa4\u8be6\u7ec6\u7a0b\u5ea6\uff08\u64cd\u4f5c\u6548\u679c\u622a\u56fe\u3001\u4ee3\u7801\uff09 60% \u53c2\u8003\u6587\u732e\u5f15\u7528\u6807\u6ce8 10% \u9664\u4e86\u6309\u7167\u4e0a\u8ff0\u5b9e\u9a8c\u5b98\u65b9\u6307\u5357\u4e2d\u7684\u65b9\u6cd5\u548c\u5de5\u5177\u5b8c\u6210\u5b9e\u9a8c\u4e4b\u5916\uff0c\u518d\u4f7f\u7528\u53e6\u4e00\u79cd\u7f16\u7a0b\u8bed\u8a00\u6216\u5de5\u5177\u5b8c\u6210\u5b9e\u9a8c \uff0810 \u5206\uff09 \u9644\u52a0\u5206 \u7f16\u5199\u300c\u81ea\u52a8\u5316\u6f0f\u6d1e\u5229\u7528\u811a\u672c\u300d+10 \u5b8c\u6210 3 \u4e2a\u6216\u4ee5\u4e0a\u5b9e\u9a8c +10 \u6700\u7ec8\u6210\u7ee9\uff1a\u4e0a\u8ff0\u5206\u9879\u5f97\u5206\u7d2f\u52a0 x 80% \uff0890 \u5206\u5c01\u9876\uff09","title":"\u5355\u5175\u4f5c\u6218"},{"location":"ac/2023/index.html#_9","text":"","title":"\u7ed3\u8bfe\u5927\u4f5c\u4e1a\u9898\u76ee"},{"location":"ac/2023/index.html#_10","text":"\u8bf7\u901a\u8fc7\u5c4f\u5e55\u64cd\u4f5c\u5f55\u50cf\u7684\u65b9\u5f0f\uff0c\u5c55\u793a\u4f60\u4eec\u5c0f\u7ec4\u5b8c\u6210\u7684\u7cfb\u7edf\uff0c\u5e76 \u5c3d\u529b\u800c\u4e3a \u5728\u5f55\u50cf\u4e2d\u7ed3\u5408\u64cd\u4f5c\u6f14\u793a\u56de\u7b54\u4ee5\u4e0b\u6bcf\u4e00\u4e2a\u95ee\u9898\uff0c\u89c6\u9891\u65f6\u957f\u9650\u5236\u5728 10 \u5206\u949f\u4ee5\u5185\uff0c\u4e0d\u8981\u4f7f\u7528\u500d\u901f\u6a21\u5f0f\u3002 \u5f55\u50cf\u8bf7\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff08\u63a8\u8350 B\u7ad9 \uff0c\u4e0a\u4f20\u540e\u8bf7\u5728\u89c6\u9891\u8bc4\u8bba\u533a @\u9ec4\u836f\u5e08\u6f2b\u6b65\u6843\u82b1\u5c9b \uff09\uff0c \u52a1\u5fc5\u907f\u514d\u5728\u5f55\u50cf\u4e2d\u6cc4\u6f0f\u4e2a\u4eba\u9690\u79c1\u4fe1\u606f\uff0c\u5728\u5c4f\u5e55\u64cd\u4f5c\u5f55\u50cf\u8fc7\u7a0b\u4e2d\u5efa\u8bae\u5173\u95ed\u5373\u65f6\u901a\u4fe1\u5de5\u5177\u7b49\u6709\u53ef\u80fd\u4f1a\u5f39\u51fa\u901a\u77e5\u7a97\u53e3\u7684\u5e94\u7528\u7a0b\u5e8f \uff0c\u4fdd\u8bc1\u5f55\u50cf\u8d28\u91cf\u548c\u6548\u679c\u3002 \u8bf7\u901a\u8fc7\u5177\u4f53\u64cd\u4f5c\u6f14\u793a\u7684\u65b9\u5f0f\uff0c\u5c55\u793a\u5e76\u8bf4\u660e\u4f60\u4eec\u7684 \u6587\u4ef6\u52a0\u5bc6\u4ee3\u7801\u7247\u6bb5\uff1a\u7528\u6237\u4e0a\u4f20\u6587\u4ef6\u540e\uff0c\u5bf9\u5e94\u5728\u670d\u52a1\u5668\u7aef\u5b58\u50a8\u7684\u662f\u5426\u662f\u5bc6\u6587\u6587\u4ef6\u3002 \u6587\u4ef6\u89e3\u5bc6\u4ee3\u7801\u7247\u6bb5\uff1a\u975e\u6587\u4ef6\u6240\u6709\u8005\u4e0b\u8f7d\u5e76\u89e3\u5bc6\u4e0a\u8ff0\u5bc6\u6587\u6587\u4ef6\u7684\u5177\u4f53\u64cd\u4f5c\u8fc7\u7a0b\u548c\u5bf9\u5e94\u7684\u5173\u952e\u4ee3\u7801\u7247\u6bb5\u3002 \u6587\u4ef6\u7b7e\u540d\u4ee3\u7801\u7247\u6bb5\uff1a\u7528\u6237\u4e0a\u4f20\u6587\u4ef6\u540e\uff0c\u5bf9\u5e94\u5728\u670d\u52a1\u5668\u7aef\u7684\u7b7e\u540d\u4fe1\u606f\u662f\u5982\u4f55\u5b58\u50a8\u7684\u3002 \u6587\u4ef6\u7b7e\u540d\u9a8c\u8bc1\u4ee3\u7801\u7247\u6bb5\uff1a\u975e\u6587\u4ef6\u6240\u6709\u8005\u4e0b\u8f7d\u5e76\u9a8c\u8bc1\u4e0a\u8ff0\u5bc6\u6587\u6587\u4ef6\u7684\u7b7e\u540d\u4fe1\u606f\u7684\u5177\u4f53\u64cd\u4f5c\u8fc7\u7a0b\u548c\u5bf9\u5e94\u7684\u5173\u952e\u4ee3\u7801\u7247\u6bb5\u3002 \u540c\u4e00\u4e2a\u7528\u6237\u7684\u4e0d\u540c\u6587\u4ef6\u662f\u5426\u4f7f\u7528\u76f8\u540c\u7684\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\uff1f\u5982\u679c\u662f\uff0c\u8bf7\u8bf4\u660e\u5176\u4e2d\u5b58\u5728\u7684\u5b89\u5168\u98ce\u9669\u3002\u5982\u679c\u5426\uff0c\u8bf7\u7ed3\u5408\u4ee3\u7801\u5c55\u793a\u4f60\u4eec\u7684\u6587\u4ef6\u5bf9\u79f0\u52a0\u5bc6\u5bc6\u94a5\u7684\u5b58\u50a8\u548c\u63d0\u53d6\u4f7f\u7528\u7b56\u7565 \u4f60\u4eec\u7684\u6587\u4ef6\u4e0b\u8f7d\u8fc7\u671f\u7b56\u7565\u662f\u5982\u4f55\u8bbe\u8ba1\u5e76\u5b9e\u73b0\u7684\uff1f \u8bf7\u5c55\u793a\u5e76\u8bf4\u660e\u4f60\u4eec\u7684\u6570\u636e\u5e93\u8868\u7ed3\u6784\u8bbe\u8ba1\u3002 \u5728\u8bfe\u7a0b\u7ed3\u9898\u62a5\u544a\u4e2d\u9644\u4e0a\u5728\u7ebf\u89c6\u9891\u94fe\u63a5\u5373\u53ef\u3002","title":"\u5206\u7ec4\u5b8c\u6210\u5f55\u5236\u7ed3\u8bfe\u89c6\u9891\u7684\u95ee\u9898\u6e05\u5355"},{"location":"ac/2023/index.html#_11","text":"\u8bfe\u7a0b\u77e5\u8bc6\u56de\u987e\u4e0e\u5c55\u671b \u5728\u5e94\u7528\u5f00\u53d1\u9879\u76ee\u4e2d\u5982\u4f55\u5b89\u5168\u5b9e\u73b0\u5bc6\u7801\u5b66\u7b97\u6cd5","title":"\u53c2\u8003\u8d44\u6599"},{"location":"cp/assessment.html","text":"\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u8bc4\u5206\u6807\u51c6 BuildIt \u8bc4\u5206\u6807\u51c6 \u57fa\u4e8e \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b-\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u7ebf\u4e0b\u5206\u533a\u9009\u62d4\u8d5b\u53c2\u8d5b\u6307\u5357 \u7684\u8bc4\u5206\u6807\u51c6\uff0c\u589e\u52a0\u5bf9\u300c\u8f6f\u4ef6\u5de5\u7a0b\u300d\u4e13\u9879\u4e13\u4e1a\u80fd\u529b\u7684\u8bad\u7ec3\u76ee\u6807\u8003\u6838\uff0c\u5236\u8ba2\u4ee5\u4e0b\u8bc4\u5206\u6807\u51c6\u3002 \u672c\u9636\u6bb5\u5f53\u524d\u6ee1\u5206\uff1a70 \u3002 EXP \u901a\u8fc7\u7387 \u5206\u503c\uff1a0 \u6216 10 \u5bf9\u53c2\u8d5b\u961f\u63d0\u4f9b\u7684 EXP \u811a\u672c\u8fdb\u884c\u6d4b\u8bd5\uff0c\u4ee5\u80fd\u6210\u529f\u83b7\u53d6\u5e73\u53f0\u65b9\u914d\u7f6e\u7684 Flag \uff0c\u5219\u83b7\u53d6\u8be5\u90e8\u5206\u5f97\u5206\u3002 \u80fd\u529b\u7b26\u5408\u5ea6 \u5206\u503c\uff1a0 - 20 \u5b89\u5168\u6280\u672f\u70b9\u3001\u6f0f\u6d1e\u5229\u7528\u70b9\u5177\u6709\u4e00\u5b9a\u5b9e\u7528\u6027\u3001\u65b0\u9896\u6027\uff1b \u4f53\u73b0\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u53ca\u76f8\u5173\u4e13\u4e1a\u5e94\u5177\u5907\u77e5\u8bc6\u6280\u80fd\u7684\u7efc\u5408\u5e94\u7528\uff1b \u8d5b\u9898\u573a\u666f\u53cd\u5e94\u4e86\u5e38\u89c1\u5e94\u7528\u7684\u65b0\u95ee\u9898\uff0c\u6216\u662f\u70ed\u70b9\u5e94\u7528\u7684\u65b0\u95ee\u9898\uff0c\u80fd\u53cd\u5e94\u4fe1\u606f\u5b89\u5168/\u7f51\u7edc\u5b89\u5168\u6280\u672f\u5e94\u7528\u7684\u65b9\u5411\u548c\u8d8b\u52bf\u3002 \u529f\u80fd\u5b9e\u73b0\u5ea6-\u5b8c\u6574\u6027 \u5206\u503c\uff1a0 \u6216 5 \u573a\u666f\u8bbe\u8ba1\u90e8\u5206\u4ee5\u6218\u961f\u4e3a\u5355\u4f4d\u63d0\u4ea4\uff0c\u573a\u666f\u5fc5\u987b\u7531\u9009\u8bfe\u540c\u5b66\u72ec\u7acb\u5b8c\u6210\uff1b \u573a\u666f\u8bbe\u8ba1\u4e2d\u4e0d\u5f97\u5305\u542b\u8fdd\u53cd\u6cd5\u5f8b\u6cd5\u89c4\u548c\u8fdd\u80cc\u793e\u4f1a\u9053\u5fb7\u7684\u654f\u611f\u8bcd\u6c47\uff1b \u573a\u666f\u8bbe\u8ba1\u4e2d\u4e0d\u5f97\u6709\u4fb5\u5bb3\u4ed6\u4eba\u77e5\u8bc6\u4ea7\u6743\u3001\u54c1\u724c\u53ca\u540d\u8a89\u7684\u5185\u5bb9\uff0c\u8bbe\u8ba1\u8005\u9700\u8981\u5bf9\u573a\u666f\u4eab\u6709\u5b8c\u5168\u7684\u77e5\u8bc6\u4ea7\u6743\u6216\u5bf9\u501f\u9274\u4ed6\u4eba\u7684\u90e8\u5206\u4eab\u6709\u5145\u5206\u6388\u6743\uff1b \u573a\u666f\u4e2d\u4e0d\u5f97\u542b\u6709\u5173\u4e8e\u573a\u666f\u8bbe\u8ba1\u8005\u4fe1\u606f\u7684\u63cf\u8ff0\u6216\u6697\u793a\uff1b \u5206\u533a\u8d5b\u73b0\u573a\u4e0d\u5141\u8bb8\u4efb\u4f55\u4eba\u901a\u8fc7\u4efb\u4f55\u5f62\u5f0f\u5916\u63a5\u7f51\u7edc\uff0c\u6240\u4ee5\u573a\u666f\u8bbe\u8ba1\u65f6\u8bf7\u8003\u8651 \u907f\u514d\u9700\u8981\u8054\u7f51 \u7684\u5185\u5bb9\uff0c\u5982\u6709\u5916\u94fe\u8bf7\u4e0b\u8f7d\u5230\u672c\u5730\u5e76\u6539\u4e3a\u4f7f\u7528\u672c\u5730\u94fe\u63a5\uff1b \u8bf7\u4e0d\u8981\u9644\u5e26\u65e0\u5173\u6587\u4ef6\uff0c\u6700\u540e\u63d0\u4f9b\u538b\u7f29\u5305\u4ee5\u53ca\u5176\u6587\u4ef6\u54c8\u5e0c\u503c\uff08\u5982md5\u503c\uff09\uff0c\u5e76\u4ee5 md5\u9a8c\u8bc1.txt \u4e3a\u6587\u4ef6\u540d\u653e\u5230\u573a\u666f\u7684\u538b\u7f29\u5305\u4e2d\uff1b \u5982\u6709\u7279\u6b8a\u60c5\u51b5\u7684\u8bf7\u5907\u6ce8\u3002 \u529f\u80fd\u5b9e\u73b0\u5ea6-\u53ef\u7528\u6027 \u5206\u503c\uff1a0 \u6216 5 \u573a\u666f\u8003\u70b9\u8bbe\u8ba1\u662f\u5426\u6709\u4e00\u5b9a\u7684\u903b\u8f91\u6027\u3001\u5408\u7406\u6027\uff08\u62d2\u7edd\u7eaf\u8111\u6d1e\u51fa\u9898\uff09\uff1b web \u9898\u76ee\u7684\u9759\u6001\u8d44\u6e90\uff08\u5982js\u3001css\uff09\u662f\u5426\u8981\u4f7f\u7528\u5916\u94fe\uff1b pwn \u9898\u7684\u6e90\u7801\u662f\u5426\u80fd\u7f16\u8bd1\uff1b check \u548c exp \u811a\u672c\u5fc5\u987b\u53ef\u7528\uff1b \u89e3\u9898\u7684\u8def\u5f84\u4ec5\u662f\u5426 \u53ea\u6709\u4e00\u6761 \u3002 \u529f\u80fd\u5b9e\u73b0\u5ea6-\u5b9e\u7528\u6027 \u5206\u503c\uff1a0 - 5 \u53ef\u80fd\u5728\u4fe1\u606f\u5b89\u5168/\u7f51\u7edc\u5b89\u5168\u7b49\u9886\u57df\u4ea7\u751f\u5f71\u54cd\uff1b \u662f\u5426\u548c\u4e1a\u52a1\u5b9e\u8df5\u7d27\u5bc6\u7ed3\u5408\u3002 \u529f\u80fd\u5b9e\u73b0\u5ea6-\u4eff\u771f\u6027\uff08\u65b0\u589e\uff09 \u5206\u503c\uff1a0 - 5 \u5e94\u7528\u5e94\u8be5\u6709\u660e\u786e\u7684\u4eff\u771f\u76ee\u6807\u3002\u4f8b\u5982\uff0c\u7535\u5546\u7cfb\u7edf\u3001CMS\u3001\u7559\u8a00\u677f\u3001\u804a\u5929\u5de5\u5177\u7b49\uff1b \u7528\u6237\u754c\u9762\u548c\u7528\u6237\u4ea4\u4e92\u8bbe\u8ba1\u5e94\u6ee1\u8db3\u57fa\u672c\u7684\u53ef\u7528\u6027\u6807\u51c6\u3002\u4f8b\u5982\uff0c\u6240\u6709\u529f\u80fd\u9875\u9762\u4e4b\u95f4\u5e94\u901a\u8fc7\u660e\u786e\u7684\u94fe\u63a5\u65b9\u5f0f\u8fdb\u884c\u8df3\u8f6c\uff0c\u907f\u514d\u9700\u8981\u7528\u6237\u624b\u52a8\u5728\u6d4f\u89c8\u5668\u5730\u5740\u680f\u8f93\u5165 URL \u6216\u6539\u53d8\u8bf7\u6c42\u53c2\u6570\u6765\u8df3\u8f6c\u9875\u9762\uff1b \u7528\u6237\u64cd\u4f5c\u51fa\u9519\u5e94\u63d0\u4f9b\u7528\u6237\u53cb\u597d\u7684\u9519\u8bef\u63d0\u793a\u4fe1\u606f\u3002 \u6587\u6863\u5b9e\u73b0\u5ea6-\u5b8c\u6574\u6027\uff08\u65b0\u589e\uff09 \u5206\u503c\uff1a0 - 10 \u9700\u6c42\u5206\u6790\u3001\uff08\u6982\u8981\u548c\u8be6\u7ec6\uff09\u8bbe\u8ba1\u6587\u6863\u9f50\u5907\uff08\u5185\u5bb9\u53ef\u4ee5\u5408\u5e76\u5728\u4e00\u4e2a\u6587\u4ef6\u4e2d\uff0c\u4f46\u9700\u6709\u660e\u786e\u7684\u7ae0\u8282\u6807\u6ce8\uff09\uff1b \u5fc5\u8981\u7684\u63d2\u56fe\u6216\u8868\u683c\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1aUML \u56fe\u3001\u7528\u4f8b\u56fe\u3001\u7cfb\u7edf\u67b6\u6784\u56fe\u3001\u6570\u636e\u5e93\u8868\u7ed3\u6784\u8bbe\u8ba1\uff1b API \u63a5\u53e3\u8bbe\u8ba1\u8bf4\u660e\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1aURI\u3001\u529f\u80fd\u63cf\u8ff0\u3001\u8bf7\u6c42\u53c2\u6570\u8bf4\u660e\u3001\u8bf7\u6c42\u65b9\u6cd5\u8bf4\u660e\u3001\u54cd\u5e94\u503c\u8bf4\u660e\u7b49\uff1b \u4eba\u5458\u5206\u5de5\u8bf4\u660e\uff1b \u7518\u7279\u56fe\uff08\u53ef\u9009\uff09\u3002 \u6587\u6863\u5b9e\u73b0\u5ea6-\u89c4\u8303\u6027\uff08\u65b0\u589e\uff09 \u5206\u503c\uff1a0 - 5 \u4f7f\u7528 Markdown \u4e66\u5199\u6240\u6709\u6587\u6863\uff1b \u6392\u7248\u89c4\u8303\u3002\u4f8b\u5982\uff0c\u6709\u57fa\u672c\u7684\u7ae0\u8282\u76ee\u5f55\u3001\u5408\u7406\u4f7f\u7528\u65e0\u5e8f\u5217\u8868\u3001\u6709\u5e8f\u5217\u8868\u3001\u63d2\u56fe\u3001\u8868\u683c\u548c\u8d85\u94fe\u63a5\u5f15\u7528\u6807\u6ce8\uff1b \u63d2\u56fe\u7ed8\u5236\u6ee1\u8db3\uff1a\u8868\u8fbe\u529b\u3001\u89c4\u8303\u6027\u548c\u4e00\u81f4\u6027\u539f\u5219\u3002 \u5f00\u53d1\u89c4\u8303\u6027\uff08\u65b0\u589e\uff09 \u5206\u503c\uff1a0 - 5 \u4f7f\u7528 Github / Gitee \u79c1\u6709\u4ed3\u5e93\u7ba1\u7406\u6240\u6709\u4ee3\u7801\u548c\u6587\u6863\uff1b \u5168\u7a0b\u4f7f\u7528 Github / Gitee \u8fdb\u884c\u534f\u4f5c\u5f00\u53d1\uff1b Git \u4f7f\u7528\u89c4\u8303\uff1b Exp \u548c Checker \u811a\u672c\u5e94\u63d0\u4f9b\u5fc5\u8981\u7684 requirements.txt \u6216 Pipfile \u3002 BreakIt \u8bc4\u5206\u6807\u51c6 \u672c\u9636\u6bb5\u5f53\u524d\u6ee1\u5206\uff1a20 \u3002 \u9650\u4e8e\u7ebf\u4e0a\u6559\u5b66\u73af\u5883\u9650\u5236\uff0c\u672c\u9636\u6bb5\u53ea\u8981\u6c42\u81ea\u5df1\u653b\u7834\u81ea\u5df1 BuildIt \u9636\u6bb5\u5f00\u53d1\u7684\u9776\u6807\u73af\u5883\uff1b \u63d0\u4ea4 BreakIt \u73af\u8282\u7684\u6280\u672f\u603b\u7ed3\u62a5\u544a\u548c Exp \uff0c\u89c6\u62a5\u544a\u548c Exp \u8d28\u91cf\u60c5\u51b5\u8bc4\u5206\uff1b \u672c\u9636\u6bb5\u7684\u6280\u672f\u603b\u7ed3\u62a5\u544a\u548c Exp \u9700\u7edf\u4e00\u63d0\u4ea4\u5230\u9879\u76ee\u4ed3\u5e93\u7684 BreakIt \u5b50\u76ee\u5f55\u3002 FixIt \u8bc4\u5206\u6807\u51c6 \u672c\u9636\u6bb5\u5f53\u524d\u6ee1\u5206\uff1a10 \u3002 \u53ea\u9700\u63d0\u4f9b\u81ea\u5df1 BuildIt \u9636\u6bb5\u8d5b\u9898\u7684 FixIt \u6280\u672f\u603b\u7ed3\u62a5\u544a\uff1b \u9f13\u52b1\u91c7\u7528 diff patch \u65b9\u5f0f\u8fdb\u884c\u6e90\u4ee3\u7801\u7ea7\u522b\u7684\u6f0f\u6d1e\u4fee\u590d\u3002","title":"\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u8bc4\u5206\u6807\u51c6"},{"location":"cp/assessment.html#_1","text":"","title":"\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u8bc4\u5206\u6807\u51c6"},{"location":"cp/assessment.html#buildit","text":"\u57fa\u4e8e \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b-\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u7ebf\u4e0b\u5206\u533a\u9009\u62d4\u8d5b\u53c2\u8d5b\u6307\u5357 \u7684\u8bc4\u5206\u6807\u51c6\uff0c\u589e\u52a0\u5bf9\u300c\u8f6f\u4ef6\u5de5\u7a0b\u300d\u4e13\u9879\u4e13\u4e1a\u80fd\u529b\u7684\u8bad\u7ec3\u76ee\u6807\u8003\u6838\uff0c\u5236\u8ba2\u4ee5\u4e0b\u8bc4\u5206\u6807\u51c6\u3002 \u672c\u9636\u6bb5\u5f53\u524d\u6ee1\u5206\uff1a70 \u3002","title":"BuildIt \u8bc4\u5206\u6807\u51c6"},{"location":"cp/assessment.html#exp","text":"\u5206\u503c\uff1a0 \u6216 10 \u5bf9\u53c2\u8d5b\u961f\u63d0\u4f9b\u7684 EXP \u811a\u672c\u8fdb\u884c\u6d4b\u8bd5\uff0c\u4ee5\u80fd\u6210\u529f\u83b7\u53d6\u5e73\u53f0\u65b9\u914d\u7f6e\u7684 Flag \uff0c\u5219\u83b7\u53d6\u8be5\u90e8\u5206\u5f97\u5206\u3002","title":"EXP \u901a\u8fc7\u7387"},{"location":"cp/assessment.html#_2","text":"\u5206\u503c\uff1a0 - 20 \u5b89\u5168\u6280\u672f\u70b9\u3001\u6f0f\u6d1e\u5229\u7528\u70b9\u5177\u6709\u4e00\u5b9a\u5b9e\u7528\u6027\u3001\u65b0\u9896\u6027\uff1b \u4f53\u73b0\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u53ca\u76f8\u5173\u4e13\u4e1a\u5e94\u5177\u5907\u77e5\u8bc6\u6280\u80fd\u7684\u7efc\u5408\u5e94\u7528\uff1b \u8d5b\u9898\u573a\u666f\u53cd\u5e94\u4e86\u5e38\u89c1\u5e94\u7528\u7684\u65b0\u95ee\u9898\uff0c\u6216\u662f\u70ed\u70b9\u5e94\u7528\u7684\u65b0\u95ee\u9898\uff0c\u80fd\u53cd\u5e94\u4fe1\u606f\u5b89\u5168/\u7f51\u7edc\u5b89\u5168\u6280\u672f\u5e94\u7528\u7684\u65b9\u5411\u548c\u8d8b\u52bf\u3002","title":"\u80fd\u529b\u7b26\u5408\u5ea6"},{"location":"cp/assessment.html#-","text":"\u5206\u503c\uff1a0 \u6216 5 \u573a\u666f\u8bbe\u8ba1\u90e8\u5206\u4ee5\u6218\u961f\u4e3a\u5355\u4f4d\u63d0\u4ea4\uff0c\u573a\u666f\u5fc5\u987b\u7531\u9009\u8bfe\u540c\u5b66\u72ec\u7acb\u5b8c\u6210\uff1b \u573a\u666f\u8bbe\u8ba1\u4e2d\u4e0d\u5f97\u5305\u542b\u8fdd\u53cd\u6cd5\u5f8b\u6cd5\u89c4\u548c\u8fdd\u80cc\u793e\u4f1a\u9053\u5fb7\u7684\u654f\u611f\u8bcd\u6c47\uff1b \u573a\u666f\u8bbe\u8ba1\u4e2d\u4e0d\u5f97\u6709\u4fb5\u5bb3\u4ed6\u4eba\u77e5\u8bc6\u4ea7\u6743\u3001\u54c1\u724c\u53ca\u540d\u8a89\u7684\u5185\u5bb9\uff0c\u8bbe\u8ba1\u8005\u9700\u8981\u5bf9\u573a\u666f\u4eab\u6709\u5b8c\u5168\u7684\u77e5\u8bc6\u4ea7\u6743\u6216\u5bf9\u501f\u9274\u4ed6\u4eba\u7684\u90e8\u5206\u4eab\u6709\u5145\u5206\u6388\u6743\uff1b \u573a\u666f\u4e2d\u4e0d\u5f97\u542b\u6709\u5173\u4e8e\u573a\u666f\u8bbe\u8ba1\u8005\u4fe1\u606f\u7684\u63cf\u8ff0\u6216\u6697\u793a\uff1b \u5206\u533a\u8d5b\u73b0\u573a\u4e0d\u5141\u8bb8\u4efb\u4f55\u4eba\u901a\u8fc7\u4efb\u4f55\u5f62\u5f0f\u5916\u63a5\u7f51\u7edc\uff0c\u6240\u4ee5\u573a\u666f\u8bbe\u8ba1\u65f6\u8bf7\u8003\u8651 \u907f\u514d\u9700\u8981\u8054\u7f51 \u7684\u5185\u5bb9\uff0c\u5982\u6709\u5916\u94fe\u8bf7\u4e0b\u8f7d\u5230\u672c\u5730\u5e76\u6539\u4e3a\u4f7f\u7528\u672c\u5730\u94fe\u63a5\uff1b \u8bf7\u4e0d\u8981\u9644\u5e26\u65e0\u5173\u6587\u4ef6\uff0c\u6700\u540e\u63d0\u4f9b\u538b\u7f29\u5305\u4ee5\u53ca\u5176\u6587\u4ef6\u54c8\u5e0c\u503c\uff08\u5982md5\u503c\uff09\uff0c\u5e76\u4ee5 md5\u9a8c\u8bc1.txt \u4e3a\u6587\u4ef6\u540d\u653e\u5230\u573a\u666f\u7684\u538b\u7f29\u5305\u4e2d\uff1b \u5982\u6709\u7279\u6b8a\u60c5\u51b5\u7684\u8bf7\u5907\u6ce8\u3002","title":"\u529f\u80fd\u5b9e\u73b0\u5ea6-\u5b8c\u6574\u6027"},{"location":"cp/assessment.html#-_1","text":"\u5206\u503c\uff1a0 \u6216 5 \u573a\u666f\u8003\u70b9\u8bbe\u8ba1\u662f\u5426\u6709\u4e00\u5b9a\u7684\u903b\u8f91\u6027\u3001\u5408\u7406\u6027\uff08\u62d2\u7edd\u7eaf\u8111\u6d1e\u51fa\u9898\uff09\uff1b web \u9898\u76ee\u7684\u9759\u6001\u8d44\u6e90\uff08\u5982js\u3001css\uff09\u662f\u5426\u8981\u4f7f\u7528\u5916\u94fe\uff1b pwn \u9898\u7684\u6e90\u7801\u662f\u5426\u80fd\u7f16\u8bd1\uff1b check \u548c exp \u811a\u672c\u5fc5\u987b\u53ef\u7528\uff1b \u89e3\u9898\u7684\u8def\u5f84\u4ec5\u662f\u5426 \u53ea\u6709\u4e00\u6761 \u3002","title":"\u529f\u80fd\u5b9e\u73b0\u5ea6-\u53ef\u7528\u6027"},{"location":"cp/assessment.html#-_2","text":"\u5206\u503c\uff1a0 - 5 \u53ef\u80fd\u5728\u4fe1\u606f\u5b89\u5168/\u7f51\u7edc\u5b89\u5168\u7b49\u9886\u57df\u4ea7\u751f\u5f71\u54cd\uff1b \u662f\u5426\u548c\u4e1a\u52a1\u5b9e\u8df5\u7d27\u5bc6\u7ed3\u5408\u3002","title":"\u529f\u80fd\u5b9e\u73b0\u5ea6-\u5b9e\u7528\u6027"},{"location":"cp/assessment.html#-_3","text":"\u5206\u503c\uff1a0 - 5 \u5e94\u7528\u5e94\u8be5\u6709\u660e\u786e\u7684\u4eff\u771f\u76ee\u6807\u3002\u4f8b\u5982\uff0c\u7535\u5546\u7cfb\u7edf\u3001CMS\u3001\u7559\u8a00\u677f\u3001\u804a\u5929\u5de5\u5177\u7b49\uff1b \u7528\u6237\u754c\u9762\u548c\u7528\u6237\u4ea4\u4e92\u8bbe\u8ba1\u5e94\u6ee1\u8db3\u57fa\u672c\u7684\u53ef\u7528\u6027\u6807\u51c6\u3002\u4f8b\u5982\uff0c\u6240\u6709\u529f\u80fd\u9875\u9762\u4e4b\u95f4\u5e94\u901a\u8fc7\u660e\u786e\u7684\u94fe\u63a5\u65b9\u5f0f\u8fdb\u884c\u8df3\u8f6c\uff0c\u907f\u514d\u9700\u8981\u7528\u6237\u624b\u52a8\u5728\u6d4f\u89c8\u5668\u5730\u5740\u680f\u8f93\u5165 URL \u6216\u6539\u53d8\u8bf7\u6c42\u53c2\u6570\u6765\u8df3\u8f6c\u9875\u9762\uff1b \u7528\u6237\u64cd\u4f5c\u51fa\u9519\u5e94\u63d0\u4f9b\u7528\u6237\u53cb\u597d\u7684\u9519\u8bef\u63d0\u793a\u4fe1\u606f\u3002","title":"\u529f\u80fd\u5b9e\u73b0\u5ea6-\u4eff\u771f\u6027\uff08\u65b0\u589e\uff09"},{"location":"cp/assessment.html#-_4","text":"\u5206\u503c\uff1a0 - 10 \u9700\u6c42\u5206\u6790\u3001\uff08\u6982\u8981\u548c\u8be6\u7ec6\uff09\u8bbe\u8ba1\u6587\u6863\u9f50\u5907\uff08\u5185\u5bb9\u53ef\u4ee5\u5408\u5e76\u5728\u4e00\u4e2a\u6587\u4ef6\u4e2d\uff0c\u4f46\u9700\u6709\u660e\u786e\u7684\u7ae0\u8282\u6807\u6ce8\uff09\uff1b \u5fc5\u8981\u7684\u63d2\u56fe\u6216\u8868\u683c\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1aUML \u56fe\u3001\u7528\u4f8b\u56fe\u3001\u7cfb\u7edf\u67b6\u6784\u56fe\u3001\u6570\u636e\u5e93\u8868\u7ed3\u6784\u8bbe\u8ba1\uff1b API \u63a5\u53e3\u8bbe\u8ba1\u8bf4\u660e\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1aURI\u3001\u529f\u80fd\u63cf\u8ff0\u3001\u8bf7\u6c42\u53c2\u6570\u8bf4\u660e\u3001\u8bf7\u6c42\u65b9\u6cd5\u8bf4\u660e\u3001\u54cd\u5e94\u503c\u8bf4\u660e\u7b49\uff1b \u4eba\u5458\u5206\u5de5\u8bf4\u660e\uff1b \u7518\u7279\u56fe\uff08\u53ef\u9009\uff09\u3002","title":"\u6587\u6863\u5b9e\u73b0\u5ea6-\u5b8c\u6574\u6027\uff08\u65b0\u589e\uff09"},{"location":"cp/assessment.html#-_5","text":"\u5206\u503c\uff1a0 - 5 \u4f7f\u7528 Markdown \u4e66\u5199\u6240\u6709\u6587\u6863\uff1b \u6392\u7248\u89c4\u8303\u3002\u4f8b\u5982\uff0c\u6709\u57fa\u672c\u7684\u7ae0\u8282\u76ee\u5f55\u3001\u5408\u7406\u4f7f\u7528\u65e0\u5e8f\u5217\u8868\u3001\u6709\u5e8f\u5217\u8868\u3001\u63d2\u56fe\u3001\u8868\u683c\u548c\u8d85\u94fe\u63a5\u5f15\u7528\u6807\u6ce8\uff1b \u63d2\u56fe\u7ed8\u5236\u6ee1\u8db3\uff1a\u8868\u8fbe\u529b\u3001\u89c4\u8303\u6027\u548c\u4e00\u81f4\u6027\u539f\u5219\u3002","title":"\u6587\u6863\u5b9e\u73b0\u5ea6-\u89c4\u8303\u6027\uff08\u65b0\u589e\uff09"},{"location":"cp/assessment.html#_3","text":"\u5206\u503c\uff1a0 - 5 \u4f7f\u7528 Github / Gitee \u79c1\u6709\u4ed3\u5e93\u7ba1\u7406\u6240\u6709\u4ee3\u7801\u548c\u6587\u6863\uff1b \u5168\u7a0b\u4f7f\u7528 Github / Gitee \u8fdb\u884c\u534f\u4f5c\u5f00\u53d1\uff1b Git \u4f7f\u7528\u89c4\u8303\uff1b Exp \u548c Checker \u811a\u672c\u5e94\u63d0\u4f9b\u5fc5\u8981\u7684 requirements.txt \u6216 Pipfile \u3002","title":"\u5f00\u53d1\u89c4\u8303\u6027\uff08\u65b0\u589e\uff09"},{"location":"cp/assessment.html#breakit","text":"\u672c\u9636\u6bb5\u5f53\u524d\u6ee1\u5206\uff1a20 \u3002 \u9650\u4e8e\u7ebf\u4e0a\u6559\u5b66\u73af\u5883\u9650\u5236\uff0c\u672c\u9636\u6bb5\u53ea\u8981\u6c42\u81ea\u5df1\u653b\u7834\u81ea\u5df1 BuildIt \u9636\u6bb5\u5f00\u53d1\u7684\u9776\u6807\u73af\u5883\uff1b \u63d0\u4ea4 BreakIt \u73af\u8282\u7684\u6280\u672f\u603b\u7ed3\u62a5\u544a\u548c Exp \uff0c\u89c6\u62a5\u544a\u548c Exp \u8d28\u91cf\u60c5\u51b5\u8bc4\u5206\uff1b \u672c\u9636\u6bb5\u7684\u6280\u672f\u603b\u7ed3\u62a5\u544a\u548c Exp \u9700\u7edf\u4e00\u63d0\u4ea4\u5230\u9879\u76ee\u4ed3\u5e93\u7684 BreakIt \u5b50\u76ee\u5f55\u3002","title":"BreakIt \u8bc4\u5206\u6807\u51c6"},{"location":"cp/assessment.html#fixit","text":"\u672c\u9636\u6bb5\u5f53\u524d\u6ee1\u5206\uff1a10 \u3002 \u53ea\u9700\u63d0\u4f9b\u81ea\u5df1 BuildIt \u9636\u6bb5\u8d5b\u9898\u7684 FixIt \u6280\u672f\u603b\u7ed3\u62a5\u544a\uff1b \u9f13\u52b1\u91c7\u7528 diff patch \u65b9\u5f0f\u8fdb\u884c\u6e90\u4ee3\u7801\u7ea7\u522b\u7684\u6f0f\u6d1e\u4fee\u590d\u3002","title":"FixIt \u8bc4\u5206\u6807\u51c6"},{"location":"cp/2019/index.html","text":"\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae\u3001\u5b89\u9756 \u8bfe\u7a0b\u4e3b\u9898\uff1a\u4fe1\u606f\u5b89\u5168\u4e09\u5e74\u4e13\u4e1a\u8bfe\u7efc\u5408\u8fd0\u7528\u548c\u5b9e\u8df5 \u5b9e\u9a8c\u51c6\u5907\uff1a\u673a\u623f\u53f0\u5f0f\u673a\u548c\u7f51\u7edc + \u81ea\u5907\u7b14\u8bb0\u672c \u6db5\u76d6\u4e3b\u7ebf\u4e13\u4e1a\u8bfe \u8f6f\u4ef6\u4e0e\u7cfb\u7edf\u5b89\u5168 \u7f51\u7edc\u5b89\u5168 \u5bc6\u7801\u5b66 \u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u5bc6\u7801\u5b66\u5e94\u7528\u5b9e\u8df5 \u8ba1\u7b97\u673a\u7f51\u7edc \u64cd\u4f5c\u7cfb\u7edf \u6570\u636e\u5e93\u539f\u7406\u4e0e\u5e94\u7528 C\u8bed\u8a00+\u6570\u636e\u7ed3\u6784 \u6d89\u53ca\u90e8\u5206\u9009\u4fee\u8bfe\u7a0b \u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168 \u6570\u5b57\u5185\u5bb9\u5b89\u5168 \u4fe1\u606f\u5b89\u5168\u7ba1\u7406 Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406 \u8bfe\u7a0b\u9636\u6bb5\u8ba1\u5212 \u672c\u6b21\u5c0f\u5b66\u671f 2 \u5468\u65f6\u95f4\u7684\u5b9e\u8df5\u8bad\u7ec3\u4e3b\u8981\u7531 2 \u90e8\u5206\u5185\u5bb9\u7ec4\u6210\uff1a CTF \u4e2a\u4eba\u8d5b\uff1b \u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\uff1b \u5176\u4e2d\uff0c\u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u53c2\u8003 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u5206\u533a\u9009\u62d4\u8d5b\u5e94\u7528\u573a\u666f\u5f00\u53d1\u9700\u6c42 \u3001 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b-\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u7ebf\u4e0b\u5206\u533a\u9009\u62d4\u8d5b\u53c2\u8d5b\u6307\u5357 \u548c\u6211\u4eec\u7684 \u5177\u4f53\u8bc4\u5206\u6807\u51c6 \u3002 CTF \u4e2a\u4eba\u8d5b 3 \u5929 Build It 1 \u5468 Break It 1 \u5929 Fix It 1 \u5929 \u5206\u7ec4\u6f14\u793a\u7b54\u8fa9 1 \u5929 \u7ed3\u8bfe\u5927\u4f5c\u4e1a\u57fa\u672c\u8981\u6c42 \u4ee5\u4e2a\u4eba\u4e3a\u5355\u4f4d\u72ec\u7acb\u5b8c\u6210\u300cCTF\u300d \u4ee5\u5c0f\u7ec4\u4e3a\u5355\u4f4d\u5b8c\u6210\u300c\u6f0f\u6d1e\u653b\u9632\u5b9e\u8bad\u300d \u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 3 \u4eba \u9664\u4e86 CTF\u9898\u76ee\u7684Writeup\u7981\u6b62\u5728\u4e92\u8054\u7f51\u4e0a\u5206\u4eab\u8bb0\u5f55 \u4e4b\u5916\uff0c\u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u8fc7\u7a0b\u4e2d\u4ea7\u751f\u7684\u6587\u6863\u3001\u4ee3\u7801\u5747\u53ef\u4ee5\u91c7\u7528 Github \u7684\u65b9\u5f0f\u7ba1\u7406\uff08\u8fd9\u662f\u4e00\u4e2a\u9f13\u52b1\u548c\u652f\u6301\u7684\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u5efa\u8bae\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5370\u8c61\u5206\u54e6\uff5e\uff09 \u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528zip\u683c\u5f0f\u6253\u5305\u5e76\u53d1\u9001\u5230\u6211\u90ae\u7bb1\uff08 \u89c1\u4ee5\u4e0b \u8d5b\u9898\u63d0\u4ea4\u552f\u4e00\u901a\u9053Email \uff09\uff0c\u90ae\u4ef6\u4e3b\u9898\u548c\u90ae\u4ef6\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u4f5c\u4e1a\u9898\u76ee.zip \u3002\u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167\u5bf9\u7ed3\u8bfe\u4f5c\u4e1a\u7684\u8d21\u732e\u7a0b\u5ea6\u6392\u540d\u3002 \u6bcf\u4eba \u72ec\u7acb\u5b8c\u6210\u4e00\u4efd \u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u603b\u7ed3\u6280\u672f\u62a5\u544a markdown \u4e66\u5199\uff1b \u5185\u5bb9\u548c Word \u7248\u8bfe\u9898\u7ed3\u9898\u62a5\u544a \u4e2d\u90e8\u5206\u5185\u5bb9\u6709\u91cd\u590d\uff0c\u91cd\u70b9\u5f3a\u8c03\uff1a\u4e2a\u4eba\u5728\u672c\u6b21\u5927\u4f5c\u4e1a\u4e2d\u7684\u4e3b\u8981\u8d21\u732e\uff1b\u5b8c\u6210\u4e86\u54ea\u4e9b\u81ea\u8ba4\u4e3a\u6709\u6280\u672f\u542b\u91cf\u7684\u5de5\u4f5c\uff1b\u5370\u8c61\u6df1\u523b\u7684\u4e00\u4e9b bug \u548c\u81ea\u5df1\u7684\u89e3\u51b3\u65b9\u6cd5\uff1b \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\uff1b \u89c6\u9891\u6587\u4ef6\u53ef\u4ee5\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff0c\u7136\u540e\u5728\u603b\u7ed3\u62a5\u544a\u6587\u6863\u4e2d\u9644\u4e0a\u89c6\u9891\u94fe\u63a5\u5373\u53ef\uff0c\u4ee5\u51cf\u5c11\u538b\u7f29\u5305\u5927\u5c0f\uff1b \u5df2\u5728 Github \u4e0a\u4f20\u6240\u6709\u6587\u4ef6\u7684\u5c0f\u7ec4\uff0c\u5728\u5b9e\u9a8c\u62a5\u544a\u4e2d\u540c\u6837\u9700\u8981\u9644\u4e0a\u9879\u76ee\u4ed3\u5e93\u5730\u5740\u5907\u67e5\uff1b \u8bfe\u9898\u7ed3\u9898\u62a5\u544a \u8bfe\u7a0b\u603b\u8bc4\u5206\u6570\uff1d \u51fa\u52e4 * 10% + CTF \u6210\u7ee9* 30% + \u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u603b\u7ed3\u6280\u672f\u62a5\u544a * 60% #\u8d5b\u9898\u63d0\u4ea4\u552f\u4e00\u901a\u9053Email python -m base64 -d <<< \"aHVhbmd3ZWkubWVAZ21haWwuY29t\"","title":"2019\u5e74"},{"location":"cp/2019/index.html#_1","text":"\u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae\u3001\u5b89\u9756 \u8bfe\u7a0b\u4e3b\u9898\uff1a\u4fe1\u606f\u5b89\u5168\u4e09\u5e74\u4e13\u4e1a\u8bfe\u7efc\u5408\u8fd0\u7528\u548c\u5b9e\u8df5 \u5b9e\u9a8c\u51c6\u5907\uff1a\u673a\u623f\u53f0\u5f0f\u673a\u548c\u7f51\u7edc + \u81ea\u5907\u7b14\u8bb0\u672c \u6db5\u76d6\u4e3b\u7ebf\u4e13\u4e1a\u8bfe \u8f6f\u4ef6\u4e0e\u7cfb\u7edf\u5b89\u5168 \u7f51\u7edc\u5b89\u5168 \u5bc6\u7801\u5b66 \u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u5bc6\u7801\u5b66\u5e94\u7528\u5b9e\u8df5 \u8ba1\u7b97\u673a\u7f51\u7edc \u64cd\u4f5c\u7cfb\u7edf \u6570\u636e\u5e93\u539f\u7406\u4e0e\u5e94\u7528 C\u8bed\u8a00+\u6570\u636e\u7ed3\u6784 \u6d89\u53ca\u90e8\u5206\u9009\u4fee\u8bfe\u7a0b \u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168 \u6570\u5b57\u5185\u5bb9\u5b89\u5168 \u4fe1\u606f\u5b89\u5168\u7ba1\u7406 Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406","title":"\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"cp/2019/index.html#_2","text":"\u672c\u6b21\u5c0f\u5b66\u671f 2 \u5468\u65f6\u95f4\u7684\u5b9e\u8df5\u8bad\u7ec3\u4e3b\u8981\u7531 2 \u90e8\u5206\u5185\u5bb9\u7ec4\u6210\uff1a CTF \u4e2a\u4eba\u8d5b\uff1b \u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\uff1b \u5176\u4e2d\uff0c\u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u53c2\u8003 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u5206\u533a\u9009\u62d4\u8d5b\u5e94\u7528\u573a\u666f\u5f00\u53d1\u9700\u6c42 \u3001 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b-\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u7ebf\u4e0b\u5206\u533a\u9009\u62d4\u8d5b\u53c2\u8d5b\u6307\u5357 \u548c\u6211\u4eec\u7684 \u5177\u4f53\u8bc4\u5206\u6807\u51c6 \u3002 CTF \u4e2a\u4eba\u8d5b 3 \u5929 Build It 1 \u5468 Break It 1 \u5929 Fix It 1 \u5929 \u5206\u7ec4\u6f14\u793a\u7b54\u8fa9 1 \u5929","title":"\u8bfe\u7a0b\u9636\u6bb5\u8ba1\u5212"},{"location":"cp/2019/index.html#_3","text":"\u4ee5\u4e2a\u4eba\u4e3a\u5355\u4f4d\u72ec\u7acb\u5b8c\u6210\u300cCTF\u300d \u4ee5\u5c0f\u7ec4\u4e3a\u5355\u4f4d\u5b8c\u6210\u300c\u6f0f\u6d1e\u653b\u9632\u5b9e\u8bad\u300d \u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 3 \u4eba \u9664\u4e86 CTF\u9898\u76ee\u7684Writeup\u7981\u6b62\u5728\u4e92\u8054\u7f51\u4e0a\u5206\u4eab\u8bb0\u5f55 \u4e4b\u5916\uff0c\u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u8fc7\u7a0b\u4e2d\u4ea7\u751f\u7684\u6587\u6863\u3001\u4ee3\u7801\u5747\u53ef\u4ee5\u91c7\u7528 Github \u7684\u65b9\u5f0f\u7ba1\u7406\uff08\u8fd9\u662f\u4e00\u4e2a\u9f13\u52b1\u548c\u652f\u6301\u7684\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u5efa\u8bae\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5370\u8c61\u5206\u54e6\uff5e\uff09 \u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528zip\u683c\u5f0f\u6253\u5305\u5e76\u53d1\u9001\u5230\u6211\u90ae\u7bb1\uff08 \u89c1\u4ee5\u4e0b \u8d5b\u9898\u63d0\u4ea4\u552f\u4e00\u901a\u9053Email \uff09\uff0c\u90ae\u4ef6\u4e3b\u9898\u548c\u90ae\u4ef6\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u4f5c\u4e1a\u9898\u76ee.zip \u3002\u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167\u5bf9\u7ed3\u8bfe\u4f5c\u4e1a\u7684\u8d21\u732e\u7a0b\u5ea6\u6392\u540d\u3002 \u6bcf\u4eba \u72ec\u7acb\u5b8c\u6210\u4e00\u4efd \u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u603b\u7ed3\u6280\u672f\u62a5\u544a markdown \u4e66\u5199\uff1b \u5185\u5bb9\u548c Word \u7248\u8bfe\u9898\u7ed3\u9898\u62a5\u544a \u4e2d\u90e8\u5206\u5185\u5bb9\u6709\u91cd\u590d\uff0c\u91cd\u70b9\u5f3a\u8c03\uff1a\u4e2a\u4eba\u5728\u672c\u6b21\u5927\u4f5c\u4e1a\u4e2d\u7684\u4e3b\u8981\u8d21\u732e\uff1b\u5b8c\u6210\u4e86\u54ea\u4e9b\u81ea\u8ba4\u4e3a\u6709\u6280\u672f\u542b\u91cf\u7684\u5de5\u4f5c\uff1b\u5370\u8c61\u6df1\u523b\u7684\u4e00\u4e9b bug \u548c\u81ea\u5df1\u7684\u89e3\u51b3\u65b9\u6cd5\uff1b \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\uff1b \u89c6\u9891\u6587\u4ef6\u53ef\u4ee5\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff0c\u7136\u540e\u5728\u603b\u7ed3\u62a5\u544a\u6587\u6863\u4e2d\u9644\u4e0a\u89c6\u9891\u94fe\u63a5\u5373\u53ef\uff0c\u4ee5\u51cf\u5c11\u538b\u7f29\u5305\u5927\u5c0f\uff1b \u5df2\u5728 Github \u4e0a\u4f20\u6240\u6709\u6587\u4ef6\u7684\u5c0f\u7ec4\uff0c\u5728\u5b9e\u9a8c\u62a5\u544a\u4e2d\u540c\u6837\u9700\u8981\u9644\u4e0a\u9879\u76ee\u4ed3\u5e93\u5730\u5740\u5907\u67e5\uff1b \u8bfe\u9898\u7ed3\u9898\u62a5\u544a \u8bfe\u7a0b\u603b\u8bc4\u5206\u6570\uff1d \u51fa\u52e4 * 10% + CTF \u6210\u7ee9* 30% + \u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u603b\u7ed3\u6280\u672f\u62a5\u544a * 60% #\u8d5b\u9898\u63d0\u4ea4\u552f\u4e00\u901a\u9053Email python -m base64 -d <<< \"aHVhbmd3ZWkubWVAZ21haWwuY29t\"","title":"\u7ed3\u8bfe\u5927\u4f5c\u4e1a\u57fa\u672c\u8981\u6c42"},{"location":"cp/2021/index.html","text":"\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae\u3001\u5b89\u9756 \u8bfe\u7a0b\u4e3b\u9898\uff1a\u4fe1\u606f\u5b89\u5168\u4e09\u5e74\u4e13\u4e1a\u8bfe\u7efc\u5408\u8fd0\u7528\u548c\u5b9e\u8df5 \u5b9e\u9a8c\u51c6\u5907\uff1a\u673a\u623f\u53f0\u5f0f\u673a\u548c\u7f51\u7edc + \u81ea\u5907\u7b14\u8bb0\u672c \u6db5\u76d6\u4e3b\u7ebf\u4e13\u4e1a\u8bfe \u8f6f\u4ef6\u4e0e\u7cfb\u7edf\u5b89\u5168 \u7f51\u7edc\u5b89\u5168 \u5bc6\u7801\u5b66 \u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u5bc6\u7801\u5b66\u5e94\u7528\u5b9e\u8df5 \u8ba1\u7b97\u673a\u7f51\u7edc \u64cd\u4f5c\u7cfb\u7edf \u6570\u636e\u5e93\u539f\u7406\u4e0e\u5e94\u7528 C\u8bed\u8a00+\u6570\u636e\u7ed3\u6784 \u6d89\u53ca\u90e8\u5206\u9009\u4fee\u8bfe\u7a0b \u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168 \u6570\u5b57\u5185\u5bb9\u5b89\u5168 \u4fe1\u606f\u5b89\u5168\u7ba1\u7406 Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406 \u8bfe\u7a0b\u9636\u6bb5\u8ba1\u5212 \u672c\u6b21\u5c0f\u5b66\u671f 2 \u5468\u65f6\u95f4\u7684\u5b9e\u8df5\u8bad\u7ec3\u4e3b\u8981\u7531 2 \u90e8\u5206\u5185\u5bb9\u7ec4\u6210\uff1a CTF \u4e2a\u4eba\u8d5b\uff1b \u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\uff1b \u5176\u4e2d\uff0c\u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u53c2\u8003 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u5206\u533a\u9009\u62d4\u8d5b\u5e94\u7528\u573a\u666f\u5f00\u53d1\u9700\u6c42 \u3001 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b-\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u7ebf\u4e0b\u5206\u533a\u9009\u62d4\u8d5b\u53c2\u8d5b\u6307\u5357 \u548c\u6211\u4eec\u7684 \u5177\u4f53\u8bc4\u5206\u6807\u51c6 \u3002 CTF \u4e2a\u4eba\u8d5b 2 \u5929 Build It 1 \u5468 Break It 1 \u5929 Fix It 1 \u5929 \u5206\u7ec4\u6f14\u793a\u7b54\u8fa9 2 \u5929 \u7ed3\u8bfe\u5927\u4f5c\u4e1a\u57fa\u672c\u8981\u6c42 \u4ee5\u4e2a\u4eba\u4e3a\u5355\u4f4d\u72ec\u7acb\u5b8c\u6210\u300cCTF\u300d \u4ee5\u5c0f\u7ec4\u4e3a\u5355\u4f4d\u5b8c\u6210\u300c\u6f0f\u6d1e\u653b\u9632\u5b9e\u8bad\u300d \u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 3 \u4eba \u9664\u4e86 CTF\u9898\u76ee\u7684Writeup\u7981\u6b62\u5728\u4e92\u8054\u7f51\u4e0a\u5206\u4eab\u8bb0\u5f55 \u4e4b\u5916\uff0c\u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u8fc7\u7a0b\u4e2d\u4ea7\u751f\u7684\u6587\u6863\u3001\u4ee3\u7801\u5747\u53ef\u4ee5\u91c7\u7528 Github \u7684\u65b9\u5f0f\u7ba1\u7406\uff08\u8fd9\u662f\u4e00\u4e2a\u9f13\u52b1\u548c\u652f\u6301\u7684\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u5efa\u8bae\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5370\u8c61\u5206\u54e6\uff5e\uff09 \u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528zip\u683c\u5f0f\u6253\u5305\u5e76\u53d1\u9001\u5230\u6211\u90ae\u7bb1\uff08 \u89c1\u4ee5\u4e0b \u8d5b\u9898\u63d0\u4ea4\u552f\u4e00\u901a\u9053Email \uff09\uff0c\u90ae\u4ef6\u4e3b\u9898\u548c\u90ae\u4ef6\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u4f5c\u4e1a\u9898\u76ee.zip \u3002\u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167\u5bf9\u7ed3\u8bfe\u4f5c\u4e1a\u7684\u8d21\u732e\u7a0b\u5ea6\u6392\u540d\u3002 \u6bcf\u4eba \u72ec\u7acb\u5b8c\u6210\u4e00\u4efd \u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u603b\u7ed3\u6280\u672f\u62a5\u544a markdown \u4e66\u5199\uff1b \u5185\u5bb9\u548c Word \u7248\u8bfe\u9898\u7ed3\u9898\u62a5\u544a \u4e2d\u90e8\u5206\u5185\u5bb9\u6709\u91cd\u590d\uff0c\u91cd\u70b9\u5f3a\u8c03\uff1a\u4e2a\u4eba\u5728\u672c\u6b21\u5927\u4f5c\u4e1a\u4e2d\u7684\u4e3b\u8981\u8d21\u732e\uff1b\u5b8c\u6210\u4e86\u54ea\u4e9b\u81ea\u8ba4\u4e3a\u6709\u6280\u672f\u542b\u91cf\u7684\u5de5\u4f5c\uff1b\u5370\u8c61\u6df1\u523b\u7684\u4e00\u4e9b bug \u548c\u81ea\u5df1\u7684\u89e3\u51b3\u65b9\u6cd5\uff1b \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\uff1b \u89c6\u9891\u6587\u4ef6\u53ef\u4ee5\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff0c\u7136\u540e\u5728\u603b\u7ed3\u62a5\u544a\u6587\u6863\u4e2d\u9644\u4e0a\u89c6\u9891\u94fe\u63a5\u5373\u53ef\uff0c\u4ee5\u51cf\u5c11\u538b\u7f29\u5305\u5927\u5c0f\uff1b \u5df2\u5728 Github \u4e0a\u4f20\u6240\u6709\u6587\u4ef6\u7684\u5c0f\u7ec4\uff0c\u5728\u5b9e\u9a8c\u62a5\u544a\u4e2d\u540c\u6837\u9700\u8981\u9644\u4e0a\u9879\u76ee\u4ed3\u5e93\u5730\u5740\u5907\u67e5\uff1b \u8bfe\u9898\u7ed3\u9898\u62a5\u544a \u8bfe\u7a0b\u603b\u8bc4\u5206\u6570\uff1d \u51fa\u52e4 * 10% + CTF \u6210\u7ee9* 30% + \u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u603b\u7ed3\u6280\u672f\u62a5\u544a * 60% #\u8d5b\u9898\u63d0\u4ea4\u552f\u4e00\u901a\u9053Email python -m base64 -d <<< \"aHVhbmd3ZWkubWVAZ21haWwuY29t\"","title":"2021\u5e74"},{"location":"cp/2021/index.html#_1","text":"\u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae\u3001\u5b89\u9756 \u8bfe\u7a0b\u4e3b\u9898\uff1a\u4fe1\u606f\u5b89\u5168\u4e09\u5e74\u4e13\u4e1a\u8bfe\u7efc\u5408\u8fd0\u7528\u548c\u5b9e\u8df5 \u5b9e\u9a8c\u51c6\u5907\uff1a\u673a\u623f\u53f0\u5f0f\u673a\u548c\u7f51\u7edc + \u81ea\u5907\u7b14\u8bb0\u672c \u6db5\u76d6\u4e3b\u7ebf\u4e13\u4e1a\u8bfe \u8f6f\u4ef6\u4e0e\u7cfb\u7edf\u5b89\u5168 \u7f51\u7edc\u5b89\u5168 \u5bc6\u7801\u5b66 \u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u5bc6\u7801\u5b66\u5e94\u7528\u5b9e\u8df5 \u8ba1\u7b97\u673a\u7f51\u7edc \u64cd\u4f5c\u7cfb\u7edf \u6570\u636e\u5e93\u539f\u7406\u4e0e\u5e94\u7528 C\u8bed\u8a00+\u6570\u636e\u7ed3\u6784 \u6d89\u53ca\u90e8\u5206\u9009\u4fee\u8bfe\u7a0b \u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168 \u6570\u5b57\u5185\u5bb9\u5b89\u5168 \u4fe1\u606f\u5b89\u5168\u7ba1\u7406 Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406","title":"\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"cp/2021/index.html#_2","text":"\u672c\u6b21\u5c0f\u5b66\u671f 2 \u5468\u65f6\u95f4\u7684\u5b9e\u8df5\u8bad\u7ec3\u4e3b\u8981\u7531 2 \u90e8\u5206\u5185\u5bb9\u7ec4\u6210\uff1a CTF \u4e2a\u4eba\u8d5b\uff1b \u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\uff1b \u5176\u4e2d\uff0c\u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u53c2\u8003 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u5206\u533a\u9009\u62d4\u8d5b\u5e94\u7528\u573a\u666f\u5f00\u53d1\u9700\u6c42 \u3001 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b-\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u7ebf\u4e0b\u5206\u533a\u9009\u62d4\u8d5b\u53c2\u8d5b\u6307\u5357 \u548c\u6211\u4eec\u7684 \u5177\u4f53\u8bc4\u5206\u6807\u51c6 \u3002 CTF \u4e2a\u4eba\u8d5b 2 \u5929 Build It 1 \u5468 Break It 1 \u5929 Fix It 1 \u5929 \u5206\u7ec4\u6f14\u793a\u7b54\u8fa9 2 \u5929","title":"\u8bfe\u7a0b\u9636\u6bb5\u8ba1\u5212"},{"location":"cp/2021/index.html#_3","text":"\u4ee5\u4e2a\u4eba\u4e3a\u5355\u4f4d\u72ec\u7acb\u5b8c\u6210\u300cCTF\u300d \u4ee5\u5c0f\u7ec4\u4e3a\u5355\u4f4d\u5b8c\u6210\u300c\u6f0f\u6d1e\u653b\u9632\u5b9e\u8bad\u300d \u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 3 \u4eba \u9664\u4e86 CTF\u9898\u76ee\u7684Writeup\u7981\u6b62\u5728\u4e92\u8054\u7f51\u4e0a\u5206\u4eab\u8bb0\u5f55 \u4e4b\u5916\uff0c\u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u8fc7\u7a0b\u4e2d\u4ea7\u751f\u7684\u6587\u6863\u3001\u4ee3\u7801\u5747\u53ef\u4ee5\u91c7\u7528 Github \u7684\u65b9\u5f0f\u7ba1\u7406\uff08\u8fd9\u662f\u4e00\u4e2a\u9f13\u52b1\u548c\u652f\u6301\u7684\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u5efa\u8bae\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5370\u8c61\u5206\u54e6\uff5e\uff09 \u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528zip\u683c\u5f0f\u6253\u5305\u5e76\u53d1\u9001\u5230\u6211\u90ae\u7bb1\uff08 \u89c1\u4ee5\u4e0b \u8d5b\u9898\u63d0\u4ea4\u552f\u4e00\u901a\u9053Email \uff09\uff0c\u90ae\u4ef6\u4e3b\u9898\u548c\u90ae\u4ef6\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u4f5c\u4e1a\u9898\u76ee.zip \u3002\u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167\u5bf9\u7ed3\u8bfe\u4f5c\u4e1a\u7684\u8d21\u732e\u7a0b\u5ea6\u6392\u540d\u3002 \u6bcf\u4eba \u72ec\u7acb\u5b8c\u6210\u4e00\u4efd \u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u603b\u7ed3\u6280\u672f\u62a5\u544a markdown \u4e66\u5199\uff1b \u5185\u5bb9\u548c Word \u7248\u8bfe\u9898\u7ed3\u9898\u62a5\u544a \u4e2d\u90e8\u5206\u5185\u5bb9\u6709\u91cd\u590d\uff0c\u91cd\u70b9\u5f3a\u8c03\uff1a\u4e2a\u4eba\u5728\u672c\u6b21\u5927\u4f5c\u4e1a\u4e2d\u7684\u4e3b\u8981\u8d21\u732e\uff1b\u5b8c\u6210\u4e86\u54ea\u4e9b\u81ea\u8ba4\u4e3a\u6709\u6280\u672f\u542b\u91cf\u7684\u5de5\u4f5c\uff1b\u5370\u8c61\u6df1\u523b\u7684\u4e00\u4e9b bug \u548c\u81ea\u5df1\u7684\u89e3\u51b3\u65b9\u6cd5\uff1b \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\uff1b \u89c6\u9891\u6587\u4ef6\u53ef\u4ee5\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff0c\u7136\u540e\u5728\u603b\u7ed3\u62a5\u544a\u6587\u6863\u4e2d\u9644\u4e0a\u89c6\u9891\u94fe\u63a5\u5373\u53ef\uff0c\u4ee5\u51cf\u5c11\u538b\u7f29\u5305\u5927\u5c0f\uff1b \u5df2\u5728 Github \u4e0a\u4f20\u6240\u6709\u6587\u4ef6\u7684\u5c0f\u7ec4\uff0c\u5728\u5b9e\u9a8c\u62a5\u544a\u4e2d\u540c\u6837\u9700\u8981\u9644\u4e0a\u9879\u76ee\u4ed3\u5e93\u5730\u5740\u5907\u67e5\uff1b \u8bfe\u9898\u7ed3\u9898\u62a5\u544a \u8bfe\u7a0b\u603b\u8bc4\u5206\u6570\uff1d \u51fa\u52e4 * 10% + CTF \u6210\u7ee9* 30% + \u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u603b\u7ed3\u6280\u672f\u62a5\u544a * 60% #\u8d5b\u9898\u63d0\u4ea4\u552f\u4e00\u901a\u9053Email python -m base64 -d <<< \"aHVhbmd3ZWkubWVAZ21haWwuY29t\"","title":"\u7ed3\u8bfe\u5927\u4f5c\u4e1a\u57fa\u672c\u8981\u6c42"},{"location":"cp/2022/index.html","text":"2022 \u5e74\u6559\u5b66\u8ba1\u5212 \u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae\u3001\u5b89\u9756 \u8bfe\u7a0b\u4e3b\u9898\uff1a\u4fe1\u606f\u5b89\u5168\u4e09\u5e74\u4e13\u4e1a\u8bfe\u7efc\u5408\u8fd0\u7528\u548c\u5b9e\u8df5 \u5b9e\u9a8c\u51c6\u5907\uff1a\u81ea\u5907\u7535\u8111\uff0c\u81ea\u884c\u5b89\u6392\u65f6\u95f4\u548c\u5730\u70b9 \u4e0a\u8bfe\u65b9\u5f0f\uff1a\u8bb2\u6388\u7ed3\u8bfe\u65b9\u5f0f1\u6b21+\u81ea\u884c\u7ec4\u961f\u5b8c\u6210\u5927\u4f5c\u4e1a \u8bfe\u7a0b\u9636\u6bb5\u8ba1\u5212 \u672c\u6b21\u5c0f\u5b66\u671f\u8bbe\u8ba1\u4e86 \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u548c \u5355\u5175\u4f5c\u6218 \u4efb\u52a1\u3002 \u672c\u6b21\u5c0f\u5b66\u671f 2 \u5468\u65f6\u95f4\u7684 \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u5c06\u53c2\u7167 \u4fe1\u606f\u5b89\u5168\u7ade\u8d5b\u56fd\u8d5b \u7684 \u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b \u8d5b\u5236\u5c55\u5f00\u4e13\u4e1a\u7efc\u5408\u5b9e\u8df5\u8bad\u7ec3\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u53c2\u8003 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u5206\u533a\u9009\u62d4\u8d5b\u5e94\u7528\u573a\u666f\u5f00\u53d1\u9700\u6c42 \u3001 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b-\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u7ebf\u4e0b\u5206\u533a\u9009\u62d4\u8d5b\u53c2\u8d5b\u6307\u5357 \u548c\u6211\u4eec\u7684 \u5177\u4f53\u8bc4\u5206\u6807\u51c6 \u3002 \u5355\u5175\u4f5c\u6218 \u4efb\u52a1\u76ee\u6807\u4e3a\u6784\u5efa \u82e5\u5e72 \u5305\u542b \u6307\u5b9a\u6f0f\u6d1e \u7684\u9776\u6807\u73af\u5883\u5e76\u5b8c\u6210\u6f0f\u6d1e\u5229\u7528\u9a8c\u8bc1\uff0c\u6309\u8981\u6c42\u6253\u5305\u6574\u5957\u73af\u5883\u3002 \u4f5c\u54c1\u63d0\u4ea4 DDL\uff1a2022.8.10 23:59:59\u3002 \u7ed3\u8bfe\u5927\u4f5c\u4e1a\u57fa\u672c\u8981\u6c42 \u5171\u6027\u8981\u6c42 \u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528zip\u683c\u5f0f\u6253\u5305\u5e76\u63d0\u4ea4\u5230\u5b66\u6821\u7545\u8bfe\u5e73\u53f0\u6307\u5b9a\u4f5c\u4e1a\u6a21\u5757\uff08\u540e\u7eed\u5728\u8bfe\u7a0b\u5fae\u4fe1\u7fa4\u3001\u7545\u8bfe\u5e73\u53f0\u8bfe\u7a0b\u516c\u544a\u6a21\u5757\u8fdb\u884c\u901a\u77e5\uff0c\u6ce8\u610f\u67e5\u770b\uff09\u3002\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u59d3\u540d4_\u59d3\u540d5_\u59d3\u540d6_\u4f5c\u4e1a\u9898\u76ee.zip \uff1b \u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167\u5bf9\u7ed3\u8bfe\u4f5c\u4e1a\u7684\u8d21\u732e\u7a0b\u5ea6\u6392\u540d\uff1b \u6bcf\u4eba \u72ec\u7acb\u5b8c\u6210\u4e00\u4efd \u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u603b\u7ed3\u6280\u672f\u62a5\u544a\uff1b markdown \u4e66\u5199\uff0c\u5efa\u8bae\u53c2\u7167 \u57fa\u4e8e Markdown \u7684\u4e2d\u6587\u6587\u6863\u6392\u7248\u89c4\u8303 \u5bf9\u5b9e\u9a8c\u62a5\u544a\u8fdb\u884c\u6392\u7248\uff1b \u5185\u5bb9\u91cd\u70b9\u5f3a\u8c03\uff1a\u4e2a\u4eba\u5728\u672c\u6b21\u5927\u4f5c\u4e1a\u4e2d\u7684\u4e3b\u8981\u8d21\u732e\uff1b\u5b8c\u6210\u4e86\u54ea\u4e9b\u81ea\u8ba4\u4e3a\u6709\u6280\u672f\u542b\u91cf\u7684\u5de5\u4f5c\uff1b\u5370\u8c61\u6df1\u523b\u7684\u4e00\u4e9b bug \u548c\u81ea\u5df1\u7684\u89e3\u51b3\u65b9\u6cd5\uff1b \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\uff1b \u89c6\u9891\u6587\u4ef6\u53ef\u4ee5\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff0c\u7136\u540e\u5728\u603b\u7ed3\u62a5\u544a\u6587\u6863\u4e2d\u9644\u4e0a\u89c6\u9891\u94fe\u63a5\u5373\u53ef\uff0c\u4ee5\u51cf\u5c11\u538b\u7f29\u5305\u5927\u5c0f\uff1b \u5df2\u5728 Github \u4e0a\u4f20\u6240\u6709\u6587\u4ef6\u7684\u5c0f\u7ec4\uff0c\u5728\u5b9e\u9a8c\u62a5\u544a\u4e2d\u540c\u6837\u9700\u8981\u9644\u4e0a\u9879\u76ee\u4ed3\u5e93\u5730\u5740\u5907\u67e5\u3002 \u5355\u5175\u4f5c\u6218 \u82e5\u5e72 \u7684\u6570\u91cf\u5b9a\u4e49\u4f1a\u5f71\u54cd\u6700\u7ec8\u6210\u7ee9\u3002\u4e0d\u540c\u6f0f\u6d1e\u9776\u6807\u7684\u6784\u5efa\u96be\u5ea6\u5dee\u5f02\u8f83\u5927\uff0c\u56e0\u6b64\u4e0d\u9650\u5b9a\u5177\u4f53\u6570\u91cf\u7684\u6f0f\u6d1e\u9776\u6807\u548c\u6700\u7ec8\u6210\u7ee9\u4e4b\u95f4\u7684\u786e\u5b9a\u5173\u7cfb\uff0c\u7531\u8001\u5e08\u6839\u636e\u5177\u4f53\u6f0f\u6d1e\u9776\u6807\u6784\u5efa\u96be\u5ea6\u8fdb\u884c \u57fa\u4e8e\u5ba2\u89c2\u4e8b\u5b9e\u7684\u4e3b\u89c2\u8bc4\u4ef7 \u3002\u80fd\u8005\u591a\u52b3\uff0c\u591a\u591a\u76ca\u5584\u3002\u4fdd\u5e95\u53ca\u683c\u8981\u6c42\u662f\u72ec\u7acb\u5b8c\u6210\u4e00\u4e2a \u4f4e\u91cd\u590d\u5ea6 \u7684\u6f0f\u6d1e\u9776\u6807\u6784\u5efa\u548c\u6f0f\u6d1e\u5229\u7528\u9a8c\u8bc1\u3002 \u4f4e\u91cd\u590d\u5ea6 \u6307\u7684\u662f\u4e0d\u8d85\u8fc7 3 \u4eba\u91cd\u590d\u6784\u5efa\u540c\u4e00\u4e2a\u6f0f\u6d1e\u9776\u6807\u3002 \u6307\u5b9a\u6f0f\u6d1e\u6240\u5f71\u54cd\u8f6f\u4ef6\u8303\u56f4\u5982\u4e0b\uff0c\u4e3a\u4e86\u907f\u514d\u6f0f\u6d1e\u73af\u5883\u91cd\u590d\uff0c\u8bf7\u5728\u52a8\u624b\u6784\u5efa\u9776\u6807\u4e4b\u524d\u5148\u548c\u6388\u8bfe\u8001\u5e08\u62a5\u540d\u786e\u8ba4\u540e\u518d\u52a8\u624b\uff1a [ ] FTP [ ] MS-SQL [ ] Oracle [ ] MySQL [ ] SQL Server [ ] DB2 [ ] MariaDB [ ] \u8fbe\u68a6\u6570\u636e\u5e93 [ ] Informix [ ] Gbase [ ] SQLlite [ ] VxWorks [ ] AIX [ ] Solaris [ ] BSD \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u4ee5\u5c0f\u7ec4\u4e3a\u5355\u4f4d\u5b8c\u6210\u300c\u6f0f\u6d1e\u653b\u9632\u5b9e\u8bad\u300d\uff1b \u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 6 \u4eba\uff0c\u5efa\u8bae 4 \u4eba\u6700\u4f73\uff1b \u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u8fc7\u7a0b\u4e2d\u4ea7\u751f\u7684\u6587\u6863\u3001\u4ee3\u7801\u5747\u53ef\u4ee5\u91c7\u7528 Github \u7684\u65b9\u5f0f\u7ba1\u7406\uff08\u8fd9\u662f\u4e00\u4e2a\u9f13\u52b1\u548c\u652f\u6301\u7684\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u5efa\u8bae\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5370\u8c61\u5206\u54e6\uff5e\uff09\uff1b \u63a8\u8350\u7684\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u7ec4\u7ec7\u5f62\u5f0f \u251c\u2500\u2500 0_\u5f20\u4e09 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 1_\u674e\u56db \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 2_\u738b\u4e94 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 3_\u8d75\u516d \u2502 \u2514\u2500\u2500 README.md \u2514\u2500\u2500 README.md \u5982\u679c\u662f\u9009\u62e9\u5728 \u516c\u5f00\u4ed3\u5e93 \u63d0\u4ea4\u4f5c\u54c1\uff0c\u5219\u65e0\u9700\u5b9e\u540d\u547d\u540d\u4e0a\u8ff0\u5b50\u76ee\u5f55\uff0c\u53ef\u4ee5\u4f7f\u7528\u81ea\u5df1\u7684 \u7f51\u7edc ID \uff0c\u4f46\u662f\u5728\u6253\u5305\u63d0\u4ea4\u5230\u7545\u8bfe\u4f5c\u4e1a\u533a\u7684\u6700\u7ec8\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u91cc\u9700\u8981\u4f7f\u7528\u5b9e\u540d\u3002 \u6839\u76ee\u5f55\u4e0b\u7684 README.md \u5185\u5bb9\u7edf\u4e00\u8981\u6c42\u5982\u4e0b\uff0c\u793a\u8303 README \u89c1 ac-demo \uff1a # \u4f5c\u54c1\u540d > \u4e00\u53e5\u8bdd\u7b80\u4ecb\u3002 ## \u529f\u80fd\u6e05\u5355 > \u5217\u8868\u5f62\u5f0f\u8bf4\u660e\u9010\u4e2a\u529f\u80fd\u8981\u70b9\u3002 ## \u672c\u9879\u76ee\u7528\u5230\u7684\u5173\u952e\u6280\u672f > \u672c\u4f5c\u54c1\u4e2d\u5305\u542b\u7684\u5bc6\u7801\u5b66\u7406\u8bba\u4e0e\u6280\u672f\u793a\u8303\u5e94\u7528\u8981\u70b9\u8bf4\u660e\uff0c\u5217\u8868\u5f62\u5f0f\u3001\u9010\u4e2a\u8981\u70b9\u8bf4\u660e\u3002 ## \u5feb\u901f\u4e0a\u624b\u4f53\u9a8c > \u5feb\u901f\u5b89\u88c5\u4e0e\u4f7f\u7528\u65b9\u6cd5\u8bf4\u660e\u3002 ## \u6f14\u793a > \u8bfe\u7a0b\u7ed3\u9898\u62a5\u544a\u4e0e\u7cfb\u7edf\u529f\u80fd\u64cd\u4f5c\u89c6\u9891\u6f14\u793a\u5730\u5740\u3002 ## \u9644\u5f55-1 \uff08\u53ef\u9009\uff09 ## \u9644\u5f55-2 \uff08\u53ef\u9009\uff09","title":"2022\u5e74"},{"location":"cp/2022/index.html#2022","text":"","title":"2022 \u5e74\u6559\u5b66\u8ba1\u5212"},{"location":"cp/2022/index.html#_1","text":"\u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae\u3001\u5b89\u9756 \u8bfe\u7a0b\u4e3b\u9898\uff1a\u4fe1\u606f\u5b89\u5168\u4e09\u5e74\u4e13\u4e1a\u8bfe\u7efc\u5408\u8fd0\u7528\u548c\u5b9e\u8df5 \u5b9e\u9a8c\u51c6\u5907\uff1a\u81ea\u5907\u7535\u8111\uff0c\u81ea\u884c\u5b89\u6392\u65f6\u95f4\u548c\u5730\u70b9 \u4e0a\u8bfe\u65b9\u5f0f\uff1a\u8bb2\u6388\u7ed3\u8bfe\u65b9\u5f0f1\u6b21+\u81ea\u884c\u7ec4\u961f\u5b8c\u6210\u5927\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"cp/2022/index.html#_2","text":"\u672c\u6b21\u5c0f\u5b66\u671f\u8bbe\u8ba1\u4e86 \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u548c \u5355\u5175\u4f5c\u6218 \u4efb\u52a1\u3002 \u672c\u6b21\u5c0f\u5b66\u671f 2 \u5468\u65f6\u95f4\u7684 \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u5c06\u53c2\u7167 \u4fe1\u606f\u5b89\u5168\u7ade\u8d5b\u56fd\u8d5b \u7684 \u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b \u8d5b\u5236\u5c55\u5f00\u4e13\u4e1a\u7efc\u5408\u5b9e\u8df5\u8bad\u7ec3\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u53c2\u8003 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u5206\u533a\u9009\u62d4\u8d5b\u5e94\u7528\u573a\u666f\u5f00\u53d1\u9700\u6c42 \u3001 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b-\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u7ebf\u4e0b\u5206\u533a\u9009\u62d4\u8d5b\u53c2\u8d5b\u6307\u5357 \u548c\u6211\u4eec\u7684 \u5177\u4f53\u8bc4\u5206\u6807\u51c6 \u3002 \u5355\u5175\u4f5c\u6218 \u4efb\u52a1\u76ee\u6807\u4e3a\u6784\u5efa \u82e5\u5e72 \u5305\u542b \u6307\u5b9a\u6f0f\u6d1e \u7684\u9776\u6807\u73af\u5883\u5e76\u5b8c\u6210\u6f0f\u6d1e\u5229\u7528\u9a8c\u8bc1\uff0c\u6309\u8981\u6c42\u6253\u5305\u6574\u5957\u73af\u5883\u3002 \u4f5c\u54c1\u63d0\u4ea4 DDL\uff1a2022.8.10 23:59:59\u3002","title":"\u8bfe\u7a0b\u9636\u6bb5\u8ba1\u5212"},{"location":"cp/2022/index.html#_3","text":"","title":"\u7ed3\u8bfe\u5927\u4f5c\u4e1a\u57fa\u672c\u8981\u6c42"},{"location":"cp/2022/index.html#_4","text":"\u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528zip\u683c\u5f0f\u6253\u5305\u5e76\u63d0\u4ea4\u5230\u5b66\u6821\u7545\u8bfe\u5e73\u53f0\u6307\u5b9a\u4f5c\u4e1a\u6a21\u5757\uff08\u540e\u7eed\u5728\u8bfe\u7a0b\u5fae\u4fe1\u7fa4\u3001\u7545\u8bfe\u5e73\u53f0\u8bfe\u7a0b\u516c\u544a\u6a21\u5757\u8fdb\u884c\u901a\u77e5\uff0c\u6ce8\u610f\u67e5\u770b\uff09\u3002\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u59d3\u540d4_\u59d3\u540d5_\u59d3\u540d6_\u4f5c\u4e1a\u9898\u76ee.zip \uff1b \u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167\u5bf9\u7ed3\u8bfe\u4f5c\u4e1a\u7684\u8d21\u732e\u7a0b\u5ea6\u6392\u540d\uff1b \u6bcf\u4eba \u72ec\u7acb\u5b8c\u6210\u4e00\u4efd \u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u603b\u7ed3\u6280\u672f\u62a5\u544a\uff1b markdown \u4e66\u5199\uff0c\u5efa\u8bae\u53c2\u7167 \u57fa\u4e8e Markdown \u7684\u4e2d\u6587\u6587\u6863\u6392\u7248\u89c4\u8303 \u5bf9\u5b9e\u9a8c\u62a5\u544a\u8fdb\u884c\u6392\u7248\uff1b \u5185\u5bb9\u91cd\u70b9\u5f3a\u8c03\uff1a\u4e2a\u4eba\u5728\u672c\u6b21\u5927\u4f5c\u4e1a\u4e2d\u7684\u4e3b\u8981\u8d21\u732e\uff1b\u5b8c\u6210\u4e86\u54ea\u4e9b\u81ea\u8ba4\u4e3a\u6709\u6280\u672f\u542b\u91cf\u7684\u5de5\u4f5c\uff1b\u5370\u8c61\u6df1\u523b\u7684\u4e00\u4e9b bug \u548c\u81ea\u5df1\u7684\u89e3\u51b3\u65b9\u6cd5\uff1b \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\uff1b \u89c6\u9891\u6587\u4ef6\u53ef\u4ee5\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff0c\u7136\u540e\u5728\u603b\u7ed3\u62a5\u544a\u6587\u6863\u4e2d\u9644\u4e0a\u89c6\u9891\u94fe\u63a5\u5373\u53ef\uff0c\u4ee5\u51cf\u5c11\u538b\u7f29\u5305\u5927\u5c0f\uff1b \u5df2\u5728 Github \u4e0a\u4f20\u6240\u6709\u6587\u4ef6\u7684\u5c0f\u7ec4\uff0c\u5728\u5b9e\u9a8c\u62a5\u544a\u4e2d\u540c\u6837\u9700\u8981\u9644\u4e0a\u9879\u76ee\u4ed3\u5e93\u5730\u5740\u5907\u67e5\u3002","title":"\u5171\u6027\u8981\u6c42"},{"location":"cp/2022/index.html#_5","text":"\u82e5\u5e72 \u7684\u6570\u91cf\u5b9a\u4e49\u4f1a\u5f71\u54cd\u6700\u7ec8\u6210\u7ee9\u3002\u4e0d\u540c\u6f0f\u6d1e\u9776\u6807\u7684\u6784\u5efa\u96be\u5ea6\u5dee\u5f02\u8f83\u5927\uff0c\u56e0\u6b64\u4e0d\u9650\u5b9a\u5177\u4f53\u6570\u91cf\u7684\u6f0f\u6d1e\u9776\u6807\u548c\u6700\u7ec8\u6210\u7ee9\u4e4b\u95f4\u7684\u786e\u5b9a\u5173\u7cfb\uff0c\u7531\u8001\u5e08\u6839\u636e\u5177\u4f53\u6f0f\u6d1e\u9776\u6807\u6784\u5efa\u96be\u5ea6\u8fdb\u884c \u57fa\u4e8e\u5ba2\u89c2\u4e8b\u5b9e\u7684\u4e3b\u89c2\u8bc4\u4ef7 \u3002\u80fd\u8005\u591a\u52b3\uff0c\u591a\u591a\u76ca\u5584\u3002\u4fdd\u5e95\u53ca\u683c\u8981\u6c42\u662f\u72ec\u7acb\u5b8c\u6210\u4e00\u4e2a \u4f4e\u91cd\u590d\u5ea6 \u7684\u6f0f\u6d1e\u9776\u6807\u6784\u5efa\u548c\u6f0f\u6d1e\u5229\u7528\u9a8c\u8bc1\u3002 \u4f4e\u91cd\u590d\u5ea6 \u6307\u7684\u662f\u4e0d\u8d85\u8fc7 3 \u4eba\u91cd\u590d\u6784\u5efa\u540c\u4e00\u4e2a\u6f0f\u6d1e\u9776\u6807\u3002 \u6307\u5b9a\u6f0f\u6d1e\u6240\u5f71\u54cd\u8f6f\u4ef6\u8303\u56f4\u5982\u4e0b\uff0c\u4e3a\u4e86\u907f\u514d\u6f0f\u6d1e\u73af\u5883\u91cd\u590d\uff0c\u8bf7\u5728\u52a8\u624b\u6784\u5efa\u9776\u6807\u4e4b\u524d\u5148\u548c\u6388\u8bfe\u8001\u5e08\u62a5\u540d\u786e\u8ba4\u540e\u518d\u52a8\u624b\uff1a [ ] FTP [ ] MS-SQL [ ] Oracle [ ] MySQL [ ] SQL Server [ ] DB2 [ ] MariaDB [ ] \u8fbe\u68a6\u6570\u636e\u5e93 [ ] Informix [ ] Gbase [ ] SQLlite [ ] VxWorks [ ] AIX [ ] Solaris [ ] BSD","title":"\u5355\u5175\u4f5c\u6218"},{"location":"cp/2022/index.html#_6","text":"\u4ee5\u5c0f\u7ec4\u4e3a\u5355\u4f4d\u5b8c\u6210\u300c\u6f0f\u6d1e\u653b\u9632\u5b9e\u8bad\u300d\uff1b \u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 6 \u4eba\uff0c\u5efa\u8bae 4 \u4eba\u6700\u4f73\uff1b \u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u8fc7\u7a0b\u4e2d\u4ea7\u751f\u7684\u6587\u6863\u3001\u4ee3\u7801\u5747\u53ef\u4ee5\u91c7\u7528 Github \u7684\u65b9\u5f0f\u7ba1\u7406\uff08\u8fd9\u662f\u4e00\u4e2a\u9f13\u52b1\u548c\u652f\u6301\u7684\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u5efa\u8bae\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5370\u8c61\u5206\u54e6\uff5e\uff09\uff1b","title":"\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3"},{"location":"cp/2022/index.html#_7","text":"\u251c\u2500\u2500 0_\u5f20\u4e09 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 1_\u674e\u56db \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 2_\u738b\u4e94 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 3_\u8d75\u516d \u2502 \u2514\u2500\u2500 README.md \u2514\u2500\u2500 README.md \u5982\u679c\u662f\u9009\u62e9\u5728 \u516c\u5f00\u4ed3\u5e93 \u63d0\u4ea4\u4f5c\u54c1\uff0c\u5219\u65e0\u9700\u5b9e\u540d\u547d\u540d\u4e0a\u8ff0\u5b50\u76ee\u5f55\uff0c\u53ef\u4ee5\u4f7f\u7528\u81ea\u5df1\u7684 \u7f51\u7edc ID \uff0c\u4f46\u662f\u5728\u6253\u5305\u63d0\u4ea4\u5230\u7545\u8bfe\u4f5c\u4e1a\u533a\u7684\u6700\u7ec8\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u91cc\u9700\u8981\u4f7f\u7528\u5b9e\u540d\u3002 \u6839\u76ee\u5f55\u4e0b\u7684 README.md \u5185\u5bb9\u7edf\u4e00\u8981\u6c42\u5982\u4e0b\uff0c\u793a\u8303 README \u89c1 ac-demo \uff1a # \u4f5c\u54c1\u540d > \u4e00\u53e5\u8bdd\u7b80\u4ecb\u3002 ## \u529f\u80fd\u6e05\u5355 > \u5217\u8868\u5f62\u5f0f\u8bf4\u660e\u9010\u4e2a\u529f\u80fd\u8981\u70b9\u3002 ## \u672c\u9879\u76ee\u7528\u5230\u7684\u5173\u952e\u6280\u672f > \u672c\u4f5c\u54c1\u4e2d\u5305\u542b\u7684\u5bc6\u7801\u5b66\u7406\u8bba\u4e0e\u6280\u672f\u793a\u8303\u5e94\u7528\u8981\u70b9\u8bf4\u660e\uff0c\u5217\u8868\u5f62\u5f0f\u3001\u9010\u4e2a\u8981\u70b9\u8bf4\u660e\u3002 ## \u5feb\u901f\u4e0a\u624b\u4f53\u9a8c > \u5feb\u901f\u5b89\u88c5\u4e0e\u4f7f\u7528\u65b9\u6cd5\u8bf4\u660e\u3002 ## \u6f14\u793a > \u8bfe\u7a0b\u7ed3\u9898\u62a5\u544a\u4e0e\u7cfb\u7edf\u529f\u80fd\u64cd\u4f5c\u89c6\u9891\u6f14\u793a\u5730\u5740\u3002 ## \u9644\u5f55-1 \uff08\u53ef\u9009\uff09 ## \u9644\u5f55-2 \uff08\u53ef\u9009\uff09","title":"\u63a8\u8350\u7684\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u7ec4\u7ec7\u5f62\u5f0f"},{"location":"cp/2023/index.html","text":"2023 \u5e74\u6559\u5b66\u8ba1\u5212 \u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae\u3001\u5b89\u9756 \u8bfe\u7a0b\u4e3b\u9898\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u4e09\u5e74\u4e13\u4e1a\u8bfe\u7efc\u5408\u8fd0\u7528\u548c\u5b9e\u8df5 \u5b9e\u9a8c\u51c6\u5907\uff1a\u81ea\u5907\u7535\u8111\uff0c\u81ea\u884c\u5b89\u6392\u65f6\u95f4\u548c\u5730\u70b9 \u4e0a\u8bfe\u65b9\u5f0f\uff1a\u96c6\u4e2d\u6388\u8bfe1\u6b21+\u5206\u7ec4\u5b66\u4e60+\u81ea\u884c\u7ec4\u961f\u5b8c\u6210\u5927\u4f5c\u4e1a \u8bfe\u7a0b\u9636\u6bb5\u8ba1\u5212 \u672c\u6b21\u5c0f\u5b66\u671f\u8bbe\u8ba1\u4e86 \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u548c \u5355\u5175\u4f5c\u6218 \u4efb\u52a1\u3002\u987e\u540d\u601d\u4e49\uff0c \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u91c7\u53d6\u540c\u5b66\u4eec\u81ea\u7531\u7ec4\u961f \u5206\u7ec4\u5b8c\u6210 \u65b9\u5f0f\uff0c\u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 6 \u4eba\uff0c\u5efa\u8bae 4 \u4eba\u6700\u4f73\uff1b \u5355\u5175\u4f5c\u6218 \u91c7\u53d6\u4e2a\u4eba\u72ec\u7acb\u5b8c\u6210\u65b9\u5f0f\u3002\u540c\u5b66\u4eec\u5c06\u5728\u5f00\u8bfe\u5f53\u5929\u901a\u8fc7\u8bfe\u7a0b\u7fa4\u91cc\u7684\u817e\u8baf\u95ee\u5377\u65b9\u5f0f\u5b8c\u6210\u7ed3\u8bfe\u4efb\u52a1\u7c7b\u578b\u7684\u9009\u62e9\u3002 \u5206\u7ec4\u5b8c\u6210 \u548c \u5355\u5175\u4f5c\u6218 \u81f3\u5c11\u300c\u4e8c\u9009\u4e00\u300d\uff0c\u9f13\u52b1\u5b66\u6709\u4f59\u529b\u7684\u540c\u5b66\u300c\u591a\u52b3\u591a\u5f97\u300d\u3002 \u672c\u6b21\u5c0f\u5b66\u671f 2 \u5468\u65f6\u95f4\u7684 \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u5c06\u63d0\u4f9b 2 \u79cd\u96be\u5ea6\u7ea7\u522b\u7684\u5b9e\u8df5\u4efb\u52a1\uff1a \u57fa\u7840\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u548c \u8fdb\u9636\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u3002 \u5355\u5175\u4f5c\u6218 \u63d0\u4f9b 2 \u79cd\u7c7b\u522b\u7684\u5b9e\u8df5\u4efb\u52a1\uff1a \u57fa\u7840\u5355\u5175\u4f5c\u6218 \u548c \u653b\u9632\u6f14\u7ec3\u6d3b\u52a8\u4e2a\u4eba\u7a81\u51fa\u8d21\u732e\u603b\u7ed3 \u30024 \u79cd\u5b9e\u8df5\u4efb\u52a1\u7684\u5177\u4f53\u8981\u6c42\u5982\u4e0b\uff1a 1. \u57fa\u7840\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u56e2\u961f\u5206\u5de5\u8ddf\u7ec3\u590d\u73b0\u5b8c\u6210 \u7f51\u7edc\u5b89\u5168(2021) \u7efc\u5408\u5b9e\u9a8c \u3002\u65e0\u8bba\u56e2\u961f\u7531\u591a\u5c11\u4eba\u6240\u7ec4\u6210\uff0c\u4ee5\u4e0b\u6309\u672c\u6b21\u5b9e\u8df5\u8bad\u7ec3\u6240\u6d89\u53ca\u5230\u7684\u4eba\u5458\u80fd\u529b\u96c6\u5408\u5212\u5206\u4e86\u4ee5\u4e0b\u56e2\u961f\u89d2\u8272\u3002\u4e00\u4eba\u81f3\u5c11\u627f\u62c5\u4e00\u79cd\u56e2\u961f\u89d2\u8272\uff0c\u8001\u5e08\u5c06\u6309\u7167\u8be5\u89d2\u8272\u7684\u8bc4\u4ef7\u6807\u51c6\u8fdb\u884c \u57fa\u4e8e\u5ba2\u89c2\u4e8b\u5b9e\u7684\u4e3b\u89c2\u8bc4\u4ef7 \u3002 \u7ea2\u961f\uff1a\u9700\u5b8c\u6210\u6f0f\u6d1e\u5b58\u5728\u6027\u9a8c\u8bc1\u548c\u6f0f\u6d1e\u5229\u7528\u3002 \u84dd\u961f\u5a01\u80c1\u76d1\u6d4b\uff1a\u6f0f\u6d1e\u5229\u7528\u7684\u6301\u7eed\u68c0\u6d4b\u548c\u5a01\u80c1\u8bc6\u522b\u4e0e\u62a5\u544a\u3002 \u84dd\u961f\u5a01\u80c1\u5904\u7f6e\uff1a\u6f0f\u6d1e\u5229\u7528\u7684\u7f13\u89e3\u548c\u6f0f\u6d1e\u4fee\u590d\uff08\u6e90\u4ee3\u7801\u7ea7\u522b\u548c\u4e8c\u8fdb\u5236\u7ea7\u522b\u4e24\u79cd\uff09\u3002 \u4e0a\u8ff0\u80fd\u529b\u7684\u57fa\u672c\u8bc4\u5206\u539f\u5219\u53c2\u8003\u201c\u9053\u672f\u5668\u201d\u539f\u5219\uff1a\u6700\u57fa\u7840\u8981\u6c42\u662f\u80fd\u591f\u8ddf\u7ec3\u5e76\u590d\u73b0 \u7f51\u7edc\u5b89\u5168(2021) \u7efc\u5408\u5b9e\u9a8c \u4e2d\u6f14\u793a\u5b9e\u9a8c\u4f7f\u7528\u5230\u7684\u5de5\u5177\uff1b\u8fdb\u9636\u6807\u51c6\u662f\u80fd\u591f\u4f7f\u7528\u8bfe\u7a0b\u89c6\u9891\u4e2d \u672a\u4f7f\u7528 \u7684\u5de5\u5177\u6216\u4f7f\u7528\u7f16\u7a0b\u81ea\u52a8\u5316\u3001\u751a\u81f3\u662f\u667a\u80fd\u5316\u7684\u65b9\u5f0f\u5b8c\u6210\u6f0f\u6d1e\u653b\u51fb\u6216\u6f0f\u6d1e\u5229\u7528\u884c\u4e3a\u8bc6\u522b\u4e0e\u5904\u7f6e\u3002 2. \u8fdb\u9636\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u53c2\u7167 \u4fe1\u606f\u5b89\u5168\u7ade\u8d5b\u56fd\u8d5b \u7684 \u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b \u8d5b\u5236\u5c55\u5f00\u4e13\u4e1a\u7efc\u5408\u5b9e\u8df5\u8bad\u7ec3\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u53c2\u8003 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u5206\u533a\u9009\u62d4\u8d5b\u5e94\u7528\u573a\u666f\u5f00\u53d1\u9700\u6c42 \u3001 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b-\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u7ebf\u4e0b\u5206\u533a\u9009\u62d4\u8d5b\u53c2\u8d5b\u6307\u5357 \u548c\u6211\u4eec\u7684 \u5177\u4f53\u8bc4\u5206\u6807\u51c6 \u3002 3. \u57fa\u7840\u5355\u5175\u4f5c\u6218 \u57fa\u7840\u5355\u5175\u4f5c\u6218 \u4efb\u52a1\u76ee\u6807\u4e3a\u6784\u5efa \u82e5\u5e72 \u5305\u542b \u6307\u5b9a\u6f0f\u6d1e \u7684\u9776\u6807\u73af\u5883\u5e76\u5b8c\u6210\u6f0f\u6d1e\u5229\u7528\u9a8c\u8bc1\uff0c \u6309\u8981\u6c42\u6253\u5305 \u6574\u5957\u73af\u5883\u3002 \u5982 \u4e0b\u56fe\u4e00 \u6240\u793a\u662f\u4e00\u4e2a\u6ee1\u8db3\u4e0a\u8ff0\u8981\u6c42\u7684\u6f0f\u6d1e\u9776\u6807\u73af\u5883\u7684\u6e90\u4ee3\u7801\u76ee\u5f55\u7ed3\u6784\u793a\u4f8b\u3002 \u5982 \u4e0b\u56fe\u4e8c \u6240\u793a\u662f\u4f7f\u7528 Github Actions \u5728\u7ebf\u9a8c\u8bc1\u6f0f\u6d1e\u9776\u6807\u7684\u6f0f\u6d1e\u53ef\u5229\u7528\u6027\u7684\u793a\u4f8b\u3002 4. \u653b\u9632\u6f14\u7ec3\u6d3b\u52a8\u4e2a\u4eba\u7a81\u51fa\u8d21\u732e\u603b\u7ed3 \u7b26\u5408\u4ee5\u4e0b\u6761\u4ef6\u4e4b\u4e00\u7684\u540c\u5b66\uff0c\u8bf7\u63d0\u4ea4\u4e2a\u4eba\u6f14\u7ec3\u6d3b\u52a8\u603b\u7ed3\u62a5\u544a\uff1a \u53c2\u4e0e\u524d\u671f\u7ea2\u961f\u6a21\u62df\u81ea\u67e5\u52a0\u56fa\u6d3b\u52a8\u548c\u6b63\u5f0f\u653b\u9632\u6f14\u7ec3\u671f\u95f4\u7684\u5a01\u80c1\u76d1\u6d4b\u4e0e\u7814\u5224\u5904\u7f6e\u5de5\u4f5c\uff0c\u7d2f\u79ef\u5de5\u4f5c\u65f6\u957f\u8d85\u8fc7 80 \u5c0f\u65f6\u3002 \u72ec\u7acb\u53d1\u73b0\u5e76\u62a5\u544a\u9ad8\u5371\u6f0f\u6d1e 1 \u4e2a\u6216\u4ee5\u4e0a\uff0c\u5e76\u63d0\u4f9b\u6f0f\u6d1e\u4fee\u590d\u5efa\u8bae\u5e76\u88ab\u63a5\u53d7\u91c7\u7eb3\u3002 \u72ec\u7acb\u53d1\u73b0\u5e76\u62a5\u544a\u4e2d\u5371\u6f0f\u6d1e 5 \u4e2a\u6216\u4ee5\u4e0a\uff0c\u5e76\u63d0\u4f9b\u6f0f\u6d1e\u4fee\u590d\u5efa\u8bae\u5e76\u88ab\u63a5\u53d7\u91c7\u7eb3\u3002 \u603b\u7ed3\u62a5\u544a\u5177\u4f53\u8981\u6c42\u5982\u4e0b\uff1a \u53c2\u7167 \u7ed3\u8bfe\u5927\u4f5c\u4e1a\u57fa\u672c\u8981\u6c42 \u91cc\u7684\u5b9e\u9a8c\u62a5\u544a\u76f8\u5173\u64b0\u5199\u57fa\u672c\u8981\u6c42\u3002 \u6240\u6709\u654f\u611f\u6570\u636e\uff08\u53c2\u7167\u300a\u6570\u636e\u5b89\u5168\u6cd5\u300b\u548c\u300a\u4e2a\u4eba\u4fe1\u606f\u4fdd\u62a4\u6cd5\u300b\u76f8\u5173\u6cd5\u5f8b\u89c4\u5b9a\u8981\u6c42\uff0c\u4f8b\u5982\u8eab\u4efd\u8bc1\u53f7\u3001\u624b\u673a\u53f7\u3001\u59d3\u540d\u3001\u5b97\u6559\u4fe1\u4ef0\u3001\u653f\u6cbb\u9762\u8c8c\u7b49\u4fe1\u606f\uff09\u3001\u771f\u5b9e\u4fe1\u606f\u7cfb\u7edf\u7684\u622a\u56fe\u5747\u9700\u8981\u505a \u8131\u654f\u5904\u7406 \uff0c\u7981\u6b62\u5728\u7ed3\u8bfe\u6750\u6599\u4e2d\u5305\u542b\u4efb\u4f55\u5f62\u5f0f\u53ef\u80fd\u5bfc\u81f4\u654f\u611f\u4fe1\u606f\u6cc4\u9732\u6216\u654f\u611f\u4fe1\u606f\u63a8\u65ad\u7684\u4fe1\u606f\u3002 \u7ed3\u8bfe\u5927\u4f5c\u4e1a\u57fa\u672c\u8981\u6c42 \u5171\u6027\u8981\u6c42 \u5b9e\u8df5\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4ea7\u751f\u7684\u6587\u6863\u3001\u4ee3\u7801\u5747\u53ef\u4ee5\u91c7\u7528 Github/ Gitlab /Gitee \u7684\u65b9\u5f0f\u7ba1\u7406\uff08\u8fd9\u662f\u4e00\u4e2a\u9f13\u52b1\u548c\u652f\u6301\u7684\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u5efa\u8bae\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5370\u8c61\u5206\u54e6\uff5e\uff09\uff1b \u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528zip\u683c\u5f0f\u6253\u5305\u5e76\u63d0\u4ea4\u5230\u5b66\u6821\u7545\u8bfe\u5e73\u53f0\u6307\u5b9a\u4f5c\u4e1a\u6a21\u5757\uff08\u540e\u7eed\u5728\u8bfe\u7a0b\u5fae\u4fe1\u7fa4\u3001\u7545\u8bfe\u5e73\u53f0\u8bfe\u7a0b\u516c\u544a\u6a21\u5757\u8fdb\u884c\u901a\u77e5\uff0c\u6ce8\u610f\u67e5\u770b\uff09\u3002\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u59d3\u540d4_\u59d3\u540d5_\u59d3\u540d6_\u4f5c\u4e1a\u9898\u76ee.zip \uff1b \u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167\u5bf9\u7ed3\u8bfe\u4f5c\u4e1a\u7684\u8d21\u732e\u7a0b\u5ea6\u6392\u540d\uff1b \u6bcf\u4eba \u72ec\u7acb\u5b8c\u6210\u4e00\u4efd \u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u603b\u7ed3\u6280\u672f\u62a5\u544a\uff1b markdown \u4e66\u5199\uff0c\u5efa\u8bae\u53c2\u7167 \u57fa\u4e8e Markdown \u7684\u4e2d\u6587\u6587\u6863\u6392\u7248\u89c4\u8303 \u5bf9\u5b9e\u9a8c\u62a5\u544a\u8fdb\u884c\u6392\u7248\uff1b \u5185\u5bb9\u91cd\u70b9\u5f3a\u8c03\uff1a\u4e2a\u4eba\u5728\u672c\u6b21\u5927\u4f5c\u4e1a\u4e2d\u7684\u4e3b\u8981\u8d21\u732e\uff1b\u5b8c\u6210\u4e86\u54ea\u4e9b\u81ea\u8ba4\u4e3a\u6709\u6280\u672f\u542b\u91cf\u7684\u5de5\u4f5c\uff1b\u5370\u8c61\u6df1\u523b\u7684\u4e00\u4e9b bug \u548c\u81ea\u5df1\u7684\u89e3\u51b3\u65b9\u6cd5\uff1b \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\uff1b \u89c6\u9891\u6587\u4ef6\u53ef\u4ee5\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff0c\u7136\u540e\u5728\u603b\u7ed3\u62a5\u544a\u6587\u6863\u4e2d\u9644\u4e0a\u89c6\u9891\u94fe\u63a5\u5373\u53ef\uff0c\u4ee5\u51cf\u5c11\u538b\u7f29\u5305\u5927\u5c0f\uff1b \u5df2\u5728 Github \u4e0a\u4f20\u6240\u6709\u6587\u4ef6\u7684\u5c0f\u7ec4\uff0c\u5728\u5b9e\u9a8c\u62a5\u544a\u4e2d\u540c\u6837\u9700\u8981\u9644\u4e0a\u9879\u76ee\u4ed3\u5e93\u5730\u5740\u5907\u67e5\u3002 \u7ed3\u8bfe\u6750\u6599\u63d0\u4ea4 DDL\uff1a2023.7.28 23:59:59\u3002 \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\u3002 \u5355\u5175\u4f5c\u6218 \u82e5\u5e72 \u7684\u6570\u91cf\u5b9a\u4e49\u4f1a\u5f71\u54cd\u6700\u7ec8\u6210\u7ee9\u3002\u4e0d\u540c\u6f0f\u6d1e\u9776\u6807\u7684\u6784\u5efa\u96be\u5ea6\u5dee\u5f02\u8f83\u5927\uff0c\u56e0\u6b64\u4e0d\u9650\u5b9a\u5177\u4f53\u6570\u91cf\u7684\u6f0f\u6d1e\u9776\u6807\u548c\u6700\u7ec8\u6210\u7ee9\u4e4b\u95f4\u7684\u786e\u5b9a\u5173\u7cfb\uff0c\u7531\u8001\u5e08\u6839\u636e\u5177\u4f53\u6f0f\u6d1e\u9776\u6807\u6784\u5efa\u96be\u5ea6\u8fdb\u884c \u57fa\u4e8e\u5ba2\u89c2\u4e8b\u5b9e\u7684\u4e3b\u89c2\u8bc4\u4ef7 \u3002\u80fd\u8005\u591a\u52b3\uff0c\u591a\u591a\u76ca\u5584\u3002\u4fdd\u5e95\u53ca\u683c\u8981\u6c42\u662f\u72ec\u7acb\u5b8c\u6210\u4e00\u4e2a \u4f4e\u91cd\u590d\u5ea6 \u7684\u6f0f\u6d1e\u9776\u6807\u6784\u5efa\u548c\u6f0f\u6d1e\u5229\u7528\u9a8c\u8bc1\u3002 \u4f4e\u91cd\u590d\u5ea6 \u6307\u7684\u662f\u4e0d\u8d85\u8fc7 3 \u4eba\u91cd\u590d\u6784\u5efa\u540c\u4e00\u4e2a\u6f0f\u6d1e\u9776\u6807\u3002 \u6307\u5b9a\u6f0f\u6d1e\u6240\u5f71\u54cd\u8f6f\u4ef6\u8303\u56f4\u5982\u4e0b\uff0c\u4e3a\u4e86\u907f\u514d\u6f0f\u6d1e\u73af\u5883\u91cd\u590d\uff0c\u8bf7\u5728\u52a8\u624b\u6784\u5efa\u9776\u6807\u4e4b\u524d\u5148\u548c\u6388\u8bfe\u8001\u5e08\u62a5\u540d\u786e\u8ba4\u540e\u518d\u52a8\u624b\uff1a \u6f0f\u6d1e\u6784\u5efa\u6807\u51c6\u8be6\u89c1\u79c1\u6709\u4ed3\u5e93 c4pr1c3/PT-Tools \u3002 [ ] FTP [ ] MS-SQL [ ] Oracle [ ] MySQL [ ] SQL Server [ ] DB2 [ ] MariaDB [ ] \u8fbe\u68a6\u6570\u636e\u5e93 [ ] Informix [ ] Gbase [ ] SQLlite [ ] VxWorks [ ] AIX [ ] Solaris [ ] BSD [ ] PHP \u53ca\u76f8\u5173\u4e3b\u6d41\u6d41\u884c\u5f00\u53d1\u6846\u67b6 [ ] Python \u53ca\u76f8\u5173\u4e3b\u6d41\u6d41\u884c\u5f00\u53d1\u6846\u67b6 [ ] Java \u53ca\u76f8\u5173\u4e3b\u6d41\u6d41\u884c\u5f00\u53d1\u6846\u67b6 [ ] Go \u53ca\u76f8\u5173\u4e3b\u6d41\u6d41\u884c\u5f00\u53d1\u6846\u67b6 [ ] Node.js \u53ca\u76f8\u5173\u4e3b\u6d41\u6d41\u884c\u5f00\u53d1\u6846\u67b6 \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u5b8c\u6210\u300c\u6f0f\u6d1e\u653b\u9632\u5b9e\u8bad\u300d\uff1b \u5206\u7ec4\u5b8c\u6210 \u4f5c\u4e1a\u8fc7\u7a0b\u4e2d\u4ea7\u751f\u7684\u6587\u6863\u3001\u4ee3\u7801\u5747\u53ef\u4ee5\u91c7\u7528 Github/ Gitlab /Gitee \u7684\u65b9\u5f0f\u7ba1\u7406\uff08\u8fd9\u662f\u4e00\u4e2a\u9f13\u52b1\u548c\u652f\u6301\u7684\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u5efa\u8bae\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5370\u8c61\u5206\u54e6\uff5e\uff09\uff1b \u63a8\u8350\u7684\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u7ec4\u7ec7\u5f62\u5f0f \u251c\u2500\u2500 0_\u5f20\u4e09 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 1_\u674e\u56db \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 2_\u738b\u4e94 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 3_\u8d75\u516d \u2502 \u2514\u2500\u2500 README.md \u2514\u2500\u2500 README.md \u5982\u679c\u662f\u9009\u62e9 \u5355\u5175\u4f5c\u6218 \u7684\u540c\u5b66\uff0c\u5219\u65e0\u9700\u521b\u5efa\u4ee5\u81ea\u5df1\u59d3\u540d\u547d\u540d\u7684\u5b50\u76ee\u5f55\u3002\u4e0a\u8ff0\u4e00\u7ea7\u5b50\u76ee\u5f55\u540d\u8bf7\u66f4\u6362\u6210\u5177\u4f53\u5b9e\u9a8c\u4efb\u52a1\u540d\uff0c\u4f8b\u5982 CVE-2020-5504 \u3001 CVE-2012-2122 \u3002\u6839\u76ee\u5f55\u4e0b\u7684 README.md \u5185\u5bb9\u53ea\u9700\u8981\u63d0\u4f9b\u63d0\u4f9b\u6240\u5b8c\u6210\u7684\u5177\u4f53\u5b9e\u9a8c\u4efb\u52a1\u7684\u76f8\u5bf9\u94fe\u63a5\u4fe1\u606f\u5373\u53ef\uff0c\u5982\u4e0b\u6240\u793a\uff1a - [ CVE-2020-5504 \u6f0f\u6d1e\u590d\u73b0\u9a8c\u8bc1\u62a5\u544a ]( CVE-2020-5504/README.md ) - [ CVE-2012-2122 ]( CVE-2012-2122/README.md ) \u5982\u679c\u662f\u9009\u62e9\u5728 \u516c\u5f00\u4ed3\u5e93 \u63d0\u4ea4\u4f5c\u54c1\uff0c\u5219\u65e0\u9700\u5b9e\u540d\u547d\u540d\u4e0a\u8ff0\u5b50\u76ee\u5f55\uff0c\u53ef\u4ee5\u4f7f\u7528\u81ea\u5df1\u7684 \u7f51\u7edc ID \uff0c\u4f46\u662f\u5728\u6253\u5305\u63d0\u4ea4\u5230\u7545\u8bfe\u4f5c\u4e1a\u533a\u7684\u6700\u7ec8\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u91cc\u9700\u8981\u4f7f\u7528\u5b9e\u540d\u3002 \u6839\u76ee\u5f55\u4e0b\u7684 README.md \u5185\u5bb9\u7edf\u4e00\u8981\u6c42\u5982\u4e0b\uff0c\u793a\u8303 README \u89c1 ac-demo \uff1a # \u4f5c\u54c1\u540d > \u4e00\u53e5\u8bdd\u7b80\u4ecb\u3002 ## \u529f\u80fd\u6e05\u5355 > \u5217\u8868\u5f62\u5f0f\u8bf4\u660e\u9010\u4e2a\u529f\u80fd\u8981\u70b9\u3002 ## \u672c\u9879\u76ee\u7528\u5230\u7684\u5173\u952e\u6280\u672f > \u672c\u4f5c\u54c1\u4e2d\u5305\u542b\u7684\u5bc6\u7801\u5b66\u7406\u8bba\u4e0e\u6280\u672f\u793a\u8303\u5e94\u7528\u8981\u70b9\u8bf4\u660e\uff0c\u5217\u8868\u5f62\u5f0f\u3001\u9010\u4e2a\u8981\u70b9\u8bf4\u660e\u3002 ## \u5feb\u901f\u4e0a\u624b\u4f53\u9a8c > \u5feb\u901f\u5b89\u88c5\u4e0e\u4f7f\u7528\u65b9\u6cd5\u8bf4\u660e\u3002 ## \u6f14\u793a > \u8bfe\u7a0b\u7ed3\u9898\u62a5\u544a\u4e0e\u7cfb\u7edf\u529f\u80fd\u64cd\u4f5c\u89c6\u9891\u6f14\u793a\u5730\u5740\u3002 ## \u9644\u5f55-1 \uff08\u53ef\u9009\uff09 ## \u9644\u5f55-2 \uff08\u53ef\u9009\uff09","title":"2023\u5e74"},{"location":"cp/2023/index.html#2023","text":"","title":"2023 \u5e74\u6559\u5b66\u8ba1\u5212"},{"location":"cp/2023/index.html#_1","text":"\u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae\u3001\u5b89\u9756 \u8bfe\u7a0b\u4e3b\u9898\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u4e09\u5e74\u4e13\u4e1a\u8bfe\u7efc\u5408\u8fd0\u7528\u548c\u5b9e\u8df5 \u5b9e\u9a8c\u51c6\u5907\uff1a\u81ea\u5907\u7535\u8111\uff0c\u81ea\u884c\u5b89\u6392\u65f6\u95f4\u548c\u5730\u70b9 \u4e0a\u8bfe\u65b9\u5f0f\uff1a\u96c6\u4e2d\u6388\u8bfe1\u6b21+\u5206\u7ec4\u5b66\u4e60+\u81ea\u884c\u7ec4\u961f\u5b8c\u6210\u5927\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"cp/2023/index.html#_2","text":"\u672c\u6b21\u5c0f\u5b66\u671f\u8bbe\u8ba1\u4e86 \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u548c \u5355\u5175\u4f5c\u6218 \u4efb\u52a1\u3002\u987e\u540d\u601d\u4e49\uff0c \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u91c7\u53d6\u540c\u5b66\u4eec\u81ea\u7531\u7ec4\u961f \u5206\u7ec4\u5b8c\u6210 \u65b9\u5f0f\uff0c\u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 6 \u4eba\uff0c\u5efa\u8bae 4 \u4eba\u6700\u4f73\uff1b \u5355\u5175\u4f5c\u6218 \u91c7\u53d6\u4e2a\u4eba\u72ec\u7acb\u5b8c\u6210\u65b9\u5f0f\u3002\u540c\u5b66\u4eec\u5c06\u5728\u5f00\u8bfe\u5f53\u5929\u901a\u8fc7\u8bfe\u7a0b\u7fa4\u91cc\u7684\u817e\u8baf\u95ee\u5377\u65b9\u5f0f\u5b8c\u6210\u7ed3\u8bfe\u4efb\u52a1\u7c7b\u578b\u7684\u9009\u62e9\u3002 \u5206\u7ec4\u5b8c\u6210 \u548c \u5355\u5175\u4f5c\u6218 \u81f3\u5c11\u300c\u4e8c\u9009\u4e00\u300d\uff0c\u9f13\u52b1\u5b66\u6709\u4f59\u529b\u7684\u540c\u5b66\u300c\u591a\u52b3\u591a\u5f97\u300d\u3002 \u672c\u6b21\u5c0f\u5b66\u671f 2 \u5468\u65f6\u95f4\u7684 \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u5c06\u63d0\u4f9b 2 \u79cd\u96be\u5ea6\u7ea7\u522b\u7684\u5b9e\u8df5\u4efb\u52a1\uff1a \u57fa\u7840\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u548c \u8fdb\u9636\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u3002 \u5355\u5175\u4f5c\u6218 \u63d0\u4f9b 2 \u79cd\u7c7b\u522b\u7684\u5b9e\u8df5\u4efb\u52a1\uff1a \u57fa\u7840\u5355\u5175\u4f5c\u6218 \u548c \u653b\u9632\u6f14\u7ec3\u6d3b\u52a8\u4e2a\u4eba\u7a81\u51fa\u8d21\u732e\u603b\u7ed3 \u30024 \u79cd\u5b9e\u8df5\u4efb\u52a1\u7684\u5177\u4f53\u8981\u6c42\u5982\u4e0b\uff1a","title":"\u8bfe\u7a0b\u9636\u6bb5\u8ba1\u5212"},{"location":"cp/2023/index.html#1","text":"\u56e2\u961f\u5206\u5de5\u8ddf\u7ec3\u590d\u73b0\u5b8c\u6210 \u7f51\u7edc\u5b89\u5168(2021) \u7efc\u5408\u5b9e\u9a8c \u3002\u65e0\u8bba\u56e2\u961f\u7531\u591a\u5c11\u4eba\u6240\u7ec4\u6210\uff0c\u4ee5\u4e0b\u6309\u672c\u6b21\u5b9e\u8df5\u8bad\u7ec3\u6240\u6d89\u53ca\u5230\u7684\u4eba\u5458\u80fd\u529b\u96c6\u5408\u5212\u5206\u4e86\u4ee5\u4e0b\u56e2\u961f\u89d2\u8272\u3002\u4e00\u4eba\u81f3\u5c11\u627f\u62c5\u4e00\u79cd\u56e2\u961f\u89d2\u8272\uff0c\u8001\u5e08\u5c06\u6309\u7167\u8be5\u89d2\u8272\u7684\u8bc4\u4ef7\u6807\u51c6\u8fdb\u884c \u57fa\u4e8e\u5ba2\u89c2\u4e8b\u5b9e\u7684\u4e3b\u89c2\u8bc4\u4ef7 \u3002 \u7ea2\u961f\uff1a\u9700\u5b8c\u6210\u6f0f\u6d1e\u5b58\u5728\u6027\u9a8c\u8bc1\u548c\u6f0f\u6d1e\u5229\u7528\u3002 \u84dd\u961f\u5a01\u80c1\u76d1\u6d4b\uff1a\u6f0f\u6d1e\u5229\u7528\u7684\u6301\u7eed\u68c0\u6d4b\u548c\u5a01\u80c1\u8bc6\u522b\u4e0e\u62a5\u544a\u3002 \u84dd\u961f\u5a01\u80c1\u5904\u7f6e\uff1a\u6f0f\u6d1e\u5229\u7528\u7684\u7f13\u89e3\u548c\u6f0f\u6d1e\u4fee\u590d\uff08\u6e90\u4ee3\u7801\u7ea7\u522b\u548c\u4e8c\u8fdb\u5236\u7ea7\u522b\u4e24\u79cd\uff09\u3002 \u4e0a\u8ff0\u80fd\u529b\u7684\u57fa\u672c\u8bc4\u5206\u539f\u5219\u53c2\u8003\u201c\u9053\u672f\u5668\u201d\u539f\u5219\uff1a\u6700\u57fa\u7840\u8981\u6c42\u662f\u80fd\u591f\u8ddf\u7ec3\u5e76\u590d\u73b0 \u7f51\u7edc\u5b89\u5168(2021) \u7efc\u5408\u5b9e\u9a8c \u4e2d\u6f14\u793a\u5b9e\u9a8c\u4f7f\u7528\u5230\u7684\u5de5\u5177\uff1b\u8fdb\u9636\u6807\u51c6\u662f\u80fd\u591f\u4f7f\u7528\u8bfe\u7a0b\u89c6\u9891\u4e2d \u672a\u4f7f\u7528 \u7684\u5de5\u5177\u6216\u4f7f\u7528\u7f16\u7a0b\u81ea\u52a8\u5316\u3001\u751a\u81f3\u662f\u667a\u80fd\u5316\u7684\u65b9\u5f0f\u5b8c\u6210\u6f0f\u6d1e\u653b\u51fb\u6216\u6f0f\u6d1e\u5229\u7528\u884c\u4e3a\u8bc6\u522b\u4e0e\u5904\u7f6e\u3002","title":"1. \u57fa\u7840\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3"},{"location":"cp/2023/index.html#2","text":"\u53c2\u7167 \u4fe1\u606f\u5b89\u5168\u7ade\u8d5b\u56fd\u8d5b \u7684 \u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b \u8d5b\u5236\u5c55\u5f00\u4e13\u4e1a\u7efc\u5408\u5b9e\u8df5\u8bad\u7ec3\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u53c2\u8003 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u5206\u533a\u9009\u62d4\u8d5b\u5e94\u7528\u573a\u666f\u5f00\u53d1\u9700\u6c42 \u3001 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b-\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u7ebf\u4e0b\u5206\u533a\u9009\u62d4\u8d5b\u53c2\u8d5b\u6307\u5357 \u548c\u6211\u4eec\u7684 \u5177\u4f53\u8bc4\u5206\u6807\u51c6 \u3002","title":"2. \u8fdb\u9636\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3"},{"location":"cp/2023/index.html#3","text":"\u57fa\u7840\u5355\u5175\u4f5c\u6218 \u4efb\u52a1\u76ee\u6807\u4e3a\u6784\u5efa \u82e5\u5e72 \u5305\u542b \u6307\u5b9a\u6f0f\u6d1e \u7684\u9776\u6807\u73af\u5883\u5e76\u5b8c\u6210\u6f0f\u6d1e\u5229\u7528\u9a8c\u8bc1\uff0c \u6309\u8981\u6c42\u6253\u5305 \u6574\u5957\u73af\u5883\u3002 \u5982 \u4e0b\u56fe\u4e00 \u6240\u793a\u662f\u4e00\u4e2a\u6ee1\u8db3\u4e0a\u8ff0\u8981\u6c42\u7684\u6f0f\u6d1e\u9776\u6807\u73af\u5883\u7684\u6e90\u4ee3\u7801\u76ee\u5f55\u7ed3\u6784\u793a\u4f8b\u3002 \u5982 \u4e0b\u56fe\u4e8c \u6240\u793a\u662f\u4f7f\u7528 Github Actions \u5728\u7ebf\u9a8c\u8bc1\u6f0f\u6d1e\u9776\u6807\u7684\u6f0f\u6d1e\u53ef\u5229\u7528\u6027\u7684\u793a\u4f8b\u3002","title":"3. \u57fa\u7840\u5355\u5175\u4f5c\u6218"},{"location":"cp/2023/index.html#4","text":"\u7b26\u5408\u4ee5\u4e0b\u6761\u4ef6\u4e4b\u4e00\u7684\u540c\u5b66\uff0c\u8bf7\u63d0\u4ea4\u4e2a\u4eba\u6f14\u7ec3\u6d3b\u52a8\u603b\u7ed3\u62a5\u544a\uff1a \u53c2\u4e0e\u524d\u671f\u7ea2\u961f\u6a21\u62df\u81ea\u67e5\u52a0\u56fa\u6d3b\u52a8\u548c\u6b63\u5f0f\u653b\u9632\u6f14\u7ec3\u671f\u95f4\u7684\u5a01\u80c1\u76d1\u6d4b\u4e0e\u7814\u5224\u5904\u7f6e\u5de5\u4f5c\uff0c\u7d2f\u79ef\u5de5\u4f5c\u65f6\u957f\u8d85\u8fc7 80 \u5c0f\u65f6\u3002 \u72ec\u7acb\u53d1\u73b0\u5e76\u62a5\u544a\u9ad8\u5371\u6f0f\u6d1e 1 \u4e2a\u6216\u4ee5\u4e0a\uff0c\u5e76\u63d0\u4f9b\u6f0f\u6d1e\u4fee\u590d\u5efa\u8bae\u5e76\u88ab\u63a5\u53d7\u91c7\u7eb3\u3002 \u72ec\u7acb\u53d1\u73b0\u5e76\u62a5\u544a\u4e2d\u5371\u6f0f\u6d1e 5 \u4e2a\u6216\u4ee5\u4e0a\uff0c\u5e76\u63d0\u4f9b\u6f0f\u6d1e\u4fee\u590d\u5efa\u8bae\u5e76\u88ab\u63a5\u53d7\u91c7\u7eb3\u3002 \u603b\u7ed3\u62a5\u544a\u5177\u4f53\u8981\u6c42\u5982\u4e0b\uff1a \u53c2\u7167 \u7ed3\u8bfe\u5927\u4f5c\u4e1a\u57fa\u672c\u8981\u6c42 \u91cc\u7684\u5b9e\u9a8c\u62a5\u544a\u76f8\u5173\u64b0\u5199\u57fa\u672c\u8981\u6c42\u3002 \u6240\u6709\u654f\u611f\u6570\u636e\uff08\u53c2\u7167\u300a\u6570\u636e\u5b89\u5168\u6cd5\u300b\u548c\u300a\u4e2a\u4eba\u4fe1\u606f\u4fdd\u62a4\u6cd5\u300b\u76f8\u5173\u6cd5\u5f8b\u89c4\u5b9a\u8981\u6c42\uff0c\u4f8b\u5982\u8eab\u4efd\u8bc1\u53f7\u3001\u624b\u673a\u53f7\u3001\u59d3\u540d\u3001\u5b97\u6559\u4fe1\u4ef0\u3001\u653f\u6cbb\u9762\u8c8c\u7b49\u4fe1\u606f\uff09\u3001\u771f\u5b9e\u4fe1\u606f\u7cfb\u7edf\u7684\u622a\u56fe\u5747\u9700\u8981\u505a \u8131\u654f\u5904\u7406 \uff0c\u7981\u6b62\u5728\u7ed3\u8bfe\u6750\u6599\u4e2d\u5305\u542b\u4efb\u4f55\u5f62\u5f0f\u53ef\u80fd\u5bfc\u81f4\u654f\u611f\u4fe1\u606f\u6cc4\u9732\u6216\u654f\u611f\u4fe1\u606f\u63a8\u65ad\u7684\u4fe1\u606f\u3002","title":"4. \u653b\u9632\u6f14\u7ec3\u6d3b\u52a8\u4e2a\u4eba\u7a81\u51fa\u8d21\u732e\u603b\u7ed3"},{"location":"cp/2023/index.html#_3","text":"","title":"\u7ed3\u8bfe\u5927\u4f5c\u4e1a\u57fa\u672c\u8981\u6c42"},{"location":"cp/2023/index.html#_4","text":"\u5b9e\u8df5\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4ea7\u751f\u7684\u6587\u6863\u3001\u4ee3\u7801\u5747\u53ef\u4ee5\u91c7\u7528 Github/ Gitlab /Gitee \u7684\u65b9\u5f0f\u7ba1\u7406\uff08\u8fd9\u662f\u4e00\u4e2a\u9f13\u52b1\u548c\u652f\u6301\u7684\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u5efa\u8bae\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5370\u8c61\u5206\u54e6\uff5e\uff09\uff1b \u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528zip\u683c\u5f0f\u6253\u5305\u5e76\u63d0\u4ea4\u5230\u5b66\u6821\u7545\u8bfe\u5e73\u53f0\u6307\u5b9a\u4f5c\u4e1a\u6a21\u5757\uff08\u540e\u7eed\u5728\u8bfe\u7a0b\u5fae\u4fe1\u7fa4\u3001\u7545\u8bfe\u5e73\u53f0\u8bfe\u7a0b\u516c\u544a\u6a21\u5757\u8fdb\u884c\u901a\u77e5\uff0c\u6ce8\u610f\u67e5\u770b\uff09\u3002\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u59d3\u540d4_\u59d3\u540d5_\u59d3\u540d6_\u4f5c\u4e1a\u9898\u76ee.zip \uff1b \u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167\u5bf9\u7ed3\u8bfe\u4f5c\u4e1a\u7684\u8d21\u732e\u7a0b\u5ea6\u6392\u540d\uff1b \u6bcf\u4eba \u72ec\u7acb\u5b8c\u6210\u4e00\u4efd \u300c\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b\u300d\u603b\u7ed3\u6280\u672f\u62a5\u544a\uff1b markdown \u4e66\u5199\uff0c\u5efa\u8bae\u53c2\u7167 \u57fa\u4e8e Markdown \u7684\u4e2d\u6587\u6587\u6863\u6392\u7248\u89c4\u8303 \u5bf9\u5b9e\u9a8c\u62a5\u544a\u8fdb\u884c\u6392\u7248\uff1b \u5185\u5bb9\u91cd\u70b9\u5f3a\u8c03\uff1a\u4e2a\u4eba\u5728\u672c\u6b21\u5927\u4f5c\u4e1a\u4e2d\u7684\u4e3b\u8981\u8d21\u732e\uff1b\u5b8c\u6210\u4e86\u54ea\u4e9b\u81ea\u8ba4\u4e3a\u6709\u6280\u672f\u542b\u91cf\u7684\u5de5\u4f5c\uff1b\u5370\u8c61\u6df1\u523b\u7684\u4e00\u4e9b bug \u548c\u81ea\u5df1\u7684\u89e3\u51b3\u65b9\u6cd5\uff1b \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\uff1b \u89c6\u9891\u6587\u4ef6\u53ef\u4ee5\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff0c\u7136\u540e\u5728\u603b\u7ed3\u62a5\u544a\u6587\u6863\u4e2d\u9644\u4e0a\u89c6\u9891\u94fe\u63a5\u5373\u53ef\uff0c\u4ee5\u51cf\u5c11\u538b\u7f29\u5305\u5927\u5c0f\uff1b \u5df2\u5728 Github \u4e0a\u4f20\u6240\u6709\u6587\u4ef6\u7684\u5c0f\u7ec4\uff0c\u5728\u5b9e\u9a8c\u62a5\u544a\u4e2d\u540c\u6837\u9700\u8981\u9644\u4e0a\u9879\u76ee\u4ed3\u5e93\u5730\u5740\u5907\u67e5\u3002 \u7ed3\u8bfe\u6750\u6599\u63d0\u4ea4 DDL\uff1a2023.7.28 23:59:59\u3002 \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\u3002","title":"\u5171\u6027\u8981\u6c42"},{"location":"cp/2023/index.html#_5","text":"\u82e5\u5e72 \u7684\u6570\u91cf\u5b9a\u4e49\u4f1a\u5f71\u54cd\u6700\u7ec8\u6210\u7ee9\u3002\u4e0d\u540c\u6f0f\u6d1e\u9776\u6807\u7684\u6784\u5efa\u96be\u5ea6\u5dee\u5f02\u8f83\u5927\uff0c\u56e0\u6b64\u4e0d\u9650\u5b9a\u5177\u4f53\u6570\u91cf\u7684\u6f0f\u6d1e\u9776\u6807\u548c\u6700\u7ec8\u6210\u7ee9\u4e4b\u95f4\u7684\u786e\u5b9a\u5173\u7cfb\uff0c\u7531\u8001\u5e08\u6839\u636e\u5177\u4f53\u6f0f\u6d1e\u9776\u6807\u6784\u5efa\u96be\u5ea6\u8fdb\u884c \u57fa\u4e8e\u5ba2\u89c2\u4e8b\u5b9e\u7684\u4e3b\u89c2\u8bc4\u4ef7 \u3002\u80fd\u8005\u591a\u52b3\uff0c\u591a\u591a\u76ca\u5584\u3002\u4fdd\u5e95\u53ca\u683c\u8981\u6c42\u662f\u72ec\u7acb\u5b8c\u6210\u4e00\u4e2a \u4f4e\u91cd\u590d\u5ea6 \u7684\u6f0f\u6d1e\u9776\u6807\u6784\u5efa\u548c\u6f0f\u6d1e\u5229\u7528\u9a8c\u8bc1\u3002 \u4f4e\u91cd\u590d\u5ea6 \u6307\u7684\u662f\u4e0d\u8d85\u8fc7 3 \u4eba\u91cd\u590d\u6784\u5efa\u540c\u4e00\u4e2a\u6f0f\u6d1e\u9776\u6807\u3002 \u6307\u5b9a\u6f0f\u6d1e\u6240\u5f71\u54cd\u8f6f\u4ef6\u8303\u56f4\u5982\u4e0b\uff0c\u4e3a\u4e86\u907f\u514d\u6f0f\u6d1e\u73af\u5883\u91cd\u590d\uff0c\u8bf7\u5728\u52a8\u624b\u6784\u5efa\u9776\u6807\u4e4b\u524d\u5148\u548c\u6388\u8bfe\u8001\u5e08\u62a5\u540d\u786e\u8ba4\u540e\u518d\u52a8\u624b\uff1a \u6f0f\u6d1e\u6784\u5efa\u6807\u51c6\u8be6\u89c1\u79c1\u6709\u4ed3\u5e93 c4pr1c3/PT-Tools \u3002 [ ] FTP [ ] MS-SQL [ ] Oracle [ ] MySQL [ ] SQL Server [ ] DB2 [ ] MariaDB [ ] \u8fbe\u68a6\u6570\u636e\u5e93 [ ] Informix [ ] Gbase [ ] SQLlite [ ] VxWorks [ ] AIX [ ] Solaris [ ] BSD [ ] PHP \u53ca\u76f8\u5173\u4e3b\u6d41\u6d41\u884c\u5f00\u53d1\u6846\u67b6 [ ] Python \u53ca\u76f8\u5173\u4e3b\u6d41\u6d41\u884c\u5f00\u53d1\u6846\u67b6 [ ] Java \u53ca\u76f8\u5173\u4e3b\u6d41\u6d41\u884c\u5f00\u53d1\u6846\u67b6 [ ] Go \u53ca\u76f8\u5173\u4e3b\u6d41\u6d41\u884c\u5f00\u53d1\u6846\u67b6 [ ] Node.js \u53ca\u76f8\u5173\u4e3b\u6d41\u6d41\u884c\u5f00\u53d1\u6846\u67b6","title":"\u5355\u5175\u4f5c\u6218"},{"location":"cp/2023/index.html#_6","text":"\u5b8c\u6210\u300c\u6f0f\u6d1e\u653b\u9632\u5b9e\u8bad\u300d\uff1b \u5206\u7ec4\u5b8c\u6210 \u4f5c\u4e1a\u8fc7\u7a0b\u4e2d\u4ea7\u751f\u7684\u6587\u6863\u3001\u4ee3\u7801\u5747\u53ef\u4ee5\u91c7\u7528 Github/ Gitlab /Gitee \u7684\u65b9\u5f0f\u7ba1\u7406\uff08\u8fd9\u662f\u4e00\u4e2a\u9f13\u52b1\u548c\u652f\u6301\u7684\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u5efa\u8bae\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5370\u8c61\u5206\u54e6\uff5e\uff09\uff1b","title":"\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3"},{"location":"cp/2023/index.html#_7","text":"\u251c\u2500\u2500 0_\u5f20\u4e09 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 1_\u674e\u56db \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 2_\u738b\u4e94 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 3_\u8d75\u516d \u2502 \u2514\u2500\u2500 README.md \u2514\u2500\u2500 README.md \u5982\u679c\u662f\u9009\u62e9 \u5355\u5175\u4f5c\u6218 \u7684\u540c\u5b66\uff0c\u5219\u65e0\u9700\u521b\u5efa\u4ee5\u81ea\u5df1\u59d3\u540d\u547d\u540d\u7684\u5b50\u76ee\u5f55\u3002\u4e0a\u8ff0\u4e00\u7ea7\u5b50\u76ee\u5f55\u540d\u8bf7\u66f4\u6362\u6210\u5177\u4f53\u5b9e\u9a8c\u4efb\u52a1\u540d\uff0c\u4f8b\u5982 CVE-2020-5504 \u3001 CVE-2012-2122 \u3002\u6839\u76ee\u5f55\u4e0b\u7684 README.md \u5185\u5bb9\u53ea\u9700\u8981\u63d0\u4f9b\u63d0\u4f9b\u6240\u5b8c\u6210\u7684\u5177\u4f53\u5b9e\u9a8c\u4efb\u52a1\u7684\u76f8\u5bf9\u94fe\u63a5\u4fe1\u606f\u5373\u53ef\uff0c\u5982\u4e0b\u6240\u793a\uff1a - [ CVE-2020-5504 \u6f0f\u6d1e\u590d\u73b0\u9a8c\u8bc1\u62a5\u544a ]( CVE-2020-5504/README.md ) - [ CVE-2012-2122 ]( CVE-2012-2122/README.md ) \u5982\u679c\u662f\u9009\u62e9\u5728 \u516c\u5f00\u4ed3\u5e93 \u63d0\u4ea4\u4f5c\u54c1\uff0c\u5219\u65e0\u9700\u5b9e\u540d\u547d\u540d\u4e0a\u8ff0\u5b50\u76ee\u5f55\uff0c\u53ef\u4ee5\u4f7f\u7528\u81ea\u5df1\u7684 \u7f51\u7edc ID \uff0c\u4f46\u662f\u5728\u6253\u5305\u63d0\u4ea4\u5230\u7545\u8bfe\u4f5c\u4e1a\u533a\u7684\u6700\u7ec8\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u91cc\u9700\u8981\u4f7f\u7528\u5b9e\u540d\u3002 \u6839\u76ee\u5f55\u4e0b\u7684 README.md \u5185\u5bb9\u7edf\u4e00\u8981\u6c42\u5982\u4e0b\uff0c\u793a\u8303 README \u89c1 ac-demo \uff1a # \u4f5c\u54c1\u540d > \u4e00\u53e5\u8bdd\u7b80\u4ecb\u3002 ## \u529f\u80fd\u6e05\u5355 > \u5217\u8868\u5f62\u5f0f\u8bf4\u660e\u9010\u4e2a\u529f\u80fd\u8981\u70b9\u3002 ## \u672c\u9879\u76ee\u7528\u5230\u7684\u5173\u952e\u6280\u672f > \u672c\u4f5c\u54c1\u4e2d\u5305\u542b\u7684\u5bc6\u7801\u5b66\u7406\u8bba\u4e0e\u6280\u672f\u793a\u8303\u5e94\u7528\u8981\u70b9\u8bf4\u660e\uff0c\u5217\u8868\u5f62\u5f0f\u3001\u9010\u4e2a\u8981\u70b9\u8bf4\u660e\u3002 ## \u5feb\u901f\u4e0a\u624b\u4f53\u9a8c > \u5feb\u901f\u5b89\u88c5\u4e0e\u4f7f\u7528\u65b9\u6cd5\u8bf4\u660e\u3002 ## \u6f14\u793a > \u8bfe\u7a0b\u7ed3\u9898\u62a5\u544a\u4e0e\u7cfb\u7edf\u529f\u80fd\u64cd\u4f5c\u89c6\u9891\u6f14\u793a\u5730\u5740\u3002 ## \u9644\u5f55-1 \uff08\u53ef\u9009\uff09 ## \u9644\u5f55-2 \uff08\u53ef\u9009\uff09","title":"\u63a8\u8350\u7684\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u7ec4\u7ec7\u5f62\u5f0f"},{"location":"cp/2024/index.html","text":"2024 \u5e74\u6559\u5b66\u8ba1\u5212 \u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae\u3001\u5b89\u9756 \u8bfe\u7a0b\u4e3b\u9898\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u4e09\u5e74\u4e13\u4e1a\u8bfe\u7efc\u5408\u8fd0\u7528\u548c\u5b9e\u8df5 \u5b9e\u9a8c\u51c6\u5907\uff1a\u81ea\u5907\u7535\u8111\uff0c \u4e0a\u8bfe\u65b9\u5f0f\uff1a\u7ebf\u4e0b\u96c6\u4e2d\u5b9e\u8df5+\u5206\u7ec4\u5b66\u4e60+\u81ea\u884c\u7ec4\u961f\u5b8c\u6210\u5927\u4f5c\u4e1a+\u96c6\u4e2d\u62a5\u544a \u8bfe\u7a0b\u76ee\u6807\u4e0e\u5185\u5bb9 \u672c\u6b21\u5c0f\u5b66\u671f\u8bbe\u8ba1\u4e86 \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u4efb\u52a1\u3002\u987e\u540d\u601d\u4e49\uff0c \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u91c7\u53d6\u540c\u5b66\u4eec\u81ea\u7531\u7ec4\u961f \u5206\u7ec4\u5b8c\u6210 \u65b9\u5f0f\uff0c\u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 6 \u4eba\uff0c\u5efa\u8bae 4 \u4eba\u6700\u4f73\u3002 \u672c\u6b21\u5c0f\u5b66\u671f 2 \u5468\u65f6\u95f4\u7684 \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u5c06\u63d0\u4f9b 2 \u79cd\u96be\u5ea6\u7ea7\u522b\u7684\u5b9e\u8df5\u4efb\u52a1\uff1a \u57fa\u7840\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u548c \u8fdb\u9636\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u3002 1. \u57fa\u7840\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u56e2\u961f\u5206\u5de5\u8ddf\u7ec3\u590d\u73b0\u5b8c\u6210 \u7f51\u7edc\u5b89\u5168(2021) \u7efc\u5408\u5b9e\u9a8c \u3002\u65e0\u8bba\u56e2\u961f\u7531\u591a\u5c11\u4eba\u6240\u7ec4\u6210\uff0c\u4ee5\u4e0b\u6309\u672c\u6b21\u5b9e\u8df5\u8bad\u7ec3\u6240\u6d89\u53ca\u5230\u7684\u4eba\u5458\u80fd\u529b\u96c6\u5408\u5212\u5206\u4e86\u4ee5\u4e0b\u56e2\u961f\u89d2\u8272\u3002\u4e00\u4eba\u81f3\u5c11\u627f\u62c5\u4e00\u79cd\u56e2\u961f\u89d2\u8272\uff0c\u8001\u5e08\u5c06\u6309\u7167\u8be5\u89d2\u8272\u7684\u8bc4\u4ef7\u6807\u51c6\u8fdb\u884c \u57fa\u4e8e\u5ba2\u89c2\u4e8b\u5b9e\u7684\u4e3b\u89c2\u8bc4\u4ef7 \u3002 \u7ea2\u961f\uff1a\u9700\u5b8c\u6210\u6f0f\u6d1e\u5b58\u5728\u6027\u9a8c\u8bc1\u548c\u6f0f\u6d1e\u5229\u7528\u3002 \u84dd\u961f\u5a01\u80c1\u76d1\u6d4b\uff1a\u6f0f\u6d1e\u5229\u7528\u7684\u6301\u7eed\u68c0\u6d4b\u548c\u5a01\u80c1\u8bc6\u522b\u4e0e\u62a5\u544a\u3002 \u84dd\u961f\u5a01\u80c1\u5904\u7f6e\uff1a\u6f0f\u6d1e\u5229\u7528\u7684\u7f13\u89e3\u548c\u6f0f\u6d1e\u4fee\u590d\uff08\u6e90\u4ee3\u7801\u7ea7\u522b\u548c\u4e8c\u8fdb\u5236\u7ea7\u522b\u4e24\u79cd\uff09\u3002 \u4e0a\u8ff0\u80fd\u529b\u7684\u57fa\u672c\u8bc4\u5206\u539f\u5219\u53c2\u8003\u201c\u9053\u672f\u5668\u201d\u539f\u5219\uff1a\u6700\u57fa\u7840\u8981\u6c42\u662f\u80fd\u591f\u8ddf\u7ec3\u5e76\u590d\u73b0 \u7f51\u7edc\u5b89\u5168(2021) \u7efc\u5408\u5b9e\u9a8c \u4e2d\u6f14\u793a\u5b9e\u9a8c\u4f7f\u7528\u5230\u7684\u5de5\u5177\uff1b\u8fdb\u9636\u6807\u51c6\u662f\u80fd\u591f\u4f7f\u7528\u8bfe\u7a0b\u89c6\u9891\u4e2d \u672a\u4f7f\u7528 \u7684\u5de5\u5177\u6216\u4f7f\u7528\u7f16\u7a0b\u81ea\u52a8\u5316\u3001\u751a\u81f3\u662f\u667a\u80fd\u5316\u7684\u65b9\u5f0f\u5b8c\u6210\u6f0f\u6d1e\u653b\u51fb\u6216\u6f0f\u6d1e\u5229\u7528\u884c\u4e3a\u8bc6\u522b\u4e0e\u5904\u7f6e\u3002 \u6d89\u53ca\u5230\u7684\u4e3b\u8981\u77e5\u8bc6\u70b9\u548c\u6280\u80fd\u70b9 \u865a\u62df\u673a\u8f6f\u4ef6\uff08\u63a8\u8350 Virutalbox \uff09\u7684\u5b89\u88c5\u548c\u57fa\u672c\u4f7f\u7528 Ubuntu \u7cfb\u7edf\u7684\u4f7f\u7528 Kali Linux \u7cfb\u7edf\u7684\u4f7f\u7528 \u5728\u4e0d\u540c Linux \u53d1\u884c\u7248\u91cc\u7684 Docker \u5bb9\u5668\u7684\u5b89\u88c5\u548c\u57fa\u672c\u4f7f\u7528 \u901a\u8fc7 Dockerfile \u6784\u5efa\u9776\u6807\u955c\u50cf \u901a\u8fc7 Docker Compose \u90e8\u7f72\u9776\u6807\u73af\u5883 \u57fa\u4e8e Vulfocus \u7684\u6f0f\u6d1e\u590d\u73b0 \u57fa\u4e8e Vulfocus \u7684\u9776\u573a\u642d\u5efa \u5916\u7f51\u6e17\u900f\u6d4b\u8bd5\uff1a\u4fe1\u606f\u6536\u96c6\u3001\u7aef\u53e3\u626b\u63cf\u3001\u670d\u52a1\u8bc6\u522b\u3001\u6f0f\u6d1e\u626b\u63cf\u3001\u6f0f\u6d1e\u5b58\u5728\u6027\u9a8c\u8bc1\u3001\u6f0f\u6d1e\u5229\u7528 Metasploit \u53ca\u5176\u4ed6\u5f00\u6e90\u81ea\u52a8\u5316\u653b\u51fb\u6846\u67b6\u7684\u4f7f\u7528 \u5185\u7f51\u6e17\u900f\u6d4b\u8bd5\uff1a\u4fe1\u606f\u6536\u96c6\u3001\u7aef\u53e3\u626b\u63cf\u3001\u670d\u52a1\u8bc6\u522b\u3001\u7f51\u7edc\u62d3\u6251\u53d1\u73b0\u3001\u6f0f\u6d1e\u626b\u63cf\u3001\u6f0f\u6d1e\u5b58\u5728\u6027\u9a8c\u8bc1\u3001\u6f0f\u6d1e\u5229\u7528 \u4f7f\u7528 Git \u8fdb\u884c\u56e2\u961f\u534f\u4f5c \u641c\u7d22\u5f15\u64ce\u7684\u4f7f\u7528 AI Copilot \u7684\u4f7f\u7528 \u81ea\u52a8\u5316\u653b\u51fb\u7a0b\u5e8f\u7684\u7f16\u5199 \u5165\u4fb5\u68c0\u6d4b\u7cfb\u7edf\u7684\u5b89\u88c5\u4e0e\u4f7f\u7528 \u5165\u4fb5\u53d6\u8bc1 \u6f0f\u6d1e\u5229\u7528\u7f13\u89e3 \u6f0f\u6d1e\u4fee\u590d \u89c4\u8303\u7684\u6280\u672f\u6587\u6863\u64b0\u5199\u80fd\u529b 2. \u8fdb\u9636\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u53c2\u7167 \u4fe1\u606f\u5b89\u5168\u7ade\u8d5b\u56fd\u8d5b \u7684 \u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b \u8d5b\u5236\u5c55\u5f00\u4e13\u4e1a\u7efc\u5408\u5b9e\u8df5\u8bad\u7ec3\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u53c2\u8003 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u5206\u533a\u9009\u62d4\u8d5b\u5e94\u7528\u573a\u666f\u5f00\u53d1\u9700\u6c42 \u3001 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b-\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u7ebf\u4e0b\u5206\u533a\u9009\u62d4\u8d5b\u53c2\u8d5b\u6307\u5357 \u548c\u6211\u4eec\u7684 \u5177\u4f53\u8bc4\u5206\u6807\u51c6 \u3002 \u6d89\u53ca\u5230\u7684\u4e3b\u8981\u77e5\u8bc6\u70b9\u548c\u6280\u80fd\u70b9 #include \u4e0a\u8ff0\u57fa\u7840\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3\u7684\u6240\u6709\u77e5\u8bc6\u70b9\u548c\u6280\u80fd\u70b9 #exclude \u5185\u7f51\u6e17\u900f\u6d4b\u8bd5 #exclude \u57fa\u4e8e Vulfocus \u7684\u6f0f\u6d1e\u590d\u73b0\u548c\u9776\u573a\u642d\u5efa \u5b8c\u6574\u7684\u5e94\u7528\u5f00\u53d1\u4e0e\u4ea4\u4ed8\u90e8\u7f72\u80fd\u529b \u8f6f\u4ef6\u5de5\u7a0b\u6587\u6863\u64b0\u5199\u80fd\u529b 3. \u653b\u9632\u6f14\u7ec3\u6d3b\u52a8\u4e2a\u4eba\u8d21\u732e\u603b\u7ed3 \u7b26\u5408\u4ee5\u4e0b\u6761\u4ef6\u4e4b\u4e00\u7684\u540c\u5b66\uff0c\u8bf7\u5728\u7545\u8bfe\u5e73\u53f0\u63d0\u4ea4\u7684\u6700\u7ec8\u62a5\u544a\u91cc\u5305\u542b\u4e2a\u4eba\u6f14\u7ec3\u8d21\u732e\u603b\u7ed3\u62a5\u544a\uff1a \u53c2\u4e0e 2023 \u5e74 12 \u6708\u7684\u6821\u5185\u653b\u9632\u6f14\u7ec3\u6d3b\u52a8\uff0c\u72ec\u7acb\u53d1\u73b0\u5e76\u62a5\u544a\u9ad8\u5371\u6f0f\u6d1e 1 \u4e2a\u6216\u4ee5\u4e0a\uff0c\u5e76\u63d0\u4f9b\u6f0f\u6d1e\u4fee\u590d\u5efa\u8bae\u5e76\u88ab\u63a5\u53d7\u91c7\u7eb3\uff1b\u6216\u72ec\u7acb\u53d1\u73b0\u5e76\u62a5\u544a\u4e2d\u5371\u6f0f\u6d1e 5 \u4e2a\u6216\u4ee5\u4e0a\uff0c\u5e76\u63d0\u4f9b\u6f0f\u6d1e\u4fee\u590d\u5efa\u8bae\u5e76\u88ab\u63a5\u53d7\u91c7\u7eb3\u3002 \u53c2\u4e0e 2024 \u5e74 6 \u6708\u7684\u653b\u9632\u6f14\u7ec3\u671f\u95f4\u5a01\u80c1\u76d1\u6d4b\u4e0e\u7814\u5224\u5904\u7f6e\u5de5\u4f5c\uff0c\u7d2f\u79ef\u5de5\u4f5c\u65f6\u957f\u8d85\u8fc7 40 \u5c0f\u65f6\u3002 \u603b\u7ed3\u62a5\u544a\u5177\u4f53\u8981\u6c42\u5982\u4e0b\uff1a \u53c2\u7167 \u4e66\u9762\u62a5\u544a\u8981\u6c42 \u91cc\u7684\u6587\u6863\u64b0\u5199\u76f8\u5173\u8981\u6c42\u3002 \u6240\u6709\u654f\u611f\u6570\u636e\uff08\u53c2\u7167\u300a\u6570\u636e\u5b89\u5168\u6cd5\u300b\u548c\u300a\u4e2a\u4eba\u4fe1\u606f\u4fdd\u62a4\u6cd5\u300b\u76f8\u5173\u6cd5\u5f8b\u89c4\u5b9a\u8981\u6c42\uff0c\u4f8b\u5982\u8eab\u4efd\u8bc1\u53f7\u3001\u624b\u673a\u53f7\u3001\u59d3\u540d\u3001\u5b97\u6559\u4fe1\u4ef0\u3001\u653f\u6cbb\u9762\u8c8c\u7b49\u4fe1\u606f\uff09\u3001\u771f\u5b9e\u4fe1\u606f\u7cfb\u7edf\u7684\u622a\u56fe\u5747\u9700\u8981\u505a \u8131\u654f\u5904\u7406 \uff0c\u7981\u6b62\u5728\u7ed3\u8bfe\u6750\u6599\u4e2d\u5305\u542b\u4efb\u4f55\u5f62\u5f0f\u53ef\u80fd\u5bfc\u81f4\u654f\u611f\u4fe1\u606f\u6cc4\u9732\u6216\u654f\u611f\u4fe1\u606f\u63a8\u65ad\u7684\u4fe1\u606f\u3002 \u6210\u7ee9\u8bc4\u5b9a \u6309\u7167\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3\u7684\u603b\u4f53\u5b8c\u6210\u5ea6\u60c5\u51b5\uff0c\u901a\u8fc7\u56e2\u961f\u7684\u73b0\u573a\u53e3\u5934\u62a5\u544a\u60c5\u51b5\u548c\u63d0\u4ea4\u7684\u4e66\u9762\u62a5\u544a\u8d28\u91cf\u8fdb\u884c\u7efc\u5408\u8bc4\u5b9a\u3002 \u603b\u6210\u7ee9 = \u53e3\u5934\u62a5\u544a * 40% + \u4e66\u9762\u62a5\u544a * 50% + \u8003\u52e4\u8bb0\u5f55 * 10% \u3002 \u53e3\u5934\u62a5\u544a \u73b0\u573a\u62a5\u544a\u5b8c\u6bd5\u540e\uff0c\u8001\u5e08\u5c06\u6839\u636e\u73b0\u573a\u62a5\u544a\u7684\u5185\u5bb9\u548c\u56e2\u961f\u6210\u5458\u7684\u8868\u73b0\u60c5\u51b5\u7ed9\u4e88\u56e2\u961f\u603b\u4f53\u8868\u73b0\u8bc4\u5206\u3002\u56e2\u961f\u6210\u5458\u73b0\u573a\u5b8c\u6210\u56e2\u961f\u5206\u6570\u5230\u4e2a\u4eba\u8bc4\u5206\u7684\u5206\u914d\u548c\u786e\u8ba4\u3002\u4e3e\u4f8b\uff0c\u56e2\u961f\u603b\u4f53\u83b7\u5f97\u8bc4\u5206 90 \uff0c\u56e2\u961f\u7531 6 \u4eba\u7ec4\u6210\uff0c\u6b64\u65f6\u53ef\u4ee5\u7528\u4e8e\u5206\u914d\u7ed9\u56e2\u961f\u5185\u4e2a\u4eba\u7684\u8bc4\u5206\u603b\u6570\u8ba1\u7b97\u516c\u5f0f\u4e3a\uff1a\u56e2\u961f\u603b\u5206 * \u56e2\u961f\u4eba\u6570 = 90 * 6 = 540 = \u56e2\u961f\u53ef\u5206\u914d\u603b\u5206\u3002\u6700\u7ec8\u786e\u8ba4\u7684\u4e2a\u4eba\u8bc4\u5206\u5206\u914d\u65b9\u6848\u9700\u786e\u4fdd \u56e2\u961f\u4e2a\u4eba\u8bc4\u5206\u4e4b\u548c = \u56e2\u961f\u53ef\u5206\u914d\u603b\u5206 \u3002 \u4e66\u9762\u62a5\u544a \u4e66\u9762\u62a5\u544a\u7684\u8d28\u91cf\u5c06\u6839\u636e\u4e66\u9762\u62a5\u544a\u7684\u5185\u5bb9\u3001\u6392\u7248\u3001\u64b0\u5199\u8d28\u91cf\u3001\u64b0\u5199\u89c4\u8303\u3001\u4ee3\u7801\u89c4\u8303\u3001 Git \u4f7f\u7528\u89c4\u8303\u6027 \u7b49\u65b9\u9762\u8fdb\u884c\u8bc4\u5206\u3002 \u8003\u52e4\u8bb0\u5f55 \u8003\u52e4\u8bb0\u5f55\u5c06\u6839\u636e\u540c\u5b66\u4eec\u7684\u51fa\u52e4\u60c5\u51b5\u8fdb\u884c\u8bc4\u5206\u3002\u521d\u59cb\u8003\u52e4\u4e3a\u6ee1\u5206 10 \u5206\uff0c\u65e0\u6545\u7f3a\u52e4\u6216\u65e9\u9000 1 \u6b21\u6263 1 \u5206\uff0c\u8fdf\u5230 1 \u6b21\u6263 0.5 \u5206\uff0c\u4ee5\u6b64\u7c7b\u63a8\uff0c\u6263\u5b8c\u4e3a\u6b62\u3002\u5b8c\u6210\u56e2\u961f\u53e3\u5934\u62a5\u544a\u4efb\u52a1\u4e4b\u540e\uff0c\u56e2\u961f\u6210\u5458\u7684\u8003\u52e4\u8bb0\u5f55\u5c06\u4e0d\u518d\u8fdb\u884c\u53d8\u66f4\u3002 \u51e1\u63d0\u4ea4 \u653b\u9632\u6f14\u7ec3\u6d3b\u52a8\u4e2a\u4eba\u8d21\u732e\u603b\u7ed3 \u7684\u540c\u5b66\uff0c\u6839\u636e\u5b9e\u9645\u8d21\u732e\u60c5\u51b5\uff0c\u603b\u6210\u7ee9\u76f4\u63a5\u914c\u60c5\u52a0\u5206\u3002 \u96be\u5ea6\u7ea7\u522b\u8bf4\u660e \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u4e3a\u6700\u9ad8\u96be\u5ea6\u7ea7\u522b\uff0c\u5bf9\u56e2\u961f\u6210\u5458\u7684\u6280\u672f\u80fd\u529b\u8981\u6c42\u6700\u9ad8\uff0c\u9700\u8981\u56e2\u961f\u6210\u5458\u5177\u5907\u5f88\u5f3a\u7684\u81ea\u4e3b\u5b66\u4e60\u4e0e\u52a8\u624b\u5b9e\u8df5\u80fd\u529b\u3001\u56e2\u961f\u534f\u4f5c\u80fd\u529b\u548c\u4e3e\u4e00\u53cd\u4e09\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u4e3a\u8f83\u9ad8\u96be\u5ea6\u7ea7\u522b\uff0c\u5bf9\u56e2\u961f\u6210\u5458\u7684\u6280\u672f\u80fd\u529b\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u56e2\u961f\u6210\u5458\u5177\u5907\u8f83\u5f3a\u7684\u81ea\u4e3b\u5b66\u4e60\u4e0e\u52a8\u624b\u5b9e\u8df5\u80fd\u529b\u3001\u56e2\u961f\u534f\u4f5c\u80fd\u529b\u548c\u96c6\u6210\u521b\u65b0\u6216\u5fae\u8c03\u6539\u9020\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u4e3a\u4e2d\u7b49\u96be\u5ea6\u7ea7\u522b\uff0c\u5bf9\u56e2\u961f\u6210\u5458\u7684\u6280\u672f\u80fd\u529b\u8981\u6c42\u4e00\u822c\uff0c\u9700\u8981\u56e2\u961f\u6210\u5458\u5177\u5907\u57fa\u672c\u7684\u81ea\u4e3b\u5b66\u4e60\u4e0e\u52a8\u624b\u5b9e\u8df5\u80fd\u529b\u3001\u56e2\u961f\u534f\u4f5c\u80fd\u529b\u548c\u624e\u5b9e\u7684\u6545\u969c\u6392\u67e5\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f \u4e3a\u8f83\u4f4e\u96be\u5ea6\u7ea7\u522b\uff0c\u5bf9\u56e2\u961f\u6210\u5458\u7684\u6280\u672f\u80fd\u529b\u8981\u6c42\u8f83\u4f4e\uff0c\u9700\u8981\u56e2\u961f\u6210\u5458\u5177\u5907\u57fa\u672c\u7684\u81ea\u4e3b\u5b66\u4e60\u4e0e\u52a8\u624b\u5b9e\u8df5\u80fd\u529b\u3001\u56e2\u961f\u534f\u4f5c\u80fd\u529b\u548c\u57fa\u672c\u7684\u6545\u969c\u6392\u67e5\u80fd\u529b\u3002 \u2b50\ufe0f\u4e3a\u6700\u4f4e\u96be\u5ea6\u7ea7\u522b\uff0c\u4ee5 \u8ddf\u7ec3\u548c\u590d\u73b0 \u5f62\u5f0f\u4e3a\u5178\u578b\u4ee3\u8868\uff0c\u4e14\u5728\u64cd\u4f5c\u8fc7\u7a0b\u4e2d\u4f7f\u7528\u7684\u5de5\u5177\u8f6f\u4ef6\u5177\u6709\u8f83\u5f3a\u7684\u5bb9\u9519\u5065\u58ee\u6027\u3001\u8f83\u9ad8\u7684\u81ea\u52a8\u5316\u6c34\u5e73\u751a\u81f3\u5177\u5907\u4e00\u5b9a\u7684\u81ea\u4e3b\u667a\u80fd\u6027\u3002 \u4e3e\u4f8b\u8bf4\u660e\uff0c\u5728 \u57fa\u7840\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u4efb\u52a1\u4e2d\u9700\u8981\u540c\u5b66\u4eec\u53bb\u6784\u5efa\u4e00\u4e2a\u5e26\u6709\u5185\u90e8\u7f51\u7edc\u7ed3\u6784\u7684\u9776\u573a\u73af\u5883\uff0c\u5728\u8fd9\u4e2a\u4efb\u52a1\u91cc\u7684 \u5165\u53e3\u9776\u6807 \u6784\u5efa\u65b9\u5f0f\u6709\u591a\u79cd\uff0c\u4e0d\u540c\u6784\u5efa\u65b9\u5f0f\u7684\u96be\u5ea6\u5224\u65ad\u6807\u51c6\u4e3e\u4f8b\u5982\u4e0b\uff1a \u2b50\ufe0f \u76f4\u63a5\u4f7f\u7528 Vulfocus \u81ea\u5e26\u7684 DMZ \u573a\u666f\u73af\u5883\u5bfc\u5165\uff0c\u4e0d\u505a\u4efb\u4f55\u4fee\u6539\u3002 \u2b50\ufe0f\u2b50\ufe0f \u901a\u8fc7\u8c03\u7814\uff0c\u627e\u4e86\u4e00\u4e2a\u5176\u4ed6\u4eba\u5f00\u6e90\u7684\u9776\u573a\u73af\u5883\u5bfc\u5165\uff0c\u4e0d\u505a\u4efb\u4f55\u4fee\u6539\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u901a\u8fc7\u8c03\u7814\uff0c\u53c2\u8003\u5176\u4ed6\u4eba\u95ed\u6e90\u7684\u4e00\u4e2a\u9776\u573a\u73af\u5883\u8bbe\u8ba1\u65b9\u6848\uff0c\u6309\u7167\u65b9\u6848\u8bbe\u8ba1\u81ea\u5df1\u6784\u5efa\u5bf9\u5e94\u5165\u53e3\u9776\u6807\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u901a\u8fc7\u8c03\u7814\uff0c\u53c2\u8003\u5176\u4ed6\u4eba\u95ed\u6e90\u7684\u591a\u4e2a\u9776\u573a\u73af\u5883\u8bbe\u8ba1\u65b9\u6848\uff0c\u81ea\u5df1\u8bbe\u8ba1\u9776\u573a\u73af\u5883\u548c\u6f14\u7ec3\u5267\u672c\uff0c\u6309\u7167\u8be5\u5267\u672c\u8bbe\u8ba1\u81ea\u5df1\u6784\u5efa\u5bf9\u5e94\u5165\u53e3\u9776\u6807\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u901a\u8fc7\u8c03\u7814\uff0c\u9009\u62e9\u4e86\u53c2\u8003\u8d44\u6599\u7a00\u5c11\u6216\u5b8c\u5168\u6ca1\u6709\u7684\u6f0f\u6d1e\u4fe1\u606f\u6765\u6784\u5efa\u5165\u53e3\u9776\u6807\u3002 \u53e3\u5934\u62a5\u544a\u8981\u6c42 \u6bcf\u4e2a\u5c0f\u7ec4 20 \u5206\u949f\u4ee5\u5185\u7684\u73b0\u573a\u62a5\u544a\u65f6\u95f4\uff0c\u5305\u62ec\u56e2\u961f\u6210\u5458\u7684\u5206\u5de5\u3001\u5b8c\u6210\u60c5\u51b5\u3001\u9047\u5230\u7684\u95ee\u9898\u548c\u89e3\u51b3\u65b9\u6848\u7b49\u3002 \u63a5\u53d7\u73b0\u573a\u8001\u5e08\u548c\u540c\u5b66\u4eec\u7684\u63d0\u95ee\uff0c\u56de\u7b54\u95ee\u9898\uff0c\u89e3\u91ca\u56e2\u961f\u7684\u5de5\u4f5c\u6210\u679c\u539f\u7406\u3001\u56e2\u961f\u6210\u5458\u7684\u8d21\u732e\uff0c\u534a\u5c0f\u65f6\u5de6\u53f3\u3002 \u540c\u5b66\u4eec\u5fae\u4fe1\u5c0f\u7a97\u8054\u7cfb\u6388\u8bfe\u8001\u5e08\u7533\u8bf7\u5b89\u6392\u73b0\u573a\u53e3\u5934\u62a5\u544a\u65f6\u95f4\uff0c\u62a5\u544a\u7684\u5148\u540e\u987a\u5e8f\u4ee5\u540c\u5b66\u4eec\u5b8c\u6574\u4e66\u9762\u62a5\u544a\u548c\u7b54\u8fa9 PPT \u63d0\u4ea4\u5230 git \u4ed3\u5e93\u7684\u63d0\u4ea4\u65f6\u95f4\u4e3a\u6392\u5e8f\u4f9d\u636e\u3002 \u73b0\u573a\u53e3\u5934\u62a5\u544a\u540e\u8001\u5e08\u63d0\u51fa\u7684\u4fee\u6539\u610f\u89c1\uff0c\u540c\u5b66\u4eec\u9700\u8981\u5728\u4e66\u9762\u62a5\u544a\u4e2d\u8fdb\u884c\u4fee\u6539\uff0c\u5e76\u5728\u540e\u7eed\u7684 git \u63d0\u4ea4\u540e\uff0c\u901a\u8fc7 commit message \u6216 git \u7f51\u9875\u7248\u7684\u8bc4\u8bba\u529f\u80fd \u5f52\u7eb3\u6982\u8ff0\u4fee\u6539\u843d\u5b9e\u60c5\u51b5\u6216\u672a\u4fee\u6539\u539f\u56e0\uff0c\u4ee5\u4fbf\u6700\u7ec8\u8bc4\u5206\u3002 \u4e66\u9762\u62a5\u544a\u8981\u6c42 \u5b9e\u8df5\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4ea7\u751f\u7684\u6587\u6863\u3001\u4ee3\u7801\u5747\u53ef\u4ee5\u91c7\u7528 Github/ Gitlab /Gitee \u7684\u65b9\u5f0f\u7ba1\u7406\uff08\u8fd9\u662f\u4e00\u4e2a\u9f13\u52b1\u548c\u652f\u6301\u7684\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u5efa\u8bae\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5370\u8c61\u5206\u54e6\uff5e\uff09\uff1b \u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528zip\u683c\u5f0f\u6253\u5305\u5e76\u63d0\u4ea4\u5230\u5b66\u6821\u7545\u8bfe\u5e73\u53f0\u6307\u5b9a\u4f5c\u4e1a\u6a21\u5757\uff08\u540e\u7eed\u5728\u8bfe\u7a0b\u5fae\u4fe1\u7fa4\u3001\u7545\u8bfe\u5e73\u53f0\u8bfe\u7a0b\u516c\u544a\u6a21\u5757\u8fdb\u884c\u901a\u77e5\uff0c\u6ce8\u610f\u67e5\u770b\uff09\u3002\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u59d3\u540d4_\u59d3\u540d5_\u59d3\u540d6_\u4f5c\u4e1a\u9898\u76ee.zip \uff1b \u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167 \u53e3\u5934\u62a5\u544a \u73af\u8282\u786e\u8ba4\u7684\u4e2a\u4eba\u5f97\u5206\uff0c\u4ece\u9ad8\u5230\u4f4e\u3001\u4ece\u5de6\u5230\u53f3\u4f9d\u6b21\u6392\u5217\uff1b \u6240\u6709\u6587\u6863\u7edf\u4e00\u91c7\u7528 markdown \u4e66\u5199\uff0c\u5efa\u8bae\u53c2\u7167 \u57fa\u4e8e Markdown \u7684\u4e2d\u6587\u6587\u6863\u6392\u7248\u89c4\u8303 \u5bf9\u62a5\u544a\u5185\u5bb9\u8fdb\u884c\u6392\u7248\uff1b \u4e2a\u4eba\u5b9e\u8df5\u5fc3\u5f97\u4f53\u4f1a \u5185\u5bb9\u91cd\u70b9\u5f3a\u8c03\uff1a\u4e2a\u4eba\u5728\u672c\u6b21\u5927\u4f5c\u4e1a\u4e2d\u7684\u4e3b\u8981\u8d21\u732e\uff1b\u5b8c\u6210\u4e86\u54ea\u4e9b\u81ea\u8ba4\u4e3a\u6709\u6280\u672f\u542b\u91cf\u7684\u5de5\u4f5c\uff1b\u5370\u8c61\u6df1\u523b\u7684\u4e00\u4e9b bug \u548c\u81ea\u5df1\u7684\u89e3\u51b3\u65b9\u6cd5\uff1b \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\uff1b \u89c6\u9891\u6587\u4ef6\u53ef\u4ee5\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff0c\u7136\u540e\u5728\u603b\u7ed3\u62a5\u544a\u6587\u6863\u4e2d\u9644\u4e0a\u89c6\u9891\u94fe\u63a5\u5373\u53ef\uff0c\u4ee5\u51cf\u5c11\u538b\u7f29\u5305\u5927\u5c0f\uff1b \u5df2\u5728 Github \u4e0a\u4f20\u6240\u6709\u6587\u4ef6\u7684\u5c0f\u7ec4\uff0c\u5728\u5b9e\u9a8c\u62a5\u544a\u4e2d\u540c\u6837\u9700\u8981\u9644\u4e0a\u9879\u76ee\u4ed3\u5e93\u5730\u5740\u5907\u67e5\u3002 \u7ed3\u8bfe\u6750\u6599\u63d0\u4ea4 DDL\uff1a2024.7.26 23:59:59 \u3002 \u63a8\u8350\u7684\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u7ec4\u7ec7\u5f62\u5f0f \u251c\u2500\u2500 0_\u5f20\u4e09 # \u5b58\u653e `\u4e2a\u4eba\u7684\u5b9e\u8df5\u5fc3\u5f97\u4f53\u4f1a` \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 1_\u674e\u56db \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 2_\u738b\u4e94 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 3_\u8d75\u516d \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 code # \u5b58\u653e\u4ee3\u7801 \u251c\u2500\u2500 docs # \u5b58\u653e\u9879\u76ee\u8bf4\u660e\u6587\u6863 \u2514\u2500\u2500 README.md \u5982\u679c\u662f\u9009\u62e9\u5728 \u516c\u5f00\u4ed3\u5e93 \u63d0\u4ea4\u4f5c\u54c1\uff0c\u5219\u65e0\u9700\u5b9e\u540d\u547d\u540d\u4e0a\u8ff0\u5b50\u76ee\u5f55\uff0c\u53ef\u4ee5\u4f7f\u7528\u81ea\u5df1\u7684 \u7f51\u7edc ID \uff0c\u4f46\u662f\u5728\u6253\u5305\u63d0\u4ea4\u5230\u7545\u8bfe\u4f5c\u4e1a\u533a\u7684\u6700\u7ec8\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u91cc\u9700\u8981\u66ff\u6362\u4e3a\u5b9e\u540d\u3002","title":"2024\u5e74"},{"location":"cp/2024/index.html#2024","text":"","title":"2024 \u5e74\u6559\u5b66\u8ba1\u5212"},{"location":"cp/2024/index.html#_1","text":"\u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae\u3001\u5b89\u9756 \u8bfe\u7a0b\u4e3b\u9898\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u4e09\u5e74\u4e13\u4e1a\u8bfe\u7efc\u5408\u8fd0\u7528\u548c\u5b9e\u8df5 \u5b9e\u9a8c\u51c6\u5907\uff1a\u81ea\u5907\u7535\u8111\uff0c \u4e0a\u8bfe\u65b9\u5f0f\uff1a\u7ebf\u4e0b\u96c6\u4e2d\u5b9e\u8df5+\u5206\u7ec4\u5b66\u4e60+\u81ea\u884c\u7ec4\u961f\u5b8c\u6210\u5927\u4f5c\u4e1a+\u96c6\u4e2d\u62a5\u544a","title":"\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"cp/2024/index.html#_2","text":"\u672c\u6b21\u5c0f\u5b66\u671f\u8bbe\u8ba1\u4e86 \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u4efb\u52a1\u3002\u987e\u540d\u601d\u4e49\uff0c \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u91c7\u53d6\u540c\u5b66\u4eec\u81ea\u7531\u7ec4\u961f \u5206\u7ec4\u5b8c\u6210 \u65b9\u5f0f\uff0c\u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 6 \u4eba\uff0c\u5efa\u8bae 4 \u4eba\u6700\u4f73\u3002 \u672c\u6b21\u5c0f\u5b66\u671f 2 \u5468\u65f6\u95f4\u7684 \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u5c06\u63d0\u4f9b 2 \u79cd\u96be\u5ea6\u7ea7\u522b\u7684\u5b9e\u8df5\u4efb\u52a1\uff1a \u57fa\u7840\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u548c \u8fdb\u9636\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u3002","title":"\u8bfe\u7a0b\u76ee\u6807\u4e0e\u5185\u5bb9"},{"location":"cp/2024/index.html#1","text":"\u56e2\u961f\u5206\u5de5\u8ddf\u7ec3\u590d\u73b0\u5b8c\u6210 \u7f51\u7edc\u5b89\u5168(2021) \u7efc\u5408\u5b9e\u9a8c \u3002\u65e0\u8bba\u56e2\u961f\u7531\u591a\u5c11\u4eba\u6240\u7ec4\u6210\uff0c\u4ee5\u4e0b\u6309\u672c\u6b21\u5b9e\u8df5\u8bad\u7ec3\u6240\u6d89\u53ca\u5230\u7684\u4eba\u5458\u80fd\u529b\u96c6\u5408\u5212\u5206\u4e86\u4ee5\u4e0b\u56e2\u961f\u89d2\u8272\u3002\u4e00\u4eba\u81f3\u5c11\u627f\u62c5\u4e00\u79cd\u56e2\u961f\u89d2\u8272\uff0c\u8001\u5e08\u5c06\u6309\u7167\u8be5\u89d2\u8272\u7684\u8bc4\u4ef7\u6807\u51c6\u8fdb\u884c \u57fa\u4e8e\u5ba2\u89c2\u4e8b\u5b9e\u7684\u4e3b\u89c2\u8bc4\u4ef7 \u3002 \u7ea2\u961f\uff1a\u9700\u5b8c\u6210\u6f0f\u6d1e\u5b58\u5728\u6027\u9a8c\u8bc1\u548c\u6f0f\u6d1e\u5229\u7528\u3002 \u84dd\u961f\u5a01\u80c1\u76d1\u6d4b\uff1a\u6f0f\u6d1e\u5229\u7528\u7684\u6301\u7eed\u68c0\u6d4b\u548c\u5a01\u80c1\u8bc6\u522b\u4e0e\u62a5\u544a\u3002 \u84dd\u961f\u5a01\u80c1\u5904\u7f6e\uff1a\u6f0f\u6d1e\u5229\u7528\u7684\u7f13\u89e3\u548c\u6f0f\u6d1e\u4fee\u590d\uff08\u6e90\u4ee3\u7801\u7ea7\u522b\u548c\u4e8c\u8fdb\u5236\u7ea7\u522b\u4e24\u79cd\uff09\u3002 \u4e0a\u8ff0\u80fd\u529b\u7684\u57fa\u672c\u8bc4\u5206\u539f\u5219\u53c2\u8003\u201c\u9053\u672f\u5668\u201d\u539f\u5219\uff1a\u6700\u57fa\u7840\u8981\u6c42\u662f\u80fd\u591f\u8ddf\u7ec3\u5e76\u590d\u73b0 \u7f51\u7edc\u5b89\u5168(2021) \u7efc\u5408\u5b9e\u9a8c \u4e2d\u6f14\u793a\u5b9e\u9a8c\u4f7f\u7528\u5230\u7684\u5de5\u5177\uff1b\u8fdb\u9636\u6807\u51c6\u662f\u80fd\u591f\u4f7f\u7528\u8bfe\u7a0b\u89c6\u9891\u4e2d \u672a\u4f7f\u7528 \u7684\u5de5\u5177\u6216\u4f7f\u7528\u7f16\u7a0b\u81ea\u52a8\u5316\u3001\u751a\u81f3\u662f\u667a\u80fd\u5316\u7684\u65b9\u5f0f\u5b8c\u6210\u6f0f\u6d1e\u653b\u51fb\u6216\u6f0f\u6d1e\u5229\u7528\u884c\u4e3a\u8bc6\u522b\u4e0e\u5904\u7f6e\u3002","title":"1. \u57fa\u7840\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3"},{"location":"cp/2024/index.html#_3","text":"\u865a\u62df\u673a\u8f6f\u4ef6\uff08\u63a8\u8350 Virutalbox \uff09\u7684\u5b89\u88c5\u548c\u57fa\u672c\u4f7f\u7528 Ubuntu \u7cfb\u7edf\u7684\u4f7f\u7528 Kali Linux \u7cfb\u7edf\u7684\u4f7f\u7528 \u5728\u4e0d\u540c Linux \u53d1\u884c\u7248\u91cc\u7684 Docker \u5bb9\u5668\u7684\u5b89\u88c5\u548c\u57fa\u672c\u4f7f\u7528 \u901a\u8fc7 Dockerfile \u6784\u5efa\u9776\u6807\u955c\u50cf \u901a\u8fc7 Docker Compose \u90e8\u7f72\u9776\u6807\u73af\u5883 \u57fa\u4e8e Vulfocus \u7684\u6f0f\u6d1e\u590d\u73b0 \u57fa\u4e8e Vulfocus \u7684\u9776\u573a\u642d\u5efa \u5916\u7f51\u6e17\u900f\u6d4b\u8bd5\uff1a\u4fe1\u606f\u6536\u96c6\u3001\u7aef\u53e3\u626b\u63cf\u3001\u670d\u52a1\u8bc6\u522b\u3001\u6f0f\u6d1e\u626b\u63cf\u3001\u6f0f\u6d1e\u5b58\u5728\u6027\u9a8c\u8bc1\u3001\u6f0f\u6d1e\u5229\u7528 Metasploit \u53ca\u5176\u4ed6\u5f00\u6e90\u81ea\u52a8\u5316\u653b\u51fb\u6846\u67b6\u7684\u4f7f\u7528 \u5185\u7f51\u6e17\u900f\u6d4b\u8bd5\uff1a\u4fe1\u606f\u6536\u96c6\u3001\u7aef\u53e3\u626b\u63cf\u3001\u670d\u52a1\u8bc6\u522b\u3001\u7f51\u7edc\u62d3\u6251\u53d1\u73b0\u3001\u6f0f\u6d1e\u626b\u63cf\u3001\u6f0f\u6d1e\u5b58\u5728\u6027\u9a8c\u8bc1\u3001\u6f0f\u6d1e\u5229\u7528 \u4f7f\u7528 Git \u8fdb\u884c\u56e2\u961f\u534f\u4f5c \u641c\u7d22\u5f15\u64ce\u7684\u4f7f\u7528 AI Copilot \u7684\u4f7f\u7528 \u81ea\u52a8\u5316\u653b\u51fb\u7a0b\u5e8f\u7684\u7f16\u5199 \u5165\u4fb5\u68c0\u6d4b\u7cfb\u7edf\u7684\u5b89\u88c5\u4e0e\u4f7f\u7528 \u5165\u4fb5\u53d6\u8bc1 \u6f0f\u6d1e\u5229\u7528\u7f13\u89e3 \u6f0f\u6d1e\u4fee\u590d \u89c4\u8303\u7684\u6280\u672f\u6587\u6863\u64b0\u5199\u80fd\u529b","title":"\u6d89\u53ca\u5230\u7684\u4e3b\u8981\u77e5\u8bc6\u70b9\u548c\u6280\u80fd\u70b9"},{"location":"cp/2024/index.html#2","text":"\u53c2\u7167 \u4fe1\u606f\u5b89\u5168\u7ade\u8d5b\u56fd\u8d5b \u7684 \u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u56e2\u961f\u8d5b \u8d5b\u5236\u5c55\u5f00\u4e13\u4e1a\u7efc\u5408\u5b9e\u8df5\u8bad\u7ec3\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u53c2\u8003 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u5206\u533a\u9009\u62d4\u8d5b\u5e94\u7528\u573a\u666f\u5f00\u53d1\u9700\u6c42 \u3001 \u7b2c\u5341\u4e8c\u5c4a\u5168\u56fd\u5927\u5b66\u751f\u4fe1\u606f\u5b89\u5168\u7ade\u8d5b-\u521b\u65b0\u5b9e\u8df5\u80fd\u529b\u8d5b \u7ebf\u4e0b\u5206\u533a\u9009\u62d4\u8d5b\u53c2\u8d5b\u6307\u5357 \u548c\u6211\u4eec\u7684 \u5177\u4f53\u8bc4\u5206\u6807\u51c6 \u3002","title":"2. \u8fdb\u9636\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3"},{"location":"cp/2024/index.html#_4","text":"#include \u4e0a\u8ff0\u57fa\u7840\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3\u7684\u6240\u6709\u77e5\u8bc6\u70b9\u548c\u6280\u80fd\u70b9 #exclude \u5185\u7f51\u6e17\u900f\u6d4b\u8bd5 #exclude \u57fa\u4e8e Vulfocus \u7684\u6f0f\u6d1e\u590d\u73b0\u548c\u9776\u573a\u642d\u5efa \u5b8c\u6574\u7684\u5e94\u7528\u5f00\u53d1\u4e0e\u4ea4\u4ed8\u90e8\u7f72\u80fd\u529b \u8f6f\u4ef6\u5de5\u7a0b\u6587\u6863\u64b0\u5199\u80fd\u529b","title":"\u6d89\u53ca\u5230\u7684\u4e3b\u8981\u77e5\u8bc6\u70b9\u548c\u6280\u80fd\u70b9"},{"location":"cp/2024/index.html#3","text":"\u7b26\u5408\u4ee5\u4e0b\u6761\u4ef6\u4e4b\u4e00\u7684\u540c\u5b66\uff0c\u8bf7\u5728\u7545\u8bfe\u5e73\u53f0\u63d0\u4ea4\u7684\u6700\u7ec8\u62a5\u544a\u91cc\u5305\u542b\u4e2a\u4eba\u6f14\u7ec3\u8d21\u732e\u603b\u7ed3\u62a5\u544a\uff1a \u53c2\u4e0e 2023 \u5e74 12 \u6708\u7684\u6821\u5185\u653b\u9632\u6f14\u7ec3\u6d3b\u52a8\uff0c\u72ec\u7acb\u53d1\u73b0\u5e76\u62a5\u544a\u9ad8\u5371\u6f0f\u6d1e 1 \u4e2a\u6216\u4ee5\u4e0a\uff0c\u5e76\u63d0\u4f9b\u6f0f\u6d1e\u4fee\u590d\u5efa\u8bae\u5e76\u88ab\u63a5\u53d7\u91c7\u7eb3\uff1b\u6216\u72ec\u7acb\u53d1\u73b0\u5e76\u62a5\u544a\u4e2d\u5371\u6f0f\u6d1e 5 \u4e2a\u6216\u4ee5\u4e0a\uff0c\u5e76\u63d0\u4f9b\u6f0f\u6d1e\u4fee\u590d\u5efa\u8bae\u5e76\u88ab\u63a5\u53d7\u91c7\u7eb3\u3002 \u53c2\u4e0e 2024 \u5e74 6 \u6708\u7684\u653b\u9632\u6f14\u7ec3\u671f\u95f4\u5a01\u80c1\u76d1\u6d4b\u4e0e\u7814\u5224\u5904\u7f6e\u5de5\u4f5c\uff0c\u7d2f\u79ef\u5de5\u4f5c\u65f6\u957f\u8d85\u8fc7 40 \u5c0f\u65f6\u3002 \u603b\u7ed3\u62a5\u544a\u5177\u4f53\u8981\u6c42\u5982\u4e0b\uff1a \u53c2\u7167 \u4e66\u9762\u62a5\u544a\u8981\u6c42 \u91cc\u7684\u6587\u6863\u64b0\u5199\u76f8\u5173\u8981\u6c42\u3002 \u6240\u6709\u654f\u611f\u6570\u636e\uff08\u53c2\u7167\u300a\u6570\u636e\u5b89\u5168\u6cd5\u300b\u548c\u300a\u4e2a\u4eba\u4fe1\u606f\u4fdd\u62a4\u6cd5\u300b\u76f8\u5173\u6cd5\u5f8b\u89c4\u5b9a\u8981\u6c42\uff0c\u4f8b\u5982\u8eab\u4efd\u8bc1\u53f7\u3001\u624b\u673a\u53f7\u3001\u59d3\u540d\u3001\u5b97\u6559\u4fe1\u4ef0\u3001\u653f\u6cbb\u9762\u8c8c\u7b49\u4fe1\u606f\uff09\u3001\u771f\u5b9e\u4fe1\u606f\u7cfb\u7edf\u7684\u622a\u56fe\u5747\u9700\u8981\u505a \u8131\u654f\u5904\u7406 \uff0c\u7981\u6b62\u5728\u7ed3\u8bfe\u6750\u6599\u4e2d\u5305\u542b\u4efb\u4f55\u5f62\u5f0f\u53ef\u80fd\u5bfc\u81f4\u654f\u611f\u4fe1\u606f\u6cc4\u9732\u6216\u654f\u611f\u4fe1\u606f\u63a8\u65ad\u7684\u4fe1\u606f\u3002","title":"3. \u653b\u9632\u6f14\u7ec3\u6d3b\u52a8\u4e2a\u4eba\u8d21\u732e\u603b\u7ed3"},{"location":"cp/2024/index.html#_5","text":"\u6309\u7167\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3\u7684\u603b\u4f53\u5b8c\u6210\u5ea6\u60c5\u51b5\uff0c\u901a\u8fc7\u56e2\u961f\u7684\u73b0\u573a\u53e3\u5934\u62a5\u544a\u60c5\u51b5\u548c\u63d0\u4ea4\u7684\u4e66\u9762\u62a5\u544a\u8d28\u91cf\u8fdb\u884c\u7efc\u5408\u8bc4\u5b9a\u3002 \u603b\u6210\u7ee9 = \u53e3\u5934\u62a5\u544a * 40% + \u4e66\u9762\u62a5\u544a * 50% + \u8003\u52e4\u8bb0\u5f55 * 10% \u3002 \u53e3\u5934\u62a5\u544a \u73b0\u573a\u62a5\u544a\u5b8c\u6bd5\u540e\uff0c\u8001\u5e08\u5c06\u6839\u636e\u73b0\u573a\u62a5\u544a\u7684\u5185\u5bb9\u548c\u56e2\u961f\u6210\u5458\u7684\u8868\u73b0\u60c5\u51b5\u7ed9\u4e88\u56e2\u961f\u603b\u4f53\u8868\u73b0\u8bc4\u5206\u3002\u56e2\u961f\u6210\u5458\u73b0\u573a\u5b8c\u6210\u56e2\u961f\u5206\u6570\u5230\u4e2a\u4eba\u8bc4\u5206\u7684\u5206\u914d\u548c\u786e\u8ba4\u3002\u4e3e\u4f8b\uff0c\u56e2\u961f\u603b\u4f53\u83b7\u5f97\u8bc4\u5206 90 \uff0c\u56e2\u961f\u7531 6 \u4eba\u7ec4\u6210\uff0c\u6b64\u65f6\u53ef\u4ee5\u7528\u4e8e\u5206\u914d\u7ed9\u56e2\u961f\u5185\u4e2a\u4eba\u7684\u8bc4\u5206\u603b\u6570\u8ba1\u7b97\u516c\u5f0f\u4e3a\uff1a\u56e2\u961f\u603b\u5206 * \u56e2\u961f\u4eba\u6570 = 90 * 6 = 540 = \u56e2\u961f\u53ef\u5206\u914d\u603b\u5206\u3002\u6700\u7ec8\u786e\u8ba4\u7684\u4e2a\u4eba\u8bc4\u5206\u5206\u914d\u65b9\u6848\u9700\u786e\u4fdd \u56e2\u961f\u4e2a\u4eba\u8bc4\u5206\u4e4b\u548c = \u56e2\u961f\u53ef\u5206\u914d\u603b\u5206 \u3002 \u4e66\u9762\u62a5\u544a \u4e66\u9762\u62a5\u544a\u7684\u8d28\u91cf\u5c06\u6839\u636e\u4e66\u9762\u62a5\u544a\u7684\u5185\u5bb9\u3001\u6392\u7248\u3001\u64b0\u5199\u8d28\u91cf\u3001\u64b0\u5199\u89c4\u8303\u3001\u4ee3\u7801\u89c4\u8303\u3001 Git \u4f7f\u7528\u89c4\u8303\u6027 \u7b49\u65b9\u9762\u8fdb\u884c\u8bc4\u5206\u3002 \u8003\u52e4\u8bb0\u5f55 \u8003\u52e4\u8bb0\u5f55\u5c06\u6839\u636e\u540c\u5b66\u4eec\u7684\u51fa\u52e4\u60c5\u51b5\u8fdb\u884c\u8bc4\u5206\u3002\u521d\u59cb\u8003\u52e4\u4e3a\u6ee1\u5206 10 \u5206\uff0c\u65e0\u6545\u7f3a\u52e4\u6216\u65e9\u9000 1 \u6b21\u6263 1 \u5206\uff0c\u8fdf\u5230 1 \u6b21\u6263 0.5 \u5206\uff0c\u4ee5\u6b64\u7c7b\u63a8\uff0c\u6263\u5b8c\u4e3a\u6b62\u3002\u5b8c\u6210\u56e2\u961f\u53e3\u5934\u62a5\u544a\u4efb\u52a1\u4e4b\u540e\uff0c\u56e2\u961f\u6210\u5458\u7684\u8003\u52e4\u8bb0\u5f55\u5c06\u4e0d\u518d\u8fdb\u884c\u53d8\u66f4\u3002 \u51e1\u63d0\u4ea4 \u653b\u9632\u6f14\u7ec3\u6d3b\u52a8\u4e2a\u4eba\u8d21\u732e\u603b\u7ed3 \u7684\u540c\u5b66\uff0c\u6839\u636e\u5b9e\u9645\u8d21\u732e\u60c5\u51b5\uff0c\u603b\u6210\u7ee9\u76f4\u63a5\u914c\u60c5\u52a0\u5206\u3002","title":"\u6210\u7ee9\u8bc4\u5b9a"},{"location":"cp/2024/index.html#_6","text":"\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u4e3a\u6700\u9ad8\u96be\u5ea6\u7ea7\u522b\uff0c\u5bf9\u56e2\u961f\u6210\u5458\u7684\u6280\u672f\u80fd\u529b\u8981\u6c42\u6700\u9ad8\uff0c\u9700\u8981\u56e2\u961f\u6210\u5458\u5177\u5907\u5f88\u5f3a\u7684\u81ea\u4e3b\u5b66\u4e60\u4e0e\u52a8\u624b\u5b9e\u8df5\u80fd\u529b\u3001\u56e2\u961f\u534f\u4f5c\u80fd\u529b\u548c\u4e3e\u4e00\u53cd\u4e09\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u4e3a\u8f83\u9ad8\u96be\u5ea6\u7ea7\u522b\uff0c\u5bf9\u56e2\u961f\u6210\u5458\u7684\u6280\u672f\u80fd\u529b\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u56e2\u961f\u6210\u5458\u5177\u5907\u8f83\u5f3a\u7684\u81ea\u4e3b\u5b66\u4e60\u4e0e\u52a8\u624b\u5b9e\u8df5\u80fd\u529b\u3001\u56e2\u961f\u534f\u4f5c\u80fd\u529b\u548c\u96c6\u6210\u521b\u65b0\u6216\u5fae\u8c03\u6539\u9020\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u4e3a\u4e2d\u7b49\u96be\u5ea6\u7ea7\u522b\uff0c\u5bf9\u56e2\u961f\u6210\u5458\u7684\u6280\u672f\u80fd\u529b\u8981\u6c42\u4e00\u822c\uff0c\u9700\u8981\u56e2\u961f\u6210\u5458\u5177\u5907\u57fa\u672c\u7684\u81ea\u4e3b\u5b66\u4e60\u4e0e\u52a8\u624b\u5b9e\u8df5\u80fd\u529b\u3001\u56e2\u961f\u534f\u4f5c\u80fd\u529b\u548c\u624e\u5b9e\u7684\u6545\u969c\u6392\u67e5\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f \u4e3a\u8f83\u4f4e\u96be\u5ea6\u7ea7\u522b\uff0c\u5bf9\u56e2\u961f\u6210\u5458\u7684\u6280\u672f\u80fd\u529b\u8981\u6c42\u8f83\u4f4e\uff0c\u9700\u8981\u56e2\u961f\u6210\u5458\u5177\u5907\u57fa\u672c\u7684\u81ea\u4e3b\u5b66\u4e60\u4e0e\u52a8\u624b\u5b9e\u8df5\u80fd\u529b\u3001\u56e2\u961f\u534f\u4f5c\u80fd\u529b\u548c\u57fa\u672c\u7684\u6545\u969c\u6392\u67e5\u80fd\u529b\u3002 \u2b50\ufe0f\u4e3a\u6700\u4f4e\u96be\u5ea6\u7ea7\u522b\uff0c\u4ee5 \u8ddf\u7ec3\u548c\u590d\u73b0 \u5f62\u5f0f\u4e3a\u5178\u578b\u4ee3\u8868\uff0c\u4e14\u5728\u64cd\u4f5c\u8fc7\u7a0b\u4e2d\u4f7f\u7528\u7684\u5de5\u5177\u8f6f\u4ef6\u5177\u6709\u8f83\u5f3a\u7684\u5bb9\u9519\u5065\u58ee\u6027\u3001\u8f83\u9ad8\u7684\u81ea\u52a8\u5316\u6c34\u5e73\u751a\u81f3\u5177\u5907\u4e00\u5b9a\u7684\u81ea\u4e3b\u667a\u80fd\u6027\u3002 \u4e3e\u4f8b\u8bf4\u660e\uff0c\u5728 \u57fa\u7840\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u4efb\u52a1\u4e2d\u9700\u8981\u540c\u5b66\u4eec\u53bb\u6784\u5efa\u4e00\u4e2a\u5e26\u6709\u5185\u90e8\u7f51\u7edc\u7ed3\u6784\u7684\u9776\u573a\u73af\u5883\uff0c\u5728\u8fd9\u4e2a\u4efb\u52a1\u91cc\u7684 \u5165\u53e3\u9776\u6807 \u6784\u5efa\u65b9\u5f0f\u6709\u591a\u79cd\uff0c\u4e0d\u540c\u6784\u5efa\u65b9\u5f0f\u7684\u96be\u5ea6\u5224\u65ad\u6807\u51c6\u4e3e\u4f8b\u5982\u4e0b\uff1a \u2b50\ufe0f \u76f4\u63a5\u4f7f\u7528 Vulfocus \u81ea\u5e26\u7684 DMZ \u573a\u666f\u73af\u5883\u5bfc\u5165\uff0c\u4e0d\u505a\u4efb\u4f55\u4fee\u6539\u3002 \u2b50\ufe0f\u2b50\ufe0f \u901a\u8fc7\u8c03\u7814\uff0c\u627e\u4e86\u4e00\u4e2a\u5176\u4ed6\u4eba\u5f00\u6e90\u7684\u9776\u573a\u73af\u5883\u5bfc\u5165\uff0c\u4e0d\u505a\u4efb\u4f55\u4fee\u6539\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u901a\u8fc7\u8c03\u7814\uff0c\u53c2\u8003\u5176\u4ed6\u4eba\u95ed\u6e90\u7684\u4e00\u4e2a\u9776\u573a\u73af\u5883\u8bbe\u8ba1\u65b9\u6848\uff0c\u6309\u7167\u65b9\u6848\u8bbe\u8ba1\u81ea\u5df1\u6784\u5efa\u5bf9\u5e94\u5165\u53e3\u9776\u6807\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u901a\u8fc7\u8c03\u7814\uff0c\u53c2\u8003\u5176\u4ed6\u4eba\u95ed\u6e90\u7684\u591a\u4e2a\u9776\u573a\u73af\u5883\u8bbe\u8ba1\u65b9\u6848\uff0c\u81ea\u5df1\u8bbe\u8ba1\u9776\u573a\u73af\u5883\u548c\u6f14\u7ec3\u5267\u672c\uff0c\u6309\u7167\u8be5\u5267\u672c\u8bbe\u8ba1\u81ea\u5df1\u6784\u5efa\u5bf9\u5e94\u5165\u53e3\u9776\u6807\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u901a\u8fc7\u8c03\u7814\uff0c\u9009\u62e9\u4e86\u53c2\u8003\u8d44\u6599\u7a00\u5c11\u6216\u5b8c\u5168\u6ca1\u6709\u7684\u6f0f\u6d1e\u4fe1\u606f\u6765\u6784\u5efa\u5165\u53e3\u9776\u6807\u3002","title":"\u96be\u5ea6\u7ea7\u522b\u8bf4\u660e"},{"location":"cp/2024/index.html#_7","text":"\u6bcf\u4e2a\u5c0f\u7ec4 20 \u5206\u949f\u4ee5\u5185\u7684\u73b0\u573a\u62a5\u544a\u65f6\u95f4\uff0c\u5305\u62ec\u56e2\u961f\u6210\u5458\u7684\u5206\u5de5\u3001\u5b8c\u6210\u60c5\u51b5\u3001\u9047\u5230\u7684\u95ee\u9898\u548c\u89e3\u51b3\u65b9\u6848\u7b49\u3002 \u63a5\u53d7\u73b0\u573a\u8001\u5e08\u548c\u540c\u5b66\u4eec\u7684\u63d0\u95ee\uff0c\u56de\u7b54\u95ee\u9898\uff0c\u89e3\u91ca\u56e2\u961f\u7684\u5de5\u4f5c\u6210\u679c\u539f\u7406\u3001\u56e2\u961f\u6210\u5458\u7684\u8d21\u732e\uff0c\u534a\u5c0f\u65f6\u5de6\u53f3\u3002 \u540c\u5b66\u4eec\u5fae\u4fe1\u5c0f\u7a97\u8054\u7cfb\u6388\u8bfe\u8001\u5e08\u7533\u8bf7\u5b89\u6392\u73b0\u573a\u53e3\u5934\u62a5\u544a\u65f6\u95f4\uff0c\u62a5\u544a\u7684\u5148\u540e\u987a\u5e8f\u4ee5\u540c\u5b66\u4eec\u5b8c\u6574\u4e66\u9762\u62a5\u544a\u548c\u7b54\u8fa9 PPT \u63d0\u4ea4\u5230 git \u4ed3\u5e93\u7684\u63d0\u4ea4\u65f6\u95f4\u4e3a\u6392\u5e8f\u4f9d\u636e\u3002 \u73b0\u573a\u53e3\u5934\u62a5\u544a\u540e\u8001\u5e08\u63d0\u51fa\u7684\u4fee\u6539\u610f\u89c1\uff0c\u540c\u5b66\u4eec\u9700\u8981\u5728\u4e66\u9762\u62a5\u544a\u4e2d\u8fdb\u884c\u4fee\u6539\uff0c\u5e76\u5728\u540e\u7eed\u7684 git \u63d0\u4ea4\u540e\uff0c\u901a\u8fc7 commit message \u6216 git \u7f51\u9875\u7248\u7684\u8bc4\u8bba\u529f\u80fd \u5f52\u7eb3\u6982\u8ff0\u4fee\u6539\u843d\u5b9e\u60c5\u51b5\u6216\u672a\u4fee\u6539\u539f\u56e0\uff0c\u4ee5\u4fbf\u6700\u7ec8\u8bc4\u5206\u3002","title":"\u53e3\u5934\u62a5\u544a\u8981\u6c42"},{"location":"cp/2024/index.html#_8","text":"\u5b9e\u8df5\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4ea7\u751f\u7684\u6587\u6863\u3001\u4ee3\u7801\u5747\u53ef\u4ee5\u91c7\u7528 Github/ Gitlab /Gitee \u7684\u65b9\u5f0f\u7ba1\u7406\uff08\u8fd9\u662f\u4e00\u4e2a\u9f13\u52b1\u548c\u652f\u6301\u7684\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u5efa\u8bae\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5370\u8c61\u5206\u54e6\uff5e\uff09\uff1b \u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528zip\u683c\u5f0f\u6253\u5305\u5e76\u63d0\u4ea4\u5230\u5b66\u6821\u7545\u8bfe\u5e73\u53f0\u6307\u5b9a\u4f5c\u4e1a\u6a21\u5757\uff08\u540e\u7eed\u5728\u8bfe\u7a0b\u5fae\u4fe1\u7fa4\u3001\u7545\u8bfe\u5e73\u53f0\u8bfe\u7a0b\u516c\u544a\u6a21\u5757\u8fdb\u884c\u901a\u77e5\uff0c\u6ce8\u610f\u67e5\u770b\uff09\u3002\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u59d3\u540d4_\u59d3\u540d5_\u59d3\u540d6_\u4f5c\u4e1a\u9898\u76ee.zip \uff1b \u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167 \u53e3\u5934\u62a5\u544a \u73af\u8282\u786e\u8ba4\u7684\u4e2a\u4eba\u5f97\u5206\uff0c\u4ece\u9ad8\u5230\u4f4e\u3001\u4ece\u5de6\u5230\u53f3\u4f9d\u6b21\u6392\u5217\uff1b \u6240\u6709\u6587\u6863\u7edf\u4e00\u91c7\u7528 markdown \u4e66\u5199\uff0c\u5efa\u8bae\u53c2\u7167 \u57fa\u4e8e Markdown \u7684\u4e2d\u6587\u6587\u6863\u6392\u7248\u89c4\u8303 \u5bf9\u62a5\u544a\u5185\u5bb9\u8fdb\u884c\u6392\u7248\uff1b \u4e2a\u4eba\u5b9e\u8df5\u5fc3\u5f97\u4f53\u4f1a \u5185\u5bb9\u91cd\u70b9\u5f3a\u8c03\uff1a\u4e2a\u4eba\u5728\u672c\u6b21\u5927\u4f5c\u4e1a\u4e2d\u7684\u4e3b\u8981\u8d21\u732e\uff1b\u5b8c\u6210\u4e86\u54ea\u4e9b\u81ea\u8ba4\u4e3a\u6709\u6280\u672f\u542b\u91cf\u7684\u5de5\u4f5c\uff1b\u5370\u8c61\u6df1\u523b\u7684\u4e00\u4e9b bug \u548c\u81ea\u5df1\u7684\u89e3\u51b3\u65b9\u6cd5\uff1b \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\uff1b \u89c6\u9891\u6587\u4ef6\u53ef\u4ee5\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff0c\u7136\u540e\u5728\u603b\u7ed3\u62a5\u544a\u6587\u6863\u4e2d\u9644\u4e0a\u89c6\u9891\u94fe\u63a5\u5373\u53ef\uff0c\u4ee5\u51cf\u5c11\u538b\u7f29\u5305\u5927\u5c0f\uff1b \u5df2\u5728 Github \u4e0a\u4f20\u6240\u6709\u6587\u4ef6\u7684\u5c0f\u7ec4\uff0c\u5728\u5b9e\u9a8c\u62a5\u544a\u4e2d\u540c\u6837\u9700\u8981\u9644\u4e0a\u9879\u76ee\u4ed3\u5e93\u5730\u5740\u5907\u67e5\u3002 \u7ed3\u8bfe\u6750\u6599\u63d0\u4ea4 DDL\uff1a2024.7.26 23:59:59 \u3002","title":"\u4e66\u9762\u62a5\u544a\u8981\u6c42"},{"location":"cp/2024/index.html#_9","text":"\u251c\u2500\u2500 0_\u5f20\u4e09 # \u5b58\u653e `\u4e2a\u4eba\u7684\u5b9e\u8df5\u5fc3\u5f97\u4f53\u4f1a` \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 1_\u674e\u56db \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 2_\u738b\u4e94 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 3_\u8d75\u516d \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 code # \u5b58\u653e\u4ee3\u7801 \u251c\u2500\u2500 docs # \u5b58\u653e\u9879\u76ee\u8bf4\u660e\u6587\u6863 \u2514\u2500\u2500 README.md \u5982\u679c\u662f\u9009\u62e9\u5728 \u516c\u5f00\u4ed3\u5e93 \u63d0\u4ea4\u4f5c\u54c1\uff0c\u5219\u65e0\u9700\u5b9e\u540d\u547d\u540d\u4e0a\u8ff0\u5b50\u76ee\u5f55\uff0c\u53ef\u4ee5\u4f7f\u7528\u81ea\u5df1\u7684 \u7f51\u7edc ID \uff0c\u4f46\u662f\u5728\u6253\u5305\u63d0\u4ea4\u5230\u7545\u8bfe\u4f5c\u4e1a\u533a\u7684\u6700\u7ec8\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u91cc\u9700\u8981\u66ff\u6362\u4e3a\u5b9e\u540d\u3002","title":"\u63a8\u8350\u7684\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u7ec4\u7ec7\u5f62\u5f0f"},{"location":"cp/2025/index.html","text":"2025 \u5e74\u6559\u5b66\u8ba1\u5212 \u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae\u3001\u5b89\u9756 \u8bfe\u7a0b\u4e3b\u9898\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u4e24\u5e74\u534a\u4e13\u4e1a\u8bfe\u7efc\u5408\u8fd0\u7528\u548c\u5b9e\u8df5 \u5b9e\u9a8c\u51c6\u5907\uff1a\u81ea\u5907\u7535\u8111\uff0c \u4e0a\u8bfe\u65b9\u5f0f\uff1a\u7ebf\u4e0b\u96c6\u4e2d\u5b9e\u8df5+\u5206\u7ec4\u5b66\u4e60+\u81ea\u884c\u7ec4\u961f\u5b8c\u6210\u5927\u4f5c\u4e1a+\u96c6\u4e2d\u62a5\u544a \u8bfe\u7a0b\u76ee\u6807 \u4e86\u89e3\u7f51\u7edc\u653b\u9632\u76f8\u5173\u6cd5\u5f8b\u6cd5\u89c4\uff0c\u7406\u89e3\u7f51\u7edc\u653b\u9632\u7684\u57fa\u672c\u6982\u5ff5\u3001\u57fa\u672c\u539f\u7406\u548c\u57fa\u672c\u65b9\u6cd5\u3002 \u638c\u63e1\u7f51\u7edc\u653b\u9632\u7684\u57fa\u672c\u6280\u672f\uff0c\u5305\u62ec\u7ea2\u961f\u6280\u672f\uff08\u4f8b\u5982\uff1a\u4fe1\u606f\u6536\u96c6\u3001\u7aef\u53e3\u626b\u63cf\u3001\u670d\u52a1\u8bc6\u522b\u3001\u6f0f\u6d1e\u626b\u63cf\u3001\u6f0f\u6d1e\u5229\u7528\uff09\u548c\u84dd\u961f\u6280\u672f\uff08\u4f8b\u5982\uff1a\u5165\u4fb5\u68c0\u6d4b\u3001\u5165\u4fb5\u53d6\u8bc1\u3001\u5e94\u6025\u54cd\u5e94\u7b49\uff09\u3002 \u7406\u89e3\u7f51\u7edc\u9776\u573a\u7684\u6982\u5ff5\uff0c\u638c\u63e1\u7f51\u7edc\u9776\u573a\u7684\u642d\u5efa\u65b9\u6cd5\u3001\u6f14\u7ec3\u65b9\u6848\u7684\u8bbe\u8ba1\u548c\u5b9e\u65bd\u65b9\u6cd5\u3002 \u8bfe\u7a0b\u5185\u5bb9 \u672c\u5b9e\u8df5\u8bfe\u7a0b\u4ee5 \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u4efb\u52a1\u5f62\u5f0f\u5f00\u5c55\u3002\u987e\u540d\u601d\u4e49\uff0c \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u91c7\u53d6\u540c\u5b66\u4eec\u81ea\u7531\u7ec4\u961f \u5206\u7ec4\u5b8c\u6210 \u65b9\u5f0f\uff0c\u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 6 \u4eba\uff0c\u5efa\u8bae 4 \u4eba\u6700\u4f73\u3002 \u672c\u6b21\u8bfe\u7a0b\u5b9e\u8df5\u7531 2 \u4e2a\u9636\u6bb5\u7684\u4efb\u52a1\u5171\u540c\u7ec4\u6210\uff0c\u5206\u522b\u662f\uff1a \u57fa\u7840\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u548c \u8fdb\u9636\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u3002 1. \u57fa\u7840\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u56e2\u961f\u5206\u5de5\u8ddf\u7ec3\u590d\u73b0\u5b8c\u6210 \u7f51\u7edc\u5b89\u5168(2021) \u7efc\u5408\u5b9e\u9a8c \u3002\u65e0\u8bba\u56e2\u961f\u7531\u591a\u5c11\u4eba\u6240\u7ec4\u6210\uff0c\u4ee5\u4e0b\u6309\u672c\u6b21\u5b9e\u8df5\u8bad\u7ec3\u6240\u6d89\u53ca\u5230\u7684\u4eba\u5458\u80fd\u529b\u96c6\u5408\u5212\u5206\u4e86\u4ee5\u4e0b\u56e2\u961f\u89d2\u8272\u3002\u4e00\u4eba\u81f3\u5c11\u627f\u62c5\u4e00\u79cd\u56e2\u961f\u89d2\u8272\uff0c\u8001\u5e08\u5c06\u6309\u7167\u8be5\u89d2\u8272\u7684\u8bc4\u4ef7\u6807\u51c6\u8fdb\u884c \u57fa\u4e8e\u5ba2\u89c2\u4e8b\u5b9e\u7684\u4e3b\u89c2\u8bc4\u4ef7 \u3002 \u7ea2\u961f\uff1a\u9700\u5b8c\u6210\u6f0f\u6d1e\u5b58\u5728\u6027\u9a8c\u8bc1\u548c\u6f0f\u6d1e\u5229\u7528\u3002 \u84dd\u961f\u5a01\u80c1\u76d1\u6d4b\uff1a\u6f0f\u6d1e\u5229\u7528\u7684\u6301\u7eed\u68c0\u6d4b\u548c\u5a01\u80c1\u8bc6\u522b\u4e0e\u62a5\u544a\u3002 \u84dd\u961f\u5a01\u80c1\u5904\u7f6e\uff1a\u6f0f\u6d1e\u5229\u7528\u7684\u7f13\u89e3\u548c\u6f0f\u6d1e\u4fee\u590d\uff08\u6e90\u4ee3\u7801\u7ea7\u522b\u548c\u4e8c\u8fdb\u5236\u7ea7\u522b\u4e24\u79cd\uff09\u3002 \u4e0a\u8ff0\u80fd\u529b\u7684\u57fa\u672c\u8bc4\u5206\u539f\u5219\u53c2\u8003\u201c\u9053\u672f\u5668\u201d\u539f\u5219\uff1a\u6700\u57fa\u7840\u8981\u6c42\u662f\u80fd\u591f\u8ddf\u7ec3\u5e76\u590d\u73b0 \u7f51\u7edc\u5b89\u5168(2021) \u7efc\u5408\u5b9e\u9a8c \u4e2d\u6f14\u793a\u5b9e\u9a8c\u4f7f\u7528\u5230\u7684\u5de5\u5177\uff1b\u8fdb\u9636\u6807\u51c6\u662f\u80fd\u591f\u4f7f\u7528\u8bfe\u7a0b\u89c6\u9891\u4e2d \u672a\u4f7f\u7528 \u7684\u5de5\u5177\u6216\u4f7f\u7528\u7f16\u7a0b\u81ea\u52a8\u5316\u3001\u751a\u81f3\u662f\u667a\u80fd\u5316\u7684\u65b9\u5f0f\u5b8c\u6210\u6f0f\u6d1e\u653b\u51fb\u6216\u6f0f\u6d1e\u5229\u7528\u884c\u4e3a\u8bc6\u522b\u4e0e\u5904\u7f6e\u3002 2. \u8fdb\u9636\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u8bbe\u8ba1\u4e0d\u540c\u4e8e \u7f51\u7edc\u5b89\u5168(2021) \u7efc\u5408\u5b9e\u9a8c \u4e2d\u7684\u5178\u578b\u4f01\u4e1a\u4e09\u5c42\u7f51\u7edc\u67b6\u6784\u7684\u653b\u9632\u573a\u666f\uff0c\u8bc4\u5206\u65f6\u5c06\u4ece\u9776\u6807\u6240\u5305\u542b\u6f0f\u6d1e\u7684\u5dee\u5f02\u6027\u3001\u6f0f\u6d1e\u5229\u7528\u7684\u590d\u6742\u6027\u3001\u7f51\u7edc\u62d3\u6251\u7684\u5dee\u5f02\u6027\u3001\u7f51\u7edc\u62d3\u6251\u7684\u590d\u6742\u6027\u3001ATT&CK \u6280\u672f\u70b9\u7684\u8986\u76d6\u6570\u91cf\u3001\u84dd\u961f\u7684\u5a01\u80c1\u76d1\u6d4b\u4e0e\u5904\u7f6e\u7684\u590d\u6742\u6027\u7b49\u65b9\u9762\u8fdb\u884c\u8bc4\u5206\u3002 \u6d89\u53ca\u5230\u7684\u4e3b\u8981\u77e5\u8bc6\u70b9\u548c\u6280\u80fd\u70b9 \u865a\u62df\u673a\u8f6f\u4ef6\uff08\u63a8\u8350 Virutalbox \uff09\u7684\u5b89\u88c5\u548c\u57fa\u672c\u4f7f\u7528 Ubuntu \u7cfb\u7edf\u7684\u4f7f\u7528 Kali Linux \u7cfb\u7edf\u7684\u4f7f\u7528 \u5728\u4e0d\u540c Linux \u53d1\u884c\u7248\u91cc\u7684 Docker \u5bb9\u5668\u7684\u5b89\u88c5\u548c\u57fa\u672c\u4f7f\u7528 \u901a\u8fc7 Dockerfile \u6784\u5efa\u9776\u6807\u955c\u50cf \u901a\u8fc7 Docker Compose \u90e8\u7f72\u9776\u6807\u73af\u5883 \u57fa\u4e8e Vulfocus \u7684\u6f0f\u6d1e\u590d\u73b0 \u57fa\u4e8e Vulfocus \u7684\u9776\u573a\u642d\u5efa \u5916\u7f51\u6e17\u900f\u6d4b\u8bd5\uff1a\u4fe1\u606f\u6536\u96c6\u3001\u7aef\u53e3\u626b\u63cf\u3001\u670d\u52a1\u8bc6\u522b\u3001\u6f0f\u6d1e\u626b\u63cf\u3001\u6f0f\u6d1e\u5b58\u5728\u6027\u9a8c\u8bc1\u3001\u6f0f\u6d1e\u5229\u7528 Metasploit \u53ca\u5176\u4ed6\u5f00\u6e90\u81ea\u52a8\u5316\u653b\u51fb\u6846\u67b6\u7684\u4f7f\u7528 \u5185\u7f51\u6e17\u900f\u6d4b\u8bd5\uff1a\u4fe1\u606f\u6536\u96c6\u3001\u7aef\u53e3\u626b\u63cf\u3001\u670d\u52a1\u8bc6\u522b\u3001\u7f51\u7edc\u62d3\u6251\u53d1\u73b0\u3001\u6f0f\u6d1e\u626b\u63cf\u3001\u6f0f\u6d1e\u5b58\u5728\u6027\u9a8c\u8bc1\u3001\u6f0f\u6d1e\u5229\u7528 \u4f7f\u7528 Git \u8fdb\u884c\u56e2\u961f\u534f\u4f5c \u641c\u7d22\u5f15\u64ce\u7684\u4f7f\u7528 AI Copilot \u7684\u4f7f\u7528 \u81ea\u52a8\u5316\u653b\u51fb\u7a0b\u5e8f\u7684\u7f16\u5199 \u5165\u4fb5\u68c0\u6d4b\u7cfb\u7edf\u7684\u5b89\u88c5\u4e0e\u4f7f\u7528 \u5165\u4fb5\u53d6\u8bc1 \u6f0f\u6d1e\u5229\u7528\u7f13\u89e3 \u6f0f\u6d1e\u4fee\u590d \u89c4\u8303\u7684\u6280\u672f\u6587\u6863\u64b0\u5199\u80fd\u529b ATT&CK \u77e5\u8bc6\u5e93\u7684\u4f7f\u7528 \u6210\u7ee9\u8bc4\u5b9a \u6309\u7167\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3\u7684\u603b\u4f53\u5b8c\u6210\u5ea6\u60c5\u51b5\uff0c\u901a\u8fc7\u56e2\u961f\u7684\u73b0\u573a\u53e3\u5934\u62a5\u544a\u60c5\u51b5\u548c\u63d0\u4ea4\u7684\u4e66\u9762\u62a5\u544a\u8d28\u91cf\u8fdb\u884c\u7efc\u5408\u8bc4\u5b9a\u3002 \u603b\u6210\u7ee9 = \u53e3\u5934\u62a5\u544a * 40% + \u4e66\u9762\u62a5\u544a * 50% + \u8003\u52e4\u8bb0\u5f55 * 10% \u3002 \u53e3\u5934\u62a5\u544a \u73b0\u573a\u62a5\u544a\u5b8c\u6bd5\u540e\uff0c\u8001\u5e08\u5c06\u6839\u636e\u73b0\u573a\u62a5\u544a\u7684\u5185\u5bb9\u548c\u56e2\u961f\u6210\u5458\u7684\u8868\u73b0\u60c5\u51b5\u7ed9\u4e88\u56e2\u961f\u603b\u4f53\u8868\u73b0\u8bc4\u5206\u3002\u56e2\u961f\u6210\u5458\u73b0\u573a\u5b8c\u6210\u56e2\u961f\u5206\u6570\u5230\u4e2a\u4eba\u8bc4\u5206\u7684\u5206\u914d\u548c\u786e\u8ba4\u3002\u4e3e\u4f8b\uff0c\u56e2\u961f\u603b\u4f53\u83b7\u5f97\u8bc4\u5206 90 \uff0c\u56e2\u961f\u7531 6 \u4eba\u7ec4\u6210\uff0c\u6b64\u65f6\u53ef\u4ee5\u7528\u4e8e\u5206\u914d\u7ed9\u56e2\u961f\u5185\u4e2a\u4eba\u7684\u8bc4\u5206\u603b\u6570\u8ba1\u7b97\u516c\u5f0f\u4e3a\uff1a\u56e2\u961f\u603b\u5206 * \u56e2\u961f\u4eba\u6570 = 90 * 6 = 540 = \u56e2\u961f\u53ef\u5206\u914d\u603b\u5206\u3002\u6700\u7ec8\u786e\u8ba4\u7684\u4e2a\u4eba\u8bc4\u5206\u5206\u914d\u65b9\u6848\u9700\u786e\u4fdd \u56e2\u961f\u4e2a\u4eba\u8bc4\u5206\u4e4b\u548c = \u56e2\u961f\u53ef\u5206\u914d\u603b\u5206 \u3002 \u4e66\u9762\u62a5\u544a \u4e66\u9762\u62a5\u544a\u7684\u8d28\u91cf\u5c06\u6839\u636e\u4e66\u9762\u62a5\u544a\u7684\u5185\u5bb9\u3001\u6392\u7248\u3001\u64b0\u5199\u8d28\u91cf\u3001\u64b0\u5199\u89c4\u8303\u3001\u4ee3\u7801\u89c4\u8303\u3001 Git \u4f7f\u7528\u89c4\u8303\u6027 \u7b49\u65b9\u9762\u8fdb\u884c\u8bc4\u5206\u3002 \u8003\u52e4\u8bb0\u5f55 \u8003\u52e4\u8bb0\u5f55\u5c06\u6839\u636e\u540c\u5b66\u4eec\u7684\u51fa\u52e4\u60c5\u51b5\u8fdb\u884c\u8bc4\u5206\u3002\u521d\u59cb\u8003\u52e4\u4e3a\u6ee1\u5206 10 \u5206\uff0c\u65e0\u6545\u7f3a\u52e4\u6216\u65e9\u9000 1 \u6b21\u6263 1 \u5206\uff0c\u8fdf\u5230 1 \u6b21\u6263 0.5 \u5206\uff0c\u4ee5\u6b64\u7c7b\u63a8\uff0c\u6263\u5b8c\u4e3a\u6b62\u3002 \u96be\u5ea6\u7ea7\u522b\u8bf4\u660e \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u4e3a\u6700\u9ad8\u96be\u5ea6\u7ea7\u522b\uff0c\u5bf9\u56e2\u961f\u6210\u5458\u7684\u6280\u672f\u80fd\u529b\u8981\u6c42\u6700\u9ad8\uff0c\u9700\u8981\u56e2\u961f\u6210\u5458\u5177\u5907\u5f88\u5f3a\u7684\u81ea\u4e3b\u5b66\u4e60\u4e0e\u52a8\u624b\u5b9e\u8df5\u80fd\u529b\u3001\u56e2\u961f\u534f\u4f5c\u80fd\u529b\u548c\u4e3e\u4e00\u53cd\u4e09\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u4e3a\u8f83\u9ad8\u96be\u5ea6\u7ea7\u522b\uff0c\u5bf9\u56e2\u961f\u6210\u5458\u7684\u6280\u672f\u80fd\u529b\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u56e2\u961f\u6210\u5458\u5177\u5907\u8f83\u5f3a\u7684\u81ea\u4e3b\u5b66\u4e60\u4e0e\u52a8\u624b\u5b9e\u8df5\u80fd\u529b\u3001\u56e2\u961f\u534f\u4f5c\u80fd\u529b\u548c\u96c6\u6210\u521b\u65b0\u6216\u5fae\u8c03\u6539\u9020\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u4e3a\u4e2d\u7b49\u96be\u5ea6\u7ea7\u522b\uff0c\u5bf9\u56e2\u961f\u6210\u5458\u7684\u6280\u672f\u80fd\u529b\u8981\u6c42\u4e00\u822c\uff0c\u9700\u8981\u56e2\u961f\u6210\u5458\u5177\u5907\u57fa\u672c\u7684\u81ea\u4e3b\u5b66\u4e60\u4e0e\u52a8\u624b\u5b9e\u8df5\u80fd\u529b\u3001\u56e2\u961f\u534f\u4f5c\u80fd\u529b\u548c\u624e\u5b9e\u7684\u6545\u969c\u6392\u67e5\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f \u4e3a\u8f83\u4f4e\u96be\u5ea6\u7ea7\u522b\uff0c\u5bf9\u56e2\u961f\u6210\u5458\u7684\u6280\u672f\u80fd\u529b\u8981\u6c42\u8f83\u4f4e\uff0c\u9700\u8981\u56e2\u961f\u6210\u5458\u5177\u5907\u57fa\u672c\u7684\u81ea\u4e3b\u5b66\u4e60\u4e0e\u52a8\u624b\u5b9e\u8df5\u80fd\u529b\u3001\u56e2\u961f\u534f\u4f5c\u80fd\u529b\u548c\u57fa\u672c\u7684\u6545\u969c\u6392\u67e5\u80fd\u529b\u3002 \u2b50\ufe0f\u4e3a\u6700\u4f4e\u96be\u5ea6\u7ea7\u522b\uff0c\u4ee5 \u8ddf\u7ec3\u548c\u590d\u73b0 \u5f62\u5f0f\u4e3a\u5178\u578b\u4ee3\u8868\uff0c\u4e14\u5728\u64cd\u4f5c\u8fc7\u7a0b\u4e2d\u4f7f\u7528\u7684\u5de5\u5177\u8f6f\u4ef6\u5177\u6709\u8f83\u5f3a\u7684\u5bb9\u9519\u5065\u58ee\u6027\u3001\u8f83\u9ad8\u7684\u81ea\u52a8\u5316\u6c34\u5e73\u751a\u81f3\u5177\u5907\u4e00\u5b9a\u7684\u81ea\u4e3b\u667a\u80fd\u6027\u3002 \u53e3\u5934\u62a5\u544a\u8981\u6c42 \u6bcf\u4e2a\u5c0f\u7ec4 20 \u5206\u949f\u4ee5\u5185\u7684\u73b0\u573a\u62a5\u544a\u65f6\u95f4\uff0c\u5305\u62ec\u56e2\u961f\u6210\u5458\u7684\u5206\u5de5\u3001\u5b8c\u6210\u60c5\u51b5\u3001\u9047\u5230\u7684\u95ee\u9898\u548c\u89e3\u51b3\u65b9\u6848\u7b49\u3002 \u63a5\u53d7\u73b0\u573a\u8001\u5e08\u548c\u540c\u5b66\u4eec\u7684\u63d0\u95ee\uff0c\u56de\u7b54\u95ee\u9898\uff0c\u89e3\u91ca\u56e2\u961f\u7684\u5de5\u4f5c\u6210\u679c\u539f\u7406\u3001\u56e2\u961f\u6210\u5458\u7684\u8d21\u732e\uff0c\u534a\u5c0f\u65f6\u5de6\u53f3\u3002 \u540c\u5b66\u4eec\u5fae\u4fe1\u5c0f\u7a97\u8054\u7cfb\u6388\u8bfe\u8001\u5e08\u7533\u8bf7\u5b89\u6392\u73b0\u573a\u53e3\u5934\u62a5\u544a\u65f6\u95f4\uff0c\u62a5\u544a\u7684\u5148\u540e\u987a\u5e8f\u4ee5\u540c\u5b66\u4eec\u5b8c\u6574\u4e66\u9762\u62a5\u544a\u548c\u7b54\u8fa9 PPT \u63d0\u4ea4\u5230 git \u4ed3\u5e93\u7684\u63d0\u4ea4\u65f6\u95f4\u4e3a\u6392\u5e8f\u4f9d\u636e\u3002 \u73b0\u573a\u53e3\u5934\u62a5\u544a\u540e\u8001\u5e08\u63d0\u51fa\u7684\u4fee\u6539\u610f\u89c1\uff0c\u540c\u5b66\u4eec\u9700\u8981\u5728\u4e66\u9762\u62a5\u544a\u4e2d\u8fdb\u884c\u4fee\u6539\uff0c\u5e76\u5728\u540e\u7eed\u7684 git \u63d0\u4ea4\u540e\uff0c\u901a\u8fc7 commit message \u6216 git \u7f51\u9875\u7248\u7684\u8bc4\u8bba\u529f\u80fd \u5f52\u7eb3\u6982\u8ff0\u4fee\u6539\u843d\u5b9e\u60c5\u51b5\u6216\u672a\u4fee\u6539\u539f\u56e0\uff0c\u4ee5\u4fbf\u6700\u7ec8\u8bc4\u5206\u3002 \u4e66\u9762\u62a5\u544a\u8981\u6c42 \u5b9e\u8df5\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4ea7\u751f\u7684\u6587\u6863\u3001\u4ee3\u7801\u5747\u53ef\u4ee5\u91c7\u7528 Github/ Gitlab /Gitee \u7684\u65b9\u5f0f\u7ba1\u7406\uff08\u8fd9\u662f\u4e00\u4e2a\u9f13\u52b1\u548c\u652f\u6301\u7684\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u5efa\u8bae\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5370\u8c61\u5206\u54e6\uff5e\uff09\uff1b \u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528zip\u683c\u5f0f\u6253\u5305\u5e76\u63d0\u4ea4\u5230\u5b66\u6821\u7545\u8bfe\u5e73\u53f0\u6307\u5b9a\u4f5c\u4e1a\u6a21\u5757\uff08\u540e\u7eed\u5728\u8bfe\u7a0b\u5fae\u4fe1\u7fa4\u3001\u7545\u8bfe\u5e73\u53f0\u8bfe\u7a0b\u516c\u544a\u6a21\u5757\u8fdb\u884c\u901a\u77e5\uff0c\u6ce8\u610f\u67e5\u770b\uff09\u3002\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u59d3\u540d4_\u59d3\u540d5_\u59d3\u540d6_\u4f5c\u4e1a\u9898\u76ee.zip \uff1b \u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167 \u53e3\u5934\u62a5\u544a \u73af\u8282\u786e\u8ba4\u7684\u4e2a\u4eba\u5f97\u5206\uff0c\u4ece\u9ad8\u5230\u4f4e\u3001\u4ece\u5de6\u5230\u53f3\u4f9d\u6b21\u6392\u5217\uff1b \u6240\u6709\u6587\u6863\u7edf\u4e00\u91c7\u7528 markdown \u4e66\u5199\uff0c\u5efa\u8bae\u53c2\u7167 \u57fa\u4e8e Markdown \u7684\u4e2d\u6587\u6587\u6863\u6392\u7248\u89c4\u8303 \u5bf9\u62a5\u544a\u5185\u5bb9\u8fdb\u884c\u6392\u7248\uff1b \u4e2a\u4eba\u5b9e\u8df5\u5fc3\u5f97\u4f53\u4f1a \u5185\u5bb9\u91cd\u70b9\u5f3a\u8c03\uff1a\u4e2a\u4eba\u5728\u672c\u6b21\u5927\u4f5c\u4e1a\u4e2d\u7684\u4e3b\u8981\u8d21\u732e\uff1b\u5b8c\u6210\u4e86\u54ea\u4e9b\u81ea\u8ba4\u4e3a\u6709\u6280\u672f\u542b\u91cf\u7684\u5de5\u4f5c\uff1b\u5370\u8c61\u6df1\u523b\u7684\u4e00\u4e9b bug \u548c\u81ea\u5df1\u7684\u89e3\u51b3\u65b9\u6cd5\uff1b \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\uff1b \u89c6\u9891\u6587\u4ef6\u53ef\u4ee5\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff0c\u7136\u540e\u5728\u603b\u7ed3\u62a5\u544a\u6587\u6863\u4e2d\u9644\u4e0a\u89c6\u9891\u94fe\u63a5\u5373\u53ef\uff0c\u4ee5\u51cf\u5c11\u538b\u7f29\u5305\u5927\u5c0f\uff1b \u5df2\u5728 Github \u4e0a\u4f20\u6240\u6709\u6587\u4ef6\u7684\u5c0f\u7ec4\uff0c\u5728\u5b9e\u9a8c\u62a5\u544a\u4e2d\u540c\u6837\u9700\u8981\u9644\u4e0a\u9879\u76ee\u4ed3\u5e93\u5730\u5740\u5907\u67e5\u3002 \u7ed3\u8bfe\u6750\u6599\u63d0\u4ea4 DDL\uff1a2025.06.30 23:59:59 \u3002 \u63a8\u8350\u7684\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u7ec4\u7ec7\u5f62\u5f0f \u251c\u2500\u2500 0_\u5f20\u4e09 # \u5b58\u653e `\u4e2a\u4eba\u7684\u5b9e\u8df5\u5fc3\u5f97\u4f53\u4f1a` \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 1_\u674e\u56db \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 2_\u738b\u4e94 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 3_\u8d75\u516d \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 code # \u5b58\u653e\u4ee3\u7801 \u251c\u2500\u2500 docs # \u5b58\u653e\u9879\u76ee\u8bf4\u660e\u6587\u6863 \u2514\u2500\u2500 README.md \u5982\u679c\u662f\u9009\u62e9\u5728 \u516c\u5f00\u4ed3\u5e93 \u63d0\u4ea4\u4f5c\u54c1\uff0c\u5219\u65e0\u9700\u5b9e\u540d\u547d\u540d\u4e0a\u8ff0\u5b50\u76ee\u5f55\uff0c\u53ef\u4ee5\u4f7f\u7528\u81ea\u5df1\u7684 \u7f51\u7edc ID \uff0c\u4f46\u662f\u5728\u6253\u5305\u63d0\u4ea4\u5230\u7545\u8bfe\u4f5c\u4e1a\u533a\u7684\u6700\u7ec8\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u91cc\u9700\u8981\u66ff\u6362\u4e3a\u5b9e\u540d\u3002","title":"2025\u5e74"},{"location":"cp/2025/index.html#2025","text":"","title":"2025 \u5e74\u6559\u5b66\u8ba1\u5212"},{"location":"cp/2025/index.html#_1","text":"\u4e3b\u8bb2\u6559\u5e08\uff1a\u9ec4\u73ae\u3001\u5b89\u9756 \u8bfe\u7a0b\u4e3b\u9898\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u4e24\u5e74\u534a\u4e13\u4e1a\u8bfe\u7efc\u5408\u8fd0\u7528\u548c\u5b9e\u8df5 \u5b9e\u9a8c\u51c6\u5907\uff1a\u81ea\u5907\u7535\u8111\uff0c \u4e0a\u8bfe\u65b9\u5f0f\uff1a\u7ebf\u4e0b\u96c6\u4e2d\u5b9e\u8df5+\u5206\u7ec4\u5b66\u4e60+\u81ea\u884c\u7ec4\u961f\u5b8c\u6210\u5927\u4f5c\u4e1a+\u96c6\u4e2d\u62a5\u544a","title":"\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"cp/2025/index.html#_2","text":"\u4e86\u89e3\u7f51\u7edc\u653b\u9632\u76f8\u5173\u6cd5\u5f8b\u6cd5\u89c4\uff0c\u7406\u89e3\u7f51\u7edc\u653b\u9632\u7684\u57fa\u672c\u6982\u5ff5\u3001\u57fa\u672c\u539f\u7406\u548c\u57fa\u672c\u65b9\u6cd5\u3002 \u638c\u63e1\u7f51\u7edc\u653b\u9632\u7684\u57fa\u672c\u6280\u672f\uff0c\u5305\u62ec\u7ea2\u961f\u6280\u672f\uff08\u4f8b\u5982\uff1a\u4fe1\u606f\u6536\u96c6\u3001\u7aef\u53e3\u626b\u63cf\u3001\u670d\u52a1\u8bc6\u522b\u3001\u6f0f\u6d1e\u626b\u63cf\u3001\u6f0f\u6d1e\u5229\u7528\uff09\u548c\u84dd\u961f\u6280\u672f\uff08\u4f8b\u5982\uff1a\u5165\u4fb5\u68c0\u6d4b\u3001\u5165\u4fb5\u53d6\u8bc1\u3001\u5e94\u6025\u54cd\u5e94\u7b49\uff09\u3002 \u7406\u89e3\u7f51\u7edc\u9776\u573a\u7684\u6982\u5ff5\uff0c\u638c\u63e1\u7f51\u7edc\u9776\u573a\u7684\u642d\u5efa\u65b9\u6cd5\u3001\u6f14\u7ec3\u65b9\u6848\u7684\u8bbe\u8ba1\u548c\u5b9e\u65bd\u65b9\u6cd5\u3002","title":"\u8bfe\u7a0b\u76ee\u6807"},{"location":"cp/2025/index.html#_3","text":"\u672c\u5b9e\u8df5\u8bfe\u7a0b\u4ee5 \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u4efb\u52a1\u5f62\u5f0f\u5f00\u5c55\u3002\u987e\u540d\u601d\u4e49\uff0c \u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u91c7\u53d6\u540c\u5b66\u4eec\u81ea\u7531\u7ec4\u961f \u5206\u7ec4\u5b8c\u6210 \u65b9\u5f0f\uff0c\u6bcf\u4e2a\u5c0f\u7ec4\u81f3\u591a\u5141\u8bb8 6 \u4eba\uff0c\u5efa\u8bae 4 \u4eba\u6700\u4f73\u3002 \u672c\u6b21\u8bfe\u7a0b\u5b9e\u8df5\u7531 2 \u4e2a\u9636\u6bb5\u7684\u4efb\u52a1\u5171\u540c\u7ec4\u6210\uff0c\u5206\u522b\u662f\uff1a \u57fa\u7840\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u548c \u8fdb\u9636\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3 \u3002","title":"\u8bfe\u7a0b\u5185\u5bb9"},{"location":"cp/2025/index.html#1","text":"\u56e2\u961f\u5206\u5de5\u8ddf\u7ec3\u590d\u73b0\u5b8c\u6210 \u7f51\u7edc\u5b89\u5168(2021) \u7efc\u5408\u5b9e\u9a8c \u3002\u65e0\u8bba\u56e2\u961f\u7531\u591a\u5c11\u4eba\u6240\u7ec4\u6210\uff0c\u4ee5\u4e0b\u6309\u672c\u6b21\u5b9e\u8df5\u8bad\u7ec3\u6240\u6d89\u53ca\u5230\u7684\u4eba\u5458\u80fd\u529b\u96c6\u5408\u5212\u5206\u4e86\u4ee5\u4e0b\u56e2\u961f\u89d2\u8272\u3002\u4e00\u4eba\u81f3\u5c11\u627f\u62c5\u4e00\u79cd\u56e2\u961f\u89d2\u8272\uff0c\u8001\u5e08\u5c06\u6309\u7167\u8be5\u89d2\u8272\u7684\u8bc4\u4ef7\u6807\u51c6\u8fdb\u884c \u57fa\u4e8e\u5ba2\u89c2\u4e8b\u5b9e\u7684\u4e3b\u89c2\u8bc4\u4ef7 \u3002 \u7ea2\u961f\uff1a\u9700\u5b8c\u6210\u6f0f\u6d1e\u5b58\u5728\u6027\u9a8c\u8bc1\u548c\u6f0f\u6d1e\u5229\u7528\u3002 \u84dd\u961f\u5a01\u80c1\u76d1\u6d4b\uff1a\u6f0f\u6d1e\u5229\u7528\u7684\u6301\u7eed\u68c0\u6d4b\u548c\u5a01\u80c1\u8bc6\u522b\u4e0e\u62a5\u544a\u3002 \u84dd\u961f\u5a01\u80c1\u5904\u7f6e\uff1a\u6f0f\u6d1e\u5229\u7528\u7684\u7f13\u89e3\u548c\u6f0f\u6d1e\u4fee\u590d\uff08\u6e90\u4ee3\u7801\u7ea7\u522b\u548c\u4e8c\u8fdb\u5236\u7ea7\u522b\u4e24\u79cd\uff09\u3002 \u4e0a\u8ff0\u80fd\u529b\u7684\u57fa\u672c\u8bc4\u5206\u539f\u5219\u53c2\u8003\u201c\u9053\u672f\u5668\u201d\u539f\u5219\uff1a\u6700\u57fa\u7840\u8981\u6c42\u662f\u80fd\u591f\u8ddf\u7ec3\u5e76\u590d\u73b0 \u7f51\u7edc\u5b89\u5168(2021) \u7efc\u5408\u5b9e\u9a8c \u4e2d\u6f14\u793a\u5b9e\u9a8c\u4f7f\u7528\u5230\u7684\u5de5\u5177\uff1b\u8fdb\u9636\u6807\u51c6\u662f\u80fd\u591f\u4f7f\u7528\u8bfe\u7a0b\u89c6\u9891\u4e2d \u672a\u4f7f\u7528 \u7684\u5de5\u5177\u6216\u4f7f\u7528\u7f16\u7a0b\u81ea\u52a8\u5316\u3001\u751a\u81f3\u662f\u667a\u80fd\u5316\u7684\u65b9\u5f0f\u5b8c\u6210\u6f0f\u6d1e\u653b\u51fb\u6216\u6f0f\u6d1e\u5229\u7528\u884c\u4e3a\u8bc6\u522b\u4e0e\u5904\u7f6e\u3002","title":"1. \u57fa\u7840\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3"},{"location":"cp/2025/index.html#2","text":"\u8bbe\u8ba1\u4e0d\u540c\u4e8e \u7f51\u7edc\u5b89\u5168(2021) \u7efc\u5408\u5b9e\u9a8c \u4e2d\u7684\u5178\u578b\u4f01\u4e1a\u4e09\u5c42\u7f51\u7edc\u67b6\u6784\u7684\u653b\u9632\u573a\u666f\uff0c\u8bc4\u5206\u65f6\u5c06\u4ece\u9776\u6807\u6240\u5305\u542b\u6f0f\u6d1e\u7684\u5dee\u5f02\u6027\u3001\u6f0f\u6d1e\u5229\u7528\u7684\u590d\u6742\u6027\u3001\u7f51\u7edc\u62d3\u6251\u7684\u5dee\u5f02\u6027\u3001\u7f51\u7edc\u62d3\u6251\u7684\u590d\u6742\u6027\u3001ATT&CK \u6280\u672f\u70b9\u7684\u8986\u76d6\u6570\u91cf\u3001\u84dd\u961f\u7684\u5a01\u80c1\u76d1\u6d4b\u4e0e\u5904\u7f6e\u7684\u590d\u6742\u6027\u7b49\u65b9\u9762\u8fdb\u884c\u8bc4\u5206\u3002","title":"2. \u8fdb\u9636\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3"},{"location":"cp/2025/index.html#_4","text":"\u865a\u62df\u673a\u8f6f\u4ef6\uff08\u63a8\u8350 Virutalbox \uff09\u7684\u5b89\u88c5\u548c\u57fa\u672c\u4f7f\u7528 Ubuntu \u7cfb\u7edf\u7684\u4f7f\u7528 Kali Linux \u7cfb\u7edf\u7684\u4f7f\u7528 \u5728\u4e0d\u540c Linux \u53d1\u884c\u7248\u91cc\u7684 Docker \u5bb9\u5668\u7684\u5b89\u88c5\u548c\u57fa\u672c\u4f7f\u7528 \u901a\u8fc7 Dockerfile \u6784\u5efa\u9776\u6807\u955c\u50cf \u901a\u8fc7 Docker Compose \u90e8\u7f72\u9776\u6807\u73af\u5883 \u57fa\u4e8e Vulfocus \u7684\u6f0f\u6d1e\u590d\u73b0 \u57fa\u4e8e Vulfocus \u7684\u9776\u573a\u642d\u5efa \u5916\u7f51\u6e17\u900f\u6d4b\u8bd5\uff1a\u4fe1\u606f\u6536\u96c6\u3001\u7aef\u53e3\u626b\u63cf\u3001\u670d\u52a1\u8bc6\u522b\u3001\u6f0f\u6d1e\u626b\u63cf\u3001\u6f0f\u6d1e\u5b58\u5728\u6027\u9a8c\u8bc1\u3001\u6f0f\u6d1e\u5229\u7528 Metasploit \u53ca\u5176\u4ed6\u5f00\u6e90\u81ea\u52a8\u5316\u653b\u51fb\u6846\u67b6\u7684\u4f7f\u7528 \u5185\u7f51\u6e17\u900f\u6d4b\u8bd5\uff1a\u4fe1\u606f\u6536\u96c6\u3001\u7aef\u53e3\u626b\u63cf\u3001\u670d\u52a1\u8bc6\u522b\u3001\u7f51\u7edc\u62d3\u6251\u53d1\u73b0\u3001\u6f0f\u6d1e\u626b\u63cf\u3001\u6f0f\u6d1e\u5b58\u5728\u6027\u9a8c\u8bc1\u3001\u6f0f\u6d1e\u5229\u7528 \u4f7f\u7528 Git \u8fdb\u884c\u56e2\u961f\u534f\u4f5c \u641c\u7d22\u5f15\u64ce\u7684\u4f7f\u7528 AI Copilot \u7684\u4f7f\u7528 \u81ea\u52a8\u5316\u653b\u51fb\u7a0b\u5e8f\u7684\u7f16\u5199 \u5165\u4fb5\u68c0\u6d4b\u7cfb\u7edf\u7684\u5b89\u88c5\u4e0e\u4f7f\u7528 \u5165\u4fb5\u53d6\u8bc1 \u6f0f\u6d1e\u5229\u7528\u7f13\u89e3 \u6f0f\u6d1e\u4fee\u590d \u89c4\u8303\u7684\u6280\u672f\u6587\u6863\u64b0\u5199\u80fd\u529b ATT&CK \u77e5\u8bc6\u5e93\u7684\u4f7f\u7528","title":"\u6d89\u53ca\u5230\u7684\u4e3b\u8981\u77e5\u8bc6\u70b9\u548c\u6280\u80fd\u70b9"},{"location":"cp/2025/index.html#_5","text":"\u6309\u7167\u56e2\u961f\u5b9e\u8df5\u8bad\u7ec3\u7684\u603b\u4f53\u5b8c\u6210\u5ea6\u60c5\u51b5\uff0c\u901a\u8fc7\u56e2\u961f\u7684\u73b0\u573a\u53e3\u5934\u62a5\u544a\u60c5\u51b5\u548c\u63d0\u4ea4\u7684\u4e66\u9762\u62a5\u544a\u8d28\u91cf\u8fdb\u884c\u7efc\u5408\u8bc4\u5b9a\u3002 \u603b\u6210\u7ee9 = \u53e3\u5934\u62a5\u544a * 40% + \u4e66\u9762\u62a5\u544a * 50% + \u8003\u52e4\u8bb0\u5f55 * 10% \u3002 \u53e3\u5934\u62a5\u544a \u73b0\u573a\u62a5\u544a\u5b8c\u6bd5\u540e\uff0c\u8001\u5e08\u5c06\u6839\u636e\u73b0\u573a\u62a5\u544a\u7684\u5185\u5bb9\u548c\u56e2\u961f\u6210\u5458\u7684\u8868\u73b0\u60c5\u51b5\u7ed9\u4e88\u56e2\u961f\u603b\u4f53\u8868\u73b0\u8bc4\u5206\u3002\u56e2\u961f\u6210\u5458\u73b0\u573a\u5b8c\u6210\u56e2\u961f\u5206\u6570\u5230\u4e2a\u4eba\u8bc4\u5206\u7684\u5206\u914d\u548c\u786e\u8ba4\u3002\u4e3e\u4f8b\uff0c\u56e2\u961f\u603b\u4f53\u83b7\u5f97\u8bc4\u5206 90 \uff0c\u56e2\u961f\u7531 6 \u4eba\u7ec4\u6210\uff0c\u6b64\u65f6\u53ef\u4ee5\u7528\u4e8e\u5206\u914d\u7ed9\u56e2\u961f\u5185\u4e2a\u4eba\u7684\u8bc4\u5206\u603b\u6570\u8ba1\u7b97\u516c\u5f0f\u4e3a\uff1a\u56e2\u961f\u603b\u5206 * \u56e2\u961f\u4eba\u6570 = 90 * 6 = 540 = \u56e2\u961f\u53ef\u5206\u914d\u603b\u5206\u3002\u6700\u7ec8\u786e\u8ba4\u7684\u4e2a\u4eba\u8bc4\u5206\u5206\u914d\u65b9\u6848\u9700\u786e\u4fdd \u56e2\u961f\u4e2a\u4eba\u8bc4\u5206\u4e4b\u548c = \u56e2\u961f\u53ef\u5206\u914d\u603b\u5206 \u3002 \u4e66\u9762\u62a5\u544a \u4e66\u9762\u62a5\u544a\u7684\u8d28\u91cf\u5c06\u6839\u636e\u4e66\u9762\u62a5\u544a\u7684\u5185\u5bb9\u3001\u6392\u7248\u3001\u64b0\u5199\u8d28\u91cf\u3001\u64b0\u5199\u89c4\u8303\u3001\u4ee3\u7801\u89c4\u8303\u3001 Git \u4f7f\u7528\u89c4\u8303\u6027 \u7b49\u65b9\u9762\u8fdb\u884c\u8bc4\u5206\u3002 \u8003\u52e4\u8bb0\u5f55 \u8003\u52e4\u8bb0\u5f55\u5c06\u6839\u636e\u540c\u5b66\u4eec\u7684\u51fa\u52e4\u60c5\u51b5\u8fdb\u884c\u8bc4\u5206\u3002\u521d\u59cb\u8003\u52e4\u4e3a\u6ee1\u5206 10 \u5206\uff0c\u65e0\u6545\u7f3a\u52e4\u6216\u65e9\u9000 1 \u6b21\u6263 1 \u5206\uff0c\u8fdf\u5230 1 \u6b21\u6263 0.5 \u5206\uff0c\u4ee5\u6b64\u7c7b\u63a8\uff0c\u6263\u5b8c\u4e3a\u6b62\u3002","title":"\u6210\u7ee9\u8bc4\u5b9a"},{"location":"cp/2025/index.html#_6","text":"\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u4e3a\u6700\u9ad8\u96be\u5ea6\u7ea7\u522b\uff0c\u5bf9\u56e2\u961f\u6210\u5458\u7684\u6280\u672f\u80fd\u529b\u8981\u6c42\u6700\u9ad8\uff0c\u9700\u8981\u56e2\u961f\u6210\u5458\u5177\u5907\u5f88\u5f3a\u7684\u81ea\u4e3b\u5b66\u4e60\u4e0e\u52a8\u624b\u5b9e\u8df5\u80fd\u529b\u3001\u56e2\u961f\u534f\u4f5c\u80fd\u529b\u548c\u4e3e\u4e00\u53cd\u4e09\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u4e3a\u8f83\u9ad8\u96be\u5ea6\u7ea7\u522b\uff0c\u5bf9\u56e2\u961f\u6210\u5458\u7684\u6280\u672f\u80fd\u529b\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u56e2\u961f\u6210\u5458\u5177\u5907\u8f83\u5f3a\u7684\u81ea\u4e3b\u5b66\u4e60\u4e0e\u52a8\u624b\u5b9e\u8df5\u80fd\u529b\u3001\u56e2\u961f\u534f\u4f5c\u80fd\u529b\u548c\u96c6\u6210\u521b\u65b0\u6216\u5fae\u8c03\u6539\u9020\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u4e3a\u4e2d\u7b49\u96be\u5ea6\u7ea7\u522b\uff0c\u5bf9\u56e2\u961f\u6210\u5458\u7684\u6280\u672f\u80fd\u529b\u8981\u6c42\u4e00\u822c\uff0c\u9700\u8981\u56e2\u961f\u6210\u5458\u5177\u5907\u57fa\u672c\u7684\u81ea\u4e3b\u5b66\u4e60\u4e0e\u52a8\u624b\u5b9e\u8df5\u80fd\u529b\u3001\u56e2\u961f\u534f\u4f5c\u80fd\u529b\u548c\u624e\u5b9e\u7684\u6545\u969c\u6392\u67e5\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f \u4e3a\u8f83\u4f4e\u96be\u5ea6\u7ea7\u522b\uff0c\u5bf9\u56e2\u961f\u6210\u5458\u7684\u6280\u672f\u80fd\u529b\u8981\u6c42\u8f83\u4f4e\uff0c\u9700\u8981\u56e2\u961f\u6210\u5458\u5177\u5907\u57fa\u672c\u7684\u81ea\u4e3b\u5b66\u4e60\u4e0e\u52a8\u624b\u5b9e\u8df5\u80fd\u529b\u3001\u56e2\u961f\u534f\u4f5c\u80fd\u529b\u548c\u57fa\u672c\u7684\u6545\u969c\u6392\u67e5\u80fd\u529b\u3002 \u2b50\ufe0f\u4e3a\u6700\u4f4e\u96be\u5ea6\u7ea7\u522b\uff0c\u4ee5 \u8ddf\u7ec3\u548c\u590d\u73b0 \u5f62\u5f0f\u4e3a\u5178\u578b\u4ee3\u8868\uff0c\u4e14\u5728\u64cd\u4f5c\u8fc7\u7a0b\u4e2d\u4f7f\u7528\u7684\u5de5\u5177\u8f6f\u4ef6\u5177\u6709\u8f83\u5f3a\u7684\u5bb9\u9519\u5065\u58ee\u6027\u3001\u8f83\u9ad8\u7684\u81ea\u52a8\u5316\u6c34\u5e73\u751a\u81f3\u5177\u5907\u4e00\u5b9a\u7684\u81ea\u4e3b\u667a\u80fd\u6027\u3002","title":"\u96be\u5ea6\u7ea7\u522b\u8bf4\u660e"},{"location":"cp/2025/index.html#_7","text":"\u6bcf\u4e2a\u5c0f\u7ec4 20 \u5206\u949f\u4ee5\u5185\u7684\u73b0\u573a\u62a5\u544a\u65f6\u95f4\uff0c\u5305\u62ec\u56e2\u961f\u6210\u5458\u7684\u5206\u5de5\u3001\u5b8c\u6210\u60c5\u51b5\u3001\u9047\u5230\u7684\u95ee\u9898\u548c\u89e3\u51b3\u65b9\u6848\u7b49\u3002 \u63a5\u53d7\u73b0\u573a\u8001\u5e08\u548c\u540c\u5b66\u4eec\u7684\u63d0\u95ee\uff0c\u56de\u7b54\u95ee\u9898\uff0c\u89e3\u91ca\u56e2\u961f\u7684\u5de5\u4f5c\u6210\u679c\u539f\u7406\u3001\u56e2\u961f\u6210\u5458\u7684\u8d21\u732e\uff0c\u534a\u5c0f\u65f6\u5de6\u53f3\u3002 \u540c\u5b66\u4eec\u5fae\u4fe1\u5c0f\u7a97\u8054\u7cfb\u6388\u8bfe\u8001\u5e08\u7533\u8bf7\u5b89\u6392\u73b0\u573a\u53e3\u5934\u62a5\u544a\u65f6\u95f4\uff0c\u62a5\u544a\u7684\u5148\u540e\u987a\u5e8f\u4ee5\u540c\u5b66\u4eec\u5b8c\u6574\u4e66\u9762\u62a5\u544a\u548c\u7b54\u8fa9 PPT \u63d0\u4ea4\u5230 git \u4ed3\u5e93\u7684\u63d0\u4ea4\u65f6\u95f4\u4e3a\u6392\u5e8f\u4f9d\u636e\u3002 \u73b0\u573a\u53e3\u5934\u62a5\u544a\u540e\u8001\u5e08\u63d0\u51fa\u7684\u4fee\u6539\u610f\u89c1\uff0c\u540c\u5b66\u4eec\u9700\u8981\u5728\u4e66\u9762\u62a5\u544a\u4e2d\u8fdb\u884c\u4fee\u6539\uff0c\u5e76\u5728\u540e\u7eed\u7684 git \u63d0\u4ea4\u540e\uff0c\u901a\u8fc7 commit message \u6216 git \u7f51\u9875\u7248\u7684\u8bc4\u8bba\u529f\u80fd \u5f52\u7eb3\u6982\u8ff0\u4fee\u6539\u843d\u5b9e\u60c5\u51b5\u6216\u672a\u4fee\u6539\u539f\u56e0\uff0c\u4ee5\u4fbf\u6700\u7ec8\u8bc4\u5206\u3002","title":"\u53e3\u5934\u62a5\u544a\u8981\u6c42"},{"location":"cp/2025/index.html#_8","text":"\u5b9e\u8df5\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4ea7\u751f\u7684\u6587\u6863\u3001\u4ee3\u7801\u5747\u53ef\u4ee5\u91c7\u7528 Github/ Gitlab /Gitee \u7684\u65b9\u5f0f\u7ba1\u7406\uff08\u8fd9\u662f\u4e00\u4e2a\u9f13\u52b1\u548c\u652f\u6301\u7684\u4f5c\u4e1a\u5b8c\u6210\u8fc7\u7a0b\u5efa\u8bae\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5370\u8c61\u5206\u54e6\uff5e\uff09\uff1b \u7ed3\u8bfe\u6750\u6599\uff0c\u7edf\u4e00\u7528zip\u683c\u5f0f\u6253\u5305\u5e76\u63d0\u4ea4\u5230\u5b66\u6821\u7545\u8bfe\u5e73\u53f0\u6307\u5b9a\u4f5c\u4e1a\u6a21\u5757\uff08\u540e\u7eed\u5728\u8bfe\u7a0b\u5fae\u4fe1\u7fa4\u3001\u7545\u8bfe\u5e73\u53f0\u8bfe\u7a0b\u516c\u544a\u6a21\u5757\u8fdb\u884c\u901a\u77e5\uff0c\u6ce8\u610f\u67e5\u770b\uff09\u3002\u9644\u4ef6\u547d\u540d\u89c4\u8303\uff1a \u59d3\u540d1_\u59d3\u540d2_\u59d3\u540d3_\u59d3\u540d4_\u59d3\u540d5_\u59d3\u540d6_\u4f5c\u4e1a\u9898\u76ee.zip \uff1b \u59d3\u540d\u5148\u540e\u987a\u5e8f\u6309\u7167 \u53e3\u5934\u62a5\u544a \u73af\u8282\u786e\u8ba4\u7684\u4e2a\u4eba\u5f97\u5206\uff0c\u4ece\u9ad8\u5230\u4f4e\u3001\u4ece\u5de6\u5230\u53f3\u4f9d\u6b21\u6392\u5217\uff1b \u6240\u6709\u6587\u6863\u7edf\u4e00\u91c7\u7528 markdown \u4e66\u5199\uff0c\u5efa\u8bae\u53c2\u7167 \u57fa\u4e8e Markdown \u7684\u4e2d\u6587\u6587\u6863\u6392\u7248\u89c4\u8303 \u5bf9\u62a5\u544a\u5185\u5bb9\u8fdb\u884c\u6392\u7248\uff1b \u4e2a\u4eba\u5b9e\u8df5\u5fc3\u5f97\u4f53\u4f1a \u5185\u5bb9\u91cd\u70b9\u5f3a\u8c03\uff1a\u4e2a\u4eba\u5728\u672c\u6b21\u5927\u4f5c\u4e1a\u4e2d\u7684\u4e3b\u8981\u8d21\u732e\uff1b\u5b8c\u6210\u4e86\u54ea\u4e9b\u81ea\u8ba4\u4e3a\u6709\u6280\u672f\u542b\u91cf\u7684\u5de5\u4f5c\uff1b\u5370\u8c61\u6df1\u523b\u7684\u4e00\u4e9b bug \u548c\u81ea\u5df1\u7684\u89e3\u51b3\u65b9\u6cd5\uff1b \u9644\u4ef6\u5927\u5c0f\u8bf7\u63a7\u5236\u5728 10MB \u4ee5\u5185\uff0c\u5220\u9664\u4e0d\u5fc5\u8981\u7684\u4e34\u65f6\u6587\u4ef6\u3001\u89c6\u9891\u6587\u4ef6\u3001\u5f00\u53d1\u548c\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u4e0a\u4f20\u7684\u6d4b\u8bd5\u6587\u4ef6\u7b49\uff1b \u89c6\u9891\u6587\u4ef6\u53ef\u4ee5\u4e0a\u4f20\u5230\u7b2c\u4e09\u65b9\u89c6\u9891\u7f51\u7ad9\uff0c\u7136\u540e\u5728\u603b\u7ed3\u62a5\u544a\u6587\u6863\u4e2d\u9644\u4e0a\u89c6\u9891\u94fe\u63a5\u5373\u53ef\uff0c\u4ee5\u51cf\u5c11\u538b\u7f29\u5305\u5927\u5c0f\uff1b \u5df2\u5728 Github \u4e0a\u4f20\u6240\u6709\u6587\u4ef6\u7684\u5c0f\u7ec4\uff0c\u5728\u5b9e\u9a8c\u62a5\u544a\u4e2d\u540c\u6837\u9700\u8981\u9644\u4e0a\u9879\u76ee\u4ed3\u5e93\u5730\u5740\u5907\u67e5\u3002 \u7ed3\u8bfe\u6750\u6599\u63d0\u4ea4 DDL\uff1a2025.06.30 23:59:59 \u3002","title":"\u4e66\u9762\u62a5\u544a\u8981\u6c42"},{"location":"cp/2025/index.html#_9","text":"\u251c\u2500\u2500 0_\u5f20\u4e09 # \u5b58\u653e `\u4e2a\u4eba\u7684\u5b9e\u8df5\u5fc3\u5f97\u4f53\u4f1a` \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 1_\u674e\u56db \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 2_\u738b\u4e94 \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 3_\u8d75\u516d \u2502 \u2514\u2500\u2500 README.md \u251c\u2500\u2500 code # \u5b58\u653e\u4ee3\u7801 \u251c\u2500\u2500 docs # \u5b58\u653e\u9879\u76ee\u8bf4\u660e\u6587\u6863 \u2514\u2500\u2500 README.md \u5982\u679c\u662f\u9009\u62e9\u5728 \u516c\u5f00\u4ed3\u5e93 \u63d0\u4ea4\u4f5c\u54c1\uff0c\u5219\u65e0\u9700\u5b9e\u540d\u547d\u540d\u4e0a\u8ff0\u5b50\u76ee\u5f55\uff0c\u53ef\u4ee5\u4f7f\u7528\u81ea\u5df1\u7684 \u7f51\u7edc ID \uff0c\u4f46\u662f\u5728\u6253\u5305\u63d0\u4ea4\u5230\u7545\u8bfe\u4f5c\u4e1a\u533a\u7684\u6700\u7ec8\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u91cc\u9700\u8981\u66ff\u6362\u4e3a\u5b9e\u540d\u3002","title":"\u63a8\u8350\u7684\u5b9e\u9a8c\u62a5\u544a\u76ee\u5f55\u7ec4\u7ec7\u5f62\u5f0f"},{"location":"ds/2017/index.html","text":"","title":"2017\u5e74"},{"location":"linux/2019/index.html","text":"Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406 \u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u8bfe\u7a0b\u7f16\u53f7\uff1a111047 \u82f1\u6587\u540d\u79f0\uff1aLinux System and Network Management \u6388\u8bfe\u5bf9\u8c61\uff1a\u4fe1\u606f\u5b89\u5168 \u5f00\u8bfe\u5b66\u671f\uff1a6 \u5b66\u5206/\u5b66\u65f6\uff1a1.5/32\uff08\u8bfe\u518516\u5b66\u65f6\uff0c\u5b9e\u9a8c\u4e0a\u673a16\u5b66\u65f6\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u8ba1\u7b97\u673a\u5bfc\u8bba\uff0c\u8ba1\u7b97\u673a\u7f51\u7edc \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5185\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8bfe\u7a0b\u7b80\u4ecb Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u652f\u6301\u591a\u7528\u6237\u4e0e\u591a\u4efb\u52a1\uff0c\u8fd1\u5e74\u6765\u53d1\u5c55\u8fc5\u901f\uff0c\u5df2\u7ecf\u6210\u4e3a\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e00\uff0c\u5177\u6709\u5341\u5206\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u672c\u8bfe\u7a0b\u4ee5Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u4e3a\u8303\u4f8b\uff0c\u4ee5\u7406\u8bba\u8054\u7cfb\u5b9e\u9645\u7684\u6559\u5b66\u65b9\u6cd5\uff0c\u7cfb\u7edf\u5b66\u4e60\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f7f\u7528\u4ee5\u53ca\u7f51\u7edc\u7cfb\u7edf\u548c\u7f51\u7edc\u670d\u52a1\u6784\u5efa\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u5e76\u901a\u8fc7\u8bfe\u7a0b\u5b9e\u8df5\uff0c\u57f9\u517b\u5b66\u751f\u7684\u5b9e\u9645\u6280\u80fd\u3002\u4e3b\u8981\u5305\u62ecLinux\u5b89\u88c5\u3001\u7cfb\u7edf\u7ba1\u7406\u4e0e\u7f51\u7edc\u57fa\u7840\uff1bDHCP\u3001WEB\u3001FTP\u3001Samba\u3001NFS\u3001DNS\u7b49\u7f51\u7edc\u670d\u52a1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u670d\u52a1\u5668\u914d\u7f6e\u4e0e\u5e94\u7528\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u90e8\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\u3002 \u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42 Linux\u662f\u7f51\u7edc\u5e94\u7528\u9886\u57df\u4e2d\u5e7f\u6cdb\u4f7f\u7528\u7684\u4e00\u79cd\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u5e03\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u4e3a\u7f51\u7edc\u7cfb\u7edf\u7ba1\u7406\u3001\u4e91\u8ba1\u7b97\u53ca\u670d\u52a1\u5668\u5e94\u7528\u5f00\u53d1\u7b49\u5960\u5b9a\u57fa\u7840\u3002 \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d \u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6982\u8ff0\uff1a\u53d1\u884c\u7248\u3001\u5f00\u6e90\u793e\u533a\u4e0e\u6587\u5316\u3001\u5185\u6838\u7248\u672c\u5386\u53f2\u3001LSB(Linux Standard Base)\u3001CGL(Carrier Grade Linux)\u3001Linux Foundation\u7b49 \u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\uff1a\u7269\u7406\u673a\u5b89\u88c5\u3001\u865a\u62df\u673a\u5b89\u88c5\u3001\u7cfb\u7edf\u5206\u533a\u3001\u65e0\u4eba\u503c\u5b88\u5b89\u88c5\u7b49 \u5185\u7f6e\u5e2e\u52a9\u7cfb\u7edf\u7684\u4f7f\u7528\uff1aman\u3001--help\u3001-h \u547d\u4ee4\u884c\u4f7f\u7528\uff1ashell\u5bb6\u65cf\u3001\u81ea\u52a8\u8865\u5168\u3001\u91cd\u590d\u547d\u4ee4\u8f93\u5165\u7b49bash\u5e38\u7528\u5feb\u6377\u952e\u3001\u6587\u672c\u7f16\u8f91\u4e0e\u67e5\u770b\uff08echo\u3001cat\u3001less\u3001vim\u3001sort\u3001uniq\u3001wc\u7b49\uff09 SSH\u4e0e\u8fdc\u7a0b\u670d\u52a1\u5668\u7ba1\u7406\uff1a\u514d\u5bc6\u767b\u5f55\u3001SSH\u8df3\u677f\u4e0e\u5821\u5792\u4e3b\u673a\u3001SSH\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e8c\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6587\u4ef6\u7684\u538b\u7f29\u4e0e\u89e3\u538b\u7f29\uff1atar\u3001gz\u3001zip\u3001gzip\u30017z\u7b49\u3001\u8de8\u5e73\u53f0\u538b\u7f29\u6587\u4ef6\u7684\u4e2d\u6587\u4e71\u7801\u95ee\u9898\u7b49 \u8f6f\u4ef6\u5305\u7ba1\u7406\uff1a\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d\u3001\u6e90\u7801\u4e0b\u8f7d\u4e0e\u5b89\u88c5 \u6587\u4ef6\u7ba1\u7406\uff1afind\u3001grep\u3001sed\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u8fdb\u7a0b\u7ba1\u7406\uff1aps\u3001kill\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u76ee\u5f55\u7ed3\u6784\uff1aman hier\u3001ls \u7f51\u7edc\u8c03\u8bd5\uff1aethtool\u3001ip\u3001ifconfig\u3001arp\u3001traceroute\u3001netstat\u3001route\u3001/etc/hosts\u3001/etc/resolv.conf\u3001tcpdump\u7b49 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e09\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7528\u6237/\u7ec4\u4e0e\u6743\u9650\u7ba1\u7406\uff1asu\u4e0esudo\u3001passwd\u3001adduser/useradd\u3001groupadd/addgroup\u3001usermod\u3001getfacl/setfacl\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u6587\u4ef6\u7cfb\u7edf\u4e0e\u5b58\u50a8\u7ba1\u7406\uff1a\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b\u4e0e\u683c\u5f0f\u5316\u3001\u78c1\u76d8\u5206\u533a\u3001\u5b58\u50a8\u8bbe\u5907\u4e0e\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\uff08\u5f00\u673a\u81ea\u52a8\u6302\u8f7d\u3001\u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\u3001iso\u6587\u4ef6\u6302\u8f7d\u7b49\uff09\u3001\u57fa\u4e8eLVM\uff08\u903b\u8f91\u5206\u5377\u7ba1\u7406\uff09\u7684\u5206\u533a\u5bb9\u91cf\u52a8\u6001\u8c03\u6574 \u6587\u4ef6\u5907\u4efd\u4e0e\u6062\u590d\uff08\u6587\u4ef6\u548c\u76ee\u5f55\u5c5e\u4e3b\u4fe1\u606f\u7684\u4fdd\u5b58\uff09\u7b49 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff1a\u7cfb\u7edf\u52a0\u8f7d\u6d41\u7a0b\uff08 Systemd \u3001 LSBInitScripts ) \u914d\u7f6e\u6bcf\u5929\u81ea\u52a8\u5b89\u88c5\u5b89\u5168\u66f4\u65b0 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u56db\u7ae0\uff1ashell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u5f00\u53d1\u548c\u8c03\u8bd5\u73af\u5883\u642d\u5efa \u57fa\u672c\u8bed\u6cd5\uff1ashell\u7248\u672c\u3001\u53d8\u91cf\u5b9a\u4e49\u3001\u73af\u5883\u53d8\u91cf\u3001\u8fc7\u7a0b\uff08\u51fd\u6570\uff09\u3001\u6761\u4ef6\u8bed\u53e5\u3001\u5faa\u73af\u3001\u6570\u503c\u8ba1\u7b97\u3001\u6570\u7ec4\u3001\u5b50\u8fdb\u7a0b\u7b49 \u5b9e\u4f8b\u8bb2\u89e3\uff1a\u6821\u56ed\u7f51\u81ea\u52a8\u8054\u7f51bash\u811a\u672c \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e94\u7ae0\uff1aWeb\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09 Web\u670d\u52a1\u57fa\u672c\u6982\u5ff5\uff1aHTTP\u8bf7\u6c42\u5904\u7406\u7684\u751f\u547d\u5468\u671f \u4e3b\u6d41WEB\u670d\u52a1\u5668\uff1aapache 1.x/2.x\u3001nginx\uff08\u884d\u751f\u53d1\u884c\u7248\uff1a OpenResty \u3001 Kong \u3001 Tengine \uff09 \u7528curl\u548cnginx\u91cd\u65b0\u8ba4\u8bc6\u548c\u5b66\u4e60HTTP\u534f\u8bae \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516d\u7ae0\uff1a\u7f51\u7edc\u8d44\u6e90\u5171\u4eab\uff081\u5b66\u65f6\uff09 FTP\u670d\u52a1\u6982\u8ff0\u53caFTP\u670d\u52a1\u5668\u914d\u7f6e NFS\u670d\u52a1\u6982\u8ff0\u53caNFS\u670d\u52a1\u5668\u914d\u7f6e Samba\u670d\u52a1\u6982\u8ff0\u53caSamba\u670d\u52a1\u5668\u5b89\u88c5\u4e0e\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e03\u7ae0\uff1aDHCP\u4e0eDNS\u670d\u52a1\uff081\u5b66\u65f6\uff09 DHCP\u670d\u52a1\u6982\u8ff0 DHCP\u57fa\u672c\u539f\u7406 DHCP\u670d\u52a1\u5668\u5b89\u88c5\u914d\u7f6e DNS\u670d\u52a1\u6982\u8ff0 DNS\u670d\u52a1\u5668\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516b\u7ae0\uff1aDevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72\uff084\u5b66\u65f6\uff09 \u53d1\u5e03\u7ba1\u7406\uff1a\u5f00\u53d1\u73af\u5883\u3001\u6d4b\u8bd5\u73af\u5883\u4e0e\u751f\u4ea7\u73af\u5883\u7684\u4e00\u81f4\u6027\uff08\u4ee3\u7801\u3001\u6570\u636e\u3001\u7f51\u7edc\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u3001\u4f9d\u8d56\u7684lib\u7b49\uff09\u3001\u4e0a\u7ebf\u4e0e\u56de\u6eda \u4e3b\u6d41\u6280\u672f\u5de5\u5177\u94fe\uff1agit\uff08github/gitlab\uff09\u3001 ansible \uff08puppet\u3001chef\u3001salt\u7b49\uff09\u3001docker\uff08dockerfile/k8s/dockerhub\uff09\u3001openstack\uff08KVM\u3001Xen\uff09\u3001openvswitch\u3001tcpreplay \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 | PXE | ansible \u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282 \u65e0\u4eba\u503c\u5b88Linux\u5b89\u88c5\u955c\u50cf\u5236\u4f5c\uff082\u5b66\u65f6\uff09\uff1a\u5b9a\u5236\u7528\u6237\u540d\u548c\u9ed8\u8ba4\u5bc6\u7801\u3001\u5b9a\u5236\u5b89\u88c5OpenSSH Server\u3001\u5b89\u88c5\u8fc7\u7a0b\u7981\u6b62\u81ea\u52a8\u8054\u7f51\u66f4\u65b0\u8f6f\u4ef6\u5305\u7b49 Linux\u547d\u4ee4\u884c\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff082\u5b66\u65f6\uff09 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u6587\u672c\u5904\u7406\uff08\u8003\u5bdf\u53bb\u91cd\u3001\u7edf\u8ba1\u3001\u6392\u5e8f\u7b49\u64cd\u4f5c\uff09\u3001\u6587\u4ef6\u6279\u91cf\u91cd\u547d\u540d\uff08\u7b80\u5355\u91cd\u547d\u540d\u89c4\u5219\u3001\u590d\u6742\u91cd\u547d\u540d\u89c4\u5219\uff09 \u652f\u6301\u53cd\u5411\u4ee3\u7406\u3001\u6d41\u91cf\u63a7\u5236\u3001\u5173\u952e\u8bcd\u8fc7\u6ee4\u7b49\u529f\u80fd\u7684\u9ad8\u7ea7Web\u670d\u52a1\u5668\u914d\u7f6e\uff082\u5b66\u65f6\uff09 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u8fdb\u9636\uff082\u5b66\u65f6\uff09\uff1aFTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e \u4f7f\u7528ansible\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u4f7f\u7528\u5bb9\u5668\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u4e94\u3001\u5efa\u8bae\u6559\u6750 \u6240\u6709\u8bfe\u4ef6\u7684\u6e90\u4ee3\u7801\u5747\u5df2\u5f00\u6e90\u5728 Github - c4pr1c3/LinuxSysAdmin \u516d\u3001\u53c2\u8003\u8d44\u6599 Linux Foundation Certified System Administrator Red Hat System Administration I RH124 Red Hat System Administration II with RHCSA exam Red Hat Certified System Administrator (RHCSA) exam EX200 BASH Programming - Introduction HOW-TO Bash Reference Manual from gnu.org Shell Style Guide by Google Inc. UNIX TOOLBOX: a collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users \u9e1f\u54e5\u7684Linux\u79c1\u623f\u83dc","title":"2019\u5e74"},{"location":"linux/2019/index.html#linux","text":"","title":"Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406"},{"location":"linux/2019/index.html#_1","text":"\u8bfe\u7a0b\u7f16\u53f7\uff1a111047 \u82f1\u6587\u540d\u79f0\uff1aLinux System and Network Management \u6388\u8bfe\u5bf9\u8c61\uff1a\u4fe1\u606f\u5b89\u5168 \u5f00\u8bfe\u5b66\u671f\uff1a6 \u5b66\u5206/\u5b66\u65f6\uff1a1.5/32\uff08\u8bfe\u518516\u5b66\u65f6\uff0c\u5b9e\u9a8c\u4e0a\u673a16\u5b66\u65f6\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u8ba1\u7b97\u673a\u5bfc\u8bba\uff0c\u8ba1\u7b97\u673a\u7f51\u7edc \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5185\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c","title":"\u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"linux/2019/index.html#_2","text":"Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u652f\u6301\u591a\u7528\u6237\u4e0e\u591a\u4efb\u52a1\uff0c\u8fd1\u5e74\u6765\u53d1\u5c55\u8fc5\u901f\uff0c\u5df2\u7ecf\u6210\u4e3a\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e00\uff0c\u5177\u6709\u5341\u5206\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u672c\u8bfe\u7a0b\u4ee5Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u4e3a\u8303\u4f8b\uff0c\u4ee5\u7406\u8bba\u8054\u7cfb\u5b9e\u9645\u7684\u6559\u5b66\u65b9\u6cd5\uff0c\u7cfb\u7edf\u5b66\u4e60\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f7f\u7528\u4ee5\u53ca\u7f51\u7edc\u7cfb\u7edf\u548c\u7f51\u7edc\u670d\u52a1\u6784\u5efa\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u5e76\u901a\u8fc7\u8bfe\u7a0b\u5b9e\u8df5\uff0c\u57f9\u517b\u5b66\u751f\u7684\u5b9e\u9645\u6280\u80fd\u3002\u4e3b\u8981\u5305\u62ecLinux\u5b89\u88c5\u3001\u7cfb\u7edf\u7ba1\u7406\u4e0e\u7f51\u7edc\u57fa\u7840\uff1bDHCP\u3001WEB\u3001FTP\u3001Samba\u3001NFS\u3001DNS\u7b49\u7f51\u7edc\u670d\u52a1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u670d\u52a1\u5668\u914d\u7f6e\u4e0e\u5e94\u7528\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u90e8\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"linux/2019/index.html#_3","text":"Linux\u662f\u7f51\u7edc\u5e94\u7528\u9886\u57df\u4e2d\u5e7f\u6cdb\u4f7f\u7528\u7684\u4e00\u79cd\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u5e03\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u4e3a\u7f51\u7edc\u7cfb\u7edf\u7ba1\u7406\u3001\u4e91\u8ba1\u7b97\u53ca\u670d\u52a1\u5668\u5e94\u7528\u5f00\u53d1\u7b49\u5960\u5b9a\u57fa\u7840\u3002","title":"\u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42"},{"location":"linux/2019/index.html#_4","text":"\u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6982\u8ff0\uff1a\u53d1\u884c\u7248\u3001\u5f00\u6e90\u793e\u533a\u4e0e\u6587\u5316\u3001\u5185\u6838\u7248\u672c\u5386\u53f2\u3001LSB(Linux Standard Base)\u3001CGL(Carrier Grade Linux)\u3001Linux Foundation\u7b49 \u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\uff1a\u7269\u7406\u673a\u5b89\u88c5\u3001\u865a\u62df\u673a\u5b89\u88c5\u3001\u7cfb\u7edf\u5206\u533a\u3001\u65e0\u4eba\u503c\u5b88\u5b89\u88c5\u7b49 \u5185\u7f6e\u5e2e\u52a9\u7cfb\u7edf\u7684\u4f7f\u7528\uff1aman\u3001--help\u3001-h \u547d\u4ee4\u884c\u4f7f\u7528\uff1ashell\u5bb6\u65cf\u3001\u81ea\u52a8\u8865\u5168\u3001\u91cd\u590d\u547d\u4ee4\u8f93\u5165\u7b49bash\u5e38\u7528\u5feb\u6377\u952e\u3001\u6587\u672c\u7f16\u8f91\u4e0e\u67e5\u770b\uff08echo\u3001cat\u3001less\u3001vim\u3001sort\u3001uniq\u3001wc\u7b49\uff09 SSH\u4e0e\u8fdc\u7a0b\u670d\u52a1\u5668\u7ba1\u7406\uff1a\u514d\u5bc6\u767b\u5f55\u3001SSH\u8df3\u677f\u4e0e\u5821\u5792\u4e3b\u673a\u3001SSH\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e8c\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6587\u4ef6\u7684\u538b\u7f29\u4e0e\u89e3\u538b\u7f29\uff1atar\u3001gz\u3001zip\u3001gzip\u30017z\u7b49\u3001\u8de8\u5e73\u53f0\u538b\u7f29\u6587\u4ef6\u7684\u4e2d\u6587\u4e71\u7801\u95ee\u9898\u7b49 \u8f6f\u4ef6\u5305\u7ba1\u7406\uff1a\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d\u3001\u6e90\u7801\u4e0b\u8f7d\u4e0e\u5b89\u88c5 \u6587\u4ef6\u7ba1\u7406\uff1afind\u3001grep\u3001sed\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u8fdb\u7a0b\u7ba1\u7406\uff1aps\u3001kill\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u76ee\u5f55\u7ed3\u6784\uff1aman hier\u3001ls \u7f51\u7edc\u8c03\u8bd5\uff1aethtool\u3001ip\u3001ifconfig\u3001arp\u3001traceroute\u3001netstat\u3001route\u3001/etc/hosts\u3001/etc/resolv.conf\u3001tcpdump\u7b49 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e09\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7528\u6237/\u7ec4\u4e0e\u6743\u9650\u7ba1\u7406\uff1asu\u4e0esudo\u3001passwd\u3001adduser/useradd\u3001groupadd/addgroup\u3001usermod\u3001getfacl/setfacl\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u6587\u4ef6\u7cfb\u7edf\u4e0e\u5b58\u50a8\u7ba1\u7406\uff1a\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b\u4e0e\u683c\u5f0f\u5316\u3001\u78c1\u76d8\u5206\u533a\u3001\u5b58\u50a8\u8bbe\u5907\u4e0e\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\uff08\u5f00\u673a\u81ea\u52a8\u6302\u8f7d\u3001\u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\u3001iso\u6587\u4ef6\u6302\u8f7d\u7b49\uff09\u3001\u57fa\u4e8eLVM\uff08\u903b\u8f91\u5206\u5377\u7ba1\u7406\uff09\u7684\u5206\u533a\u5bb9\u91cf\u52a8\u6001\u8c03\u6574 \u6587\u4ef6\u5907\u4efd\u4e0e\u6062\u590d\uff08\u6587\u4ef6\u548c\u76ee\u5f55\u5c5e\u4e3b\u4fe1\u606f\u7684\u4fdd\u5b58\uff09\u7b49 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff1a\u7cfb\u7edf\u52a0\u8f7d\u6d41\u7a0b\uff08 Systemd \u3001 LSBInitScripts ) \u914d\u7f6e\u6bcf\u5929\u81ea\u52a8\u5b89\u88c5\u5b89\u5168\u66f4\u65b0 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u56db\u7ae0\uff1ashell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u5f00\u53d1\u548c\u8c03\u8bd5\u73af\u5883\u642d\u5efa \u57fa\u672c\u8bed\u6cd5\uff1ashell\u7248\u672c\u3001\u53d8\u91cf\u5b9a\u4e49\u3001\u73af\u5883\u53d8\u91cf\u3001\u8fc7\u7a0b\uff08\u51fd\u6570\uff09\u3001\u6761\u4ef6\u8bed\u53e5\u3001\u5faa\u73af\u3001\u6570\u503c\u8ba1\u7b97\u3001\u6570\u7ec4\u3001\u5b50\u8fdb\u7a0b\u7b49 \u5b9e\u4f8b\u8bb2\u89e3\uff1a\u6821\u56ed\u7f51\u81ea\u52a8\u8054\u7f51bash\u811a\u672c \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e94\u7ae0\uff1aWeb\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09 Web\u670d\u52a1\u57fa\u672c\u6982\u5ff5\uff1aHTTP\u8bf7\u6c42\u5904\u7406\u7684\u751f\u547d\u5468\u671f \u4e3b\u6d41WEB\u670d\u52a1\u5668\uff1aapache 1.x/2.x\u3001nginx\uff08\u884d\u751f\u53d1\u884c\u7248\uff1a OpenResty \u3001 Kong \u3001 Tengine \uff09 \u7528curl\u548cnginx\u91cd\u65b0\u8ba4\u8bc6\u548c\u5b66\u4e60HTTP\u534f\u8bae \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516d\u7ae0\uff1a\u7f51\u7edc\u8d44\u6e90\u5171\u4eab\uff081\u5b66\u65f6\uff09 FTP\u670d\u52a1\u6982\u8ff0\u53caFTP\u670d\u52a1\u5668\u914d\u7f6e NFS\u670d\u52a1\u6982\u8ff0\u53caNFS\u670d\u52a1\u5668\u914d\u7f6e Samba\u670d\u52a1\u6982\u8ff0\u53caSamba\u670d\u52a1\u5668\u5b89\u88c5\u4e0e\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e03\u7ae0\uff1aDHCP\u4e0eDNS\u670d\u52a1\uff081\u5b66\u65f6\uff09 DHCP\u670d\u52a1\u6982\u8ff0 DHCP\u57fa\u672c\u539f\u7406 DHCP\u670d\u52a1\u5668\u5b89\u88c5\u914d\u7f6e DNS\u670d\u52a1\u6982\u8ff0 DNS\u670d\u52a1\u5668\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516b\u7ae0\uff1aDevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72\uff084\u5b66\u65f6\uff09 \u53d1\u5e03\u7ba1\u7406\uff1a\u5f00\u53d1\u73af\u5883\u3001\u6d4b\u8bd5\u73af\u5883\u4e0e\u751f\u4ea7\u73af\u5883\u7684\u4e00\u81f4\u6027\uff08\u4ee3\u7801\u3001\u6570\u636e\u3001\u7f51\u7edc\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u3001\u4f9d\u8d56\u7684lib\u7b49\uff09\u3001\u4e0a\u7ebf\u4e0e\u56de\u6eda \u4e3b\u6d41\u6280\u672f\u5de5\u5177\u94fe\uff1agit\uff08github/gitlab\uff09\u3001 ansible \uff08puppet\u3001chef\u3001salt\u7b49\uff09\u3001docker\uff08dockerfile/k8s/dockerhub\uff09\u3001openstack\uff08KVM\u3001Xen\uff09\u3001openvswitch\u3001tcpreplay \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 | PXE | ansible","title":"\u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d"},{"location":"linux/2019/index.html#_5","text":"\u65e0\u4eba\u503c\u5b88Linux\u5b89\u88c5\u955c\u50cf\u5236\u4f5c\uff082\u5b66\u65f6\uff09\uff1a\u5b9a\u5236\u7528\u6237\u540d\u548c\u9ed8\u8ba4\u5bc6\u7801\u3001\u5b9a\u5236\u5b89\u88c5OpenSSH Server\u3001\u5b89\u88c5\u8fc7\u7a0b\u7981\u6b62\u81ea\u52a8\u8054\u7f51\u66f4\u65b0\u8f6f\u4ef6\u5305\u7b49 Linux\u547d\u4ee4\u884c\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff082\u5b66\u65f6\uff09 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u6587\u672c\u5904\u7406\uff08\u8003\u5bdf\u53bb\u91cd\u3001\u7edf\u8ba1\u3001\u6392\u5e8f\u7b49\u64cd\u4f5c\uff09\u3001\u6587\u4ef6\u6279\u91cf\u91cd\u547d\u540d\uff08\u7b80\u5355\u91cd\u547d\u540d\u89c4\u5219\u3001\u590d\u6742\u91cd\u547d\u540d\u89c4\u5219\uff09 \u652f\u6301\u53cd\u5411\u4ee3\u7406\u3001\u6d41\u91cf\u63a7\u5236\u3001\u5173\u952e\u8bcd\u8fc7\u6ee4\u7b49\u529f\u80fd\u7684\u9ad8\u7ea7Web\u670d\u52a1\u5668\u914d\u7f6e\uff082\u5b66\u65f6\uff09 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u8fdb\u9636\uff082\u5b66\u65f6\uff09\uff1aFTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e \u4f7f\u7528ansible\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u4f7f\u7528\u5bb9\u5668\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09","title":"\u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282"},{"location":"linux/2019/index.html#_6","text":"\u6240\u6709\u8bfe\u4ef6\u7684\u6e90\u4ee3\u7801\u5747\u5df2\u5f00\u6e90\u5728 Github - c4pr1c3/LinuxSysAdmin","title":"\u4e94\u3001\u5efa\u8bae\u6559\u6750"},{"location":"linux/2019/index.html#_7","text":"Linux Foundation Certified System Administrator Red Hat System Administration I RH124 Red Hat System Administration II with RHCSA exam Red Hat Certified System Administrator (RHCSA) exam EX200 BASH Programming - Introduction HOW-TO Bash Reference Manual from gnu.org Shell Style Guide by Google Inc. UNIX TOOLBOX: a collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users \u9e1f\u54e5\u7684Linux\u79c1\u623f\u83dc","title":"\u516d\u3001\u53c2\u8003\u8d44\u6599"},{"location":"linux/2020/index.html","text":"Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406 \u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u8bfe\u7a0b\u7f16\u53f7\uff1a2121030017 \u82f1\u6587\u540d\u79f0\uff1aLinux System and Network Management \u6388\u8bfe\u5bf9\u8c61\uff1a\u4fe1\u606f\u5b89\u5168\uff0c\u8f6f\u4ef6\u5de5\u7a0b \u5f00\u8bfe\u5b66\u671f\uff1a4 \u5b66\u5206/\u5b66\u65f6\uff1a1.5/32\uff08\u8bfe\u518516\u5b66\u65f6\uff0c\u5b9e\u9a8c\u4e0a\u673a16\u5b66\u65f6\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u8ba1\u7b97\u673a\u5bfc\u8bba\uff0c\u8ba1\u7b97\u673a\u7f51\u7edc \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5185\uff08\u7ebf\u4e0a\uff09\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u8bfe\u7a0b\u7b80\u4ecb Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u652f\u6301\u591a\u7528\u6237\u4e0e\u591a\u4efb\u52a1\uff0c\u8fd1\u5e74\u6765\u53d1\u5c55\u8fc5\u901f\uff0c\u5df2\u7ecf\u6210\u4e3a\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e00\uff0c\u5177\u6709\u5341\u5206\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u672c\u8bfe\u7a0b\u4ee5Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u4e3a\u8303\u4f8b\uff0c\u4ee5\u7406\u8bba\u8054\u7cfb\u5b9e\u9645\u7684\u6559\u5b66\u65b9\u6cd5\uff0c\u7cfb\u7edf\u5b66\u4e60\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f7f\u7528\u4ee5\u53ca\u7f51\u7edc\u7cfb\u7edf\u548c\u7f51\u7edc\u670d\u52a1\u6784\u5efa\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u5e76\u901a\u8fc7\u8bfe\u7a0b\u5b9e\u8df5\uff0c\u57f9\u517b\u5b66\u751f\u7684\u5b9e\u9645\u6280\u80fd\u3002\u4e3b\u8981\u5305\u62ecLinux\u5b89\u88c5\u3001\u7cfb\u7edf\u7ba1\u7406\u4e0e\u7f51\u7edc\u57fa\u7840\uff1bDHCP\u3001WEB\u3001FTP\u3001Samba\u3001NFS\u3001DNS\u7b49\u7f51\u7edc\u670d\u52a1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u670d\u52a1\u5668\u914d\u7f6e\u4e0e\u5e94\u7528\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u90e8\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\u3002 \u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42 Linux\u662f\u7f51\u7edc\u5e94\u7528\u9886\u57df\u4e2d\u5e7f\u6cdb\u4f7f\u7528\u7684\u4e00\u79cd\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u5e03\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u4e3a\u7f51\u7edc\u7cfb\u7edf\u7ba1\u7406\u3001\u4e91\u8ba1\u7b97\u53ca\u670d\u52a1\u5668\u5e94\u7528\u5f00\u53d1\u7b49\u5960\u5b9a\u57fa\u7840\u3002 \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d \u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6982\u8ff0\uff1a\u53d1\u884c\u7248\u3001\u5f00\u6e90\u793e\u533a\u4e0e\u6587\u5316\u3001\u5185\u6838\u7248\u672c\u5386\u53f2\u3001LSB(Linux Standard Base)\u3001CGL(Carrier Grade Linux)\u3001Linux Foundation\u7b49 \u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\uff1a\u7269\u7406\u673a\u5b89\u88c5\u3001\u865a\u62df\u673a\u5b89\u88c5\u3001\u7cfb\u7edf\u5206\u533a\u3001\u65e0\u4eba\u503c\u5b88\u5b89\u88c5\u7b49 \u5185\u7f6e\u5e2e\u52a9\u7cfb\u7edf\u7684\u4f7f\u7528\uff1aman\u3001--help\u3001-h \u547d\u4ee4\u884c\u4f7f\u7528\uff1ashell\u5bb6\u65cf\u3001\u81ea\u52a8\u8865\u5168\u3001\u91cd\u590d\u547d\u4ee4\u8f93\u5165\u7b49bash\u5e38\u7528\u5feb\u6377\u952e\u3001\u6587\u672c\u7f16\u8f91\u4e0e\u67e5\u770b\uff08echo\u3001cat\u3001less\u3001vim\u3001sort\u3001uniq\u3001wc\u7b49\uff09 SSH\u4e0e\u8fdc\u7a0b\u670d\u52a1\u5668\u7ba1\u7406\uff1a\u514d\u5bc6\u767b\u5f55\u3001SSH\u8df3\u677f\u4e0e\u5821\u5792\u4e3b\u673a\u3001SSH\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e8c\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6587\u4ef6\u7684\u538b\u7f29\u4e0e\u89e3\u538b\u7f29\uff1atar\u3001gz\u3001zip\u3001gzip\u30017z\u7b49\u3001\u8de8\u5e73\u53f0\u538b\u7f29\u6587\u4ef6\u7684\u4e2d\u6587\u4e71\u7801\u95ee\u9898\u7b49 \u8f6f\u4ef6\u5305\u7ba1\u7406\uff1a\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d\u3001\u6e90\u7801\u4e0b\u8f7d\u4e0e\u5b89\u88c5 \u6587\u4ef6\u7ba1\u7406\uff1afind\u3001grep\u3001sed\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u8fdb\u7a0b\u7ba1\u7406\uff1aps\u3001kill\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u76ee\u5f55\u7ed3\u6784\uff1aman hier\u3001ls \u7f51\u7edc\u8c03\u8bd5\uff1aethtool\u3001ip\u3001ifconfig\u3001arp\u3001traceroute\u3001netstat\u3001route\u3001/etc/hosts\u3001/etc/resolv.conf\u3001tcpdump\u7b49 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e09\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7528\u6237/\u7ec4\u4e0e\u6743\u9650\u7ba1\u7406\uff1asu\u4e0esudo\u3001passwd\u3001adduser/useradd\u3001groupadd/addgroup\u3001usermod\u3001getfacl/setfacl\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u6587\u4ef6\u7cfb\u7edf\u4e0e\u5b58\u50a8\u7ba1\u7406\uff1a\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b\u4e0e\u683c\u5f0f\u5316\u3001\u78c1\u76d8\u5206\u533a\u3001\u5b58\u50a8\u8bbe\u5907\u4e0e\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\uff08\u5f00\u673a\u81ea\u52a8\u6302\u8f7d\u3001\u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\u3001iso\u6587\u4ef6\u6302\u8f7d\u7b49\uff09\u3001\u57fa\u4e8eLVM\uff08\u903b\u8f91\u5206\u5377\u7ba1\u7406\uff09\u7684\u5206\u533a\u5bb9\u91cf\u52a8\u6001\u8c03\u6574 \u6587\u4ef6\u5907\u4efd\u4e0e\u6062\u590d\uff08\u6587\u4ef6\u548c\u76ee\u5f55\u5c5e\u4e3b\u4fe1\u606f\u7684\u4fdd\u5b58\uff09\u7b49 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff1a\u7cfb\u7edf\u52a0\u8f7d\u6d41\u7a0b\uff08 Systemd \u3001 LSBInitScripts ) \u914d\u7f6e\u6bcf\u5929\u81ea\u52a8\u5b89\u88c5\u5b89\u5168\u66f4\u65b0 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u56db\u7ae0\uff1ashell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u5f00\u53d1\u548c\u8c03\u8bd5\u73af\u5883\u642d\u5efa \u57fa\u672c\u8bed\u6cd5\uff1ashell\u7248\u672c\u3001\u53d8\u91cf\u5b9a\u4e49\u3001\u73af\u5883\u53d8\u91cf\u3001\u8fc7\u7a0b\uff08\u51fd\u6570\uff09\u3001\u6761\u4ef6\u8bed\u53e5\u3001\u5faa\u73af\u3001\u6570\u503c\u8ba1\u7b97\u3001\u6570\u7ec4\u3001\u5b50\u8fdb\u7a0b\u7b49 \u5b9e\u4f8b\u8bb2\u89e3\uff1a\u6821\u56ed\u7f51\u81ea\u52a8\u8054\u7f51bash\u811a\u672c \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e94\u7ae0\uff1aWeb\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09 Web\u670d\u52a1\u57fa\u672c\u6982\u5ff5\uff1aHTTP\u8bf7\u6c42\u5904\u7406\u7684\u751f\u547d\u5468\u671f \u4e3b\u6d41WEB\u670d\u52a1\u5668\uff1aapache 1.x/2.x\u3001nginx\uff08\u884d\u751f\u53d1\u884c\u7248\uff1a OpenResty \u3001 Kong \u3001 Tengine \uff09 \u7528curl\u548cnginx\u91cd\u65b0\u8ba4\u8bc6\u548c\u5b66\u4e60HTTP\u534f\u8bae \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516d\u7ae0\uff1a\u7f51\u7edc\u8d44\u6e90\u5171\u4eab\uff081\u5b66\u65f6\uff09 FTP\u670d\u52a1\u6982\u8ff0\u53caFTP\u670d\u52a1\u5668\u914d\u7f6e NFS\u670d\u52a1\u6982\u8ff0\u53caNFS\u670d\u52a1\u5668\u914d\u7f6e Samba\u670d\u52a1\u6982\u8ff0\u53caSamba\u670d\u52a1\u5668\u5b89\u88c5\u4e0e\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e03\u7ae0\uff1aDHCP\u4e0eDNS\u670d\u52a1\uff081\u5b66\u65f6\uff09 DHCP\u670d\u52a1\u6982\u8ff0 DHCP\u57fa\u672c\u539f\u7406 DHCP\u670d\u52a1\u5668\u5b89\u88c5\u914d\u7f6e DNS\u670d\u52a1\u6982\u8ff0 DNS\u670d\u52a1\u5668\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516b\u7ae0\uff1aDevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72\uff084\u5b66\u65f6\uff09 \u53d1\u5e03\u7ba1\u7406\uff1a\u5f00\u53d1\u73af\u5883\u3001\u6d4b\u8bd5\u73af\u5883\u4e0e\u751f\u4ea7\u73af\u5883\u7684\u4e00\u81f4\u6027\uff08\u4ee3\u7801\u3001\u6570\u636e\u3001\u7f51\u7edc\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u3001\u4f9d\u8d56\u7684lib\u7b49\uff09\u3001\u4e0a\u7ebf\u4e0e\u56de\u6eda \u4e3b\u6d41\u6280\u672f\u5de5\u5177\u94fe\uff1agit\uff08github/gitlab\uff09\u3001 ansible \uff08puppet\u3001chef\u3001salt\u7b49\uff09\u3001docker\uff08dockerfile/k8s/dockerhub\uff09\u3001openstack\uff08KVM\u3001Xen\uff09\u3001openvswitch\u3001tcpreplay \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 | PXE | ansible \u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282 \u65e0\u4eba\u503c\u5b88Linux\u5b89\u88c5\u955c\u50cf\u5236\u4f5c\uff082\u5b66\u65f6\uff09\uff1a\u5b9a\u5236\u7528\u6237\u540d\u548c\u9ed8\u8ba4\u5bc6\u7801\u3001\u5b9a\u5236\u5b89\u88c5OpenSSH Server\u3001\u5b89\u88c5\u8fc7\u7a0b\u7981\u6b62\u81ea\u52a8\u8054\u7f51\u66f4\u65b0\u8f6f\u4ef6\u5305\u7b49 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f Linux\u547d\u4ee4\u884c\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u6587\u672c\u5904\u7406\uff08\u8003\u5bdf\u53bb\u91cd\u3001\u7edf\u8ba1\u3001\u6392\u5e8f\u7b49\u64cd\u4f5c\uff09\u3001\u6587\u4ef6\u6279\u91cf\u91cd\u547d\u540d\uff08\u7b80\u5355\u91cd\u547d\u540d\u89c4\u5219\u3001\u590d\u6742\u91cd\u547d\u540d\u89c4\u5219\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u652f\u6301\u53cd\u5411\u4ee3\u7406\u3001\u6d41\u91cf\u63a7\u5236\u3001\u5173\u952e\u8bcd\u8fc7\u6ee4\u7b49\u529f\u80fd\u7684\u9ad8\u7ea7Web\u670d\u52a1\u5668\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u8fdb\u9636\uff082\u5b66\u65f6\uff09\uff1aFTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528ansible\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528\u5bb9\u5668\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u7b49\u7ea7 \u8bf4\u660e \u2b50\ufe0f \u7167\u846b\u82a6\u753b\u74e2\uff0c\u6ca1\u6709\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f \u7167\u732b\u753b\u864e\uff0c\u53ef\u80fd\u6709\u5c0f\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u6709\u8f83\u4e3a\u8be6\u7ec6\u7684\u53c2\u8003\u8d44\u6599\uff0c\u4f46\u5751\u4e5f\u4e0d\u5c11\uff0c\u8003\u5bdf\u81ea\u5df1\u52a8\u624b\u641c\u7d22\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u53c2\u8003\u8d44\u6599\u8f83\u591a\uff0c\u4f46\u9700\u8981\u63d0\u9ad8\u4fe1\u606f\u68c0\u7d22\u548c\u7504\u522b\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u504f\u7efc\u5408\u80fd\u529b\u8bad\u7ec3\uff0c\u7f16\u7a0b\u80fd\u529b\u8981\u6c42\u4e2d\u7b49\u504f\u4e0a\u3002 \u4e94\u3001\u5efa\u8bae\u6559\u6750 \u6240\u6709\u8bfe\u4ef6\u7684\u6e90\u4ee3\u7801\u5747\u5df2\u5f00\u6e90\u5728 Github - c4pr1c3/LinuxSysAdmin \u516d\u3001\u53c2\u8003\u8d44\u6599 Linux Foundation Certified System Administrator Red Hat System Administration I RH124 Red Hat System Administration II with RHCSA exam Red Hat Certified System Administrator (RHCSA) exam EX200 BASH Programming - Introduction HOW-TO Bash Reference Manual from gnu.org Shell Style Guide by Google Inc. UNIX TOOLBOX: a collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users \u9e1f\u54e5\u7684Linux\u79c1\u623f\u83dc","title":"2020\u5e74"},{"location":"linux/2020/index.html#linux","text":"","title":"Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406"},{"location":"linux/2020/index.html#_1","text":"\u8bfe\u7a0b\u7f16\u53f7\uff1a2121030017 \u82f1\u6587\u540d\u79f0\uff1aLinux System and Network Management \u6388\u8bfe\u5bf9\u8c61\uff1a\u4fe1\u606f\u5b89\u5168\uff0c\u8f6f\u4ef6\u5de5\u7a0b \u5f00\u8bfe\u5b66\u671f\uff1a4 \u5b66\u5206/\u5b66\u65f6\uff1a1.5/32\uff08\u8bfe\u518516\u5b66\u65f6\uff0c\u5b9e\u9a8c\u4e0a\u673a16\u5b66\u65f6\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u8ba1\u7b97\u673a\u5bfc\u8bba\uff0c\u8ba1\u7b97\u673a\u7f51\u7edc \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5185\uff08\u7ebf\u4e0a\uff09\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386","title":"\u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"linux/2020/index.html#_2","text":"Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u652f\u6301\u591a\u7528\u6237\u4e0e\u591a\u4efb\u52a1\uff0c\u8fd1\u5e74\u6765\u53d1\u5c55\u8fc5\u901f\uff0c\u5df2\u7ecf\u6210\u4e3a\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e00\uff0c\u5177\u6709\u5341\u5206\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u672c\u8bfe\u7a0b\u4ee5Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u4e3a\u8303\u4f8b\uff0c\u4ee5\u7406\u8bba\u8054\u7cfb\u5b9e\u9645\u7684\u6559\u5b66\u65b9\u6cd5\uff0c\u7cfb\u7edf\u5b66\u4e60\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f7f\u7528\u4ee5\u53ca\u7f51\u7edc\u7cfb\u7edf\u548c\u7f51\u7edc\u670d\u52a1\u6784\u5efa\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u5e76\u901a\u8fc7\u8bfe\u7a0b\u5b9e\u8df5\uff0c\u57f9\u517b\u5b66\u751f\u7684\u5b9e\u9645\u6280\u80fd\u3002\u4e3b\u8981\u5305\u62ecLinux\u5b89\u88c5\u3001\u7cfb\u7edf\u7ba1\u7406\u4e0e\u7f51\u7edc\u57fa\u7840\uff1bDHCP\u3001WEB\u3001FTP\u3001Samba\u3001NFS\u3001DNS\u7b49\u7f51\u7edc\u670d\u52a1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u670d\u52a1\u5668\u914d\u7f6e\u4e0e\u5e94\u7528\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u90e8\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"linux/2020/index.html#_3","text":"Linux\u662f\u7f51\u7edc\u5e94\u7528\u9886\u57df\u4e2d\u5e7f\u6cdb\u4f7f\u7528\u7684\u4e00\u79cd\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u5e03\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u4e3a\u7f51\u7edc\u7cfb\u7edf\u7ba1\u7406\u3001\u4e91\u8ba1\u7b97\u53ca\u670d\u52a1\u5668\u5e94\u7528\u5f00\u53d1\u7b49\u5960\u5b9a\u57fa\u7840\u3002","title":"\u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42"},{"location":"linux/2020/index.html#_4","text":"\u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6982\u8ff0\uff1a\u53d1\u884c\u7248\u3001\u5f00\u6e90\u793e\u533a\u4e0e\u6587\u5316\u3001\u5185\u6838\u7248\u672c\u5386\u53f2\u3001LSB(Linux Standard Base)\u3001CGL(Carrier Grade Linux)\u3001Linux Foundation\u7b49 \u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\uff1a\u7269\u7406\u673a\u5b89\u88c5\u3001\u865a\u62df\u673a\u5b89\u88c5\u3001\u7cfb\u7edf\u5206\u533a\u3001\u65e0\u4eba\u503c\u5b88\u5b89\u88c5\u7b49 \u5185\u7f6e\u5e2e\u52a9\u7cfb\u7edf\u7684\u4f7f\u7528\uff1aman\u3001--help\u3001-h \u547d\u4ee4\u884c\u4f7f\u7528\uff1ashell\u5bb6\u65cf\u3001\u81ea\u52a8\u8865\u5168\u3001\u91cd\u590d\u547d\u4ee4\u8f93\u5165\u7b49bash\u5e38\u7528\u5feb\u6377\u952e\u3001\u6587\u672c\u7f16\u8f91\u4e0e\u67e5\u770b\uff08echo\u3001cat\u3001less\u3001vim\u3001sort\u3001uniq\u3001wc\u7b49\uff09 SSH\u4e0e\u8fdc\u7a0b\u670d\u52a1\u5668\u7ba1\u7406\uff1a\u514d\u5bc6\u767b\u5f55\u3001SSH\u8df3\u677f\u4e0e\u5821\u5792\u4e3b\u673a\u3001SSH\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e8c\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6587\u4ef6\u7684\u538b\u7f29\u4e0e\u89e3\u538b\u7f29\uff1atar\u3001gz\u3001zip\u3001gzip\u30017z\u7b49\u3001\u8de8\u5e73\u53f0\u538b\u7f29\u6587\u4ef6\u7684\u4e2d\u6587\u4e71\u7801\u95ee\u9898\u7b49 \u8f6f\u4ef6\u5305\u7ba1\u7406\uff1a\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d\u3001\u6e90\u7801\u4e0b\u8f7d\u4e0e\u5b89\u88c5 \u6587\u4ef6\u7ba1\u7406\uff1afind\u3001grep\u3001sed\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u8fdb\u7a0b\u7ba1\u7406\uff1aps\u3001kill\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u76ee\u5f55\u7ed3\u6784\uff1aman hier\u3001ls \u7f51\u7edc\u8c03\u8bd5\uff1aethtool\u3001ip\u3001ifconfig\u3001arp\u3001traceroute\u3001netstat\u3001route\u3001/etc/hosts\u3001/etc/resolv.conf\u3001tcpdump\u7b49 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e09\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7528\u6237/\u7ec4\u4e0e\u6743\u9650\u7ba1\u7406\uff1asu\u4e0esudo\u3001passwd\u3001adduser/useradd\u3001groupadd/addgroup\u3001usermod\u3001getfacl/setfacl\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u6587\u4ef6\u7cfb\u7edf\u4e0e\u5b58\u50a8\u7ba1\u7406\uff1a\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b\u4e0e\u683c\u5f0f\u5316\u3001\u78c1\u76d8\u5206\u533a\u3001\u5b58\u50a8\u8bbe\u5907\u4e0e\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\uff08\u5f00\u673a\u81ea\u52a8\u6302\u8f7d\u3001\u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\u3001iso\u6587\u4ef6\u6302\u8f7d\u7b49\uff09\u3001\u57fa\u4e8eLVM\uff08\u903b\u8f91\u5206\u5377\u7ba1\u7406\uff09\u7684\u5206\u533a\u5bb9\u91cf\u52a8\u6001\u8c03\u6574 \u6587\u4ef6\u5907\u4efd\u4e0e\u6062\u590d\uff08\u6587\u4ef6\u548c\u76ee\u5f55\u5c5e\u4e3b\u4fe1\u606f\u7684\u4fdd\u5b58\uff09\u7b49 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff1a\u7cfb\u7edf\u52a0\u8f7d\u6d41\u7a0b\uff08 Systemd \u3001 LSBInitScripts ) \u914d\u7f6e\u6bcf\u5929\u81ea\u52a8\u5b89\u88c5\u5b89\u5168\u66f4\u65b0 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u56db\u7ae0\uff1ashell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u5f00\u53d1\u548c\u8c03\u8bd5\u73af\u5883\u642d\u5efa \u57fa\u672c\u8bed\u6cd5\uff1ashell\u7248\u672c\u3001\u53d8\u91cf\u5b9a\u4e49\u3001\u73af\u5883\u53d8\u91cf\u3001\u8fc7\u7a0b\uff08\u51fd\u6570\uff09\u3001\u6761\u4ef6\u8bed\u53e5\u3001\u5faa\u73af\u3001\u6570\u503c\u8ba1\u7b97\u3001\u6570\u7ec4\u3001\u5b50\u8fdb\u7a0b\u7b49 \u5b9e\u4f8b\u8bb2\u89e3\uff1a\u6821\u56ed\u7f51\u81ea\u52a8\u8054\u7f51bash\u811a\u672c \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e94\u7ae0\uff1aWeb\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09 Web\u670d\u52a1\u57fa\u672c\u6982\u5ff5\uff1aHTTP\u8bf7\u6c42\u5904\u7406\u7684\u751f\u547d\u5468\u671f \u4e3b\u6d41WEB\u670d\u52a1\u5668\uff1aapache 1.x/2.x\u3001nginx\uff08\u884d\u751f\u53d1\u884c\u7248\uff1a OpenResty \u3001 Kong \u3001 Tengine \uff09 \u7528curl\u548cnginx\u91cd\u65b0\u8ba4\u8bc6\u548c\u5b66\u4e60HTTP\u534f\u8bae \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516d\u7ae0\uff1a\u7f51\u7edc\u8d44\u6e90\u5171\u4eab\uff081\u5b66\u65f6\uff09 FTP\u670d\u52a1\u6982\u8ff0\u53caFTP\u670d\u52a1\u5668\u914d\u7f6e NFS\u670d\u52a1\u6982\u8ff0\u53caNFS\u670d\u52a1\u5668\u914d\u7f6e Samba\u670d\u52a1\u6982\u8ff0\u53caSamba\u670d\u52a1\u5668\u5b89\u88c5\u4e0e\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e03\u7ae0\uff1aDHCP\u4e0eDNS\u670d\u52a1\uff081\u5b66\u65f6\uff09 DHCP\u670d\u52a1\u6982\u8ff0 DHCP\u57fa\u672c\u539f\u7406 DHCP\u670d\u52a1\u5668\u5b89\u88c5\u914d\u7f6e DNS\u670d\u52a1\u6982\u8ff0 DNS\u670d\u52a1\u5668\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516b\u7ae0\uff1aDevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72\uff084\u5b66\u65f6\uff09 \u53d1\u5e03\u7ba1\u7406\uff1a\u5f00\u53d1\u73af\u5883\u3001\u6d4b\u8bd5\u73af\u5883\u4e0e\u751f\u4ea7\u73af\u5883\u7684\u4e00\u81f4\u6027\uff08\u4ee3\u7801\u3001\u6570\u636e\u3001\u7f51\u7edc\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u3001\u4f9d\u8d56\u7684lib\u7b49\uff09\u3001\u4e0a\u7ebf\u4e0e\u56de\u6eda \u4e3b\u6d41\u6280\u672f\u5de5\u5177\u94fe\uff1agit\uff08github/gitlab\uff09\u3001 ansible \uff08puppet\u3001chef\u3001salt\u7b49\uff09\u3001docker\uff08dockerfile/k8s/dockerhub\uff09\u3001openstack\uff08KVM\u3001Xen\uff09\u3001openvswitch\u3001tcpreplay \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 | PXE | ansible","title":"\u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d"},{"location":"linux/2020/index.html#_5","text":"\u65e0\u4eba\u503c\u5b88Linux\u5b89\u88c5\u955c\u50cf\u5236\u4f5c\uff082\u5b66\u65f6\uff09\uff1a\u5b9a\u5236\u7528\u6237\u540d\u548c\u9ed8\u8ba4\u5bc6\u7801\u3001\u5b9a\u5236\u5b89\u88c5OpenSSH Server\u3001\u5b89\u88c5\u8fc7\u7a0b\u7981\u6b62\u81ea\u52a8\u8054\u7f51\u66f4\u65b0\u8f6f\u4ef6\u5305\u7b49 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f Linux\u547d\u4ee4\u884c\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u6587\u672c\u5904\u7406\uff08\u8003\u5bdf\u53bb\u91cd\u3001\u7edf\u8ba1\u3001\u6392\u5e8f\u7b49\u64cd\u4f5c\uff09\u3001\u6587\u4ef6\u6279\u91cf\u91cd\u547d\u540d\uff08\u7b80\u5355\u91cd\u547d\u540d\u89c4\u5219\u3001\u590d\u6742\u91cd\u547d\u540d\u89c4\u5219\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u652f\u6301\u53cd\u5411\u4ee3\u7406\u3001\u6d41\u91cf\u63a7\u5236\u3001\u5173\u952e\u8bcd\u8fc7\u6ee4\u7b49\u529f\u80fd\u7684\u9ad8\u7ea7Web\u670d\u52a1\u5668\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u8fdb\u9636\uff082\u5b66\u65f6\uff09\uff1aFTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528ansible\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528\u5bb9\u5668\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u7b49\u7ea7 \u8bf4\u660e \u2b50\ufe0f \u7167\u846b\u82a6\u753b\u74e2\uff0c\u6ca1\u6709\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f \u7167\u732b\u753b\u864e\uff0c\u53ef\u80fd\u6709\u5c0f\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u6709\u8f83\u4e3a\u8be6\u7ec6\u7684\u53c2\u8003\u8d44\u6599\uff0c\u4f46\u5751\u4e5f\u4e0d\u5c11\uff0c\u8003\u5bdf\u81ea\u5df1\u52a8\u624b\u641c\u7d22\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u53c2\u8003\u8d44\u6599\u8f83\u591a\uff0c\u4f46\u9700\u8981\u63d0\u9ad8\u4fe1\u606f\u68c0\u7d22\u548c\u7504\u522b\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u504f\u7efc\u5408\u80fd\u529b\u8bad\u7ec3\uff0c\u7f16\u7a0b\u80fd\u529b\u8981\u6c42\u4e2d\u7b49\u504f\u4e0a\u3002","title":"\u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282"},{"location":"linux/2020/index.html#_6","text":"\u6240\u6709\u8bfe\u4ef6\u7684\u6e90\u4ee3\u7801\u5747\u5df2\u5f00\u6e90\u5728 Github - c4pr1c3/LinuxSysAdmin","title":"\u4e94\u3001\u5efa\u8bae\u6559\u6750"},{"location":"linux/2020/index.html#_7","text":"Linux Foundation Certified System Administrator Red Hat System Administration I RH124 Red Hat System Administration II with RHCSA exam Red Hat Certified System Administrator (RHCSA) exam EX200 BASH Programming - Introduction HOW-TO Bash Reference Manual from gnu.org Shell Style Guide by Google Inc. UNIX TOOLBOX: a collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users \u9e1f\u54e5\u7684Linux\u79c1\u623f\u83dc","title":"\u516d\u3001\u53c2\u8003\u8d44\u6599"},{"location":"linux/2020/calendar.html","text":"2020 \u6625\u7ebf\u4e0a\u6559\u5b66\u65e5\u5386 2020-03-10 Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406 \u8bfe\u7a0b\u7b80\u4ecb (07:21) \u7b2c\u4e00\u7ae0 Linux \u57fa\u7840 1/3 (01:21:48) \u8bfe\u540e\u8865\u4e01\u89c6\u9891\uff1a\u57fa\u4e8e\u865a\u62df\u673a\u7684\u7cfb\u7edf\u5b89\u88c5\u4e0e\u73af\u5883\u914d\u7f6e (41:40) \u4ea4\u6d41\u4e0e\u7b54\u7591 \u7fa4\u5185\u516c\u5e03\u4f5c\u4e1a\u63d0\u4ea4\u65b9\u5f0f\u4e13\u7528\u4ed3\u5e93 2020-03-17 \u7b2c\u4e00\u7ae0 Linux \u57fa\u7840 2/3 (42:32) \u7b2c\u4e00\u7ae0 Linux \u57fa\u7840 3/3 (14:07) \u8bfe\u540e\u8865\u4e01\u89c6\u9891\uff1a\u300a\u8ba1\u7b97\u673a\u7f51\u7edc\u300b\u5148\u4fee\u57fa\u7840\u5feb\u901f\u5165\u95e8 (01:54:33) \u4ea4\u6d41\u4e0e\u7b54\u7591\uff1a \u865a\u62df\u673a\u4f7f\u7528\u548c Ubuntu \u5b89\u88c5\u76f8\u5173\u95ee\u9898\u8ba8\u8bba | \u4f7f\u7528 Git \u63d0\u4ea4\u4f5c\u4e1a\u5230 Github \u76f8\u5173\u95ee\u9898\u8ba8\u8bba \u7b2c\u4e00\u7ae0\u5b9e\u9a8c 2020-03-24 \u7b2c\u4e8c\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840 1/2 (01:15:18) \u4ea4\u6d41\u4e0e\u7b54\u7591 2020-03-31 \u7b2c\u4e8c\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840 2/2 (01:08:36) \u4ea4\u6d41\u4e0e\u7b54\u7591 \u7b2c\u4e8c\u7ae0\u5b9e\u9a8c 2020-04-07 \u7b2c\u4e09\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840 1/2 (01:14:18) \u4ea4\u6d41\u4e0e\u7b54\u7591 2020-04-14 \u7b2c\u4e09\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840 2/2 (01:14:02) \u4ea4\u6d41\u4e0e\u7b54\u7591 \u7b2c\u4e09\u7ae0\u5b9e\u9a8c 2020-04-21 \u7b2c\u56db\u7ae0 Shell\u811a\u672c\u7f16\u7a0b\u57fa\u7840 (01:44:02) \u4ea4\u6d41\u4e0e\u7b54\u7591 2020-04-28 \u8bfe\u5185\u8865\u4e01\u89c6\u9891\uff1aShell \u811a\u672c\u7f16\u7a0b\u793a\u4f8b - JSON \u722c\u866b (54:44) \u4ea4\u6d41\u4e0e\u7b54\u7591 \u7b2c\u56db\u7ae0\u5b9e\u9a8c 2020-05-09 \u7b2c\u4e94\u7ae0 Web\u670d\u52a1\u5668 (01:34:22) \u4ea4\u6d41\u4e0e\u7b54\u7591 2020-05-12 \u7b2c\u4e94\u7ae0 \u8bfe\u540e FAQ (40:51) \u4ea4\u6d41\u4e0e\u7b54\u7591 \u7b2c\u4e94\u7ae0\u5b9e\u9a8c 2020-05-19 \u7b2c\u516d\u7ae0 \u7f51\u7edc\u8d44\u6e90\u5171\u4eab (52:01) \u7b2c\u4e03\u7ae0 DHCP\u4e0eDNS\u670d\u52a1 (36:42) \u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 (24:28) P1 \u4ea4\u6d41\u4e0e\u7b54\u7591 2020-05-26 \u4ea4\u6d41\u4e0e\u7b54\u7591 \u7b2c\u516d\u7ae0\u5b9e\u9a8c 2020-06-02 \u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 (01:47:02) P2 \u4ea4\u6d41\u4e0e\u7b54\u7591 2020-06-09 \u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 (17:47) P3 \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: \u5b9e\u6218\u5165\u95e8 Cloud-Init (01:22:47) \u4ea4\u6d41\u4e0e\u7b54\u7591 \u7b2c\u4e03\u7ae0\u5b9e\u9a8c 2020-06-16 \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: Ansible (01:21:00) \u7b2c\u516b\u7ae0\u5b9e\u9a8c \u4ea4\u6d41\u4e0e\u7b54\u7591 2020-06-23 \u4ea4\u6d41\u4e0e\u7b54\u7591","title":"2020 \u6625\u7ebf\u4e0a\u6559\u5b66\u65e5\u5386"},{"location":"linux/2020/calendar.html#2020","text":"","title":"2020 \u6625\u7ebf\u4e0a\u6559\u5b66\u65e5\u5386"},{"location":"linux/2020/calendar.html#2020-03-10","text":"Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406 \u8bfe\u7a0b\u7b80\u4ecb (07:21) \u7b2c\u4e00\u7ae0 Linux \u57fa\u7840 1/3 (01:21:48) \u8bfe\u540e\u8865\u4e01\u89c6\u9891\uff1a\u57fa\u4e8e\u865a\u62df\u673a\u7684\u7cfb\u7edf\u5b89\u88c5\u4e0e\u73af\u5883\u914d\u7f6e (41:40) \u4ea4\u6d41\u4e0e\u7b54\u7591 \u7fa4\u5185\u516c\u5e03\u4f5c\u4e1a\u63d0\u4ea4\u65b9\u5f0f\u4e13\u7528\u4ed3\u5e93","title":"2020-03-10"},{"location":"linux/2020/calendar.html#2020-03-17","text":"\u7b2c\u4e00\u7ae0 Linux \u57fa\u7840 2/3 (42:32) \u7b2c\u4e00\u7ae0 Linux \u57fa\u7840 3/3 (14:07) \u8bfe\u540e\u8865\u4e01\u89c6\u9891\uff1a\u300a\u8ba1\u7b97\u673a\u7f51\u7edc\u300b\u5148\u4fee\u57fa\u7840\u5feb\u901f\u5165\u95e8 (01:54:33) \u4ea4\u6d41\u4e0e\u7b54\u7591\uff1a \u865a\u62df\u673a\u4f7f\u7528\u548c Ubuntu \u5b89\u88c5\u76f8\u5173\u95ee\u9898\u8ba8\u8bba | \u4f7f\u7528 Git \u63d0\u4ea4\u4f5c\u4e1a\u5230 Github \u76f8\u5173\u95ee\u9898\u8ba8\u8bba \u7b2c\u4e00\u7ae0\u5b9e\u9a8c","title":"2020-03-17"},{"location":"linux/2020/calendar.html#2020-03-24","text":"\u7b2c\u4e8c\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840 1/2 (01:15:18) \u4ea4\u6d41\u4e0e\u7b54\u7591","title":"2020-03-24"},{"location":"linux/2020/calendar.html#2020-03-31","text":"\u7b2c\u4e8c\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840 2/2 (01:08:36) \u4ea4\u6d41\u4e0e\u7b54\u7591 \u7b2c\u4e8c\u7ae0\u5b9e\u9a8c","title":"2020-03-31"},{"location":"linux/2020/calendar.html#2020-04-07","text":"\u7b2c\u4e09\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840 1/2 (01:14:18) \u4ea4\u6d41\u4e0e\u7b54\u7591","title":"2020-04-07"},{"location":"linux/2020/calendar.html#2020-04-14","text":"\u7b2c\u4e09\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840 2/2 (01:14:02) \u4ea4\u6d41\u4e0e\u7b54\u7591 \u7b2c\u4e09\u7ae0\u5b9e\u9a8c","title":"2020-04-14"},{"location":"linux/2020/calendar.html#2020-04-21","text":"\u7b2c\u56db\u7ae0 Shell\u811a\u672c\u7f16\u7a0b\u57fa\u7840 (01:44:02) \u4ea4\u6d41\u4e0e\u7b54\u7591","title":"2020-04-21"},{"location":"linux/2020/calendar.html#2020-04-28","text":"\u8bfe\u5185\u8865\u4e01\u89c6\u9891\uff1aShell \u811a\u672c\u7f16\u7a0b\u793a\u4f8b - JSON \u722c\u866b (54:44) \u4ea4\u6d41\u4e0e\u7b54\u7591 \u7b2c\u56db\u7ae0\u5b9e\u9a8c","title":"2020-04-28"},{"location":"linux/2020/calendar.html#2020-05-09","text":"\u7b2c\u4e94\u7ae0 Web\u670d\u52a1\u5668 (01:34:22) \u4ea4\u6d41\u4e0e\u7b54\u7591","title":"2020-05-09"},{"location":"linux/2020/calendar.html#2020-05-12","text":"\u7b2c\u4e94\u7ae0 \u8bfe\u540e FAQ (40:51) \u4ea4\u6d41\u4e0e\u7b54\u7591 \u7b2c\u4e94\u7ae0\u5b9e\u9a8c","title":"2020-05-12"},{"location":"linux/2020/calendar.html#2020-05-19","text":"\u7b2c\u516d\u7ae0 \u7f51\u7edc\u8d44\u6e90\u5171\u4eab (52:01) \u7b2c\u4e03\u7ae0 DHCP\u4e0eDNS\u670d\u52a1 (36:42) \u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 (24:28) P1 \u4ea4\u6d41\u4e0e\u7b54\u7591","title":"2020-05-19"},{"location":"linux/2020/calendar.html#2020-05-26","text":"\u4ea4\u6d41\u4e0e\u7b54\u7591 \u7b2c\u516d\u7ae0\u5b9e\u9a8c","title":"2020-05-26"},{"location":"linux/2020/calendar.html#2020-06-02","text":"\u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 (01:47:02) P2 \u4ea4\u6d41\u4e0e\u7b54\u7591","title":"2020-06-02"},{"location":"linux/2020/calendar.html#2020-06-09","text":"\u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 (17:47) P3 \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: \u5b9e\u6218\u5165\u95e8 Cloud-Init (01:22:47) \u4ea4\u6d41\u4e0e\u7b54\u7591 \u7b2c\u4e03\u7ae0\u5b9e\u9a8c","title":"2020-06-09"},{"location":"linux/2020/calendar.html#2020-06-16","text":"\uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: Ansible (01:21:00) \u7b2c\u516b\u7ae0\u5b9e\u9a8c \u4ea4\u6d41\u4e0e\u7b54\u7591","title":"2020-06-16"},{"location":"linux/2020/calendar.html#2020-06-23","text":"\u4ea4\u6d41\u4e0e\u7b54\u7591","title":"2020-06-23"},{"location":"linux/2021/index.html","text":"Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406 \u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u8bfe\u7a0b\u7f16\u53f7\uff1a2121030017 \u82f1\u6587\u540d\u79f0\uff1aLinux System and Network Management \u6388\u8bfe\u5bf9\u8c61\uff1a\u4fe1\u606f\u5b89\u5168\uff0c\u8f6f\u4ef6\u5de5\u7a0b \u5f00\u8bfe\u5b66\u671f\uff1a4 \u5b66\u5206/\u5b66\u65f6\uff1a1.5/32\uff08\u8bfe\u518516\u5b66\u65f6\uff0c\u5b9e\u9a8c\u4e0a\u673a16\u5b66\u65f6\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u8ba1\u7b97\u673a\u5bfc\u8bba\uff0c\u8ba1\u7b97\u673a\u7f51\u7edc \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5185\uff08\u7ebf\u4e0a\uff09\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u8bfe\u7a0b\u5728\u7ebf\u95ee\u7b54\u4e0e\u8ba8\u8bba\u533a \u8bfe\u7a0b\u7b80\u4ecb Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u652f\u6301\u591a\u7528\u6237\u4e0e\u591a\u4efb\u52a1\uff0c\u8fd1\u5e74\u6765\u53d1\u5c55\u8fc5\u901f\uff0c\u5df2\u7ecf\u6210\u4e3a\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e00\uff0c\u5177\u6709\u5341\u5206\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u672c\u8bfe\u7a0b\u4ee5Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u4e3a\u8303\u4f8b\uff0c\u4ee5\u7406\u8bba\u8054\u7cfb\u5b9e\u9645\u7684\u6559\u5b66\u65b9\u6cd5\uff0c\u7cfb\u7edf\u5b66\u4e60\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f7f\u7528\u4ee5\u53ca\u7f51\u7edc\u7cfb\u7edf\u548c\u7f51\u7edc\u670d\u52a1\u6784\u5efa\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u5e76\u901a\u8fc7\u8bfe\u7a0b\u5b9e\u8df5\uff0c\u57f9\u517b\u5b66\u751f\u7684\u5b9e\u9645\u6280\u80fd\u3002\u4e3b\u8981\u5305\u62ecLinux\u5b89\u88c5\u3001\u7cfb\u7edf\u7ba1\u7406\u4e0e\u7f51\u7edc\u57fa\u7840\uff1bDHCP\u3001WEB\u3001FTP\u3001Samba\u3001NFS\u3001DNS\u7b49\u7f51\u7edc\u670d\u52a1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u670d\u52a1\u5668\u914d\u7f6e\u4e0e\u5e94\u7528\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u90e8\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\u3002 \u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42 Linux\u662f\u7f51\u7edc\u5e94\u7528\u9886\u57df\u4e2d\u5e7f\u6cdb\u4f7f\u7528\u7684\u4e00\u79cd\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u5e03\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u4e3a\u7f51\u7edc\u7cfb\u7edf\u7ba1\u7406\u3001\u4e91\u8ba1\u7b97\u53ca\u670d\u52a1\u5668\u5e94\u7528\u5f00\u53d1\u7b49\u5960\u5b9a\u57fa\u7840\u3002 \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d \u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6982\u8ff0\uff1a\u53d1\u884c\u7248\u3001\u5f00\u6e90\u793e\u533a\u4e0e\u6587\u5316\u3001\u5185\u6838\u7248\u672c\u5386\u53f2\u3001LSB(Linux Standard Base)\u3001CGL(Carrier Grade Linux)\u3001Linux Foundation\u7b49 \u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\uff1a\u7269\u7406\u673a\u5b89\u88c5\u3001\u865a\u62df\u673a\u5b89\u88c5\u3001\u7cfb\u7edf\u5206\u533a\u3001\u65e0\u4eba\u503c\u5b88\u5b89\u88c5\u7b49 \u5185\u7f6e\u5e2e\u52a9\u7cfb\u7edf\u7684\u4f7f\u7528\uff1aman\u3001--help\u3001-h \u547d\u4ee4\u884c\u4f7f\u7528\uff1ashell\u5bb6\u65cf\u3001\u81ea\u52a8\u8865\u5168\u3001\u91cd\u590d\u547d\u4ee4\u8f93\u5165\u7b49bash\u5e38\u7528\u5feb\u6377\u952e\u3001\u6587\u672c\u7f16\u8f91\u4e0e\u67e5\u770b\uff08echo\u3001cat\u3001less\u3001vim\u3001sort\u3001uniq\u3001wc\u7b49\uff09 SSH\u4e0e\u8fdc\u7a0b\u670d\u52a1\u5668\u7ba1\u7406\uff1a\u514d\u5bc6\u767b\u5f55\u3001SSH\u8df3\u677f\u4e0e\u5821\u5792\u4e3b\u673a\u3001SSH\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e8c\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6587\u4ef6\u7684\u538b\u7f29\u4e0e\u89e3\u538b\u7f29\uff1atar\u3001gz\u3001zip\u3001gzip\u30017z\u7b49\u3001\u8de8\u5e73\u53f0\u538b\u7f29\u6587\u4ef6\u7684\u4e2d\u6587\u4e71\u7801\u95ee\u9898\u7b49 \u8f6f\u4ef6\u5305\u7ba1\u7406\uff1a\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d\u3001\u6e90\u7801\u4e0b\u8f7d\u4e0e\u5b89\u88c5 \u6587\u4ef6\u7ba1\u7406\uff1afind\u3001grep\u3001sed\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u8fdb\u7a0b\u7ba1\u7406\uff1aps\u3001kill\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u76ee\u5f55\u7ed3\u6784\uff1aman hier\u3001ls \u7f51\u7edc\u8c03\u8bd5\uff1aethtool\u3001ip\u3001ifconfig\u3001arp\u3001traceroute\u3001netstat\u3001route\u3001/etc/hosts\u3001/etc/resolv.conf\u3001tcpdump\u7b49 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e09\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7528\u6237/\u7ec4\u4e0e\u6743\u9650\u7ba1\u7406\uff1asu\u4e0esudo\u3001passwd\u3001adduser/useradd\u3001groupadd/addgroup\u3001usermod\u3001getfacl/setfacl\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u6587\u4ef6\u7cfb\u7edf\u4e0e\u5b58\u50a8\u7ba1\u7406\uff1a\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b\u4e0e\u683c\u5f0f\u5316\u3001\u78c1\u76d8\u5206\u533a\u3001\u5b58\u50a8\u8bbe\u5907\u4e0e\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\uff08\u5f00\u673a\u81ea\u52a8\u6302\u8f7d\u3001\u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\u3001iso\u6587\u4ef6\u6302\u8f7d\u7b49\uff09\u3001\u57fa\u4e8eLVM\uff08\u903b\u8f91\u5206\u5377\u7ba1\u7406\uff09\u7684\u5206\u533a\u5bb9\u91cf\u52a8\u6001\u8c03\u6574 \u6587\u4ef6\u5907\u4efd\u4e0e\u6062\u590d\uff08\u6587\u4ef6\u548c\u76ee\u5f55\u5c5e\u4e3b\u4fe1\u606f\u7684\u4fdd\u5b58\uff09\u7b49 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff1a\u7cfb\u7edf\u52a0\u8f7d\u6d41\u7a0b\uff08 Systemd \u3001 LSBInitScripts ) \u914d\u7f6e\u6bcf\u5929\u81ea\u52a8\u5b89\u88c5\u5b89\u5168\u66f4\u65b0 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u56db\u7ae0\uff1ashell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u5f00\u53d1\u548c\u8c03\u8bd5\u73af\u5883\u642d\u5efa \u57fa\u672c\u8bed\u6cd5\uff1ashell\u7248\u672c\u3001\u53d8\u91cf\u5b9a\u4e49\u3001\u73af\u5883\u53d8\u91cf\u3001\u8fc7\u7a0b\uff08\u51fd\u6570\uff09\u3001\u6761\u4ef6\u8bed\u53e5\u3001\u5faa\u73af\u3001\u6570\u503c\u8ba1\u7b97\u3001\u6570\u7ec4\u3001\u5b50\u8fdb\u7a0b\u7b49 \u5b9e\u4f8b\u8bb2\u89e3\uff1a\u6821\u56ed\u7f51\u81ea\u52a8\u8054\u7f51bash\u811a\u672c \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e94\u7ae0\uff1aWeb\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09 Web\u670d\u52a1\u57fa\u672c\u6982\u5ff5\uff1aHTTP\u8bf7\u6c42\u5904\u7406\u7684\u751f\u547d\u5468\u671f \u4e3b\u6d41WEB\u670d\u52a1\u5668\uff1aapache 1.x/2.x\u3001nginx\uff08\u884d\u751f\u53d1\u884c\u7248\uff1a OpenResty \u3001 Kong \u3001 Tengine \uff09 \u7528curl\u548cnginx\u91cd\u65b0\u8ba4\u8bc6\u548c\u5b66\u4e60HTTP\u534f\u8bae \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516d\u7ae0\uff1a\u7f51\u7edc\u8d44\u6e90\u5171\u4eab\uff081\u5b66\u65f6\uff09 FTP\u670d\u52a1\u6982\u8ff0\u53caFTP\u670d\u52a1\u5668\u914d\u7f6e NFS\u670d\u52a1\u6982\u8ff0\u53caNFS\u670d\u52a1\u5668\u914d\u7f6e Samba\u670d\u52a1\u6982\u8ff0\u53caSamba\u670d\u52a1\u5668\u5b89\u88c5\u4e0e\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e03\u7ae0\uff1aDHCP\u4e0eDNS\u670d\u52a1\uff081\u5b66\u65f6\uff09 DHCP\u670d\u52a1\u6982\u8ff0 DHCP\u57fa\u672c\u539f\u7406 DHCP\u670d\u52a1\u5668\u5b89\u88c5\u914d\u7f6e DNS\u670d\u52a1\u6982\u8ff0 DNS\u670d\u52a1\u5668\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516b\u7ae0\uff1aDevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72\uff084\u5b66\u65f6\uff09 \u53d1\u5e03\u7ba1\u7406\uff1a\u5f00\u53d1\u73af\u5883\u3001\u6d4b\u8bd5\u73af\u5883\u4e0e\u751f\u4ea7\u73af\u5883\u7684\u4e00\u81f4\u6027\uff08\u4ee3\u7801\u3001\u6570\u636e\u3001\u7f51\u7edc\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u3001\u4f9d\u8d56\u7684lib\u7b49\uff09\u3001\u4e0a\u7ebf\u4e0e\u56de\u6eda \u4e3b\u6d41\u6280\u672f\u5de5\u5177\u94fe\uff1agit\uff08github/gitlab\uff09\u3001 ansible \uff08puppet\u3001chef\u3001salt\u7b49\uff09\u3001docker\uff08dockerfile/k8s/dockerhub\uff09\u3001openstack\uff08KVM\u3001Xen\uff09\u3001openvswitch\u3001tcpreplay \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 | PXE | ansible \u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282 H1 \u65e0\u4eba\u503c\u5b88Linux\u5b89\u88c5\u955c\u50cf\u5236\u4f5c\uff082\u5b66\u65f6\uff09\uff1a\u5b9a\u5236\u7528\u6237\u540d\u548c\u9ed8\u8ba4\u5bc6\u7801\u3001\u5b9a\u5236\u5b89\u88c5OpenSSH Server\u3001\u5b89\u88c5\u8fc7\u7a0b\u7981\u6b62\u81ea\u52a8\u8054\u7f51\u66f4\u65b0\u8f6f\u4ef6\u5305\u7b49 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H2 Linux\u547d\u4ee4\u884c\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f H3 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f H4 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u6587\u672c\u5904\u7406\uff08\u8003\u5bdf\u53bb\u91cd\u3001\u7edf\u8ba1\u3001\u6392\u5e8f\u7b49\u64cd\u4f5c\uff09\u3001\u6587\u4ef6\u6279\u91cf\u91cd\u547d\u540d\uff08\u7b80\u5355\u91cd\u547d\u540d\u89c4\u5219\u3001\u590d\u6742\u91cd\u547d\u540d\u89c4\u5219\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H5 \u652f\u6301\u53cd\u5411\u4ee3\u7406\u3001\u6d41\u91cf\u63a7\u5236\u3001\u5173\u952e\u8bcd\u8fc7\u6ee4\u7b49\u529f\u80fd\u7684\u9ad8\u7ea7Web\u670d\u52a1\u5668\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H6 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u8fdb\u9636\uff082\u5b66\u65f6\uff09\uff1aFTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H7 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528ansible\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H8 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528\u5bb9\u5668\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u7b49\u7ea7 \u8bf4\u660e \u2b50\ufe0f \u7167\u846b\u82a6\u753b\u74e2\uff0c\u6ca1\u6709\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f \u7167\u732b\u753b\u864e\uff0c\u53ef\u80fd\u6709\u5c0f\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u6709\u8f83\u4e3a\u8be6\u7ec6\u7684\u53c2\u8003\u8d44\u6599\uff0c\u4f46\u5751\u4e5f\u4e0d\u5c11\uff0c\u8003\u5bdf\u81ea\u5df1\u52a8\u624b\u641c\u7d22\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u53c2\u8003\u8d44\u6599\u8f83\u591a\uff0c\u4f46\u9700\u8981\u63d0\u9ad8\u4fe1\u606f\u68c0\u7d22\u548c\u7504\u522b\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u504f\u7efc\u5408\u80fd\u529b\u8bad\u7ec3\uff0c\u7f16\u7a0b\u80fd\u529b\u8981\u6c42\u4e2d\u7b49\u504f\u4e0a\u3002 \u4e94\u3001\u5efa\u8bae\u6559\u6750 \u6240\u6709\u8bfe\u4ef6\u7684\u6e90\u4ee3\u7801\u5747\u5df2\u5f00\u6e90\u5728 Github - c4pr1c3/LinuxSysAdmin \u516d\u3001\u53c2\u8003\u8d44\u6599 Linux Foundation Certified System Administrator Red Hat System Administration I RH124 Red Hat System Administration II with RHCSA exam Red Hat Certified System Administrator (RHCSA) exam EX200 BASH Programming - Introduction HOW-TO Bash Reference Manual from gnu.org Shell Style Guide by Google Inc. UNIX TOOLBOX: a collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users \u9e1f\u54e5\u7684Linux\u79c1\u623f\u83dc","title":"2021\u5e74"},{"location":"linux/2021/index.html#linux","text":"","title":"Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406"},{"location":"linux/2021/index.html#_1","text":"\u8bfe\u7a0b\u7f16\u53f7\uff1a2121030017 \u82f1\u6587\u540d\u79f0\uff1aLinux System and Network Management \u6388\u8bfe\u5bf9\u8c61\uff1a\u4fe1\u606f\u5b89\u5168\uff0c\u8f6f\u4ef6\u5de5\u7a0b \u5f00\u8bfe\u5b66\u671f\uff1a4 \u5b66\u5206/\u5b66\u65f6\uff1a1.5/32\uff08\u8bfe\u518516\u5b66\u65f6\uff0c\u5b9e\u9a8c\u4e0a\u673a16\u5b66\u65f6\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u8ba1\u7b97\u673a\u5bfc\u8bba\uff0c\u8ba1\u7b97\u673a\u7f51\u7edc \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5185\uff08\u7ebf\u4e0a\uff09\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u8bfe\u7a0b\u5728\u7ebf\u95ee\u7b54\u4e0e\u8ba8\u8bba\u533a","title":"\u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"linux/2021/index.html#_2","text":"Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u652f\u6301\u591a\u7528\u6237\u4e0e\u591a\u4efb\u52a1\uff0c\u8fd1\u5e74\u6765\u53d1\u5c55\u8fc5\u901f\uff0c\u5df2\u7ecf\u6210\u4e3a\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e00\uff0c\u5177\u6709\u5341\u5206\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u672c\u8bfe\u7a0b\u4ee5Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u4e3a\u8303\u4f8b\uff0c\u4ee5\u7406\u8bba\u8054\u7cfb\u5b9e\u9645\u7684\u6559\u5b66\u65b9\u6cd5\uff0c\u7cfb\u7edf\u5b66\u4e60\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f7f\u7528\u4ee5\u53ca\u7f51\u7edc\u7cfb\u7edf\u548c\u7f51\u7edc\u670d\u52a1\u6784\u5efa\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u5e76\u901a\u8fc7\u8bfe\u7a0b\u5b9e\u8df5\uff0c\u57f9\u517b\u5b66\u751f\u7684\u5b9e\u9645\u6280\u80fd\u3002\u4e3b\u8981\u5305\u62ecLinux\u5b89\u88c5\u3001\u7cfb\u7edf\u7ba1\u7406\u4e0e\u7f51\u7edc\u57fa\u7840\uff1bDHCP\u3001WEB\u3001FTP\u3001Samba\u3001NFS\u3001DNS\u7b49\u7f51\u7edc\u670d\u52a1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u670d\u52a1\u5668\u914d\u7f6e\u4e0e\u5e94\u7528\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u90e8\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"linux/2021/index.html#_3","text":"Linux\u662f\u7f51\u7edc\u5e94\u7528\u9886\u57df\u4e2d\u5e7f\u6cdb\u4f7f\u7528\u7684\u4e00\u79cd\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u5e03\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u4e3a\u7f51\u7edc\u7cfb\u7edf\u7ba1\u7406\u3001\u4e91\u8ba1\u7b97\u53ca\u670d\u52a1\u5668\u5e94\u7528\u5f00\u53d1\u7b49\u5960\u5b9a\u57fa\u7840\u3002","title":"\u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42"},{"location":"linux/2021/index.html#_4","text":"\u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6982\u8ff0\uff1a\u53d1\u884c\u7248\u3001\u5f00\u6e90\u793e\u533a\u4e0e\u6587\u5316\u3001\u5185\u6838\u7248\u672c\u5386\u53f2\u3001LSB(Linux Standard Base)\u3001CGL(Carrier Grade Linux)\u3001Linux Foundation\u7b49 \u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\uff1a\u7269\u7406\u673a\u5b89\u88c5\u3001\u865a\u62df\u673a\u5b89\u88c5\u3001\u7cfb\u7edf\u5206\u533a\u3001\u65e0\u4eba\u503c\u5b88\u5b89\u88c5\u7b49 \u5185\u7f6e\u5e2e\u52a9\u7cfb\u7edf\u7684\u4f7f\u7528\uff1aman\u3001--help\u3001-h \u547d\u4ee4\u884c\u4f7f\u7528\uff1ashell\u5bb6\u65cf\u3001\u81ea\u52a8\u8865\u5168\u3001\u91cd\u590d\u547d\u4ee4\u8f93\u5165\u7b49bash\u5e38\u7528\u5feb\u6377\u952e\u3001\u6587\u672c\u7f16\u8f91\u4e0e\u67e5\u770b\uff08echo\u3001cat\u3001less\u3001vim\u3001sort\u3001uniq\u3001wc\u7b49\uff09 SSH\u4e0e\u8fdc\u7a0b\u670d\u52a1\u5668\u7ba1\u7406\uff1a\u514d\u5bc6\u767b\u5f55\u3001SSH\u8df3\u677f\u4e0e\u5821\u5792\u4e3b\u673a\u3001SSH\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e8c\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6587\u4ef6\u7684\u538b\u7f29\u4e0e\u89e3\u538b\u7f29\uff1atar\u3001gz\u3001zip\u3001gzip\u30017z\u7b49\u3001\u8de8\u5e73\u53f0\u538b\u7f29\u6587\u4ef6\u7684\u4e2d\u6587\u4e71\u7801\u95ee\u9898\u7b49 \u8f6f\u4ef6\u5305\u7ba1\u7406\uff1a\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d\u3001\u6e90\u7801\u4e0b\u8f7d\u4e0e\u5b89\u88c5 \u6587\u4ef6\u7ba1\u7406\uff1afind\u3001grep\u3001sed\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u8fdb\u7a0b\u7ba1\u7406\uff1aps\u3001kill\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u76ee\u5f55\u7ed3\u6784\uff1aman hier\u3001ls \u7f51\u7edc\u8c03\u8bd5\uff1aethtool\u3001ip\u3001ifconfig\u3001arp\u3001traceroute\u3001netstat\u3001route\u3001/etc/hosts\u3001/etc/resolv.conf\u3001tcpdump\u7b49 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e09\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7528\u6237/\u7ec4\u4e0e\u6743\u9650\u7ba1\u7406\uff1asu\u4e0esudo\u3001passwd\u3001adduser/useradd\u3001groupadd/addgroup\u3001usermod\u3001getfacl/setfacl\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u6587\u4ef6\u7cfb\u7edf\u4e0e\u5b58\u50a8\u7ba1\u7406\uff1a\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b\u4e0e\u683c\u5f0f\u5316\u3001\u78c1\u76d8\u5206\u533a\u3001\u5b58\u50a8\u8bbe\u5907\u4e0e\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\uff08\u5f00\u673a\u81ea\u52a8\u6302\u8f7d\u3001\u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\u3001iso\u6587\u4ef6\u6302\u8f7d\u7b49\uff09\u3001\u57fa\u4e8eLVM\uff08\u903b\u8f91\u5206\u5377\u7ba1\u7406\uff09\u7684\u5206\u533a\u5bb9\u91cf\u52a8\u6001\u8c03\u6574 \u6587\u4ef6\u5907\u4efd\u4e0e\u6062\u590d\uff08\u6587\u4ef6\u548c\u76ee\u5f55\u5c5e\u4e3b\u4fe1\u606f\u7684\u4fdd\u5b58\uff09\u7b49 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff1a\u7cfb\u7edf\u52a0\u8f7d\u6d41\u7a0b\uff08 Systemd \u3001 LSBInitScripts ) \u914d\u7f6e\u6bcf\u5929\u81ea\u52a8\u5b89\u88c5\u5b89\u5168\u66f4\u65b0 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u56db\u7ae0\uff1ashell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u5f00\u53d1\u548c\u8c03\u8bd5\u73af\u5883\u642d\u5efa \u57fa\u672c\u8bed\u6cd5\uff1ashell\u7248\u672c\u3001\u53d8\u91cf\u5b9a\u4e49\u3001\u73af\u5883\u53d8\u91cf\u3001\u8fc7\u7a0b\uff08\u51fd\u6570\uff09\u3001\u6761\u4ef6\u8bed\u53e5\u3001\u5faa\u73af\u3001\u6570\u503c\u8ba1\u7b97\u3001\u6570\u7ec4\u3001\u5b50\u8fdb\u7a0b\u7b49 \u5b9e\u4f8b\u8bb2\u89e3\uff1a\u6821\u56ed\u7f51\u81ea\u52a8\u8054\u7f51bash\u811a\u672c \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e94\u7ae0\uff1aWeb\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09 Web\u670d\u52a1\u57fa\u672c\u6982\u5ff5\uff1aHTTP\u8bf7\u6c42\u5904\u7406\u7684\u751f\u547d\u5468\u671f \u4e3b\u6d41WEB\u670d\u52a1\u5668\uff1aapache 1.x/2.x\u3001nginx\uff08\u884d\u751f\u53d1\u884c\u7248\uff1a OpenResty \u3001 Kong \u3001 Tengine \uff09 \u7528curl\u548cnginx\u91cd\u65b0\u8ba4\u8bc6\u548c\u5b66\u4e60HTTP\u534f\u8bae \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516d\u7ae0\uff1a\u7f51\u7edc\u8d44\u6e90\u5171\u4eab\uff081\u5b66\u65f6\uff09 FTP\u670d\u52a1\u6982\u8ff0\u53caFTP\u670d\u52a1\u5668\u914d\u7f6e NFS\u670d\u52a1\u6982\u8ff0\u53caNFS\u670d\u52a1\u5668\u914d\u7f6e Samba\u670d\u52a1\u6982\u8ff0\u53caSamba\u670d\u52a1\u5668\u5b89\u88c5\u4e0e\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e03\u7ae0\uff1aDHCP\u4e0eDNS\u670d\u52a1\uff081\u5b66\u65f6\uff09 DHCP\u670d\u52a1\u6982\u8ff0 DHCP\u57fa\u672c\u539f\u7406 DHCP\u670d\u52a1\u5668\u5b89\u88c5\u914d\u7f6e DNS\u670d\u52a1\u6982\u8ff0 DNS\u670d\u52a1\u5668\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516b\u7ae0\uff1aDevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72\uff084\u5b66\u65f6\uff09 \u53d1\u5e03\u7ba1\u7406\uff1a\u5f00\u53d1\u73af\u5883\u3001\u6d4b\u8bd5\u73af\u5883\u4e0e\u751f\u4ea7\u73af\u5883\u7684\u4e00\u81f4\u6027\uff08\u4ee3\u7801\u3001\u6570\u636e\u3001\u7f51\u7edc\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u3001\u4f9d\u8d56\u7684lib\u7b49\uff09\u3001\u4e0a\u7ebf\u4e0e\u56de\u6eda \u4e3b\u6d41\u6280\u672f\u5de5\u5177\u94fe\uff1agit\uff08github/gitlab\uff09\u3001 ansible \uff08puppet\u3001chef\u3001salt\u7b49\uff09\u3001docker\uff08dockerfile/k8s/dockerhub\uff09\u3001openstack\uff08KVM\u3001Xen\uff09\u3001openvswitch\u3001tcpreplay \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 | PXE | ansible","title":"\u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d"},{"location":"linux/2021/index.html#_5","text":"H1 \u65e0\u4eba\u503c\u5b88Linux\u5b89\u88c5\u955c\u50cf\u5236\u4f5c\uff082\u5b66\u65f6\uff09\uff1a\u5b9a\u5236\u7528\u6237\u540d\u548c\u9ed8\u8ba4\u5bc6\u7801\u3001\u5b9a\u5236\u5b89\u88c5OpenSSH Server\u3001\u5b89\u88c5\u8fc7\u7a0b\u7981\u6b62\u81ea\u52a8\u8054\u7f51\u66f4\u65b0\u8f6f\u4ef6\u5305\u7b49 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H2 Linux\u547d\u4ee4\u884c\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f H3 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f H4 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u6587\u672c\u5904\u7406\uff08\u8003\u5bdf\u53bb\u91cd\u3001\u7edf\u8ba1\u3001\u6392\u5e8f\u7b49\u64cd\u4f5c\uff09\u3001\u6587\u4ef6\u6279\u91cf\u91cd\u547d\u540d\uff08\u7b80\u5355\u91cd\u547d\u540d\u89c4\u5219\u3001\u590d\u6742\u91cd\u547d\u540d\u89c4\u5219\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H5 \u652f\u6301\u53cd\u5411\u4ee3\u7406\u3001\u6d41\u91cf\u63a7\u5236\u3001\u5173\u952e\u8bcd\u8fc7\u6ee4\u7b49\u529f\u80fd\u7684\u9ad8\u7ea7Web\u670d\u52a1\u5668\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H6 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u8fdb\u9636\uff082\u5b66\u65f6\uff09\uff1aFTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H7 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528ansible\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H8 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528\u5bb9\u5668\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u7b49\u7ea7 \u8bf4\u660e \u2b50\ufe0f \u7167\u846b\u82a6\u753b\u74e2\uff0c\u6ca1\u6709\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f \u7167\u732b\u753b\u864e\uff0c\u53ef\u80fd\u6709\u5c0f\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u6709\u8f83\u4e3a\u8be6\u7ec6\u7684\u53c2\u8003\u8d44\u6599\uff0c\u4f46\u5751\u4e5f\u4e0d\u5c11\uff0c\u8003\u5bdf\u81ea\u5df1\u52a8\u624b\u641c\u7d22\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u53c2\u8003\u8d44\u6599\u8f83\u591a\uff0c\u4f46\u9700\u8981\u63d0\u9ad8\u4fe1\u606f\u68c0\u7d22\u548c\u7504\u522b\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u504f\u7efc\u5408\u80fd\u529b\u8bad\u7ec3\uff0c\u7f16\u7a0b\u80fd\u529b\u8981\u6c42\u4e2d\u7b49\u504f\u4e0a\u3002","title":"\u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282"},{"location":"linux/2021/index.html#_6","text":"\u6240\u6709\u8bfe\u4ef6\u7684\u6e90\u4ee3\u7801\u5747\u5df2\u5f00\u6e90\u5728 Github - c4pr1c3/LinuxSysAdmin","title":"\u4e94\u3001\u5efa\u8bae\u6559\u6750"},{"location":"linux/2021/index.html#_7","text":"Linux Foundation Certified System Administrator Red Hat System Administration I RH124 Red Hat System Administration II with RHCSA exam Red Hat Certified System Administrator (RHCSA) exam EX200 BASH Programming - Introduction HOW-TO Bash Reference Manual from gnu.org Shell Style Guide by Google Inc. UNIX TOOLBOX: a collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users \u9e1f\u54e5\u7684Linux\u79c1\u623f\u83dc","title":"\u516d\u3001\u53c2\u8003\u8d44\u6599"},{"location":"linux/2021/calendar.html","text":"2021 \u6625\u6559\u5b66\u65e5\u5386 \u4e0a\u8bfe\u524d\u51c6\u5907 \u8bf7\u5927\u5bb6\u63d0\u524d\u5728 Virtualbox \u4e2d\u5b89\u88c5\u597d Ubuntu 20.04 \u7cfb\u7edf \u81ea\u5df1\u641e\u4e0d\u5b9a\u624b\u52a8\u5b89\u88c5\u8fc7\u7a0b\u7684\u53ef\u4ee5\u76f4\u63a5 \u5bfc\u5165\u6211\u5b89\u88c5\u597d\u7684\u865a\u62df\u673a \uff0c\u5982\u4e0b\u6240\u793a \u94fe\u63a5: https://pan.baidu.com/s/1nZ3-kiYz_gOeZeRKMgw3tA \u63d0\u53d6\u7801: cadd \u590d\u5236\u8fd9\u6bb5\u5185\u5bb9\u540e\u6253\u5f00\u767e\u5ea6\u7f51\u76d8\u624b\u673aApp\uff0c\u64cd\u4f5c\u66f4\u65b9\u4fbf\u54e6 \u672c\u5e74\u5ea6\u6240\u6709\u6388\u8bfe\u89c6\u9891\u5c06\u96c6\u4e2d\u5728 B \u7ad9\u8fd9\u4e2a\u89c6\u9891\u94fe\u63a5 \u4e0b\u6bcf\u5468\u968f\u6388\u8bfe\u8fdb\u5ea6\u66f4\u65b0\u4e00\u6b21\u3002 \u89c6\u9891\u9009\u96c6\u7684\u7f16\u53f7\u547d\u540d\u89c4\u5219 X.Y.\uff1a X. \u8868\u793a\u7b2c\u51e0\u7ae0 Y. \u8868\u793a\u8be5\u7ae0\u7b2c\u51e0\u4e2a\u89c6\u9891\u7247\u6bb5 \u7b2c\u4e00\u5468 2021-03-01\uff08\u7ebf\u4e0a\uff09 \u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff0c\u8be6\u89c1 \u6559\u5b66\u8ba1\u5212 - \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d \u7b2c\u4e8c\u5468 2021-03-08\uff08\u7ebf\u4e0a\uff09 \u7b2c\u4e00\u7ae0\u5b9e\u9a8c \u7b2c\u4e09\u5468 2021-03-15\uff08\u7ebf\u4e0a\uff09 \u7b2c\u4e8c\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840 H1 \u63d0\u4ea4\u622a\u6b62 2021-03-14 23:59:59 \u7b2c\u56db\u5468 2021-03-22\uff08\u7ebf\u4e0b\uff09 \u7b2c\u4e8c\u7ae0\u5b9e\u9a8c \u7b2c\u4e94\u5468 2021-03-29\uff08\u7ebf\u4e0a\uff09 \u7b2c\u4e09\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840 H2 \u63d0\u4ea4\u622a\u6b62 2021-03-28 23:59:59 \u7b2c\u516d\u5468 2021-04-05\uff08\u6e05\u660e\u8282\u653e\u5047\uff09 \u81ea\u884c\u5b8c\u6210\u7b2c\u4e09\u7ae0\u5b9e\u9a8c \u7b2c\u4e03\u5468 2021-04-12\uff08\u7ebf\u4e0a\uff09 \u7b2c\u56db\u7ae0 Shell\u811a\u672c\u7f16\u7a0b\u57fa\u7840 \u7b2c\u516b\u5468 2021-04-19\uff08\u7ebf\u4e0b\uff09 \u7b2c\u56db\u7ae0\u5b9e\u9a8c \u7b2c\u4e5d\u5468 2021-04-26\uff08\u7ebf\u4e0a\uff09 \u7b2c\u4e94\u7ae0 Web\u670d\u52a1\u5668 H3 \u548c H4 \u63d0\u4ea4\u622a\u6b62 2021-04-25 23:59:59 \u7b2c\u5341\u5468 2021-05-03\uff08\u8bfb\u4e66\u5468\u653e\u5047\uff09 \u7b2c\u5341\u4e00\u5468 2021-05-10\uff08\u7ebf\u4e0a\uff09 \u7b2c\u516d\u7ae0 \u7f51\u7edc\u8d44\u6e90\u5171\u4eab \u7b2c\u4e03\u7ae0 DHCP\u4e0eDNS\u670d\u52a1 \u7b2c\u5341\u4e8c\u5468 2021-05-17\uff08\u7ebf\u4e0b\uff09 \u7b2c\u4e94\u7ae0\u5b9e\u9a8c \u7b2c\u5341\u4e09\u5468 2021-05-24\uff08\u7ebf\u4e0a\uff09 \u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 H5 \u63d0\u4ea4\u622a\u6b62 2021-05-23 23:59:59 \u7b2c\u5341\u56db\u5468 2021-05-31\uff08\u7ebf\u4e0b\uff09 \u7b2c\u516d\u4e03\u7ae0\u5b9e\u9a8c \u7b2c\u5341\u4e94\u5468 2021-06-07\uff08\u7ebf\u4e0a\uff09 \u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: \u5b9e\u6218\u5165\u95e8 Cloud-Init \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: Ansible H6 \u63d0\u4ea4\u622a\u6b62 2021-06-06 23:59:59 \u7b2c\u5341\u516d\u5468 2021-06-14\uff08\u7aef\u5348\u8282\u653e\u5047\uff09 \u81ea\u884c\u5b8c\u6210\u7b2c\u516b\u7ae0\u5b9e\u9a8c \u7b2c\u5341\u4e03\u5468 2021-06-21\uff08\u7ebf\u4e0b\uff09 \u7b2c\u516b\u7ae0\u5b9e\u9a8c H7 \u548c H8 \u63d0\u4ea4\u622a\u6b62 2021-07-05 23:59:59","title":"2021 \u6625\u6559\u5b66\u65e5\u5386"},{"location":"linux/2021/calendar.html#2021","text":"","title":"2021 \u6625\u6559\u5b66\u65e5\u5386"},{"location":"linux/2021/calendar.html#_1","text":"\u8bf7\u5927\u5bb6\u63d0\u524d\u5728 Virtualbox \u4e2d\u5b89\u88c5\u597d Ubuntu 20.04 \u7cfb\u7edf \u81ea\u5df1\u641e\u4e0d\u5b9a\u624b\u52a8\u5b89\u88c5\u8fc7\u7a0b\u7684\u53ef\u4ee5\u76f4\u63a5 \u5bfc\u5165\u6211\u5b89\u88c5\u597d\u7684\u865a\u62df\u673a \uff0c\u5982\u4e0b\u6240\u793a \u94fe\u63a5: https://pan.baidu.com/s/1nZ3-kiYz_gOeZeRKMgw3tA \u63d0\u53d6\u7801: cadd \u590d\u5236\u8fd9\u6bb5\u5185\u5bb9\u540e\u6253\u5f00\u767e\u5ea6\u7f51\u76d8\u624b\u673aApp\uff0c\u64cd\u4f5c\u66f4\u65b9\u4fbf\u54e6 \u672c\u5e74\u5ea6\u6240\u6709\u6388\u8bfe\u89c6\u9891\u5c06\u96c6\u4e2d\u5728 B \u7ad9\u8fd9\u4e2a\u89c6\u9891\u94fe\u63a5 \u4e0b\u6bcf\u5468\u968f\u6388\u8bfe\u8fdb\u5ea6\u66f4\u65b0\u4e00\u6b21\u3002 \u89c6\u9891\u9009\u96c6\u7684\u7f16\u53f7\u547d\u540d\u89c4\u5219 X.Y.\uff1a X. \u8868\u793a\u7b2c\u51e0\u7ae0 Y. \u8868\u793a\u8be5\u7ae0\u7b2c\u51e0\u4e2a\u89c6\u9891\u7247\u6bb5","title":"\u4e0a\u8bfe\u524d\u51c6\u5907"},{"location":"linux/2021/calendar.html#2021-03-01","text":"\u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff0c\u8be6\u89c1 \u6559\u5b66\u8ba1\u5212 - \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d","title":"\u7b2c\u4e00\u5468 2021-03-01\uff08\u7ebf\u4e0a\uff09"},{"location":"linux/2021/calendar.html#2021-03-08","text":"\u7b2c\u4e00\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u4e8c\u5468 2021-03-08\uff08\u7ebf\u4e0a\uff09"},{"location":"linux/2021/calendar.html#2021-03-15","text":"\u7b2c\u4e8c\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840 H1 \u63d0\u4ea4\u622a\u6b62 2021-03-14 23:59:59","title":"\u7b2c\u4e09\u5468 2021-03-15\uff08\u7ebf\u4e0a\uff09"},{"location":"linux/2021/calendar.html#2021-03-22","text":"\u7b2c\u4e8c\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u56db\u5468 2021-03-22\uff08\u7ebf\u4e0b\uff09"},{"location":"linux/2021/calendar.html#2021-03-29","text":"\u7b2c\u4e09\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840 H2 \u63d0\u4ea4\u622a\u6b62 2021-03-28 23:59:59","title":"\u7b2c\u4e94\u5468 2021-03-29\uff08\u7ebf\u4e0a\uff09"},{"location":"linux/2021/calendar.html#2021-04-05","text":"\u81ea\u884c\u5b8c\u6210\u7b2c\u4e09\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u516d\u5468 2021-04-05\uff08\u6e05\u660e\u8282\u653e\u5047\uff09"},{"location":"linux/2021/calendar.html#2021-04-12","text":"\u7b2c\u56db\u7ae0 Shell\u811a\u672c\u7f16\u7a0b\u57fa\u7840","title":"\u7b2c\u4e03\u5468 2021-04-12\uff08\u7ebf\u4e0a\uff09"},{"location":"linux/2021/calendar.html#2021-04-19","text":"\u7b2c\u56db\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u516b\u5468 2021-04-19\uff08\u7ebf\u4e0b\uff09"},{"location":"linux/2021/calendar.html#2021-04-26","text":"\u7b2c\u4e94\u7ae0 Web\u670d\u52a1\u5668 H3 \u548c H4 \u63d0\u4ea4\u622a\u6b62 2021-04-25 23:59:59","title":"\u7b2c\u4e5d\u5468 2021-04-26\uff08\u7ebf\u4e0a\uff09"},{"location":"linux/2021/calendar.html#2021-05-03","text":"","title":"\u7b2c\u5341\u5468 2021-05-03\uff08\u8bfb\u4e66\u5468\u653e\u5047\uff09"},{"location":"linux/2021/calendar.html#2021-05-10","text":"\u7b2c\u516d\u7ae0 \u7f51\u7edc\u8d44\u6e90\u5171\u4eab \u7b2c\u4e03\u7ae0 DHCP\u4e0eDNS\u670d\u52a1","title":"\u7b2c\u5341\u4e00\u5468 2021-05-10\uff08\u7ebf\u4e0a\uff09"},{"location":"linux/2021/calendar.html#2021-05-17","text":"\u7b2c\u4e94\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u5341\u4e8c\u5468 2021-05-17\uff08\u7ebf\u4e0b\uff09"},{"location":"linux/2021/calendar.html#2021-05-24","text":"\u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 H5 \u63d0\u4ea4\u622a\u6b62 2021-05-23 23:59:59","title":"\u7b2c\u5341\u4e09\u5468 2021-05-24\uff08\u7ebf\u4e0a\uff09"},{"location":"linux/2021/calendar.html#2021-05-31","text":"\u7b2c\u516d\u4e03\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u5341\u56db\u5468 2021-05-31\uff08\u7ebf\u4e0b\uff09"},{"location":"linux/2021/calendar.html#2021-06-07","text":"\u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: \u5b9e\u6218\u5165\u95e8 Cloud-Init \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: Ansible H6 \u63d0\u4ea4\u622a\u6b62 2021-06-06 23:59:59","title":"\u7b2c\u5341\u4e94\u5468 2021-06-07\uff08\u7ebf\u4e0a\uff09"},{"location":"linux/2021/calendar.html#2021-06-14","text":"\u81ea\u884c\u5b8c\u6210\u7b2c\u516b\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u5341\u516d\u5468 2021-06-14\uff08\u7aef\u5348\u8282\u653e\u5047\uff09"},{"location":"linux/2021/calendar.html#2021-06-21","text":"\u7b2c\u516b\u7ae0\u5b9e\u9a8c H7 \u548c H8 \u63d0\u4ea4\u622a\u6b62 2021-07-05 23:59:59","title":"\u7b2c\u5341\u4e03\u5468 2021-06-21\uff08\u7ebf\u4e0b\uff09"},{"location":"linux/2022/index.html","text":"Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406 \u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u8bfe\u7a0b\u7f16\u53f7\uff1a2121030017 \u82f1\u6587\u540d\u79f0\uff1aLinux System and Network Management \u6388\u8bfe\u5bf9\u8c61\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168 \u5f00\u8bfe\u5b66\u671f\uff1a4 \u5b66\u5206/\u5b66\u65f6\uff1a1.5/32\uff08\u8bfe\u518516\u5b66\u65f6\uff0c\u5b9e\u9a8c\u4e0a\u673a16\u5b66\u65f6\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u8ba1\u7b97\u673a\u5bfc\u8bba\uff0c\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5185\uff08\u7ebf\u4e0a\uff09\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219 \u8bfe\u7a0b\u7b80\u4ecb Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u652f\u6301\u591a\u7528\u6237\u4e0e\u591a\u4efb\u52a1\uff0c\u8fd1\u5e74\u6765\u53d1\u5c55\u8fc5\u901f\uff0c\u5df2\u7ecf\u6210\u4e3a\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e00\uff0c\u5177\u6709\u5341\u5206\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u672c\u8bfe\u7a0b\u4ee5Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u4e3a\u8303\u4f8b\uff0c\u4ee5\u7406\u8bba\u8054\u7cfb\u5b9e\u9645\u7684\u6559\u5b66\u65b9\u6cd5\uff0c\u7cfb\u7edf\u5b66\u4e60\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f7f\u7528\u4ee5\u53ca\u7f51\u7edc\u7cfb\u7edf\u548c\u7f51\u7edc\u670d\u52a1\u6784\u5efa\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u5e76\u901a\u8fc7\u8bfe\u7a0b\u5b9e\u8df5\uff0c\u57f9\u517b\u5b66\u751f\u7684\u5b9e\u9645\u6280\u80fd\u3002\u4e3b\u8981\u5305\u62ecLinux\u5b89\u88c5\u3001\u7cfb\u7edf\u7ba1\u7406\u4e0e\u7f51\u7edc\u57fa\u7840\uff1bDHCP\u3001WEB\u3001FTP\u3001Samba\u3001NFS\u3001DNS\u7b49\u7f51\u7edc\u670d\u52a1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u670d\u52a1\u5668\u914d\u7f6e\u4e0e\u5e94\u7528\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u90e8\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\u3002 \u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42 Linux\u662f\u7f51\u7edc\u5e94\u7528\u9886\u57df\u4e2d\u5e7f\u6cdb\u4f7f\u7528\u7684\u4e00\u79cd\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u5e03\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u4e3a\u7f51\u7edc\u7cfb\u7edf\u7ba1\u7406\u3001\u4e91\u8ba1\u7b97\u53ca\u670d\u52a1\u5668\u5e94\u7528\u5f00\u53d1\u7b49\u5960\u5b9a\u57fa\u7840\u3002 \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d \u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6982\u8ff0\uff1a\u53d1\u884c\u7248\u3001\u5f00\u6e90\u793e\u533a\u4e0e\u6587\u5316\u3001\u5185\u6838\u7248\u672c\u5386\u53f2\u3001LSB(Linux Standard Base)\u3001CGL(Carrier Grade Linux)\u3001Linux Foundation\u7b49 \u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\uff1a\u7269\u7406\u673a\u5b89\u88c5\u3001\u865a\u62df\u673a\u5b89\u88c5\u3001\u7cfb\u7edf\u5206\u533a\u3001\u65e0\u4eba\u503c\u5b88\u5b89\u88c5\u7b49 \u5185\u7f6e\u5e2e\u52a9\u7cfb\u7edf\u7684\u4f7f\u7528\uff1aman\u3001--help\u3001-h \u547d\u4ee4\u884c\u4f7f\u7528\uff1ashell\u5bb6\u65cf\u3001\u81ea\u52a8\u8865\u5168\u3001\u91cd\u590d\u547d\u4ee4\u8f93\u5165\u7b49bash\u5e38\u7528\u5feb\u6377\u952e\u3001\u6587\u672c\u7f16\u8f91\u4e0e\u67e5\u770b\uff08echo\u3001cat\u3001less\u3001vim\u3001sort\u3001uniq\u3001wc\u7b49\uff09 SSH\u4e0e\u8fdc\u7a0b\u670d\u52a1\u5668\u7ba1\u7406\uff1a\u514d\u5bc6\u767b\u5f55\u3001SSH\u8df3\u677f\u4e0e\u5821\u5792\u4e3b\u673a\u3001SSH\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e8c\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6587\u4ef6\u7684\u538b\u7f29\u4e0e\u89e3\u538b\u7f29\uff1atar\u3001gz\u3001zip\u3001gzip\u30017z\u7b49\u3001\u8de8\u5e73\u53f0\u538b\u7f29\u6587\u4ef6\u7684\u4e2d\u6587\u4e71\u7801\u95ee\u9898\u7b49 \u8f6f\u4ef6\u5305\u7ba1\u7406\uff1a\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d\u3001\u6e90\u7801\u4e0b\u8f7d\u4e0e\u5b89\u88c5 \u6587\u4ef6\u7ba1\u7406\uff1afind\u3001grep\u3001sed\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u8fdb\u7a0b\u7ba1\u7406\uff1aps\u3001kill\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u76ee\u5f55\u7ed3\u6784\uff1aman hier\u3001ls \u7f51\u7edc\u8c03\u8bd5\uff1aethtool\u3001ip\u3001ifconfig\u3001arp\u3001traceroute\u3001netstat\u3001route\u3001/etc/hosts\u3001/etc/resolv.conf\u3001tcpdump\u7b49 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e09\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7528\u6237/\u7ec4\u4e0e\u6743\u9650\u7ba1\u7406\uff1asu\u4e0esudo\u3001passwd\u3001adduser/useradd\u3001groupadd/addgroup\u3001usermod\u3001getfacl/setfacl\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u6587\u4ef6\u7cfb\u7edf\u4e0e\u5b58\u50a8\u7ba1\u7406\uff1a\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b\u4e0e\u683c\u5f0f\u5316\u3001\u78c1\u76d8\u5206\u533a\u3001\u5b58\u50a8\u8bbe\u5907\u4e0e\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\uff08\u5f00\u673a\u81ea\u52a8\u6302\u8f7d\u3001\u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\u3001iso\u6587\u4ef6\u6302\u8f7d\u7b49\uff09\u3001\u57fa\u4e8eLVM\uff08\u903b\u8f91\u5206\u5377\u7ba1\u7406\uff09\u7684\u5206\u533a\u5bb9\u91cf\u52a8\u6001\u8c03\u6574 \u6587\u4ef6\u5907\u4efd\u4e0e\u6062\u590d\uff08\u6587\u4ef6\u548c\u76ee\u5f55\u5c5e\u4e3b\u4fe1\u606f\u7684\u4fdd\u5b58\uff09\u7b49 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff1a\u7cfb\u7edf\u52a0\u8f7d\u6d41\u7a0b\uff08 Systemd \u3001 LSBInitScripts ) \u914d\u7f6e\u6bcf\u5929\u81ea\u52a8\u5b89\u88c5\u5b89\u5168\u66f4\u65b0 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u56db\u7ae0\uff1ashell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u5f00\u53d1\u548c\u8c03\u8bd5\u73af\u5883\u642d\u5efa \u57fa\u672c\u8bed\u6cd5\uff1ashell\u7248\u672c\u3001\u53d8\u91cf\u5b9a\u4e49\u3001\u73af\u5883\u53d8\u91cf\u3001\u8fc7\u7a0b\uff08\u51fd\u6570\uff09\u3001\u6761\u4ef6\u8bed\u53e5\u3001\u5faa\u73af\u3001\u6570\u503c\u8ba1\u7b97\u3001\u6570\u7ec4\u3001\u5b50\u8fdb\u7a0b\u7b49 \u5b9e\u4f8b\u8bb2\u89e3\uff1a\u6821\u56ed\u7f51\u81ea\u52a8\u8054\u7f51bash\u811a\u672c \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e94\u7ae0\uff1aWeb\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09 Web\u670d\u52a1\u57fa\u672c\u6982\u5ff5\uff1aHTTP\u8bf7\u6c42\u5904\u7406\u7684\u751f\u547d\u5468\u671f \u4e3b\u6d41WEB\u670d\u52a1\u5668\uff1aapache 1.x/2.x\u3001nginx\uff08\u884d\u751f\u53d1\u884c\u7248\uff1a OpenResty \u3001 Kong \u3001 Tengine \uff09 \u7528curl\u548cnginx\u91cd\u65b0\u8ba4\u8bc6\u548c\u5b66\u4e60HTTP\u534f\u8bae \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516d\u7ae0\uff1a\u7f51\u7edc\u8d44\u6e90\u5171\u4eab\uff081\u5b66\u65f6\uff09 FTP\u670d\u52a1\u6982\u8ff0\u53caFTP\u670d\u52a1\u5668\u914d\u7f6e NFS\u670d\u52a1\u6982\u8ff0\u53caNFS\u670d\u52a1\u5668\u914d\u7f6e Samba\u670d\u52a1\u6982\u8ff0\u53caSamba\u670d\u52a1\u5668\u5b89\u88c5\u4e0e\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e03\u7ae0\uff1aDHCP\u4e0eDNS\u670d\u52a1\uff081\u5b66\u65f6\uff09 DHCP\u670d\u52a1\u6982\u8ff0 DHCP\u57fa\u672c\u539f\u7406 DHCP\u670d\u52a1\u5668\u5b89\u88c5\u914d\u7f6e DNS\u670d\u52a1\u6982\u8ff0 DNS\u670d\u52a1\u5668\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516b\u7ae0\uff1aDevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72\uff084\u5b66\u65f6\uff09 \u53d1\u5e03\u7ba1\u7406\uff1a\u5f00\u53d1\u73af\u5883\u3001\u6d4b\u8bd5\u73af\u5883\u4e0e\u751f\u4ea7\u73af\u5883\u7684\u4e00\u81f4\u6027\uff08\u4ee3\u7801\u3001\u6570\u636e\u3001\u7f51\u7edc\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u3001\u4f9d\u8d56\u7684lib\u7b49\uff09\u3001\u4e0a\u7ebf\u4e0e\u56de\u6eda \u4e3b\u6d41\u6280\u672f\u5de5\u5177\u94fe\uff1agit\uff08github/gitlab\uff09\u3001 ansible \uff08puppet\u3001chef\u3001salt\u7b49\uff09\u3001docker\uff08dockerfile/k8s/dockerhub\uff09\u3001openstack\uff08KVM\u3001Xen\uff09\u3001openvswitch\u3001tcpreplay \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 | PXE | ansible \u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282 H1 \u4e3b\u6d41 Linux \u53d1\u884c\u7248\u521d\u4f53\u9a8c\uff082\u5b66\u65f6\uff09\uff1a\u672c\u5730\u5b9e\u9a8c\u73af\u5883\u548c\u4e91\u5b9e\u9a8c\u73af\u5883 \u2b50\ufe0f\u2b50\ufe0f H2 Linux\u547d\u4ee4\u884c\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u672c\u5730\u5b9e\u9a8c\u73af\u5883\u548c\u4e91\u5b9e\u9a8c\u73af\u5883 \u2b50\ufe0f\u2b50\ufe0f H3 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f H4 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u6587\u672c\u5904\u7406\uff08\u8003\u5bdf\u53bb\u91cd\u3001\u7edf\u8ba1\u3001\u6392\u5e8f\u7b49\u64cd\u4f5c\uff09\u3001\u6587\u4ef6\u6279\u91cf\u91cd\u547d\u540d\uff08\u7b80\u5355\u91cd\u547d\u540d\u89c4\u5219\u3001\u590d\u6742\u91cd\u547d\u540d\u89c4\u5219\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H5 \u652f\u6301\u53cd\u5411\u4ee3\u7406\u3001\u6d41\u91cf\u63a7\u5236\u3001\u5173\u952e\u8bcd\u8fc7\u6ee4\u7b49\u529f\u80fd\u7684\u9ad8\u7ea7Web\u670d\u52a1\u5668\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H6 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u8fdb\u9636\uff082\u5b66\u65f6\uff09\uff1aFTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H7 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528ansible\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H8 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528\u5bb9\u5668\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u7b49\u7ea7 \u8bf4\u660e \u2b50\ufe0f \u7167\u846b\u82a6\u753b\u74e2\uff0c\u6ca1\u6709\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f \u7167\u732b\u753b\u864e\uff0c\u53ef\u80fd\u6709\u5c0f\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u6709\u8f83\u4e3a\u8be6\u7ec6\u7684\u53c2\u8003\u8d44\u6599\uff0c\u4f46\u5751\u4e5f\u4e0d\u5c11\uff0c\u8003\u5bdf\u81ea\u5df1\u52a8\u624b\u641c\u7d22\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u53c2\u8003\u8d44\u6599\u8f83\u591a\uff0c\u4f46\u9700\u8981\u63d0\u9ad8\u4fe1\u606f\u68c0\u7d22\u548c\u7504\u522b\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u504f\u7efc\u5408\u80fd\u529b\u8bad\u7ec3\uff0c\u7f16\u7a0b\u80fd\u529b\u8981\u6c42\u4e2d\u7b49\u504f\u4e0a\u3002 \u4e94\u3001\u5efa\u8bae\u6559\u6750 \u6240\u6709\u8bfe\u4ef6\u7684\u6e90\u4ee3\u7801\u5747\u5df2\u5f00\u6e90\u5728 Github - c4pr1c3/LinuxSysAdmin \u516d\u3001\u53c2\u8003\u8d44\u6599 Linux Foundation Certified System Administrator Red Hat System Administration I RH124 Red Hat System Administration II with RHCSA exam Red Hat Certified System Administrator (RHCSA) exam EX200 BASH Programming - Introduction HOW-TO Bash Reference Manual from gnu.org Shell Style Guide by Google Inc. UNIX TOOLBOX: a collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users \u9e1f\u54e5\u7684Linux\u79c1\u623f\u83dc","title":"2022\u5e74"},{"location":"linux/2022/index.html#linux","text":"","title":"Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406"},{"location":"linux/2022/index.html#_1","text":"\u8bfe\u7a0b\u7f16\u53f7\uff1a2121030017 \u82f1\u6587\u540d\u79f0\uff1aLinux System and Network Management \u6388\u8bfe\u5bf9\u8c61\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168 \u5f00\u8bfe\u5b66\u671f\uff1a4 \u5b66\u5206/\u5b66\u65f6\uff1a1.5/32\uff08\u8bfe\u518516\u5b66\u65f6\uff0c\u5b9e\u9a8c\u4e0a\u673a16\u5b66\u65f6\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u8ba1\u7b97\u673a\u5bfc\u8bba\uff0c\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5185\uff08\u7ebf\u4e0a\uff09\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219","title":"\u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"linux/2022/index.html#_2","text":"Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u652f\u6301\u591a\u7528\u6237\u4e0e\u591a\u4efb\u52a1\uff0c\u8fd1\u5e74\u6765\u53d1\u5c55\u8fc5\u901f\uff0c\u5df2\u7ecf\u6210\u4e3a\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e00\uff0c\u5177\u6709\u5341\u5206\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u672c\u8bfe\u7a0b\u4ee5Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u4e3a\u8303\u4f8b\uff0c\u4ee5\u7406\u8bba\u8054\u7cfb\u5b9e\u9645\u7684\u6559\u5b66\u65b9\u6cd5\uff0c\u7cfb\u7edf\u5b66\u4e60\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f7f\u7528\u4ee5\u53ca\u7f51\u7edc\u7cfb\u7edf\u548c\u7f51\u7edc\u670d\u52a1\u6784\u5efa\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u5e76\u901a\u8fc7\u8bfe\u7a0b\u5b9e\u8df5\uff0c\u57f9\u517b\u5b66\u751f\u7684\u5b9e\u9645\u6280\u80fd\u3002\u4e3b\u8981\u5305\u62ecLinux\u5b89\u88c5\u3001\u7cfb\u7edf\u7ba1\u7406\u4e0e\u7f51\u7edc\u57fa\u7840\uff1bDHCP\u3001WEB\u3001FTP\u3001Samba\u3001NFS\u3001DNS\u7b49\u7f51\u7edc\u670d\u52a1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u670d\u52a1\u5668\u914d\u7f6e\u4e0e\u5e94\u7528\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u90e8\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"linux/2022/index.html#_3","text":"Linux\u662f\u7f51\u7edc\u5e94\u7528\u9886\u57df\u4e2d\u5e7f\u6cdb\u4f7f\u7528\u7684\u4e00\u79cd\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u5e03\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u4e3a\u7f51\u7edc\u7cfb\u7edf\u7ba1\u7406\u3001\u4e91\u8ba1\u7b97\u53ca\u670d\u52a1\u5668\u5e94\u7528\u5f00\u53d1\u7b49\u5960\u5b9a\u57fa\u7840\u3002","title":"\u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42"},{"location":"linux/2022/index.html#_4","text":"\u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6982\u8ff0\uff1a\u53d1\u884c\u7248\u3001\u5f00\u6e90\u793e\u533a\u4e0e\u6587\u5316\u3001\u5185\u6838\u7248\u672c\u5386\u53f2\u3001LSB(Linux Standard Base)\u3001CGL(Carrier Grade Linux)\u3001Linux Foundation\u7b49 \u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\uff1a\u7269\u7406\u673a\u5b89\u88c5\u3001\u865a\u62df\u673a\u5b89\u88c5\u3001\u7cfb\u7edf\u5206\u533a\u3001\u65e0\u4eba\u503c\u5b88\u5b89\u88c5\u7b49 \u5185\u7f6e\u5e2e\u52a9\u7cfb\u7edf\u7684\u4f7f\u7528\uff1aman\u3001--help\u3001-h \u547d\u4ee4\u884c\u4f7f\u7528\uff1ashell\u5bb6\u65cf\u3001\u81ea\u52a8\u8865\u5168\u3001\u91cd\u590d\u547d\u4ee4\u8f93\u5165\u7b49bash\u5e38\u7528\u5feb\u6377\u952e\u3001\u6587\u672c\u7f16\u8f91\u4e0e\u67e5\u770b\uff08echo\u3001cat\u3001less\u3001vim\u3001sort\u3001uniq\u3001wc\u7b49\uff09 SSH\u4e0e\u8fdc\u7a0b\u670d\u52a1\u5668\u7ba1\u7406\uff1a\u514d\u5bc6\u767b\u5f55\u3001SSH\u8df3\u677f\u4e0e\u5821\u5792\u4e3b\u673a\u3001SSH\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e8c\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6587\u4ef6\u7684\u538b\u7f29\u4e0e\u89e3\u538b\u7f29\uff1atar\u3001gz\u3001zip\u3001gzip\u30017z\u7b49\u3001\u8de8\u5e73\u53f0\u538b\u7f29\u6587\u4ef6\u7684\u4e2d\u6587\u4e71\u7801\u95ee\u9898\u7b49 \u8f6f\u4ef6\u5305\u7ba1\u7406\uff1a\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d\u3001\u6e90\u7801\u4e0b\u8f7d\u4e0e\u5b89\u88c5 \u6587\u4ef6\u7ba1\u7406\uff1afind\u3001grep\u3001sed\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u8fdb\u7a0b\u7ba1\u7406\uff1aps\u3001kill\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u76ee\u5f55\u7ed3\u6784\uff1aman hier\u3001ls \u7f51\u7edc\u8c03\u8bd5\uff1aethtool\u3001ip\u3001ifconfig\u3001arp\u3001traceroute\u3001netstat\u3001route\u3001/etc/hosts\u3001/etc/resolv.conf\u3001tcpdump\u7b49 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e09\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7528\u6237/\u7ec4\u4e0e\u6743\u9650\u7ba1\u7406\uff1asu\u4e0esudo\u3001passwd\u3001adduser/useradd\u3001groupadd/addgroup\u3001usermod\u3001getfacl/setfacl\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u6587\u4ef6\u7cfb\u7edf\u4e0e\u5b58\u50a8\u7ba1\u7406\uff1a\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b\u4e0e\u683c\u5f0f\u5316\u3001\u78c1\u76d8\u5206\u533a\u3001\u5b58\u50a8\u8bbe\u5907\u4e0e\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\uff08\u5f00\u673a\u81ea\u52a8\u6302\u8f7d\u3001\u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\u3001iso\u6587\u4ef6\u6302\u8f7d\u7b49\uff09\u3001\u57fa\u4e8eLVM\uff08\u903b\u8f91\u5206\u5377\u7ba1\u7406\uff09\u7684\u5206\u533a\u5bb9\u91cf\u52a8\u6001\u8c03\u6574 \u6587\u4ef6\u5907\u4efd\u4e0e\u6062\u590d\uff08\u6587\u4ef6\u548c\u76ee\u5f55\u5c5e\u4e3b\u4fe1\u606f\u7684\u4fdd\u5b58\uff09\u7b49 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff1a\u7cfb\u7edf\u52a0\u8f7d\u6d41\u7a0b\uff08 Systemd \u3001 LSBInitScripts ) \u914d\u7f6e\u6bcf\u5929\u81ea\u52a8\u5b89\u88c5\u5b89\u5168\u66f4\u65b0 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u56db\u7ae0\uff1ashell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u5f00\u53d1\u548c\u8c03\u8bd5\u73af\u5883\u642d\u5efa \u57fa\u672c\u8bed\u6cd5\uff1ashell\u7248\u672c\u3001\u53d8\u91cf\u5b9a\u4e49\u3001\u73af\u5883\u53d8\u91cf\u3001\u8fc7\u7a0b\uff08\u51fd\u6570\uff09\u3001\u6761\u4ef6\u8bed\u53e5\u3001\u5faa\u73af\u3001\u6570\u503c\u8ba1\u7b97\u3001\u6570\u7ec4\u3001\u5b50\u8fdb\u7a0b\u7b49 \u5b9e\u4f8b\u8bb2\u89e3\uff1a\u6821\u56ed\u7f51\u81ea\u52a8\u8054\u7f51bash\u811a\u672c \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e94\u7ae0\uff1aWeb\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09 Web\u670d\u52a1\u57fa\u672c\u6982\u5ff5\uff1aHTTP\u8bf7\u6c42\u5904\u7406\u7684\u751f\u547d\u5468\u671f \u4e3b\u6d41WEB\u670d\u52a1\u5668\uff1aapache 1.x/2.x\u3001nginx\uff08\u884d\u751f\u53d1\u884c\u7248\uff1a OpenResty \u3001 Kong \u3001 Tengine \uff09 \u7528curl\u548cnginx\u91cd\u65b0\u8ba4\u8bc6\u548c\u5b66\u4e60HTTP\u534f\u8bae \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516d\u7ae0\uff1a\u7f51\u7edc\u8d44\u6e90\u5171\u4eab\uff081\u5b66\u65f6\uff09 FTP\u670d\u52a1\u6982\u8ff0\u53caFTP\u670d\u52a1\u5668\u914d\u7f6e NFS\u670d\u52a1\u6982\u8ff0\u53caNFS\u670d\u52a1\u5668\u914d\u7f6e Samba\u670d\u52a1\u6982\u8ff0\u53caSamba\u670d\u52a1\u5668\u5b89\u88c5\u4e0e\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e03\u7ae0\uff1aDHCP\u4e0eDNS\u670d\u52a1\uff081\u5b66\u65f6\uff09 DHCP\u670d\u52a1\u6982\u8ff0 DHCP\u57fa\u672c\u539f\u7406 DHCP\u670d\u52a1\u5668\u5b89\u88c5\u914d\u7f6e DNS\u670d\u52a1\u6982\u8ff0 DNS\u670d\u52a1\u5668\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516b\u7ae0\uff1aDevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72\uff084\u5b66\u65f6\uff09 \u53d1\u5e03\u7ba1\u7406\uff1a\u5f00\u53d1\u73af\u5883\u3001\u6d4b\u8bd5\u73af\u5883\u4e0e\u751f\u4ea7\u73af\u5883\u7684\u4e00\u81f4\u6027\uff08\u4ee3\u7801\u3001\u6570\u636e\u3001\u7f51\u7edc\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u3001\u4f9d\u8d56\u7684lib\u7b49\uff09\u3001\u4e0a\u7ebf\u4e0e\u56de\u6eda \u4e3b\u6d41\u6280\u672f\u5de5\u5177\u94fe\uff1agit\uff08github/gitlab\uff09\u3001 ansible \uff08puppet\u3001chef\u3001salt\u7b49\uff09\u3001docker\uff08dockerfile/k8s/dockerhub\uff09\u3001openstack\uff08KVM\u3001Xen\uff09\u3001openvswitch\u3001tcpreplay \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 | PXE | ansible","title":"\u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d"},{"location":"linux/2022/index.html#_5","text":"H1 \u4e3b\u6d41 Linux \u53d1\u884c\u7248\u521d\u4f53\u9a8c\uff082\u5b66\u65f6\uff09\uff1a\u672c\u5730\u5b9e\u9a8c\u73af\u5883\u548c\u4e91\u5b9e\u9a8c\u73af\u5883 \u2b50\ufe0f\u2b50\ufe0f H2 Linux\u547d\u4ee4\u884c\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u672c\u5730\u5b9e\u9a8c\u73af\u5883\u548c\u4e91\u5b9e\u9a8c\u73af\u5883 \u2b50\ufe0f\u2b50\ufe0f H3 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f H4 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u6587\u672c\u5904\u7406\uff08\u8003\u5bdf\u53bb\u91cd\u3001\u7edf\u8ba1\u3001\u6392\u5e8f\u7b49\u64cd\u4f5c\uff09\u3001\u6587\u4ef6\u6279\u91cf\u91cd\u547d\u540d\uff08\u7b80\u5355\u91cd\u547d\u540d\u89c4\u5219\u3001\u590d\u6742\u91cd\u547d\u540d\u89c4\u5219\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H5 \u652f\u6301\u53cd\u5411\u4ee3\u7406\u3001\u6d41\u91cf\u63a7\u5236\u3001\u5173\u952e\u8bcd\u8fc7\u6ee4\u7b49\u529f\u80fd\u7684\u9ad8\u7ea7Web\u670d\u52a1\u5668\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H6 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u8fdb\u9636\uff082\u5b66\u65f6\uff09\uff1aFTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H7 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528ansible\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H8 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528\u5bb9\u5668\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u7b49\u7ea7 \u8bf4\u660e \u2b50\ufe0f \u7167\u846b\u82a6\u753b\u74e2\uff0c\u6ca1\u6709\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f \u7167\u732b\u753b\u864e\uff0c\u53ef\u80fd\u6709\u5c0f\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u6709\u8f83\u4e3a\u8be6\u7ec6\u7684\u53c2\u8003\u8d44\u6599\uff0c\u4f46\u5751\u4e5f\u4e0d\u5c11\uff0c\u8003\u5bdf\u81ea\u5df1\u52a8\u624b\u641c\u7d22\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u53c2\u8003\u8d44\u6599\u8f83\u591a\uff0c\u4f46\u9700\u8981\u63d0\u9ad8\u4fe1\u606f\u68c0\u7d22\u548c\u7504\u522b\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u504f\u7efc\u5408\u80fd\u529b\u8bad\u7ec3\uff0c\u7f16\u7a0b\u80fd\u529b\u8981\u6c42\u4e2d\u7b49\u504f\u4e0a\u3002","title":"\u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282"},{"location":"linux/2022/index.html#_6","text":"\u6240\u6709\u8bfe\u4ef6\u7684\u6e90\u4ee3\u7801\u5747\u5df2\u5f00\u6e90\u5728 Github - c4pr1c3/LinuxSysAdmin","title":"\u4e94\u3001\u5efa\u8bae\u6559\u6750"},{"location":"linux/2022/index.html#_7","text":"Linux Foundation Certified System Administrator Red Hat System Administration I RH124 Red Hat System Administration II with RHCSA exam Red Hat Certified System Administrator (RHCSA) exam EX200 BASH Programming - Introduction HOW-TO Bash Reference Manual from gnu.org Shell Style Guide by Google Inc. UNIX TOOLBOX: a collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users \u9e1f\u54e5\u7684Linux\u79c1\u623f\u83dc","title":"\u516d\u3001\u53c2\u8003\u8d44\u6599"},{"location":"linux/2022/calendar.html","text":"2022 \u6625\u6559\u5b66\u65e5\u5386 \u4e0a\u8bfe\u524d\u51c6\u5907 \u8bf7\u5927\u5bb6\u63d0\u524d\u6ce8\u518c\u4e00\u4e2a\u963f\u91cc\u4e91\u8d26\u53f7\uff08\u65e0\u9700\u4ed8\u8d39\u8d2d\u4e70\u4efb\u4f55\u670d\u52a1\uff09 \u8bf7\u5927\u5bb6\u63d0\u524d\u5728 Virtualbox \u4e2d\u5b89\u88c5\u597d Ubuntu 20.04 \u7cfb\u7edf \u81ea\u5df1\u641e\u4e0d\u5b9a\u624b\u52a8\u5b89\u88c5\u8fc7\u7a0b\u7684\u53ef\u4ee5\u76f4\u63a5 \u5bfc\u5165\u6211\u5b89\u88c5\u597d\u7684\u865a\u62df\u673a \uff0c\u5982\u4e0b\u6240\u793a \u94fe\u63a5: https://pan.baidu.com/s/1nZ3-kiYz_gOeZeRKMgw3tA \u63d0\u53d6\u7801: cadd \u590d\u5236\u8fd9\u6bb5\u5185\u5bb9\u540e\u6253\u5f00\u767e\u5ea6\u7f51\u76d8\u624b\u673aApp\uff0c\u64cd\u4f5c\u66f4\u65b9\u4fbf\u54e6 \u7b2c\u4e00\u5468 2022-02-21\uff08\u7ebf\u4e0a\u76f4\u64ad\uff09 \u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff0c\u8be6\u89c1 \u6559\u5b66\u8ba1\u5212 - \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d \u7b2c\u4e8c\u5468 2022-02-28\uff08\u7ebf\u4e0a\u76f4\u64ad\uff09 \u7b2c\u4e8c\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840 \u7b2c\u4e09\u5468 2022-03-07\uff08\u7ebf\u4e0a\u76f4\u64ad\uff09 \u5728\u7ebf \u76f4\u64ad \u7b54\u7591\u3002 \u7b2c\u4e00\u7ae0\u5b9e\u9a8c \u7b2c\u4e8c\u7ae0\u5b9e\u9a8c \u7b2c\u56db\u5468 2022-03-14\uff08\u7ebf\u4e0a\uff09 \u5728\u7ebf \u6587\u5b57 \u7b54\u7591\u3002 \u7b2c\u4e00\u7ae0\u5b9e\u9a8c \u7b2c\u4e8c\u7ae0\u5b9e\u9a8c H1 \u63d0\u4ea4\u622a\u6b62 2022-03-14 23:59:59 \u7b2c\u4e94\u5468 2022-03-21\uff08\u7ebf\u4e0a\u76f4\u64ad\u4f34\u5b66\uff09 \u7b2c\u4e09\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840 H2 \u63d0\u4ea4\u622a\u6b62 2022-03-21 23:59:59 \u7b2c\u516d\u5468 2022-03-28\uff08\u7ebf\u4e0a\u76f4\u64ad\u7b54\u7591\uff09 \u81ea\u884c\u5b8c\u6210\u7b2c\u4e09\u7ae0\u5b9e\u9a8c \u7b2c\u4e03\u5468 2022-04-02\uff08\u7ebf\u4e0a\u5f55\u64ad\uff09\u6e05\u660e\u5047\u671f\u8c03\u6574 \u7b2c\u56db\u7ae0 Shell\u811a\u672c\u7f16\u7a0b\u57fa\u7840 H3 \u63d0\u4ea4\u622a\u6b62 2022-04-05 23:59:59 \u7b2c\u516b\u5468 2022-04-11\uff08\u7ebf\u4e0a\u76f4\u64ad\uff09 \u7b2c\u56db\u7ae0\u5b9e\u9a8c \u7b2c\u4e5d\u5468 2022-04-18\uff08\u7ebf\u4e0a\u5f55\u64ad\uff09 \u7b2c\u4e94\u7ae0 Web\u670d\u52a1\u5668 H4 \u63d0\u4ea4\u622a\u6b62 2022-04-18 23:59:59 \u7b2c\u5341\u5468 2022-04-25\uff08\u7ebf\u4e0a\u5f55\u64ad\uff09 \u7b2c\u516d\u7ae0 \u7f51\u7edc\u8d44\u6e90\u5171\u4eab \u7b2c\u4e03\u7ae0 DHCP\u4e0eDNS\u670d\u52a1 \u7b2c\u5341\u4e00\u5468 2022-05-02\uff08\u8bfb\u4e66\u5468\u653e\u5047\uff09 \u7b2c\u5341\u4e8c\u5468 2022-05-09\uff08\u7ebf\u4e0a\u76f4\u64ad\uff09 \u7b2c\u4e94\u7ae0\u5b9e\u9a8c \u7b2c\u5341\u4e09\u5468 2022-05-16\uff08\u7ebf\u4e0a\u5f55\u64ad\uff09 \u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 H5 \u63d0\u4ea4\u622a\u6b62 2022-05-16 23:59:59 \u7b2c\u5341\u56db\u5468 2022-05-23\uff08\u7ebf\u4e0a\u76f4\u64ad\uff09 \u7b2c\u516d\u4e03\u7ae0\u5b9e\u9a8c \u7b2c\u5341\u4e94\u5468 2022-05-30\uff08\u7ebf\u4e0a\u5f55\u64ad\uff09 \u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: \u5b9e\u6218\u5165\u95e8 Cloud-Init \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: Ansible H6 \u63d0\u4ea4\u622a\u6b62 2022-05-30 23:59:59 \u7b2c\u5341\u516d\u5468 2022-06-06\uff08\u7ebf\u4e0a\u76f4\u64ad\uff09 \u81ea\u884c\u5b8c\u6210\u7b2c\u516b\u7ae0\u5b9e\u9a8c \u7b2c\u5341\u4e03\u5468 2022-06-13\uff08\u7ebf\u4e0a\u76f4\u64ad\uff09 \u7b2c\u516b\u7ae0\u5b9e\u9a8c H7 \u548c H8 \u63d0\u4ea4\u622a\u6b62 2022-07-04 23:59:59","title":"2022 \u6625\u6559\u5b66\u65e5\u5386"},{"location":"linux/2022/calendar.html#2022","text":"","title":"2022 \u6625\u6559\u5b66\u65e5\u5386"},{"location":"linux/2022/calendar.html#_1","text":"\u8bf7\u5927\u5bb6\u63d0\u524d\u6ce8\u518c\u4e00\u4e2a\u963f\u91cc\u4e91\u8d26\u53f7\uff08\u65e0\u9700\u4ed8\u8d39\u8d2d\u4e70\u4efb\u4f55\u670d\u52a1\uff09 \u8bf7\u5927\u5bb6\u63d0\u524d\u5728 Virtualbox \u4e2d\u5b89\u88c5\u597d Ubuntu 20.04 \u7cfb\u7edf \u81ea\u5df1\u641e\u4e0d\u5b9a\u624b\u52a8\u5b89\u88c5\u8fc7\u7a0b\u7684\u53ef\u4ee5\u76f4\u63a5 \u5bfc\u5165\u6211\u5b89\u88c5\u597d\u7684\u865a\u62df\u673a \uff0c\u5982\u4e0b\u6240\u793a \u94fe\u63a5: https://pan.baidu.com/s/1nZ3-kiYz_gOeZeRKMgw3tA \u63d0\u53d6\u7801: cadd \u590d\u5236\u8fd9\u6bb5\u5185\u5bb9\u540e\u6253\u5f00\u767e\u5ea6\u7f51\u76d8\u624b\u673aApp\uff0c\u64cd\u4f5c\u66f4\u65b9\u4fbf\u54e6","title":"\u4e0a\u8bfe\u524d\u51c6\u5907"},{"location":"linux/2022/calendar.html#2022-02-21","text":"\u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff0c\u8be6\u89c1 \u6559\u5b66\u8ba1\u5212 - \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d","title":"\u7b2c\u4e00\u5468 2022-02-21\uff08\u7ebf\u4e0a\u76f4\u64ad\uff09"},{"location":"linux/2022/calendar.html#2022-02-28","text":"\u7b2c\u4e8c\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840","title":"\u7b2c\u4e8c\u5468 2022-02-28\uff08\u7ebf\u4e0a\u76f4\u64ad\uff09"},{"location":"linux/2022/calendar.html#2022-03-07","text":"\u5728\u7ebf \u76f4\u64ad \u7b54\u7591\u3002 \u7b2c\u4e00\u7ae0\u5b9e\u9a8c \u7b2c\u4e8c\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u4e09\u5468 2022-03-07\uff08\u7ebf\u4e0a\u76f4\u64ad\uff09"},{"location":"linux/2022/calendar.html#2022-03-14","text":"\u5728\u7ebf \u6587\u5b57 \u7b54\u7591\u3002 \u7b2c\u4e00\u7ae0\u5b9e\u9a8c \u7b2c\u4e8c\u7ae0\u5b9e\u9a8c H1 \u63d0\u4ea4\u622a\u6b62 2022-03-14 23:59:59","title":"\u7b2c\u56db\u5468 2022-03-14\uff08\u7ebf\u4e0a\uff09"},{"location":"linux/2022/calendar.html#2022-03-21","text":"\u7b2c\u4e09\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840 H2 \u63d0\u4ea4\u622a\u6b62 2022-03-21 23:59:59","title":"\u7b2c\u4e94\u5468 2022-03-21\uff08\u7ebf\u4e0a\u76f4\u64ad\u4f34\u5b66\uff09"},{"location":"linux/2022/calendar.html#2022-03-28","text":"\u81ea\u884c\u5b8c\u6210\u7b2c\u4e09\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u516d\u5468 2022-03-28\uff08\u7ebf\u4e0a\u76f4\u64ad\u7b54\u7591\uff09"},{"location":"linux/2022/calendar.html#2022-04-02","text":"\u7b2c\u56db\u7ae0 Shell\u811a\u672c\u7f16\u7a0b\u57fa\u7840 H3 \u63d0\u4ea4\u622a\u6b62 2022-04-05 23:59:59","title":"\u7b2c\u4e03\u5468 2022-04-02\uff08\u7ebf\u4e0a\u5f55\u64ad\uff09\u6e05\u660e\u5047\u671f\u8c03\u6574"},{"location":"linux/2022/calendar.html#2022-04-11","text":"\u7b2c\u56db\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u516b\u5468 2022-04-11\uff08\u7ebf\u4e0a\u76f4\u64ad\uff09"},{"location":"linux/2022/calendar.html#2022-04-18","text":"\u7b2c\u4e94\u7ae0 Web\u670d\u52a1\u5668 H4 \u63d0\u4ea4\u622a\u6b62 2022-04-18 23:59:59","title":"\u7b2c\u4e5d\u5468 2022-04-18\uff08\u7ebf\u4e0a\u5f55\u64ad\uff09"},{"location":"linux/2022/calendar.html#2022-04-25","text":"\u7b2c\u516d\u7ae0 \u7f51\u7edc\u8d44\u6e90\u5171\u4eab \u7b2c\u4e03\u7ae0 DHCP\u4e0eDNS\u670d\u52a1","title":"\u7b2c\u5341\u5468 2022-04-25\uff08\u7ebf\u4e0a\u5f55\u64ad\uff09"},{"location":"linux/2022/calendar.html#2022-05-02","text":"","title":"\u7b2c\u5341\u4e00\u5468 2022-05-02\uff08\u8bfb\u4e66\u5468\u653e\u5047\uff09"},{"location":"linux/2022/calendar.html#2022-05-09","text":"\u7b2c\u4e94\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u5341\u4e8c\u5468 2022-05-09\uff08\u7ebf\u4e0a\u76f4\u64ad\uff09"},{"location":"linux/2022/calendar.html#2022-05-16","text":"\u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 H5 \u63d0\u4ea4\u622a\u6b62 2022-05-16 23:59:59","title":"\u7b2c\u5341\u4e09\u5468 2022-05-16\uff08\u7ebf\u4e0a\u5f55\u64ad\uff09"},{"location":"linux/2022/calendar.html#2022-05-23","text":"\u7b2c\u516d\u4e03\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u5341\u56db\u5468 2022-05-23\uff08\u7ebf\u4e0a\u76f4\u64ad\uff09"},{"location":"linux/2022/calendar.html#2022-05-30","text":"\u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: \u5b9e\u6218\u5165\u95e8 Cloud-Init \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: Ansible H6 \u63d0\u4ea4\u622a\u6b62 2022-05-30 23:59:59","title":"\u7b2c\u5341\u4e94\u5468 2022-05-30\uff08\u7ebf\u4e0a\u5f55\u64ad\uff09"},{"location":"linux/2022/calendar.html#2022-06-06","text":"\u81ea\u884c\u5b8c\u6210\u7b2c\u516b\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u5341\u516d\u5468 2022-06-06\uff08\u7ebf\u4e0a\u76f4\u64ad\uff09"},{"location":"linux/2022/calendar.html#2022-06-13","text":"\u7b2c\u516b\u7ae0\u5b9e\u9a8c H7 \u548c H8 \u63d0\u4ea4\u622a\u6b62 2022-07-04 23:59:59","title":"\u7b2c\u5341\u4e03\u5468 2022-06-13\uff08\u7ebf\u4e0a\u76f4\u64ad\uff09"},{"location":"linux/2022/homework.html","text":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219 \u603b\u6210\u7ee9\u6784\u6210 \u7b49\u7ea7\u6210\u7ee9\u7c7b\u578b\uff1a\u767e\u5206\u5236 \u603b\u6210\u7ee9 = \u5e73\u65f6\u6210\u7ee9 \u7cfb\u6570 20% + \u671f\u672b\u6210\u7ee9 \u7cfb\u6570 60% + \u8003\u52e4\u6210\u7ee9 \u7cfb\u6570 10% + \u7ebf\u4e0a\u6210\u7ee9 \u7cfb\u6570 10% \u603b\u6210\u7ee9\u8bc4\u5b9a\u89c4\u5219 \u8be6\u89c1 \u5728\u7ebf\u6210\u7ee9\u8ba1\u7b97\u5668 \u4e2d\u7684\u793a\u4f8b\u6570\u636e\u548c\u5177\u4f53\u5355\u5143\u683c\u7684\u8ba1\u7b97\u516c\u5f0f \u5e73\u65f6\u6210\u7ee9 \u57fa\u4e8e \u5ba2\u89c2\u4e8b\u5b9e \u7684\u300c\u4e3b\u89c2\u8bc4\u4ef7\u300d\u3002 \u5ba2\u89c2\u4e8b\u5b9e \u6765\u6e90\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u5728\u6821\u5185\u7545\u8bfe\u5e73\u53f0\u4e0a\u7684\u8ba8\u8bba\u533a\u63d0\u51fa\u597d\u95ee\u9898\u3001\u56de\u7b54\u95ee\u9898\u5bf9\u5176\u4ed6\u540c\u5b66\u4ea7\u751f\u4e86\u6709\u6548\u5e2e\u52a9\u3001\u8bfe\u5802\u4e0a\u79ef\u6781\u53c2\u4e0e\u4e92\u52a8\u7b49 \u671f\u672b\u6210\u7ee9 8 \u7ae0\u8bfe\u7a0b\uff0c\u6bcf\u7ae0\u8bfe\u540e\u5747\u7559\u6709\u4f5c\u4e1a\uff0c\u6309\u7ae0\u8282\u987a\u5e8f\u5206\u522b\u8bb0\u4e3a\uff1aH1 ~ H8 \u6ee1\u5206 10 \u5206\u7684 \u5fc5\u9009 \u4f5c\u4e1a\uff1aH1, H2, H3, H4 \u6ee1\u5206 20 \u5206\u7684 \u56db\u9009\u4e00 \u4f5c\u4e1a\uff1aH5, H6, H7, H8\u3002\u8be5\u9879\u8ba1\u5206\u516c\u5f0f\u4e3a\uff1amax(H5, H6, H7, H8) \u3002 H6, H7, H8 \u8981\u6c42\u63d0\u4ea4\u5230\u79c1\u6709\u4ed3\u5e93\uff0c\u5176\u4ed6\u7ae0\u8282\u4f5c\u4e1a\u5747\u63d0\u4ea4\u5230\u516c\u5f00\u4ed3\u5e93\u3002 \u8003\u52e4\u6210\u7ee9 \u672c\u5b66\u671f\u4e00\u5171\u8bb0\u5f55\u8003\u52e4 16 \u6b21\uff0c\u6bcf\u6b21\u6b63\u5e38\u7b7e\u5230\u5f97 0.5 \u5206\uff0c\u8fdf\u5230\u5f97 0.2 \u5206\uff0c\u65f7\u8bfe\u5f97 0 \u5206\u3002\u6709\u5047\u6761\u7684\u75c5\u4e8b\u5047\u6309\u6b63\u5e38\u7b7e\u5230\u8ba1\u5206\u3002 \u5b66\u671f\u8003\u52e4\u5168\u52e4\uff08\u7d2f\u8ba1\u8ba1\u5206 8 \u5206\uff09\uff0c\u83b7\u5f97\u5168\u52e4\u52a0\u5206 2 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [7.5, 8)\uff0c\u83b7\u5f97\u8003\u52e4\u52a0\u5206 1.5 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [7, 7.5)\uff0c\u83b7\u5f97\u8003\u52e4\u52a0\u5206 1 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [6.5, 7)\uff0c\u83b7\u5f97\u8003\u52e4\u52a0\u5206 0.5 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [5.5, 6.5)\uff0c\u65e0\u8003\u52e4\u52a0\u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [0, 5.5)\uff0c\u76f4\u63a5\u6302\u79d1 \u3002 \u7ebf\u4e0a\u6210\u7ee9 \u6821\u5185\u7545\u8bfe\u5e73\u53f0\u4e0a\u5355\u5143\u6d4b\u8bd5\u6210\u7ee9\u7d2f\u52a0\u540e\u8fdb\u884c\u7b49\u6bd4\u4f8b\u6298\u7b97\u3002","title":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219"},{"location":"linux/2022/homework.html#_1","text":"","title":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219"},{"location":"linux/2022/homework.html#_2","text":"\u7b49\u7ea7\u6210\u7ee9\u7c7b\u578b\uff1a\u767e\u5206\u5236 \u603b\u6210\u7ee9 = \u5e73\u65f6\u6210\u7ee9 \u7cfb\u6570 20% + \u671f\u672b\u6210\u7ee9 \u7cfb\u6570 60% + \u8003\u52e4\u6210\u7ee9 \u7cfb\u6570 10% + \u7ebf\u4e0a\u6210\u7ee9 \u7cfb\u6570 10%","title":"\u603b\u6210\u7ee9\u6784\u6210"},{"location":"linux/2022/homework.html#_3","text":"\u8be6\u89c1 \u5728\u7ebf\u6210\u7ee9\u8ba1\u7b97\u5668 \u4e2d\u7684\u793a\u4f8b\u6570\u636e\u548c\u5177\u4f53\u5355\u5143\u683c\u7684\u8ba1\u7b97\u516c\u5f0f","title":"\u603b\u6210\u7ee9\u8bc4\u5b9a\u89c4\u5219"},{"location":"linux/2022/homework.html#_4","text":"\u57fa\u4e8e \u5ba2\u89c2\u4e8b\u5b9e \u7684\u300c\u4e3b\u89c2\u8bc4\u4ef7\u300d\u3002 \u5ba2\u89c2\u4e8b\u5b9e \u6765\u6e90\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u5728\u6821\u5185\u7545\u8bfe\u5e73\u53f0\u4e0a\u7684\u8ba8\u8bba\u533a\u63d0\u51fa\u597d\u95ee\u9898\u3001\u56de\u7b54\u95ee\u9898\u5bf9\u5176\u4ed6\u540c\u5b66\u4ea7\u751f\u4e86\u6709\u6548\u5e2e\u52a9\u3001\u8bfe\u5802\u4e0a\u79ef\u6781\u53c2\u4e0e\u4e92\u52a8\u7b49","title":"\u5e73\u65f6\u6210\u7ee9"},{"location":"linux/2022/homework.html#_5","text":"8 \u7ae0\u8bfe\u7a0b\uff0c\u6bcf\u7ae0\u8bfe\u540e\u5747\u7559\u6709\u4f5c\u4e1a\uff0c\u6309\u7ae0\u8282\u987a\u5e8f\u5206\u522b\u8bb0\u4e3a\uff1aH1 ~ H8 \u6ee1\u5206 10 \u5206\u7684 \u5fc5\u9009 \u4f5c\u4e1a\uff1aH1, H2, H3, H4 \u6ee1\u5206 20 \u5206\u7684 \u56db\u9009\u4e00 \u4f5c\u4e1a\uff1aH5, H6, H7, H8\u3002\u8be5\u9879\u8ba1\u5206\u516c\u5f0f\u4e3a\uff1amax(H5, H6, H7, H8) \u3002 H6, H7, H8 \u8981\u6c42\u63d0\u4ea4\u5230\u79c1\u6709\u4ed3\u5e93\uff0c\u5176\u4ed6\u7ae0\u8282\u4f5c\u4e1a\u5747\u63d0\u4ea4\u5230\u516c\u5f00\u4ed3\u5e93\u3002","title":"\u671f\u672b\u6210\u7ee9"},{"location":"linux/2022/homework.html#_6","text":"\u672c\u5b66\u671f\u4e00\u5171\u8bb0\u5f55\u8003\u52e4 16 \u6b21\uff0c\u6bcf\u6b21\u6b63\u5e38\u7b7e\u5230\u5f97 0.5 \u5206\uff0c\u8fdf\u5230\u5f97 0.2 \u5206\uff0c\u65f7\u8bfe\u5f97 0 \u5206\u3002\u6709\u5047\u6761\u7684\u75c5\u4e8b\u5047\u6309\u6b63\u5e38\u7b7e\u5230\u8ba1\u5206\u3002 \u5b66\u671f\u8003\u52e4\u5168\u52e4\uff08\u7d2f\u8ba1\u8ba1\u5206 8 \u5206\uff09\uff0c\u83b7\u5f97\u5168\u52e4\u52a0\u5206 2 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [7.5, 8)\uff0c\u83b7\u5f97\u8003\u52e4\u52a0\u5206 1.5 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [7, 7.5)\uff0c\u83b7\u5f97\u8003\u52e4\u52a0\u5206 1 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [6.5, 7)\uff0c\u83b7\u5f97\u8003\u52e4\u52a0\u5206 0.5 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [5.5, 6.5)\uff0c\u65e0\u8003\u52e4\u52a0\u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [0, 5.5)\uff0c\u76f4\u63a5\u6302\u79d1 \u3002","title":"\u8003\u52e4\u6210\u7ee9"},{"location":"linux/2022/homework.html#_7","text":"\u6821\u5185\u7545\u8bfe\u5e73\u53f0\u4e0a\u5355\u5143\u6d4b\u8bd5\u6210\u7ee9\u7d2f\u52a0\u540e\u8fdb\u884c\u7b49\u6bd4\u4f8b\u6298\u7b97\u3002","title":"\u7ebf\u4e0a\u6210\u7ee9"},{"location":"linux/2023/index.html","text":"Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406 \u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u8bfe\u7a0b\u7f16\u53f7\uff1a2121030017 \u82f1\u6587\u540d\u79f0\uff1aLinux System and Network Management \u6388\u8bfe\u5bf9\u8c61\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168 \u5f00\u8bfe\u5b66\u671f\uff1a4 \u5b66\u5206/\u5b66\u65f6\uff1a1.5/32\uff08\u8bfe\u518516\u5b66\u65f6\uff0c\u5b9e\u9a8c\u4e0a\u673a16\u5b66\u65f6\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u8ba1\u7b97\u673a\u5bfc\u8bba\uff0c\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5185\uff08\u7ebf\u4e0a\uff09\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219 2021 \u5e74\u5b8c\u6574\u8bfe\u7a0b\u89c6\u9891\u56de\u653e \u8bfe\u7a0b\u7b80\u4ecb Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u652f\u6301\u591a\u7528\u6237\u4e0e\u591a\u4efb\u52a1\uff0c\u8fd1\u5e74\u6765\u53d1\u5c55\u8fc5\u901f\uff0c\u5df2\u7ecf\u6210\u4e3a\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e00\uff0c\u5177\u6709\u5341\u5206\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u672c\u8bfe\u7a0b\u4ee5Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u4e3a\u8303\u4f8b\uff0c\u4ee5\u7406\u8bba\u8054\u7cfb\u5b9e\u9645\u7684\u6559\u5b66\u65b9\u6cd5\uff0c\u7cfb\u7edf\u5b66\u4e60\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f7f\u7528\u4ee5\u53ca\u7f51\u7edc\u7cfb\u7edf\u548c\u7f51\u7edc\u670d\u52a1\u6784\u5efa\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u5e76\u901a\u8fc7\u8bfe\u7a0b\u5b9e\u8df5\uff0c\u57f9\u517b\u5b66\u751f\u7684\u5b9e\u9645\u6280\u80fd\u3002\u4e3b\u8981\u5305\u62ecLinux\u5b89\u88c5\u3001\u7cfb\u7edf\u7ba1\u7406\u4e0e\u7f51\u7edc\u57fa\u7840\uff1bDHCP\u3001WEB\u3001FTP\u3001Samba\u3001NFS\u3001DNS\u7b49\u7f51\u7edc\u670d\u52a1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u670d\u52a1\u5668\u914d\u7f6e\u4e0e\u5e94\u7528\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u90e8\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\u3002 \u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42 Linux\u662f\u7f51\u7edc\u5e94\u7528\u9886\u57df\u4e2d\u5e7f\u6cdb\u4f7f\u7528\u7684\u4e00\u79cd\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u5e03\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u4e3a\u7f51\u7edc\u7cfb\u7edf\u7ba1\u7406\u3001\u4e91\u8ba1\u7b97\u53ca\u670d\u52a1\u5668\u5e94\u7528\u5f00\u53d1\u7b49\u5960\u5b9a\u57fa\u7840\u3002 \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d \u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6982\u8ff0\uff1a\u53d1\u884c\u7248\u3001\u5f00\u6e90\u793e\u533a\u4e0e\u6587\u5316\u3001\u5185\u6838\u7248\u672c\u5386\u53f2\u3001LSB(Linux Standard Base)\u3001CGL(Carrier Grade Linux)\u3001Linux Foundation\u7b49 \u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\uff1a\u7269\u7406\u673a\u5b89\u88c5\u3001\u865a\u62df\u673a\u5b89\u88c5\u3001\u7cfb\u7edf\u5206\u533a\u3001\u65e0\u4eba\u503c\u5b88\u5b89\u88c5\u7b49 \u5185\u7f6e\u5e2e\u52a9\u7cfb\u7edf\u7684\u4f7f\u7528\uff1aman\u3001--help\u3001-h \u547d\u4ee4\u884c\u4f7f\u7528\uff1ashell\u5bb6\u65cf\u3001\u81ea\u52a8\u8865\u5168\u3001\u91cd\u590d\u547d\u4ee4\u8f93\u5165\u7b49bash\u5e38\u7528\u5feb\u6377\u952e\u3001\u6587\u672c\u7f16\u8f91\u4e0e\u67e5\u770b\uff08echo\u3001cat\u3001less\u3001vim\u3001sort\u3001uniq\u3001wc\u7b49\uff09 SSH\u4e0e\u8fdc\u7a0b\u670d\u52a1\u5668\u7ba1\u7406\uff1a\u514d\u5bc6\u767b\u5f55\u3001SSH\u8df3\u677f\u4e0e\u5821\u5792\u4e3b\u673a\u3001SSH\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e8c\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6587\u4ef6\u7684\u538b\u7f29\u4e0e\u89e3\u538b\u7f29\uff1atar\u3001gz\u3001zip\u3001gzip\u30017z\u7b49\u3001\u8de8\u5e73\u53f0\u538b\u7f29\u6587\u4ef6\u7684\u4e2d\u6587\u4e71\u7801\u95ee\u9898\u7b49 \u8f6f\u4ef6\u5305\u7ba1\u7406\uff1a\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d\u3001\u6e90\u7801\u4e0b\u8f7d\u4e0e\u5b89\u88c5 \u6587\u4ef6\u7ba1\u7406\uff1afind\u3001grep\u3001sed\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u8fdb\u7a0b\u7ba1\u7406\uff1aps\u3001kill\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u76ee\u5f55\u7ed3\u6784\uff1aman hier\u3001ls \u7f51\u7edc\u8c03\u8bd5\uff1aethtool\u3001ip\u3001ifconfig\u3001arp\u3001traceroute\u3001netstat\u3001route\u3001/etc/hosts\u3001/etc/resolv.conf\u3001tcpdump\u7b49 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e09\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7528\u6237/\u7ec4\u4e0e\u6743\u9650\u7ba1\u7406\uff1asu\u4e0esudo\u3001passwd\u3001adduser/useradd\u3001groupadd/addgroup\u3001usermod\u3001getfacl/setfacl\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u6587\u4ef6\u7cfb\u7edf\u4e0e\u5b58\u50a8\u7ba1\u7406\uff1a\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b\u4e0e\u683c\u5f0f\u5316\u3001\u78c1\u76d8\u5206\u533a\u3001\u5b58\u50a8\u8bbe\u5907\u4e0e\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\uff08\u5f00\u673a\u81ea\u52a8\u6302\u8f7d\u3001\u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\u3001iso\u6587\u4ef6\u6302\u8f7d\u7b49\uff09\u3001\u57fa\u4e8eLVM\uff08\u903b\u8f91\u5206\u5377\u7ba1\u7406\uff09\u7684\u5206\u533a\u5bb9\u91cf\u52a8\u6001\u8c03\u6574 \u6587\u4ef6\u5907\u4efd\u4e0e\u6062\u590d\uff08\u6587\u4ef6\u548c\u76ee\u5f55\u5c5e\u4e3b\u4fe1\u606f\u7684\u4fdd\u5b58\uff09\u7b49 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff1a\u7cfb\u7edf\u52a0\u8f7d\u6d41\u7a0b\uff08 Systemd \u3001 LSBInitScripts ) \u914d\u7f6e\u6bcf\u5929\u81ea\u52a8\u5b89\u88c5\u5b89\u5168\u66f4\u65b0 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u56db\u7ae0\uff1ashell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u5f00\u53d1\u548c\u8c03\u8bd5\u73af\u5883\u642d\u5efa \u57fa\u672c\u8bed\u6cd5\uff1ashell\u7248\u672c\u3001\u53d8\u91cf\u5b9a\u4e49\u3001\u73af\u5883\u53d8\u91cf\u3001\u8fc7\u7a0b\uff08\u51fd\u6570\uff09\u3001\u6761\u4ef6\u8bed\u53e5\u3001\u5faa\u73af\u3001\u6570\u503c\u8ba1\u7b97\u3001\u6570\u7ec4\u3001\u5b50\u8fdb\u7a0b\u7b49 \u5b9e\u4f8b\u8bb2\u89e3\uff1a\u6821\u56ed\u7f51\u81ea\u52a8\u8054\u7f51bash\u811a\u672c \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e94\u7ae0\uff1aWeb\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09 Web\u670d\u52a1\u57fa\u672c\u6982\u5ff5\uff1aHTTP\u8bf7\u6c42\u5904\u7406\u7684\u751f\u547d\u5468\u671f \u4e3b\u6d41WEB\u670d\u52a1\u5668\uff1aapache 1.x/2.x\u3001nginx\uff08\u884d\u751f\u53d1\u884c\u7248\uff1a OpenResty \u3001 Kong \u3001 Tengine \uff09 \u7528curl\u548cnginx\u91cd\u65b0\u8ba4\u8bc6\u548c\u5b66\u4e60HTTP\u534f\u8bae \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516d\u7ae0\uff1a\u7f51\u7edc\u8d44\u6e90\u5171\u4eab\uff081\u5b66\u65f6\uff09 FTP\u670d\u52a1\u6982\u8ff0\u53caFTP\u670d\u52a1\u5668\u914d\u7f6e NFS\u670d\u52a1\u6982\u8ff0\u53caNFS\u670d\u52a1\u5668\u914d\u7f6e Samba\u670d\u52a1\u6982\u8ff0\u53caSamba\u670d\u52a1\u5668\u5b89\u88c5\u4e0e\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e03\u7ae0\uff1aDHCP\u4e0eDNS\u670d\u52a1\uff081\u5b66\u65f6\uff09 DHCP\u670d\u52a1\u6982\u8ff0 DHCP\u57fa\u672c\u539f\u7406 DHCP\u670d\u52a1\u5668\u5b89\u88c5\u914d\u7f6e DNS\u670d\u52a1\u6982\u8ff0 DNS\u670d\u52a1\u5668\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516b\u7ae0\uff1aDevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72\uff084\u5b66\u65f6\uff09 \u53d1\u5e03\u7ba1\u7406\uff1a\u5f00\u53d1\u73af\u5883\u3001\u6d4b\u8bd5\u73af\u5883\u4e0e\u751f\u4ea7\u73af\u5883\u7684\u4e00\u81f4\u6027\uff08\u4ee3\u7801\u3001\u6570\u636e\u3001\u7f51\u7edc\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u3001\u4f9d\u8d56\u7684lib\u7b49\uff09\u3001\u4e0a\u7ebf\u4e0e\u56de\u6eda \u4e3b\u6d41\u6280\u672f\u5de5\u5177\u94fe\uff1agit\uff08github/gitlab\uff09\u3001 ansible \uff08puppet\u3001chef\u3001salt\u7b49\uff09\u3001docker\uff08dockerfile/k8s/dockerhub\uff09\u3001openstack\uff08KVM\u3001Xen\uff09\u3001openvswitch\u3001tcpreplay \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 | PXE | ansible \u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282 H1 \u4e3b\u6d41 Linux \u53d1\u884c\u7248\u521d\u4f53\u9a8c\uff082\u5b66\u65f6\uff09\uff1a\u672c\u5730\u5b9e\u9a8c\u73af\u5883\u548c\u4e91\u5b9e\u9a8c\u73af\u5883 \u2b50\ufe0f\u2b50\ufe0f H2 Linux\u547d\u4ee4\u884c\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u672c\u5730\u5b9e\u9a8c\u73af\u5883\u548c\u4e91\u5b9e\u9a8c\u73af\u5883 \u2b50\ufe0f\u2b50\ufe0f H3 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f H4 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u6587\u672c\u5904\u7406\uff08\u8003\u5bdf\u53bb\u91cd\u3001\u7edf\u8ba1\u3001\u6392\u5e8f\u7b49\u64cd\u4f5c\uff09\u3001\u6587\u4ef6\u6279\u91cf\u91cd\u547d\u540d\uff08\u7b80\u5355\u91cd\u547d\u540d\u89c4\u5219\u3001\u590d\u6742\u91cd\u547d\u540d\u89c4\u5219\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H5 \u652f\u6301\u53cd\u5411\u4ee3\u7406\u3001\u6d41\u91cf\u63a7\u5236\u3001\u5173\u952e\u8bcd\u8fc7\u6ee4\u7b49\u529f\u80fd\u7684\u9ad8\u7ea7Web\u670d\u52a1\u5668\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H6 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u8fdb\u9636\uff082\u5b66\u65f6\uff09\uff1aFTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H7 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528ansible\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H8 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528\u5bb9\u5668\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u7b49\u7ea7 \u8bf4\u660e \u2b50\ufe0f \u7167\u846b\u82a6\u753b\u74e2\uff0c\u6ca1\u6709\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f \u7167\u732b\u753b\u864e\uff0c\u53ef\u80fd\u6709\u5c0f\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u6709\u8f83\u4e3a\u8be6\u7ec6\u7684\u53c2\u8003\u8d44\u6599\uff0c\u4f46\u5751\u4e5f\u4e0d\u5c11\uff0c\u8003\u5bdf\u81ea\u5df1\u52a8\u624b\u641c\u7d22\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u53c2\u8003\u8d44\u6599\u8f83\u591a\uff0c\u4f46\u9700\u8981\u63d0\u9ad8\u4fe1\u606f\u68c0\u7d22\u548c\u7504\u522b\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u504f\u7efc\u5408\u80fd\u529b\u8bad\u7ec3\uff0c\u7f16\u7a0b\u80fd\u529b\u8981\u6c42\u4e2d\u7b49\u504f\u4e0a\u3002 \u4e94\u3001\u5efa\u8bae\u6559\u6750 \u6240\u6709\u8bfe\u4ef6\u7684\u6e90\u4ee3\u7801\u5747\u5df2\u5f00\u6e90\u5728 Github - c4pr1c3/LinuxSysAdmin \u516d\u3001\u53c2\u8003\u8d44\u6599 Linux Foundation Certified System Administrator Red Hat System Administration I RH124 Red Hat System Administration II with RHCSA exam Red Hat Certified System Administrator (RHCSA) exam EX200 BASH Programming - Introduction HOW-TO Bash Reference Manual from gnu.org Shell Style Guide by Google Inc. UNIX TOOLBOX: a collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users \u9e1f\u54e5\u7684Linux\u79c1\u623f\u83dc","title":"2023\u5e74"},{"location":"linux/2023/index.html#linux","text":"","title":"Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406"},{"location":"linux/2023/index.html#_1","text":"\u8bfe\u7a0b\u7f16\u53f7\uff1a2121030017 \u82f1\u6587\u540d\u79f0\uff1aLinux System and Network Management \u6388\u8bfe\u5bf9\u8c61\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168 \u5f00\u8bfe\u5b66\u671f\uff1a4 \u5b66\u5206/\u5b66\u65f6\uff1a1.5/32\uff08\u8bfe\u518516\u5b66\u65f6\uff0c\u5b9e\u9a8c\u4e0a\u673a16\u5b66\u65f6\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u8ba1\u7b97\u673a\u5bfc\u8bba\uff0c\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5185\uff08\u7ebf\u4e0a\uff09\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219 2021 \u5e74\u5b8c\u6574\u8bfe\u7a0b\u89c6\u9891\u56de\u653e","title":"\u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"linux/2023/index.html#_2","text":"Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u652f\u6301\u591a\u7528\u6237\u4e0e\u591a\u4efb\u52a1\uff0c\u8fd1\u5e74\u6765\u53d1\u5c55\u8fc5\u901f\uff0c\u5df2\u7ecf\u6210\u4e3a\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e00\uff0c\u5177\u6709\u5341\u5206\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u672c\u8bfe\u7a0b\u4ee5Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u4e3a\u8303\u4f8b\uff0c\u4ee5\u7406\u8bba\u8054\u7cfb\u5b9e\u9645\u7684\u6559\u5b66\u65b9\u6cd5\uff0c\u7cfb\u7edf\u5b66\u4e60\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f7f\u7528\u4ee5\u53ca\u7f51\u7edc\u7cfb\u7edf\u548c\u7f51\u7edc\u670d\u52a1\u6784\u5efa\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u5e76\u901a\u8fc7\u8bfe\u7a0b\u5b9e\u8df5\uff0c\u57f9\u517b\u5b66\u751f\u7684\u5b9e\u9645\u6280\u80fd\u3002\u4e3b\u8981\u5305\u62ecLinux\u5b89\u88c5\u3001\u7cfb\u7edf\u7ba1\u7406\u4e0e\u7f51\u7edc\u57fa\u7840\uff1bDHCP\u3001WEB\u3001FTP\u3001Samba\u3001NFS\u3001DNS\u7b49\u7f51\u7edc\u670d\u52a1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u670d\u52a1\u5668\u914d\u7f6e\u4e0e\u5e94\u7528\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u90e8\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"linux/2023/index.html#_3","text":"Linux\u662f\u7f51\u7edc\u5e94\u7528\u9886\u57df\u4e2d\u5e7f\u6cdb\u4f7f\u7528\u7684\u4e00\u79cd\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u5e03\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u4e3a\u7f51\u7edc\u7cfb\u7edf\u7ba1\u7406\u3001\u4e91\u8ba1\u7b97\u53ca\u670d\u52a1\u5668\u5e94\u7528\u5f00\u53d1\u7b49\u5960\u5b9a\u57fa\u7840\u3002","title":"\u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42"},{"location":"linux/2023/index.html#_4","text":"\u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6982\u8ff0\uff1a\u53d1\u884c\u7248\u3001\u5f00\u6e90\u793e\u533a\u4e0e\u6587\u5316\u3001\u5185\u6838\u7248\u672c\u5386\u53f2\u3001LSB(Linux Standard Base)\u3001CGL(Carrier Grade Linux)\u3001Linux Foundation\u7b49 \u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\uff1a\u7269\u7406\u673a\u5b89\u88c5\u3001\u865a\u62df\u673a\u5b89\u88c5\u3001\u7cfb\u7edf\u5206\u533a\u3001\u65e0\u4eba\u503c\u5b88\u5b89\u88c5\u7b49 \u5185\u7f6e\u5e2e\u52a9\u7cfb\u7edf\u7684\u4f7f\u7528\uff1aman\u3001--help\u3001-h \u547d\u4ee4\u884c\u4f7f\u7528\uff1ashell\u5bb6\u65cf\u3001\u81ea\u52a8\u8865\u5168\u3001\u91cd\u590d\u547d\u4ee4\u8f93\u5165\u7b49bash\u5e38\u7528\u5feb\u6377\u952e\u3001\u6587\u672c\u7f16\u8f91\u4e0e\u67e5\u770b\uff08echo\u3001cat\u3001less\u3001vim\u3001sort\u3001uniq\u3001wc\u7b49\uff09 SSH\u4e0e\u8fdc\u7a0b\u670d\u52a1\u5668\u7ba1\u7406\uff1a\u514d\u5bc6\u767b\u5f55\u3001SSH\u8df3\u677f\u4e0e\u5821\u5792\u4e3b\u673a\u3001SSH\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e8c\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6587\u4ef6\u7684\u538b\u7f29\u4e0e\u89e3\u538b\u7f29\uff1atar\u3001gz\u3001zip\u3001gzip\u30017z\u7b49\u3001\u8de8\u5e73\u53f0\u538b\u7f29\u6587\u4ef6\u7684\u4e2d\u6587\u4e71\u7801\u95ee\u9898\u7b49 \u8f6f\u4ef6\u5305\u7ba1\u7406\uff1a\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d\u3001\u6e90\u7801\u4e0b\u8f7d\u4e0e\u5b89\u88c5 \u6587\u4ef6\u7ba1\u7406\uff1afind\u3001grep\u3001sed\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u8fdb\u7a0b\u7ba1\u7406\uff1aps\u3001kill\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u76ee\u5f55\u7ed3\u6784\uff1aman hier\u3001ls \u7f51\u7edc\u8c03\u8bd5\uff1aethtool\u3001ip\u3001ifconfig\u3001arp\u3001traceroute\u3001netstat\u3001route\u3001/etc/hosts\u3001/etc/resolv.conf\u3001tcpdump\u7b49 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e09\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7528\u6237/\u7ec4\u4e0e\u6743\u9650\u7ba1\u7406\uff1asu\u4e0esudo\u3001passwd\u3001adduser/useradd\u3001groupadd/addgroup\u3001usermod\u3001getfacl/setfacl\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u6587\u4ef6\u7cfb\u7edf\u4e0e\u5b58\u50a8\u7ba1\u7406\uff1a\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b\u4e0e\u683c\u5f0f\u5316\u3001\u78c1\u76d8\u5206\u533a\u3001\u5b58\u50a8\u8bbe\u5907\u4e0e\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\uff08\u5f00\u673a\u81ea\u52a8\u6302\u8f7d\u3001\u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\u3001iso\u6587\u4ef6\u6302\u8f7d\u7b49\uff09\u3001\u57fa\u4e8eLVM\uff08\u903b\u8f91\u5206\u5377\u7ba1\u7406\uff09\u7684\u5206\u533a\u5bb9\u91cf\u52a8\u6001\u8c03\u6574 \u6587\u4ef6\u5907\u4efd\u4e0e\u6062\u590d\uff08\u6587\u4ef6\u548c\u76ee\u5f55\u5c5e\u4e3b\u4fe1\u606f\u7684\u4fdd\u5b58\uff09\u7b49 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff1a\u7cfb\u7edf\u52a0\u8f7d\u6d41\u7a0b\uff08 Systemd \u3001 LSBInitScripts ) \u914d\u7f6e\u6bcf\u5929\u81ea\u52a8\u5b89\u88c5\u5b89\u5168\u66f4\u65b0 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u56db\u7ae0\uff1ashell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u5f00\u53d1\u548c\u8c03\u8bd5\u73af\u5883\u642d\u5efa \u57fa\u672c\u8bed\u6cd5\uff1ashell\u7248\u672c\u3001\u53d8\u91cf\u5b9a\u4e49\u3001\u73af\u5883\u53d8\u91cf\u3001\u8fc7\u7a0b\uff08\u51fd\u6570\uff09\u3001\u6761\u4ef6\u8bed\u53e5\u3001\u5faa\u73af\u3001\u6570\u503c\u8ba1\u7b97\u3001\u6570\u7ec4\u3001\u5b50\u8fdb\u7a0b\u7b49 \u5b9e\u4f8b\u8bb2\u89e3\uff1a\u6821\u56ed\u7f51\u81ea\u52a8\u8054\u7f51bash\u811a\u672c \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e94\u7ae0\uff1aWeb\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09 Web\u670d\u52a1\u57fa\u672c\u6982\u5ff5\uff1aHTTP\u8bf7\u6c42\u5904\u7406\u7684\u751f\u547d\u5468\u671f \u4e3b\u6d41WEB\u670d\u52a1\u5668\uff1aapache 1.x/2.x\u3001nginx\uff08\u884d\u751f\u53d1\u884c\u7248\uff1a OpenResty \u3001 Kong \u3001 Tengine \uff09 \u7528curl\u548cnginx\u91cd\u65b0\u8ba4\u8bc6\u548c\u5b66\u4e60HTTP\u534f\u8bae \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516d\u7ae0\uff1a\u7f51\u7edc\u8d44\u6e90\u5171\u4eab\uff081\u5b66\u65f6\uff09 FTP\u670d\u52a1\u6982\u8ff0\u53caFTP\u670d\u52a1\u5668\u914d\u7f6e NFS\u670d\u52a1\u6982\u8ff0\u53caNFS\u670d\u52a1\u5668\u914d\u7f6e Samba\u670d\u52a1\u6982\u8ff0\u53caSamba\u670d\u52a1\u5668\u5b89\u88c5\u4e0e\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e03\u7ae0\uff1aDHCP\u4e0eDNS\u670d\u52a1\uff081\u5b66\u65f6\uff09 DHCP\u670d\u52a1\u6982\u8ff0 DHCP\u57fa\u672c\u539f\u7406 DHCP\u670d\u52a1\u5668\u5b89\u88c5\u914d\u7f6e DNS\u670d\u52a1\u6982\u8ff0 DNS\u670d\u52a1\u5668\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516b\u7ae0\uff1aDevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72\uff084\u5b66\u65f6\uff09 \u53d1\u5e03\u7ba1\u7406\uff1a\u5f00\u53d1\u73af\u5883\u3001\u6d4b\u8bd5\u73af\u5883\u4e0e\u751f\u4ea7\u73af\u5883\u7684\u4e00\u81f4\u6027\uff08\u4ee3\u7801\u3001\u6570\u636e\u3001\u7f51\u7edc\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u3001\u4f9d\u8d56\u7684lib\u7b49\uff09\u3001\u4e0a\u7ebf\u4e0e\u56de\u6eda \u4e3b\u6d41\u6280\u672f\u5de5\u5177\u94fe\uff1agit\uff08github/gitlab\uff09\u3001 ansible \uff08puppet\u3001chef\u3001salt\u7b49\uff09\u3001docker\uff08dockerfile/k8s/dockerhub\uff09\u3001openstack\uff08KVM\u3001Xen\uff09\u3001openvswitch\u3001tcpreplay \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 | PXE | ansible","title":"\u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d"},{"location":"linux/2023/index.html#_5","text":"H1 \u4e3b\u6d41 Linux \u53d1\u884c\u7248\u521d\u4f53\u9a8c\uff082\u5b66\u65f6\uff09\uff1a\u672c\u5730\u5b9e\u9a8c\u73af\u5883\u548c\u4e91\u5b9e\u9a8c\u73af\u5883 \u2b50\ufe0f\u2b50\ufe0f H2 Linux\u547d\u4ee4\u884c\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u672c\u5730\u5b9e\u9a8c\u73af\u5883\u548c\u4e91\u5b9e\u9a8c\u73af\u5883 \u2b50\ufe0f\u2b50\ufe0f H3 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f H4 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u6587\u672c\u5904\u7406\uff08\u8003\u5bdf\u53bb\u91cd\u3001\u7edf\u8ba1\u3001\u6392\u5e8f\u7b49\u64cd\u4f5c\uff09\u3001\u6587\u4ef6\u6279\u91cf\u91cd\u547d\u540d\uff08\u7b80\u5355\u91cd\u547d\u540d\u89c4\u5219\u3001\u590d\u6742\u91cd\u547d\u540d\u89c4\u5219\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H5 \u652f\u6301\u53cd\u5411\u4ee3\u7406\u3001\u6d41\u91cf\u63a7\u5236\u3001\u5173\u952e\u8bcd\u8fc7\u6ee4\u7b49\u529f\u80fd\u7684\u9ad8\u7ea7Web\u670d\u52a1\u5668\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H6 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u8fdb\u9636\uff082\u5b66\u65f6\uff09\uff1aFTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H7 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528ansible\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H8 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528\u5bb9\u5668\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u7b49\u7ea7 \u8bf4\u660e \u2b50\ufe0f \u7167\u846b\u82a6\u753b\u74e2\uff0c\u6ca1\u6709\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f \u7167\u732b\u753b\u864e\uff0c\u53ef\u80fd\u6709\u5c0f\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u6709\u8f83\u4e3a\u8be6\u7ec6\u7684\u53c2\u8003\u8d44\u6599\uff0c\u4f46\u5751\u4e5f\u4e0d\u5c11\uff0c\u8003\u5bdf\u81ea\u5df1\u52a8\u624b\u641c\u7d22\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u53c2\u8003\u8d44\u6599\u8f83\u591a\uff0c\u4f46\u9700\u8981\u63d0\u9ad8\u4fe1\u606f\u68c0\u7d22\u548c\u7504\u522b\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u504f\u7efc\u5408\u80fd\u529b\u8bad\u7ec3\uff0c\u7f16\u7a0b\u80fd\u529b\u8981\u6c42\u4e2d\u7b49\u504f\u4e0a\u3002","title":"\u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282"},{"location":"linux/2023/index.html#_6","text":"\u6240\u6709\u8bfe\u4ef6\u7684\u6e90\u4ee3\u7801\u5747\u5df2\u5f00\u6e90\u5728 Github - c4pr1c3/LinuxSysAdmin","title":"\u4e94\u3001\u5efa\u8bae\u6559\u6750"},{"location":"linux/2023/index.html#_7","text":"Linux Foundation Certified System Administrator Red Hat System Administration I RH124 Red Hat System Administration II with RHCSA exam Red Hat Certified System Administrator (RHCSA) exam EX200 BASH Programming - Introduction HOW-TO Bash Reference Manual from gnu.org Shell Style Guide by Google Inc. UNIX TOOLBOX: a collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users \u9e1f\u54e5\u7684Linux\u79c1\u623f\u83dc","title":"\u516d\u3001\u53c2\u8003\u8d44\u6599"},{"location":"linux/2023/calendar.html","text":"2023 \u6625\u6559\u5b66\u65e5\u5386 \u4e0a\u8bfe\u524d\u51c6\u5907 \u7528\u4e2d\u4f20\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u65b9\u5f0f\u6fc0\u6d3b\u81ea\u5df1\u5728 https://git.cuc.edu.cn/ \u7684\u8d26\u53f7 \u8bf7\u5927\u5bb6\u63d0\u524d\u6ce8\u518c\u4e00\u4e2a\u963f\u91cc\u4e91\u8d26\u53f7\uff08\u65e0\u9700\u4ed8\u8d39\u8d2d\u4e70\u4efb\u4f55\u670d\u52a1\uff09 \u8bf7\u5927\u5bb6\u63d0\u524d\u5728 Virtualbox \u4e2d\u5b89\u88c5\u597d Ubuntu 22.04 \u7cfb\u7edf \u81ea\u5df1\u641e\u4e0d\u5b9a\u624b\u52a8\u5b89\u88c5\u8fc7\u7a0b\u7684\u53ef\u4ee5\u76f4\u63a5 \u5bfc\u5165\u6211\u5b89\u88c5\u597d\u7684\u865a\u62df\u673a \uff0c\u5982\u4e0b\u6240\u793a \u5206\u4eab\u540d\u79f0\uff1aLinux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406-\u8bfe\u7a0b\u516c\u5f00\u5206\u4eab \u5206\u4eab\u94fe\u63a5\uff1ahttps://kod.cuc.edu.cn/#s/9BGcMgPw \u8bbf\u95ee\u5bc6\u7801\uff1asumw2 \u7b2c\u4e00\u5468 2023-03-02\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff0c\u8be6\u89c1 \u6559\u5b66\u8ba1\u5212 - \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d \u7b2c\u4e8c\u5468 2023-03-09\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e00\u7ae0\u5b9e\u9a8c H1 \u63d0\u4ea4\u622a\u6b62 2023-03-15 23:59:59 \u7b2c\u4e09\u5468 2023-03-16\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u4e8c\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840 \u7b2c\u56db\u5468 2023-03-23\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e8c\u7ae0\u5b9e\u9a8c H2 \u63d0\u4ea4\u622a\u6b62 2023-03-29 23:59:59 \u7b2c\u4e94\u5468 2023-03-30\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u4e09\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7b2c\u516d\u5468 2023-04-06\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e09\u7ae0\u5b9e\u9a8c H3 \u63d0\u4ea4\u622a\u6b62 2023-04-05 23:59:59 \u7b2c\u4e03\u5468 2023-04-13\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u56db\u7ae0 Shell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7b2c\u516b\u5468 2023-04-20\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u56db\u7ae0\u5b9e\u9a8c H4 \u63d0\u4ea4\u622a\u6b62 2023-04-26 23:59:59 \u7b2c\u4e5d\u5468 2023-04-27\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u4e94\u7ae0 Web\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09 \u7b2c\u5341\u5468 2023-05-04\uff08\u8bfb\u4e66\u5468\u653e\u5047\uff09 \u7b2c\u5341\u4e00\u5468 2023-05-11\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u516d\u7ae0 \u7f51\u7edc\u8d44\u6e90\u5171\u4eab \u7b2c\u4e03\u7ae0 DHCP \u4e0e DNS \u670d\u52a1 \u7b2c\u5341\u4e8c\u5468 2023-05-18\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e94\u7ae0\u5b9e\u9a8c H5 \u63d0\u4ea4\u622a\u6b62 2023-05-24 23:59:59 \u7b2c\u5341\u4e09\u5468 2023-05-25\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 \u7b2c\u5341\u56db\u5468 2023-06-01\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u516d\u4e03\u7ae0\u5b9e\u9a8c H6 \u63d0\u4ea4\u622a\u6b62 2023-06-21 23:59:59 \u7b2c\u5341\u4e94\u5468 2023-06-08\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 \u7b2c\u5341\u516d\u5468 2023-06-15\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u516b\u7ae0\u5b9e\u9a8c \u7b2c\u5341\u4e03\u5468 2023-06-22\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: \u5b9e\u6218\u5165\u95e8 Cloud-Init \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: Ansible \u81ea\u884c\u5b8c\u6210\u672c\u5b66\u671f\u6240\u6709\u5b9e\u9a8c H7\u3001H8 \u7684\u63d0\u4ea4\u622a\u6b62\u65f6\u95f4\u4e3a 2023-07-07 23:59:59 \uff0c\u4e5f\u662f\u672c\u5b66\u671f\u6240\u6709\u5b9e\u9a8c\u62a5\u544a\u7684\u63d0\u4ea4\u622a\u6b62\u65f6\u95f4\u3002","title":"2023 \u6625\u6559\u5b66\u65e5\u5386"},{"location":"linux/2023/calendar.html#2023","text":"","title":"2023 \u6625\u6559\u5b66\u65e5\u5386"},{"location":"linux/2023/calendar.html#_1","text":"\u7528\u4e2d\u4f20\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u65b9\u5f0f\u6fc0\u6d3b\u81ea\u5df1\u5728 https://git.cuc.edu.cn/ \u7684\u8d26\u53f7 \u8bf7\u5927\u5bb6\u63d0\u524d\u6ce8\u518c\u4e00\u4e2a\u963f\u91cc\u4e91\u8d26\u53f7\uff08\u65e0\u9700\u4ed8\u8d39\u8d2d\u4e70\u4efb\u4f55\u670d\u52a1\uff09 \u8bf7\u5927\u5bb6\u63d0\u524d\u5728 Virtualbox \u4e2d\u5b89\u88c5\u597d Ubuntu 22.04 \u7cfb\u7edf \u81ea\u5df1\u641e\u4e0d\u5b9a\u624b\u52a8\u5b89\u88c5\u8fc7\u7a0b\u7684\u53ef\u4ee5\u76f4\u63a5 \u5bfc\u5165\u6211\u5b89\u88c5\u597d\u7684\u865a\u62df\u673a \uff0c\u5982\u4e0b\u6240\u793a \u5206\u4eab\u540d\u79f0\uff1aLinux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406-\u8bfe\u7a0b\u516c\u5f00\u5206\u4eab \u5206\u4eab\u94fe\u63a5\uff1ahttps://kod.cuc.edu.cn/#s/9BGcMgPw \u8bbf\u95ee\u5bc6\u7801\uff1asumw2","title":"\u4e0a\u8bfe\u524d\u51c6\u5907"},{"location":"linux/2023/calendar.html#2023-03-02","text":"\u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff0c\u8be6\u89c1 \u6559\u5b66\u8ba1\u5212 - \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d","title":"\u7b2c\u4e00\u5468 2023-03-02\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2023/calendar.html#2023-03-09","text":"\u7b2c\u4e00\u7ae0\u5b9e\u9a8c H1 \u63d0\u4ea4\u622a\u6b62 2023-03-15 23:59:59","title":"\u7b2c\u4e8c\u5468 2023-03-09\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2023/calendar.html#2023-03-16","text":"\u7b2c\u4e8c\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840","title":"\u7b2c\u4e09\u5468 2023-03-16\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2023/calendar.html#2023-03-23","text":"\u7b2c\u4e8c\u7ae0\u5b9e\u9a8c H2 \u63d0\u4ea4\u622a\u6b62 2023-03-29 23:59:59","title":"\u7b2c\u56db\u5468 2023-03-23\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2023/calendar.html#2023-03-30","text":"\u7b2c\u4e09\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09","title":"\u7b2c\u4e94\u5468 2023-03-30\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2023/calendar.html#2023-04-06","text":"\u7b2c\u4e09\u7ae0\u5b9e\u9a8c H3 \u63d0\u4ea4\u622a\u6b62 2023-04-05 23:59:59","title":"\u7b2c\u516d\u5468 2023-04-06\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2023/calendar.html#2023-04-13","text":"\u7b2c\u56db\u7ae0 Shell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09","title":"\u7b2c\u4e03\u5468 2023-04-13\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2023/calendar.html#2023-04-20","text":"\u7b2c\u56db\u7ae0\u5b9e\u9a8c H4 \u63d0\u4ea4\u622a\u6b62 2023-04-26 23:59:59","title":"\u7b2c\u516b\u5468 2023-04-20\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2023/calendar.html#2023-04-27","text":"\u7b2c\u4e94\u7ae0 Web\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09","title":"\u7b2c\u4e5d\u5468 2023-04-27\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2023/calendar.html#2023-05-04","text":"","title":"\u7b2c\u5341\u5468 2023-05-04\uff08\u8bfb\u4e66\u5468\u653e\u5047\uff09"},{"location":"linux/2023/calendar.html#2023-05-11","text":"\u7b2c\u516d\u7ae0 \u7f51\u7edc\u8d44\u6e90\u5171\u4eab \u7b2c\u4e03\u7ae0 DHCP \u4e0e DNS \u670d\u52a1","title":"\u7b2c\u5341\u4e00\u5468 2023-05-11\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2023/calendar.html#2023-05-18","text":"\u7b2c\u4e94\u7ae0\u5b9e\u9a8c H5 \u63d0\u4ea4\u622a\u6b62 2023-05-24 23:59:59","title":"\u7b2c\u5341\u4e8c\u5468 2023-05-18\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2023/calendar.html#2023-05-25","text":"\u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72","title":"\u7b2c\u5341\u4e09\u5468 2023-05-25\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2023/calendar.html#2023-06-01","text":"\u7b2c\u516d\u4e03\u7ae0\u5b9e\u9a8c H6 \u63d0\u4ea4\u622a\u6b62 2023-06-21 23:59:59","title":"\u7b2c\u5341\u56db\u5468 2023-06-01\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2023/calendar.html#2023-06-08","text":"\u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72","title":"\u7b2c\u5341\u4e94\u5468 2023-06-08\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2023/calendar.html#2023-06-15","text":"\u7b2c\u516b\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u5341\u516d\u5468 2023-06-15\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2023/calendar.html#2023-06-22","text":"\uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: \u5b9e\u6218\u5165\u95e8 Cloud-Init \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: Ansible \u81ea\u884c\u5b8c\u6210\u672c\u5b66\u671f\u6240\u6709\u5b9e\u9a8c H7\u3001H8 \u7684\u63d0\u4ea4\u622a\u6b62\u65f6\u95f4\u4e3a 2023-07-07 23:59:59 \uff0c\u4e5f\u662f\u672c\u5b66\u671f\u6240\u6709\u5b9e\u9a8c\u62a5\u544a\u7684\u63d0\u4ea4\u622a\u6b62\u65f6\u95f4\u3002","title":"\u7b2c\u5341\u4e03\u5468 2023-06-22\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2023/gitlab.html","text":"\u5173\u4e8e GitLab \u4f7f\u7528\u7684\u89c4\u8303\u548c\u8981\u6c42 \u4ee5\u4e0b\u5185\u5bb9\u9002\u7528\u4e8e https://git.cuc.edu.cn/ \u3002 \u5f53\u524d\u5b66\u671f\u6211\u4eec\u7684 \u8bfe\u7a0b\u4e13\u5c5e\u9879\u76ee\u7ec4 \u5bf9\u5e94\u7684\u94fe\u63a5\u4e3a https://git.cuc.edu.cn/ccs/linux-2023 \u3002 \u7528\u6237\u540d \u4f7f\u7528\u5b66\u6821\u7684\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u767b\u5f55\uff0c\u7f3a\u7701\u6bcf\u4e2a\u7528\u6237\u5728\u7cfb\u7edf\u4e2d\u90fd\u662f\u5b9e\u540d\u5236\uff08\u771f\u5b9e\u59d3\u540d\u548c\u5b66\u53f7\uff09\u3002 \u516c\u5f00\u4ed3\u5e93\u547d\u540d \u5728 \u8bfe\u7a0b\u4e13\u5c5e\u9879\u76ee\u7ec4 \u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u65b0\u4ed3\u5e93\uff1a New project \u3002 \u4e3a\u4e86\u4fbf\u4e8e\u5b9e\u9a8c\u62a5\u544a\u6279\u6539\u548c\u6210\u7ee9\u7edf\u8ba1\uff0c\u6bcf\u540d\u540c\u5b66\u53ea\u5141\u8bb8\u521b\u5efa\u4e00\u4e2a\u516c\u5f00\u4ed3\u5e93\u3002 \u5bf9\u65b0\u5efa\u7684\u4ed3\u5e93\u8fdb\u884c\u547d\u540d\uff0c\u63a8\u8350\u4f7f\u7528\u4e2a\u4eba\u59d3\u540d\u7684\u6c49\u8bed\u62fc\u97f3\u7b80\u62fc\u6216\u8005\u5168\u62fc\u6216\u8005\u7f51\u540dID\u3002 \u68c0\u67e5\u81ea\u5df1\u7684\u516c\u5f00\u4ed3\u5e93\u9996\u9875\u94fe\u63a5\u683c\u5f0f\uff0c\u786e\u4fdd\u683c\u5f0f\u4e3a\uff1a https://git.cuc.edu.cn/ccs/linux-2023/<\u65b0\u5efa\u4ed3\u5e93\u547d\u540d> \u3002 \u79c1\u6709\u4ed3\u5e93\u547d\u540d \u5728\u81ea\u5df1 \u4e2a\u4eba \u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u65b0\u4ed3\u5e93\uff1a New project \u3002 \u5728 Project URL \u91cc\u7684 Pick a group or namespace \u4e0b\u62c9\u9009\u6846\u91cc\u9009\u62e9 Users \u4e0b\u7684\u4f60\u7684\u7528\u6237\u540d\u3002 \u5728 Project slug \u91cc\u586b\u5165\u4f60\u7684\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u547d\u540d\uff0c\u5bf9\u65b0\u5efa\u7684\u4ed3\u5e93\u8fdb\u884c\u547d\u540d\uff0c\u63a8\u8350\u4f7f\u7528\u4e2a\u4eba\u59d3\u540d\u7684\u6c49\u8bed\u62fc\u97f3\u7b80\u62fc\u6216\u8005\u5168\u62fc\u6216\u8005\u7f51\u540dID\u3002 \u68c0\u67e5\u81ea\u5df1\u7684\u516c\u5f00\u4ed3\u5e93\u9996\u9875\u94fe\u63a5\u683c\u5f0f\uff0c\u786e\u4fdd\u683c\u5f0f\u4e3a\uff1a https://git.cuc.edu.cn/<\u4f60\u7684\u7528\u6237\u540d>/<\u65b0\u5efa\u4ed3\u5e93\u547d\u540d> \u3002 \u5c06\u52a9\u6559\u548c\u8001\u5e08\u6dfb\u52a0\u5230\u4f60\u7684\u4e2a\u4eba\u79c1\u6709\u4ed3\u5e93\u7684\uff1a\u8fdb\u5165\u4f60\u65b0\u521b\u5efa\u7684\u4e2a\u4eba\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\uff0c\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u91cc\u4f9d\u6b21\u627e\u5230 Project information - members \uff0c\u53f3\u4e0a\u89d2\u70b9\u51fb Invite members \uff0c\u5728 Username or email address \u91cc\u4f9d\u6b21\u8f93\u5165\u52a9\u6559\u540c\u5b66\u548c\u8001\u5e08\u59d3\u540d\uff0c\u9010\u4e2a \u9f20\u6807\u70b9\u51fb\u641c\u7d22\u7ed3\u679c\u91cc\u7684\u7528\u6237\u5934\u50cf \u6dfb\u52a0\u5230\u7528\u6237\u540d\u7684\u8f93\u5165\u6846\u91cc\uff08\u6dfb\u52a0\u6210\u529f\u65f6\uff0c\u8be5\u7528\u6237\u540d\u7684\u53f3\u4fa7\u4f1a\u591a\u51fa\u6765\u4e00\u4e2a X \u6309\u94ae\uff09\uff0c Select a role \u9009\u62e9 Maintainer \uff0c\u70b9\u51fb Invite \u5b8c\u6210\u7528\u6237\u6dfb\u52a0\u3002","title":"\u5173\u4e8e GitLab \u4f7f\u7528\u7684\u89c4\u8303\u548c\u8981\u6c42"},{"location":"linux/2023/gitlab.html#gitlab","text":"\u4ee5\u4e0b\u5185\u5bb9\u9002\u7528\u4e8e https://git.cuc.edu.cn/ \u3002 \u5f53\u524d\u5b66\u671f\u6211\u4eec\u7684 \u8bfe\u7a0b\u4e13\u5c5e\u9879\u76ee\u7ec4 \u5bf9\u5e94\u7684\u94fe\u63a5\u4e3a https://git.cuc.edu.cn/ccs/linux-2023 \u3002","title":"\u5173\u4e8e GitLab \u4f7f\u7528\u7684\u89c4\u8303\u548c\u8981\u6c42"},{"location":"linux/2023/gitlab.html#_1","text":"\u4f7f\u7528\u5b66\u6821\u7684\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u767b\u5f55\uff0c\u7f3a\u7701\u6bcf\u4e2a\u7528\u6237\u5728\u7cfb\u7edf\u4e2d\u90fd\u662f\u5b9e\u540d\u5236\uff08\u771f\u5b9e\u59d3\u540d\u548c\u5b66\u53f7\uff09\u3002","title":"\u7528\u6237\u540d"},{"location":"linux/2023/gitlab.html#_2","text":"\u5728 \u8bfe\u7a0b\u4e13\u5c5e\u9879\u76ee\u7ec4 \u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u65b0\u4ed3\u5e93\uff1a New project \u3002 \u4e3a\u4e86\u4fbf\u4e8e\u5b9e\u9a8c\u62a5\u544a\u6279\u6539\u548c\u6210\u7ee9\u7edf\u8ba1\uff0c\u6bcf\u540d\u540c\u5b66\u53ea\u5141\u8bb8\u521b\u5efa\u4e00\u4e2a\u516c\u5f00\u4ed3\u5e93\u3002 \u5bf9\u65b0\u5efa\u7684\u4ed3\u5e93\u8fdb\u884c\u547d\u540d\uff0c\u63a8\u8350\u4f7f\u7528\u4e2a\u4eba\u59d3\u540d\u7684\u6c49\u8bed\u62fc\u97f3\u7b80\u62fc\u6216\u8005\u5168\u62fc\u6216\u8005\u7f51\u540dID\u3002 \u68c0\u67e5\u81ea\u5df1\u7684\u516c\u5f00\u4ed3\u5e93\u9996\u9875\u94fe\u63a5\u683c\u5f0f\uff0c\u786e\u4fdd\u683c\u5f0f\u4e3a\uff1a https://git.cuc.edu.cn/ccs/linux-2023/<\u65b0\u5efa\u4ed3\u5e93\u547d\u540d> \u3002","title":"\u516c\u5f00\u4ed3\u5e93\u547d\u540d"},{"location":"linux/2023/gitlab.html#_3","text":"\u5728\u81ea\u5df1 \u4e2a\u4eba \u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u65b0\u4ed3\u5e93\uff1a New project \u3002 \u5728 Project URL \u91cc\u7684 Pick a group or namespace \u4e0b\u62c9\u9009\u6846\u91cc\u9009\u62e9 Users \u4e0b\u7684\u4f60\u7684\u7528\u6237\u540d\u3002 \u5728 Project slug \u91cc\u586b\u5165\u4f60\u7684\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u547d\u540d\uff0c\u5bf9\u65b0\u5efa\u7684\u4ed3\u5e93\u8fdb\u884c\u547d\u540d\uff0c\u63a8\u8350\u4f7f\u7528\u4e2a\u4eba\u59d3\u540d\u7684\u6c49\u8bed\u62fc\u97f3\u7b80\u62fc\u6216\u8005\u5168\u62fc\u6216\u8005\u7f51\u540dID\u3002 \u68c0\u67e5\u81ea\u5df1\u7684\u516c\u5f00\u4ed3\u5e93\u9996\u9875\u94fe\u63a5\u683c\u5f0f\uff0c\u786e\u4fdd\u683c\u5f0f\u4e3a\uff1a https://git.cuc.edu.cn/<\u4f60\u7684\u7528\u6237\u540d>/<\u65b0\u5efa\u4ed3\u5e93\u547d\u540d> \u3002 \u5c06\u52a9\u6559\u548c\u8001\u5e08\u6dfb\u52a0\u5230\u4f60\u7684\u4e2a\u4eba\u79c1\u6709\u4ed3\u5e93\u7684\uff1a\u8fdb\u5165\u4f60\u65b0\u521b\u5efa\u7684\u4e2a\u4eba\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\uff0c\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u91cc\u4f9d\u6b21\u627e\u5230 Project information - members \uff0c\u53f3\u4e0a\u89d2\u70b9\u51fb Invite members \uff0c\u5728 Username or email address \u91cc\u4f9d\u6b21\u8f93\u5165\u52a9\u6559\u540c\u5b66\u548c\u8001\u5e08\u59d3\u540d\uff0c\u9010\u4e2a \u9f20\u6807\u70b9\u51fb\u641c\u7d22\u7ed3\u679c\u91cc\u7684\u7528\u6237\u5934\u50cf \u6dfb\u52a0\u5230\u7528\u6237\u540d\u7684\u8f93\u5165\u6846\u91cc\uff08\u6dfb\u52a0\u6210\u529f\u65f6\uff0c\u8be5\u7528\u6237\u540d\u7684\u53f3\u4fa7\u4f1a\u591a\u51fa\u6765\u4e00\u4e2a X \u6309\u94ae\uff09\uff0c Select a role \u9009\u62e9 Maintainer \uff0c\u70b9\u51fb Invite \u5b8c\u6210\u7528\u6237\u6dfb\u52a0\u3002","title":"\u79c1\u6709\u4ed3\u5e93\u547d\u540d"},{"location":"linux/2023/homework.html","text":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219 \u603b\u6210\u7ee9\u6784\u6210 \u7b49\u7ea7\u6210\u7ee9\u7c7b\u578b\uff1a\u767e\u5206\u5236 \u603b\u6210\u7ee9 = \u5e73\u65f6\u6210\u7ee9 \u7cfb\u6570 30% + \u671f\u672b\u6210\u7ee9 \u7cfb\u6570 60% + \u7ebf\u4e0a\u6210\u7ee9 \u7cfb\u6570*10% \u603b\u6210\u7ee9\u8bc4\u5b9a\u89c4\u5219 \u8be6\u89c1 \u5728\u7ebf\u6210\u7ee9\u8ba1\u7b97\u5668 \u4e2d\u7684\u793a\u4f8b\u6570\u636e\u548c\u5177\u4f53\u5355\u5143\u683c\u7684\u8ba1\u7b97\u516c\u5f0f\u3002 \u5982\u679c\u9700\u8981\u901a\u8fc7\u7f16\u8f91\u6587\u6863\u6765\u81ea\u884c\u201c\u9884\u4f30\u201d\u81ea\u5df1\u7684\u671f\u672b\u6210\u7ee9\uff0c\u4f60\u53ef\u4ee5\u767b\u5f55\u817e\u8baf\u6587\u6863\u540e\uff0c\u590d\u5236\u5f53\u524d\u5171\u4eab\u8868\u683c\u5230\u4f60\u81ea\u5df1\u7684\u8d26\u53f7\u91cc\u3002 \u4e0d\u9700\u8981\u5411\u6211\u7533\u8bf7\u6587\u6863\u7f16\u8f91\u6743\u9650\uff0c\u4e0d\u4f1a\u540c\u610f\u7684\u3002 \u5e73\u65f6\u6210\u7ee9 \u57fa\u4e8e \u5ba2\u89c2\u4e8b\u5b9e \u7684\u300c\u4e3b\u89c2\u8bc4\u4ef7\u300d\u3002 \u5ba2\u89c2\u4e8b\u5b9e \u6765\u6e90\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u5728\u6821\u5185\u7545\u8bfe\u5e73\u53f0\u4e0a\u7684\u8ba8\u8bba\u533a\u63d0\u51fa\u597d\u95ee\u9898\u3001\u56de\u7b54\u95ee\u9898\u5bf9\u5176\u4ed6\u540c\u5b66\u4ea7\u751f\u4e86\u6709\u6548\u5e2e\u52a9\u3001\u8bfe\u5802\u4e0a\u79ef\u6781\u53c2\u4e0e\u4e92\u52a8\u7b49\u3002 \u671f\u672b\u6210\u7ee9 8 \u7ae0\u8bfe\u7a0b\uff0c\u6bcf\u7ae0\u8bfe\u540e\u5747\u7559\u6709\u4f5c\u4e1a\uff0c\u6309\u7ae0\u8282\u987a\u5e8f\u5206\u522b\u8bb0\u4e3a\uff1aH1 ~ H8 \u6ee1\u5206 10 \u5206\u7684 \u5fc5\u9009 \u4f5c\u4e1a\uff1aH1, H2, H3, H4 \u6ee1\u5206 20 \u5206\u7684 \u56db\u9009\u4e00 \u4f5c\u4e1a\uff1aH5, H6, H7, H8\u3002\u8be5\u9879\u8ba1\u5206\u516c\u5f0f\u4e3a\uff1amax(H5, H6, H7, H8) \u3002 H6, H7, H8 \u8981\u6c42\u63d0\u4ea4\u5230\u79c1\u6709\u4ed3\u5e93\uff0c\u5176\u4ed6\u7ae0\u8282\u4f5c\u4e1a\u5747\u63d0\u4ea4\u5230\u516c\u5f00\u4ed3\u5e93 \u3002 \u6bcf\u6b21\u5b9e\u9a8c\u62a5\u544a\u7684\u8bc4\u5206\u6807\u51c6\u89c1\u6559\u5b66 Wiki \u9996\u9875\u8bf4\u660e - \u7f3a\u7701\u7684\u5b9e\u9a8c\u62a5\u544a\u8bc4\u5206\u6807\u51c6 \u8bf7\u4ed4\u7ec6\u9605\u8bfb \u5173\u4e8e GitLab \u4f7f\u7528\u7684\u89c4\u8303\u548c\u8981\u6c42 \uff0c\u6309\u7167\u89c4\u8303\u4f7f\u7528\u5bf9\u5e94\u7684\u516c\u5f00\u548c\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u3002 \u8003\u52e4\u6210\u7ee9 \u672c\u5b66\u671f\u4e00\u5171\u8bb0\u5f55\u8003\u52e4 8 \u6b21\uff0c\u6bcf\u6b21\u6b63\u5e38\u7b7e\u5230\u5f97 1 \u5206\uff0c\u8fdf\u5230\u5f97 0.5 \u5206\uff0c\u65f7\u8bfe\u5f97 0 \u5206\u3002\u6709\u5047\u6761\u7684\u75c5\u4e8b\u5047\u6309\u6b63\u5e38\u7b7e\u5230\u8ba1\u5206\u3002 \u5b66\u671f\u8003\u52e4\u5168\u52e4\uff08\u7d2f\u8ba1\u8ba1\u5206 8 \u5206\uff09\uff0c\u83b7\u5f97\u5168\u52e4\u52a0\u5206 2 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [6, 8)\uff0c\u83b7\u5f97\u8003\u52e4\u52a0\u5206 1 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [5, 6)\uff0c\u65e0\u8003\u52e4\u52a0\u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [0, 5)\uff0c\u76f4\u63a5\u6302\u79d1 \u3002 \u7ebf\u4e0a\u6210\u7ee9 \u6821\u5185\u7545\u8bfe\u5e73\u53f0\u4e0a\u5355\u5143\u6d4b\u8bd5\u6210\u7ee9\u7d2f\u52a0\u540e\u8fdb\u884c\u7b49\u6bd4\u4f8b\u6298\u7b97\u3002","title":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219"},{"location":"linux/2023/homework.html#_1","text":"","title":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219"},{"location":"linux/2023/homework.html#_2","text":"\u7b49\u7ea7\u6210\u7ee9\u7c7b\u578b\uff1a\u767e\u5206\u5236 \u603b\u6210\u7ee9 = \u5e73\u65f6\u6210\u7ee9 \u7cfb\u6570 30% + \u671f\u672b\u6210\u7ee9 \u7cfb\u6570 60% + \u7ebf\u4e0a\u6210\u7ee9 \u7cfb\u6570*10%","title":"\u603b\u6210\u7ee9\u6784\u6210"},{"location":"linux/2023/homework.html#_3","text":"\u8be6\u89c1 \u5728\u7ebf\u6210\u7ee9\u8ba1\u7b97\u5668 \u4e2d\u7684\u793a\u4f8b\u6570\u636e\u548c\u5177\u4f53\u5355\u5143\u683c\u7684\u8ba1\u7b97\u516c\u5f0f\u3002 \u5982\u679c\u9700\u8981\u901a\u8fc7\u7f16\u8f91\u6587\u6863\u6765\u81ea\u884c\u201c\u9884\u4f30\u201d\u81ea\u5df1\u7684\u671f\u672b\u6210\u7ee9\uff0c\u4f60\u53ef\u4ee5\u767b\u5f55\u817e\u8baf\u6587\u6863\u540e\uff0c\u590d\u5236\u5f53\u524d\u5171\u4eab\u8868\u683c\u5230\u4f60\u81ea\u5df1\u7684\u8d26\u53f7\u91cc\u3002 \u4e0d\u9700\u8981\u5411\u6211\u7533\u8bf7\u6587\u6863\u7f16\u8f91\u6743\u9650\uff0c\u4e0d\u4f1a\u540c\u610f\u7684\u3002","title":"\u603b\u6210\u7ee9\u8bc4\u5b9a\u89c4\u5219"},{"location":"linux/2023/homework.html#_4","text":"\u57fa\u4e8e \u5ba2\u89c2\u4e8b\u5b9e \u7684\u300c\u4e3b\u89c2\u8bc4\u4ef7\u300d\u3002 \u5ba2\u89c2\u4e8b\u5b9e \u6765\u6e90\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u5728\u6821\u5185\u7545\u8bfe\u5e73\u53f0\u4e0a\u7684\u8ba8\u8bba\u533a\u63d0\u51fa\u597d\u95ee\u9898\u3001\u56de\u7b54\u95ee\u9898\u5bf9\u5176\u4ed6\u540c\u5b66\u4ea7\u751f\u4e86\u6709\u6548\u5e2e\u52a9\u3001\u8bfe\u5802\u4e0a\u79ef\u6781\u53c2\u4e0e\u4e92\u52a8\u7b49\u3002","title":"\u5e73\u65f6\u6210\u7ee9"},{"location":"linux/2023/homework.html#_5","text":"8 \u7ae0\u8bfe\u7a0b\uff0c\u6bcf\u7ae0\u8bfe\u540e\u5747\u7559\u6709\u4f5c\u4e1a\uff0c\u6309\u7ae0\u8282\u987a\u5e8f\u5206\u522b\u8bb0\u4e3a\uff1aH1 ~ H8 \u6ee1\u5206 10 \u5206\u7684 \u5fc5\u9009 \u4f5c\u4e1a\uff1aH1, H2, H3, H4 \u6ee1\u5206 20 \u5206\u7684 \u56db\u9009\u4e00 \u4f5c\u4e1a\uff1aH5, H6, H7, H8\u3002\u8be5\u9879\u8ba1\u5206\u516c\u5f0f\u4e3a\uff1amax(H5, H6, H7, H8) \u3002 H6, H7, H8 \u8981\u6c42\u63d0\u4ea4\u5230\u79c1\u6709\u4ed3\u5e93\uff0c\u5176\u4ed6\u7ae0\u8282\u4f5c\u4e1a\u5747\u63d0\u4ea4\u5230\u516c\u5f00\u4ed3\u5e93 \u3002 \u6bcf\u6b21\u5b9e\u9a8c\u62a5\u544a\u7684\u8bc4\u5206\u6807\u51c6\u89c1\u6559\u5b66 Wiki \u9996\u9875\u8bf4\u660e - \u7f3a\u7701\u7684\u5b9e\u9a8c\u62a5\u544a\u8bc4\u5206\u6807\u51c6 \u8bf7\u4ed4\u7ec6\u9605\u8bfb \u5173\u4e8e GitLab \u4f7f\u7528\u7684\u89c4\u8303\u548c\u8981\u6c42 \uff0c\u6309\u7167\u89c4\u8303\u4f7f\u7528\u5bf9\u5e94\u7684\u516c\u5f00\u548c\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u3002","title":"\u671f\u672b\u6210\u7ee9"},{"location":"linux/2023/homework.html#_6","text":"\u672c\u5b66\u671f\u4e00\u5171\u8bb0\u5f55\u8003\u52e4 8 \u6b21\uff0c\u6bcf\u6b21\u6b63\u5e38\u7b7e\u5230\u5f97 1 \u5206\uff0c\u8fdf\u5230\u5f97 0.5 \u5206\uff0c\u65f7\u8bfe\u5f97 0 \u5206\u3002\u6709\u5047\u6761\u7684\u75c5\u4e8b\u5047\u6309\u6b63\u5e38\u7b7e\u5230\u8ba1\u5206\u3002 \u5b66\u671f\u8003\u52e4\u5168\u52e4\uff08\u7d2f\u8ba1\u8ba1\u5206 8 \u5206\uff09\uff0c\u83b7\u5f97\u5168\u52e4\u52a0\u5206 2 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [6, 8)\uff0c\u83b7\u5f97\u8003\u52e4\u52a0\u5206 1 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [5, 6)\uff0c\u65e0\u8003\u52e4\u52a0\u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [0, 5)\uff0c\u76f4\u63a5\u6302\u79d1 \u3002","title":"\u8003\u52e4\u6210\u7ee9"},{"location":"linux/2023/homework.html#_7","text":"\u6821\u5185\u7545\u8bfe\u5e73\u53f0\u4e0a\u5355\u5143\u6d4b\u8bd5\u6210\u7ee9\u7d2f\u52a0\u540e\u8fdb\u884c\u7b49\u6bd4\u4f8b\u6298\u7b97\u3002","title":"\u7ebf\u4e0a\u6210\u7ee9"},{"location":"linux/2024/index.html","text":"Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406 \u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u8bfe\u7a0b\u7f16\u53f7\uff1a2121030017 \u82f1\u6587\u540d\u79f0\uff1aLinux System and Network Management \u6388\u8bfe\u5bf9\u8c61\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168 \u5f00\u8bfe\u5b66\u671f\uff1a4 \u5b66\u5206/\u5b66\u65f6\uff1a1.5/32\uff08\u8bfe\u518516\u5b66\u65f6\uff0c\u5b9e\u9a8c\u4e0a\u673a16\u5b66\u65f6\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u8ba1\u7b97\u673a\u5bfc\u8bba\uff0c\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5185\uff08\u7ebf\u4e0a\uff09\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219 2021 \u5e74\u5b8c\u6574\u8bfe\u7a0b\u89c6\u9891\u56de\u653e \u8bfe\u7a0b\u7b80\u4ecb Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u652f\u6301\u591a\u7528\u6237\u4e0e\u591a\u4efb\u52a1\uff0c\u8fd1\u5e74\u6765\u53d1\u5c55\u8fc5\u901f\uff0c\u5df2\u7ecf\u6210\u4e3a\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e00\uff0c\u5177\u6709\u5341\u5206\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u672c\u8bfe\u7a0b\u4ee5Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u4e3a\u8303\u4f8b\uff0c\u4ee5\u7406\u8bba\u8054\u7cfb\u5b9e\u9645\u7684\u6559\u5b66\u65b9\u6cd5\uff0c\u7cfb\u7edf\u5b66\u4e60\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f7f\u7528\u4ee5\u53ca\u7f51\u7edc\u7cfb\u7edf\u548c\u7f51\u7edc\u670d\u52a1\u6784\u5efa\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u5e76\u901a\u8fc7\u8bfe\u7a0b\u5b9e\u8df5\uff0c\u57f9\u517b\u5b66\u751f\u7684\u5b9e\u9645\u6280\u80fd\u3002\u4e3b\u8981\u5305\u62ecLinux\u5b89\u88c5\u3001\u7cfb\u7edf\u7ba1\u7406\u4e0e\u7f51\u7edc\u57fa\u7840\uff1bDHCP\u3001WEB\u3001FTP\u3001Samba\u3001NFS\u3001DNS\u7b49\u7f51\u7edc\u670d\u52a1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u670d\u52a1\u5668\u914d\u7f6e\u4e0e\u5e94\u7528\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u90e8\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\u3002 \u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42 Linux\u662f\u7f51\u7edc\u5e94\u7528\u9886\u57df\u4e2d\u5e7f\u6cdb\u4f7f\u7528\u7684\u4e00\u79cd\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u5e03\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u4e3a\u7f51\u7edc\u7cfb\u7edf\u7ba1\u7406\u3001\u4e91\u8ba1\u7b97\u53ca\u670d\u52a1\u5668\u5e94\u7528\u5f00\u53d1\u7b49\u5960\u5b9a\u57fa\u7840\u3002 \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d \u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6982\u8ff0\uff1a\u53d1\u884c\u7248\u3001\u5f00\u6e90\u793e\u533a\u4e0e\u6587\u5316\u3001\u5185\u6838\u7248\u672c\u5386\u53f2\u3001LSB(Linux Standard Base)\u3001CGL(Carrier Grade Linux)\u3001Linux Foundation\u7b49 \u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\uff1a\u7269\u7406\u673a\u5b89\u88c5\u3001\u865a\u62df\u673a\u5b89\u88c5\u3001\u7cfb\u7edf\u5206\u533a\u3001\u65e0\u4eba\u503c\u5b88\u5b89\u88c5\u7b49 \u5185\u7f6e\u5e2e\u52a9\u7cfb\u7edf\u7684\u4f7f\u7528\uff1aman\u3001--help\u3001-h \u547d\u4ee4\u884c\u4f7f\u7528\uff1ashell\u5bb6\u65cf\u3001\u81ea\u52a8\u8865\u5168\u3001\u91cd\u590d\u547d\u4ee4\u8f93\u5165\u7b49bash\u5e38\u7528\u5feb\u6377\u952e\u3001\u6587\u672c\u7f16\u8f91\u4e0e\u67e5\u770b\uff08echo\u3001cat\u3001less\u3001vim\u3001sort\u3001uniq\u3001wc\u7b49\uff09 SSH\u4e0e\u8fdc\u7a0b\u670d\u52a1\u5668\u7ba1\u7406\uff1a\u514d\u5bc6\u767b\u5f55\u3001SSH\u8df3\u677f\u4e0e\u5821\u5792\u4e3b\u673a\u3001SSH\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e8c\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6587\u4ef6\u7684\u538b\u7f29\u4e0e\u89e3\u538b\u7f29\uff1atar\u3001gz\u3001zip\u3001gzip\u30017z\u7b49\u3001\u8de8\u5e73\u53f0\u538b\u7f29\u6587\u4ef6\u7684\u4e2d\u6587\u4e71\u7801\u95ee\u9898\u7b49 \u8f6f\u4ef6\u5305\u7ba1\u7406\uff1a\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d\u3001\u6e90\u7801\u4e0b\u8f7d\u4e0e\u5b89\u88c5 \u6587\u4ef6\u7ba1\u7406\uff1afind\u3001grep\u3001sed\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u8fdb\u7a0b\u7ba1\u7406\uff1aps\u3001kill\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u76ee\u5f55\u7ed3\u6784\uff1aman hier\u3001ls \u7f51\u7edc\u8c03\u8bd5\uff1aethtool\u3001ip\u3001ifconfig\u3001arp\u3001traceroute\u3001netstat\u3001route\u3001/etc/hosts\u3001/etc/resolv.conf\u3001tcpdump\u7b49 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e09\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7528\u6237/\u7ec4\u4e0e\u6743\u9650\u7ba1\u7406\uff1asu\u4e0esudo\u3001passwd\u3001adduser/useradd\u3001groupadd/addgroup\u3001usermod\u3001getfacl/setfacl\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u6587\u4ef6\u7cfb\u7edf\u4e0e\u5b58\u50a8\u7ba1\u7406\uff1a\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b\u4e0e\u683c\u5f0f\u5316\u3001\u78c1\u76d8\u5206\u533a\u3001\u5b58\u50a8\u8bbe\u5907\u4e0e\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\uff08\u5f00\u673a\u81ea\u52a8\u6302\u8f7d\u3001\u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\u3001iso\u6587\u4ef6\u6302\u8f7d\u7b49\uff09\u3001\u57fa\u4e8eLVM\uff08\u903b\u8f91\u5206\u5377\u7ba1\u7406\uff09\u7684\u5206\u533a\u5bb9\u91cf\u52a8\u6001\u8c03\u6574 \u6587\u4ef6\u5907\u4efd\u4e0e\u6062\u590d\uff08\u6587\u4ef6\u548c\u76ee\u5f55\u5c5e\u4e3b\u4fe1\u606f\u7684\u4fdd\u5b58\uff09\u7b49 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff1a\u7cfb\u7edf\u52a0\u8f7d\u6d41\u7a0b\uff08 Systemd \u3001 LSBInitScripts ) \u914d\u7f6e\u6bcf\u5929\u81ea\u52a8\u5b89\u88c5\u5b89\u5168\u66f4\u65b0 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u56db\u7ae0\uff1ashell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u5f00\u53d1\u548c\u8c03\u8bd5\u73af\u5883\u642d\u5efa \u57fa\u672c\u8bed\u6cd5\uff1ashell\u7248\u672c\u3001\u53d8\u91cf\u5b9a\u4e49\u3001\u73af\u5883\u53d8\u91cf\u3001\u8fc7\u7a0b\uff08\u51fd\u6570\uff09\u3001\u6761\u4ef6\u8bed\u53e5\u3001\u5faa\u73af\u3001\u6570\u503c\u8ba1\u7b97\u3001\u6570\u7ec4\u3001\u5b50\u8fdb\u7a0b\u7b49 \u5b9e\u4f8b\u8bb2\u89e3\uff1a\u6821\u56ed\u7f51\u81ea\u52a8\u8054\u7f51bash\u811a\u672c \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e94\u7ae0\uff1aWeb\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09 Web\u670d\u52a1\u57fa\u672c\u6982\u5ff5\uff1aHTTP\u8bf7\u6c42\u5904\u7406\u7684\u751f\u547d\u5468\u671f \u4e3b\u6d41WEB\u670d\u52a1\u5668\uff1aapache 1.x/2.x\u3001nginx\uff08\u884d\u751f\u53d1\u884c\u7248\uff1a OpenResty \u3001 Kong \u3001 Tengine \uff09 \u7528curl\u548cnginx\u91cd\u65b0\u8ba4\u8bc6\u548c\u5b66\u4e60HTTP\u534f\u8bae \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516d\u7ae0\uff1a\u7f51\u7edc\u8d44\u6e90\u5171\u4eab\uff081\u5b66\u65f6\uff09 FTP\u670d\u52a1\u6982\u8ff0\u53caFTP\u670d\u52a1\u5668\u914d\u7f6e NFS\u670d\u52a1\u6982\u8ff0\u53caNFS\u670d\u52a1\u5668\u914d\u7f6e Samba\u670d\u52a1\u6982\u8ff0\u53caSamba\u670d\u52a1\u5668\u5b89\u88c5\u4e0e\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e03\u7ae0\uff1aDHCP\u4e0eDNS\u670d\u52a1\uff081\u5b66\u65f6\uff09 DHCP\u670d\u52a1\u6982\u8ff0 DHCP\u57fa\u672c\u539f\u7406 DHCP\u670d\u52a1\u5668\u5b89\u88c5\u914d\u7f6e DNS\u670d\u52a1\u6982\u8ff0 DNS\u670d\u52a1\u5668\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516b\u7ae0\uff1aDevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72\uff084\u5b66\u65f6\uff09 \u53d1\u5e03\u7ba1\u7406\uff1a\u5f00\u53d1\u73af\u5883\u3001\u6d4b\u8bd5\u73af\u5883\u4e0e\u751f\u4ea7\u73af\u5883\u7684\u4e00\u81f4\u6027\uff08\u4ee3\u7801\u3001\u6570\u636e\u3001\u7f51\u7edc\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u3001\u4f9d\u8d56\u7684lib\u7b49\uff09\u3001\u4e0a\u7ebf\u4e0e\u56de\u6eda \u4e3b\u6d41\u6280\u672f\u5de5\u5177\u94fe\uff1agit\uff08github/gitlab\uff09\u3001 ansible \uff08puppet\u3001chef\u3001salt\u7b49\uff09\u3001docker\uff08dockerfile/k8s/dockerhub\uff09\u3001openstack\uff08KVM\u3001Xen\uff09\u3001openvswitch\u3001tcpreplay \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 | PXE | ansible \u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282 H1 \u4e3b\u6d41 Linux \u53d1\u884c\u7248\u521d\u4f53\u9a8c\uff082\u5b66\u65f6\uff09\uff1a\u672c\u5730\u5b9e\u9a8c\u73af\u5883\u548c\u4e91\u5b9e\u9a8c\u73af\u5883 \u2b50\ufe0f\u2b50\ufe0f H2 Linux\u547d\u4ee4\u884c\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u672c\u5730\u5b9e\u9a8c\u73af\u5883\u548c\u4e91\u5b9e\u9a8c\u73af\u5883 \u2b50\ufe0f\u2b50\ufe0f H3 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u76ee\u7ba1\u7406\u4e0e\u7f51\u7edc\u6545\u969c\u6392\u67e5 \uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f H4 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u6587\u672c\u5904\u7406\uff08\u8003\u5bdf\u53bb\u91cd\u3001\u7edf\u8ba1\u3001\u6392\u5e8f\u7b49\u64cd\u4f5c\uff09\u3001\u6587\u4ef6\u6279\u91cf\u91cd\u547d\u540d\uff08\u7b80\u5355\u91cd\u547d\u540d\u89c4\u5219\u3001\u590d\u6742\u91cd\u547d\u540d\u89c4\u5219\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H5 \u652f\u6301\u53cd\u5411\u4ee3\u7406\u3001\u6d41\u91cf\u63a7\u5236\u3001\u5173\u952e\u8bcd\u8fc7\u6ee4\u7b49\u529f\u80fd\u7684\u9ad8\u7ea7Web\u670d\u52a1\u5668\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H6 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u8fdb\u9636\uff082\u5b66\u65f6\uff09\uff1aFTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H7 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528ansible\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H8 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528\u5bb9\u5668\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u7b49\u7ea7 \u8bf4\u660e \u2b50\ufe0f \u7167\u846b\u82a6\u753b\u74e2\uff0c\u6ca1\u6709\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f \u7167\u732b\u753b\u864e\uff0c\u53ef\u80fd\u6709\u5c0f\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u6709\u8f83\u4e3a\u8be6\u7ec6\u7684\u53c2\u8003\u8d44\u6599\uff0c\u4f46\u5751\u4e5f\u4e0d\u5c11\uff0c\u8003\u5bdf\u81ea\u5df1\u52a8\u624b\u641c\u7d22\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u53c2\u8003\u8d44\u6599\u8f83\u591a\uff0c\u4f46\u9700\u8981\u63d0\u9ad8\u4fe1\u606f\u68c0\u7d22\u548c\u7504\u522b\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u504f\u7efc\u5408\u80fd\u529b\u8bad\u7ec3\uff0c\u7f16\u7a0b\u80fd\u529b\u8981\u6c42\u4e2d\u7b49\u504f\u4e0a\u3002 \u4e94\u3001\u5efa\u8bae\u6559\u6750 \u6240\u6709\u8bfe\u4ef6\u7684\u6e90\u4ee3\u7801\u5747\u5df2\u5f00\u6e90\u5728 Github - c4pr1c3/LinuxSysAdmin \u516d\u3001\u53c2\u8003\u8d44\u6599 Linux Foundation Certified System Administrator Red Hat System Administration I RH124 Red Hat System Administration II with RHCSA exam Red Hat Certified System Administrator (RHCSA) exam EX200 BASH Programming - Introduction HOW-TO Bash Reference Manual from gnu.org Shell Style Guide by Google Inc. UNIX TOOLBOX: a collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users \u9e1f\u54e5\u7684Linux\u79c1\u623f\u83dc","title":"2024\u5e74"},{"location":"linux/2024/index.html#linux","text":"","title":"Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406"},{"location":"linux/2024/index.html#_1","text":"\u8bfe\u7a0b\u7f16\u53f7\uff1a2121030017 \u82f1\u6587\u540d\u79f0\uff1aLinux System and Network Management \u6388\u8bfe\u5bf9\u8c61\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168 \u5f00\u8bfe\u5b66\u671f\uff1a4 \u5b66\u5206/\u5b66\u65f6\uff1a1.5/32\uff08\u8bfe\u518516\u5b66\u65f6\uff0c\u5b9e\u9a8c\u4e0a\u673a16\u5b66\u65f6\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u8ba1\u7b97\u673a\u5bfc\u8bba\uff0c\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5185\uff08\u7ebf\u4e0a\uff09\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219 2021 \u5e74\u5b8c\u6574\u8bfe\u7a0b\u89c6\u9891\u56de\u653e","title":"\u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"linux/2024/index.html#_2","text":"Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u652f\u6301\u591a\u7528\u6237\u4e0e\u591a\u4efb\u52a1\uff0c\u8fd1\u5e74\u6765\u53d1\u5c55\u8fc5\u901f\uff0c\u5df2\u7ecf\u6210\u4e3a\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e00\uff0c\u5177\u6709\u5341\u5206\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u672c\u8bfe\u7a0b\u4ee5Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u4e3a\u8303\u4f8b\uff0c\u4ee5\u7406\u8bba\u8054\u7cfb\u5b9e\u9645\u7684\u6559\u5b66\u65b9\u6cd5\uff0c\u7cfb\u7edf\u5b66\u4e60\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f7f\u7528\u4ee5\u53ca\u7f51\u7edc\u7cfb\u7edf\u548c\u7f51\u7edc\u670d\u52a1\u6784\u5efa\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u5e76\u901a\u8fc7\u8bfe\u7a0b\u5b9e\u8df5\uff0c\u57f9\u517b\u5b66\u751f\u7684\u5b9e\u9645\u6280\u80fd\u3002\u4e3b\u8981\u5305\u62ecLinux\u5b89\u88c5\u3001\u7cfb\u7edf\u7ba1\u7406\u4e0e\u7f51\u7edc\u57fa\u7840\uff1bDHCP\u3001WEB\u3001FTP\u3001Samba\u3001NFS\u3001DNS\u7b49\u7f51\u7edc\u670d\u52a1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u670d\u52a1\u5668\u914d\u7f6e\u4e0e\u5e94\u7528\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u90e8\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"linux/2024/index.html#_3","text":"Linux\u662f\u7f51\u7edc\u5e94\u7528\u9886\u57df\u4e2d\u5e7f\u6cdb\u4f7f\u7528\u7684\u4e00\u79cd\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u5e03\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u4e3a\u7f51\u7edc\u7cfb\u7edf\u7ba1\u7406\u3001\u4e91\u8ba1\u7b97\u53ca\u670d\u52a1\u5668\u5e94\u7528\u5f00\u53d1\u7b49\u5960\u5b9a\u57fa\u7840\u3002","title":"\u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42"},{"location":"linux/2024/index.html#_4","text":"\u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6982\u8ff0\uff1a\u53d1\u884c\u7248\u3001\u5f00\u6e90\u793e\u533a\u4e0e\u6587\u5316\u3001\u5185\u6838\u7248\u672c\u5386\u53f2\u3001LSB(Linux Standard Base)\u3001CGL(Carrier Grade Linux)\u3001Linux Foundation\u7b49 \u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\uff1a\u7269\u7406\u673a\u5b89\u88c5\u3001\u865a\u62df\u673a\u5b89\u88c5\u3001\u7cfb\u7edf\u5206\u533a\u3001\u65e0\u4eba\u503c\u5b88\u5b89\u88c5\u7b49 \u5185\u7f6e\u5e2e\u52a9\u7cfb\u7edf\u7684\u4f7f\u7528\uff1aman\u3001--help\u3001-h \u547d\u4ee4\u884c\u4f7f\u7528\uff1ashell\u5bb6\u65cf\u3001\u81ea\u52a8\u8865\u5168\u3001\u91cd\u590d\u547d\u4ee4\u8f93\u5165\u7b49bash\u5e38\u7528\u5feb\u6377\u952e\u3001\u6587\u672c\u7f16\u8f91\u4e0e\u67e5\u770b\uff08echo\u3001cat\u3001less\u3001vim\u3001sort\u3001uniq\u3001wc\u7b49\uff09 SSH\u4e0e\u8fdc\u7a0b\u670d\u52a1\u5668\u7ba1\u7406\uff1a\u514d\u5bc6\u767b\u5f55\u3001SSH\u8df3\u677f\u4e0e\u5821\u5792\u4e3b\u673a\u3001SSH\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e8c\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6587\u4ef6\u7684\u538b\u7f29\u4e0e\u89e3\u538b\u7f29\uff1atar\u3001gz\u3001zip\u3001gzip\u30017z\u7b49\u3001\u8de8\u5e73\u53f0\u538b\u7f29\u6587\u4ef6\u7684\u4e2d\u6587\u4e71\u7801\u95ee\u9898\u7b49 \u8f6f\u4ef6\u5305\u7ba1\u7406\uff1a\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d\u3001\u6e90\u7801\u4e0b\u8f7d\u4e0e\u5b89\u88c5 \u6587\u4ef6\u7ba1\u7406\uff1afind\u3001grep\u3001sed\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u8fdb\u7a0b\u7ba1\u7406\uff1aps\u3001kill\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u76ee\u5f55\u7ed3\u6784\uff1aman hier\u3001ls \u7f51\u7edc\u8c03\u8bd5\uff1aethtool\u3001ip\u3001ifconfig\u3001arp\u3001traceroute\u3001netstat\u3001route\u3001/etc/hosts\u3001/etc/resolv.conf\u3001tcpdump\u7b49 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e09\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7528\u6237/\u7ec4\u4e0e\u6743\u9650\u7ba1\u7406\uff1asu\u4e0esudo\u3001passwd\u3001adduser/useradd\u3001groupadd/addgroup\u3001usermod\u3001getfacl/setfacl\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u6587\u4ef6\u7cfb\u7edf\u4e0e\u5b58\u50a8\u7ba1\u7406\uff1a\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b\u4e0e\u683c\u5f0f\u5316\u3001\u78c1\u76d8\u5206\u533a\u3001\u5b58\u50a8\u8bbe\u5907\u4e0e\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\uff08\u5f00\u673a\u81ea\u52a8\u6302\u8f7d\u3001\u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\u3001iso\u6587\u4ef6\u6302\u8f7d\u7b49\uff09\u3001\u57fa\u4e8eLVM\uff08\u903b\u8f91\u5206\u5377\u7ba1\u7406\uff09\u7684\u5206\u533a\u5bb9\u91cf\u52a8\u6001\u8c03\u6574 \u6587\u4ef6\u5907\u4efd\u4e0e\u6062\u590d\uff08\u6587\u4ef6\u548c\u76ee\u5f55\u5c5e\u4e3b\u4fe1\u606f\u7684\u4fdd\u5b58\uff09\u7b49 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff1a\u7cfb\u7edf\u52a0\u8f7d\u6d41\u7a0b\uff08 Systemd \u3001 LSBInitScripts ) \u914d\u7f6e\u6bcf\u5929\u81ea\u52a8\u5b89\u88c5\u5b89\u5168\u66f4\u65b0 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u56db\u7ae0\uff1ashell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u5f00\u53d1\u548c\u8c03\u8bd5\u73af\u5883\u642d\u5efa \u57fa\u672c\u8bed\u6cd5\uff1ashell\u7248\u672c\u3001\u53d8\u91cf\u5b9a\u4e49\u3001\u73af\u5883\u53d8\u91cf\u3001\u8fc7\u7a0b\uff08\u51fd\u6570\uff09\u3001\u6761\u4ef6\u8bed\u53e5\u3001\u5faa\u73af\u3001\u6570\u503c\u8ba1\u7b97\u3001\u6570\u7ec4\u3001\u5b50\u8fdb\u7a0b\u7b49 \u5b9e\u4f8b\u8bb2\u89e3\uff1a\u6821\u56ed\u7f51\u81ea\u52a8\u8054\u7f51bash\u811a\u672c \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e94\u7ae0\uff1aWeb\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09 Web\u670d\u52a1\u57fa\u672c\u6982\u5ff5\uff1aHTTP\u8bf7\u6c42\u5904\u7406\u7684\u751f\u547d\u5468\u671f \u4e3b\u6d41WEB\u670d\u52a1\u5668\uff1aapache 1.x/2.x\u3001nginx\uff08\u884d\u751f\u53d1\u884c\u7248\uff1a OpenResty \u3001 Kong \u3001 Tengine \uff09 \u7528curl\u548cnginx\u91cd\u65b0\u8ba4\u8bc6\u548c\u5b66\u4e60HTTP\u534f\u8bae \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516d\u7ae0\uff1a\u7f51\u7edc\u8d44\u6e90\u5171\u4eab\uff081\u5b66\u65f6\uff09 FTP\u670d\u52a1\u6982\u8ff0\u53caFTP\u670d\u52a1\u5668\u914d\u7f6e NFS\u670d\u52a1\u6982\u8ff0\u53caNFS\u670d\u52a1\u5668\u914d\u7f6e Samba\u670d\u52a1\u6982\u8ff0\u53caSamba\u670d\u52a1\u5668\u5b89\u88c5\u4e0e\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e03\u7ae0\uff1aDHCP\u4e0eDNS\u670d\u52a1\uff081\u5b66\u65f6\uff09 DHCP\u670d\u52a1\u6982\u8ff0 DHCP\u57fa\u672c\u539f\u7406 DHCP\u670d\u52a1\u5668\u5b89\u88c5\u914d\u7f6e DNS\u670d\u52a1\u6982\u8ff0 DNS\u670d\u52a1\u5668\u914d\u7f6e \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516b\u7ae0\uff1aDevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72\uff084\u5b66\u65f6\uff09 \u53d1\u5e03\u7ba1\u7406\uff1a\u5f00\u53d1\u73af\u5883\u3001\u6d4b\u8bd5\u73af\u5883\u4e0e\u751f\u4ea7\u73af\u5883\u7684\u4e00\u81f4\u6027\uff08\u4ee3\u7801\u3001\u6570\u636e\u3001\u7f51\u7edc\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u3001\u4f9d\u8d56\u7684lib\u7b49\uff09\u3001\u4e0a\u7ebf\u4e0e\u56de\u6eda \u4e3b\u6d41\u6280\u672f\u5de5\u5177\u94fe\uff1agit\uff08github/gitlab\uff09\u3001 ansible \uff08puppet\u3001chef\u3001salt\u7b49\uff09\u3001docker\uff08dockerfile/k8s/dockerhub\uff09\u3001openstack\uff08KVM\u3001Xen\uff09\u3001openvswitch\u3001tcpreplay \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 | PXE | ansible","title":"\u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d"},{"location":"linux/2024/index.html#_5","text":"H1 \u4e3b\u6d41 Linux \u53d1\u884c\u7248\u521d\u4f53\u9a8c\uff082\u5b66\u65f6\uff09\uff1a\u672c\u5730\u5b9e\u9a8c\u73af\u5883\u548c\u4e91\u5b9e\u9a8c\u73af\u5883 \u2b50\ufe0f\u2b50\ufe0f H2 Linux\u547d\u4ee4\u884c\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u672c\u5730\u5b9e\u9a8c\u73af\u5883\u548c\u4e91\u5b9e\u9a8c\u73af\u5883 \u2b50\ufe0f\u2b50\ufe0f H3 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u76ee\u7ba1\u7406\u4e0e\u7f51\u7edc\u6545\u969c\u6392\u67e5 \uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f H4 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u6587\u672c\u5904\u7406\uff08\u8003\u5bdf\u53bb\u91cd\u3001\u7edf\u8ba1\u3001\u6392\u5e8f\u7b49\u64cd\u4f5c\uff09\u3001\u6587\u4ef6\u6279\u91cf\u91cd\u547d\u540d\uff08\u7b80\u5355\u91cd\u547d\u540d\u89c4\u5219\u3001\u590d\u6742\u91cd\u547d\u540d\u89c4\u5219\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H5 \u652f\u6301\u53cd\u5411\u4ee3\u7406\u3001\u6d41\u91cf\u63a7\u5236\u3001\u5173\u952e\u8bcd\u8fc7\u6ee4\u7b49\u529f\u80fd\u7684\u9ad8\u7ea7Web\u670d\u52a1\u5668\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H6 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u8fdb\u9636\uff082\u5b66\u65f6\uff09\uff1aFTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H7 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528ansible\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H8 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528\u5bb9\u5668\u6280\u672f\u91cd\u6784FTP\u3001NFS\u3001DHCP\u3001DNS\u3001Samba\u670d\u52a1\u5668\u7684\u81ea\u52a8\u5b89\u88c5\u4e0e\u81ea\u52a8\u914d\u7f6e\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u7b49\u7ea7 \u8bf4\u660e \u2b50\ufe0f \u7167\u846b\u82a6\u753b\u74e2\uff0c\u6ca1\u6709\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f \u7167\u732b\u753b\u864e\uff0c\u53ef\u80fd\u6709\u5c0f\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u6709\u8f83\u4e3a\u8be6\u7ec6\u7684\u53c2\u8003\u8d44\u6599\uff0c\u4f46\u5751\u4e5f\u4e0d\u5c11\uff0c\u8003\u5bdf\u81ea\u5df1\u52a8\u624b\u641c\u7d22\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u53c2\u8003\u8d44\u6599\u8f83\u591a\uff0c\u4f46\u9700\u8981\u63d0\u9ad8\u4fe1\u606f\u68c0\u7d22\u548c\u7504\u522b\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u504f\u7efc\u5408\u80fd\u529b\u8bad\u7ec3\uff0c\u7f16\u7a0b\u80fd\u529b\u8981\u6c42\u4e2d\u7b49\u504f\u4e0a\u3002","title":"\u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282"},{"location":"linux/2024/index.html#_6","text":"\u6240\u6709\u8bfe\u4ef6\u7684\u6e90\u4ee3\u7801\u5747\u5df2\u5f00\u6e90\u5728 Github - c4pr1c3/LinuxSysAdmin","title":"\u4e94\u3001\u5efa\u8bae\u6559\u6750"},{"location":"linux/2024/index.html#_7","text":"Linux Foundation Certified System Administrator Red Hat System Administration I RH124 Red Hat System Administration II with RHCSA exam Red Hat Certified System Administrator (RHCSA) exam EX200 BASH Programming - Introduction HOW-TO Bash Reference Manual from gnu.org Shell Style Guide by Google Inc. UNIX TOOLBOX: a collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users \u9e1f\u54e5\u7684Linux\u79c1\u623f\u83dc","title":"\u516d\u3001\u53c2\u8003\u8d44\u6599"},{"location":"linux/2024/calendar.html","text":"2024 \u6625\u6559\u5b66\u65e5\u5386 \u4e0a\u8bfe\u524d\u51c6\u5907 \u7528\u4e2d\u4f20\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u65b9\u5f0f\u6fc0\u6d3b\u81ea\u5df1\u5728 https://git.cuc.edu.cn/ \u7684\u8d26\u53f7 \u8bf7\u5927\u5bb6\u63d0\u524d\u6ce8\u518c\u4e00\u4e2a\u963f\u91cc\u4e91\u8d26\u53f7\uff08\u65e0\u9700\u4ed8\u8d39\u8d2d\u4e70\u4efb\u4f55\u670d\u52a1\uff09 \u8bf7\u5927\u5bb6\u63d0\u524d\u5728 Virtualbox \u4e2d\u5b89\u88c5\u597d Ubuntu 22.04 \u7cfb\u7edf \u81ea\u5df1\u641e\u4e0d\u5b9a\u624b\u52a8\u5b89\u88c5\u8fc7\u7a0b\u7684\u53ef\u4ee5\u76f4\u63a5 \u5bfc\u5165\u6211\u5b89\u88c5\u597d\u7684\u865a\u62df\u673a \uff0c\u5982\u4e0b\u6240\u793a \u5206\u4eab\u540d\u79f0\uff1aLinux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406-\u8bfe\u7a0b\u516c\u5f00\u5206\u4eab \u5206\u4eab\u94fe\u63a5\uff1ahttps://kod.cuc.edu.cn/#s/9BGcMgPw \u8bbf\u95ee\u5bc6\u7801\uff1asumw2 \u7b2c\u4e00\u5468 2024-02-28\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff0c\u8be6\u89c1 \u6559\u5b66\u8ba1\u5212 - \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d \u7b2c\u4e8c\u5468 2024-03-06\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e00\u7ae0\u5b9e\u9a8c \u7b2c\u4e09\u5468 2024-03-13\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u4e8c\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840 \u7b2c\u56db\u5468 2024-03-20\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e8c\u7ae0\u5b9e\u9a8c \u7b2c\u4e94\u5468 2024-03-27\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u4e09\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7b2c\u516d\u5468 2024-04-03\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e09\u7ae0\u5b9e\u9a8c \u7b2c\u4e03\u5468 2024-04-10\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u56db\u7ae0 Shell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7b2c\u516b\u5468 2024-04-17\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u56db\u7ae0\u5b9e\u9a8c \u7b2c\u4e5d\u5468 2024-04-24\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u4e94\u7ae0 Web\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09 \u7b2c\u5341\u5468 2024-05-01\uff08\u8bfb\u4e66\u5468\u653e\u5047\uff09 \u7b2c\u5341\u4e00\u5468 2024-05-08\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u516d\u7ae0 \u7f51\u7edc\u8d44\u6e90\u5171\u4eab \u7b2c\u4e03\u7ae0 DHCP \u4e0e DNS \u670d\u52a1 \u7b2c\u5341\u4e8c\u5468 2024-05-15\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e94\u7ae0\u5b9e\u9a8c \u7b2c\u5341\u4e09\u5468 2024-05-22\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 \u7b2c\u5341\u56db\u5468 2024-05-29\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u516d\u4e03\u7ae0\u5b9e\u9a8c \u7b2c\u5341\u4e94\u5468 2024-06-05\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 \u7b2c\u5341\u516d\u5468 2024-06-12\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u516b\u7ae0\u5b9e\u9a8c \u7b2c\u5341\u4e03\u5468 2024-06-19\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: \u5b9e\u6218\u5165\u95e8 Cloud-Init \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: Ansible \u81ea\u884c\u5b8c\u6210\u672c\u5b66\u671f\u6240\u6709\u5b9e\u9a8c","title":"2024 \u6625\u6559\u5b66\u65e5\u5386"},{"location":"linux/2024/calendar.html#2024","text":"","title":"2024 \u6625\u6559\u5b66\u65e5\u5386"},{"location":"linux/2024/calendar.html#_1","text":"\u7528\u4e2d\u4f20\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u65b9\u5f0f\u6fc0\u6d3b\u81ea\u5df1\u5728 https://git.cuc.edu.cn/ \u7684\u8d26\u53f7 \u8bf7\u5927\u5bb6\u63d0\u524d\u6ce8\u518c\u4e00\u4e2a\u963f\u91cc\u4e91\u8d26\u53f7\uff08\u65e0\u9700\u4ed8\u8d39\u8d2d\u4e70\u4efb\u4f55\u670d\u52a1\uff09 \u8bf7\u5927\u5bb6\u63d0\u524d\u5728 Virtualbox \u4e2d\u5b89\u88c5\u597d Ubuntu 22.04 \u7cfb\u7edf \u81ea\u5df1\u641e\u4e0d\u5b9a\u624b\u52a8\u5b89\u88c5\u8fc7\u7a0b\u7684\u53ef\u4ee5\u76f4\u63a5 \u5bfc\u5165\u6211\u5b89\u88c5\u597d\u7684\u865a\u62df\u673a \uff0c\u5982\u4e0b\u6240\u793a \u5206\u4eab\u540d\u79f0\uff1aLinux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406-\u8bfe\u7a0b\u516c\u5f00\u5206\u4eab \u5206\u4eab\u94fe\u63a5\uff1ahttps://kod.cuc.edu.cn/#s/9BGcMgPw \u8bbf\u95ee\u5bc6\u7801\uff1asumw2","title":"\u4e0a\u8bfe\u524d\u51c6\u5907"},{"location":"linux/2024/calendar.html#2024-02-28","text":"\u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff0c\u8be6\u89c1 \u6559\u5b66\u8ba1\u5212 - \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d","title":"\u7b2c\u4e00\u5468 2024-02-28\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2024/calendar.html#2024-03-06","text":"\u7b2c\u4e00\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u4e8c\u5468 2024-03-06\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2024/calendar.html#2024-03-13","text":"\u7b2c\u4e8c\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840","title":"\u7b2c\u4e09\u5468 2024-03-13\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2024/calendar.html#2024-03-20","text":"\u7b2c\u4e8c\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u56db\u5468 2024-03-20\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2024/calendar.html#2024-03-27","text":"\u7b2c\u4e09\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09","title":"\u7b2c\u4e94\u5468 2024-03-27\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2024/calendar.html#2024-04-03","text":"\u7b2c\u4e09\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u516d\u5468 2024-04-03\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2024/calendar.html#2024-04-10","text":"\u7b2c\u56db\u7ae0 Shell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09","title":"\u7b2c\u4e03\u5468 2024-04-10\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2024/calendar.html#2024-04-17","text":"\u7b2c\u56db\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u516b\u5468 2024-04-17\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2024/calendar.html#2024-04-24","text":"\u7b2c\u4e94\u7ae0 Web\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09","title":"\u7b2c\u4e5d\u5468 2024-04-24\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2024/calendar.html#2024-05-01","text":"","title":"\u7b2c\u5341\u5468 2024-05-01\uff08\u8bfb\u4e66\u5468\u653e\u5047\uff09"},{"location":"linux/2024/calendar.html#2024-05-08","text":"\u7b2c\u516d\u7ae0 \u7f51\u7edc\u8d44\u6e90\u5171\u4eab \u7b2c\u4e03\u7ae0 DHCP \u4e0e DNS \u670d\u52a1","title":"\u7b2c\u5341\u4e00\u5468 2024-05-08\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2024/calendar.html#2024-05-15","text":"\u7b2c\u4e94\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u5341\u4e8c\u5468 2024-05-15\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2024/calendar.html#2024-05-22","text":"\u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72","title":"\u7b2c\u5341\u4e09\u5468 2024-05-22\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2024/calendar.html#2024-05-29","text":"\u7b2c\u516d\u4e03\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u5341\u56db\u5468 2024-05-29\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2024/calendar.html#2024-06-05","text":"\u7b2c\u516b\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72","title":"\u7b2c\u5341\u4e94\u5468 2024-06-05\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2024/calendar.html#2024-06-12","text":"\u7b2c\u516b\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u5341\u516d\u5468 2024-06-12\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2024/calendar.html#2024-06-19","text":"\uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: \u5b9e\u6218\u5165\u95e8 Cloud-Init \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: Ansible \u81ea\u884c\u5b8c\u6210\u672c\u5b66\u671f\u6240\u6709\u5b9e\u9a8c","title":"\u7b2c\u5341\u4e03\u5468 2024-06-19\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2024/gitlab.html","text":"\u5173\u4e8e GitLab \u4f7f\u7528\u7684\u89c4\u8303\u548c\u8981\u6c42 \u4ee5\u4e0b\u5185\u5bb9\u9002\u7528\u4e8e https://git.cuc.edu.cn/ \u3002 \u5f53\u524d\u5b66\u671f\u6211\u4eec\u7684 \u8bfe\u7a0b\u4e13\u5c5e\u9879\u76ee\u7ec4 \u5bf9\u5e94\u7684\u94fe\u63a5\u4e3a https://git.cuc.edu.cn/ccs/linux-2024 \u3002 \u7528\u6237\u540d \u4f7f\u7528\u5b66\u6821\u7684\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u767b\u5f55\uff0c\u7f3a\u7701\u6bcf\u4e2a\u7528\u6237\u5728\u7cfb\u7edf\u4e2d\u90fd\u662f\u5b9e\u540d\u5236\uff08\u771f\u5b9e\u59d3\u540d\u548c\u5b66\u53f7\uff09\u3002 \u516c\u5f00\u4ed3\u5e93\u547d\u540d \u5728 \u8bfe\u7a0b\u4e13\u5c5e\u9879\u76ee\u7ec4 \u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u65b0\u4ed3\u5e93\uff1a New project \u3002 \u4e3a\u4e86\u4fbf\u4e8e\u5b9e\u9a8c\u62a5\u544a\u6279\u6539\u548c\u6210\u7ee9\u7edf\u8ba1\uff0c\u6bcf\u540d\u540c\u5b66\u53ea\u5141\u8bb8\u521b\u5efa\u4e00\u4e2a\u516c\u5f00\u4ed3\u5e93\u3002 \u5bf9\u65b0\u5efa\u7684\u4ed3\u5e93\u8fdb\u884c\u547d\u540d\uff0c\u63a8\u8350\u4f7f\u7528\u4e2a\u4eba\u59d3\u540d\u7684\u6c49\u8bed\u62fc\u97f3\u7b80\u62fc\u6216\u8005\u5168\u62fc\u6216\u8005\u7f51\u540dID\u3002 \u68c0\u67e5\u81ea\u5df1\u7684\u516c\u5f00\u4ed3\u5e93\u9996\u9875\u94fe\u63a5\u683c\u5f0f\uff0c\u786e\u4fdd\u683c\u5f0f\u4e3a\uff1a https://git.cuc.edu.cn/ccs/linux-2024/<\u65b0\u5efa\u4ed3\u5e93\u547d\u540d> \u3002 \u79c1\u6709\u4ed3\u5e93\u547d\u540d \u5728\u81ea\u5df1 \u4e2a\u4eba \u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u65b0\u4ed3\u5e93\uff1a New project \u3002 \u5728 Project URL \u91cc\u7684 Pick a group or namespace \u4e0b\u62c9\u9009\u6846\u91cc\u9009\u62e9 Users \u4e0b\u7684\u4f60\u7684\u7528\u6237\u540d\u3002 \u5728 Project slug \u91cc\u586b\u5165\u4f60\u7684\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u547d\u540d\uff0c\u5bf9\u65b0\u5efa\u7684\u4ed3\u5e93\u8fdb\u884c\u547d\u540d\uff0c\u63a8\u8350\u4f7f\u7528\u4e2a\u4eba\u59d3\u540d\u7684\u6c49\u8bed\u62fc\u97f3\u7b80\u62fc\u6216\u8005\u5168\u62fc\u6216\u8005\u7f51\u540dID\u3002 \u68c0\u67e5\u81ea\u5df1\u7684\u516c\u5f00\u4ed3\u5e93\u9996\u9875\u94fe\u63a5\u683c\u5f0f\uff0c\u786e\u4fdd\u683c\u5f0f\u4e3a\uff1a https://git.cuc.edu.cn/<\u4f60\u7684\u7528\u6237\u540d>/<\u65b0\u5efa\u4ed3\u5e93\u547d\u540d> \u3002 \u5c06\u52a9\u6559\u548c\u8001\u5e08\u6dfb\u52a0\u5230\u4f60\u7684\u4e2a\u4eba\u79c1\u6709\u4ed3\u5e93\u7684\uff1a\u8fdb\u5165\u4f60\u65b0\u521b\u5efa\u7684\u4e2a\u4eba\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\uff0c\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u91cc\u4f9d\u6b21\u627e\u5230 Project information - members \uff0c\u53f3\u4e0a\u89d2\u70b9\u51fb Invite members \uff0c\u5728 Username or email address \u91cc\u4f9d\u6b21\u8f93\u5165\u52a9\u6559\u540c\u5b66\u548c\u8001\u5e08\u59d3\u540d\uff0c\u9010\u4e2a \u9f20\u6807\u70b9\u51fb\u641c\u7d22\u7ed3\u679c\u91cc\u7684\u7528\u6237\u5934\u50cf \u6dfb\u52a0\u5230\u7528\u6237\u540d\u7684\u8f93\u5165\u6846\u91cc\uff08\u6dfb\u52a0\u6210\u529f\u65f6\uff0c\u8be5\u7528\u6237\u540d\u7684\u53f3\u4fa7\u4f1a\u591a\u51fa\u6765\u4e00\u4e2a X \u6309\u94ae\uff09\uff0c Select a role \u9009\u62e9 Maintainer \uff0c\u70b9\u51fb Invite \u5b8c\u6210\u7528\u6237\u6dfb\u52a0\u3002","title":"\u5173\u4e8e GitLab \u4f7f\u7528\u7684\u89c4\u8303\u548c\u8981\u6c42"},{"location":"linux/2024/gitlab.html#gitlab","text":"\u4ee5\u4e0b\u5185\u5bb9\u9002\u7528\u4e8e https://git.cuc.edu.cn/ \u3002 \u5f53\u524d\u5b66\u671f\u6211\u4eec\u7684 \u8bfe\u7a0b\u4e13\u5c5e\u9879\u76ee\u7ec4 \u5bf9\u5e94\u7684\u94fe\u63a5\u4e3a https://git.cuc.edu.cn/ccs/linux-2024 \u3002","title":"\u5173\u4e8e GitLab \u4f7f\u7528\u7684\u89c4\u8303\u548c\u8981\u6c42"},{"location":"linux/2024/gitlab.html#_1","text":"\u4f7f\u7528\u5b66\u6821\u7684\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u767b\u5f55\uff0c\u7f3a\u7701\u6bcf\u4e2a\u7528\u6237\u5728\u7cfb\u7edf\u4e2d\u90fd\u662f\u5b9e\u540d\u5236\uff08\u771f\u5b9e\u59d3\u540d\u548c\u5b66\u53f7\uff09\u3002","title":"\u7528\u6237\u540d"},{"location":"linux/2024/gitlab.html#_2","text":"\u5728 \u8bfe\u7a0b\u4e13\u5c5e\u9879\u76ee\u7ec4 \u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u65b0\u4ed3\u5e93\uff1a New project \u3002 \u4e3a\u4e86\u4fbf\u4e8e\u5b9e\u9a8c\u62a5\u544a\u6279\u6539\u548c\u6210\u7ee9\u7edf\u8ba1\uff0c\u6bcf\u540d\u540c\u5b66\u53ea\u5141\u8bb8\u521b\u5efa\u4e00\u4e2a\u516c\u5f00\u4ed3\u5e93\u3002 \u5bf9\u65b0\u5efa\u7684\u4ed3\u5e93\u8fdb\u884c\u547d\u540d\uff0c\u63a8\u8350\u4f7f\u7528\u4e2a\u4eba\u59d3\u540d\u7684\u6c49\u8bed\u62fc\u97f3\u7b80\u62fc\u6216\u8005\u5168\u62fc\u6216\u8005\u7f51\u540dID\u3002 \u68c0\u67e5\u81ea\u5df1\u7684\u516c\u5f00\u4ed3\u5e93\u9996\u9875\u94fe\u63a5\u683c\u5f0f\uff0c\u786e\u4fdd\u683c\u5f0f\u4e3a\uff1a https://git.cuc.edu.cn/ccs/linux-2024/<\u65b0\u5efa\u4ed3\u5e93\u547d\u540d> \u3002","title":"\u516c\u5f00\u4ed3\u5e93\u547d\u540d"},{"location":"linux/2024/gitlab.html#_3","text":"\u5728\u81ea\u5df1 \u4e2a\u4eba \u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u65b0\u4ed3\u5e93\uff1a New project \u3002 \u5728 Project URL \u91cc\u7684 Pick a group or namespace \u4e0b\u62c9\u9009\u6846\u91cc\u9009\u62e9 Users \u4e0b\u7684\u4f60\u7684\u7528\u6237\u540d\u3002 \u5728 Project slug \u91cc\u586b\u5165\u4f60\u7684\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u547d\u540d\uff0c\u5bf9\u65b0\u5efa\u7684\u4ed3\u5e93\u8fdb\u884c\u547d\u540d\uff0c\u63a8\u8350\u4f7f\u7528\u4e2a\u4eba\u59d3\u540d\u7684\u6c49\u8bed\u62fc\u97f3\u7b80\u62fc\u6216\u8005\u5168\u62fc\u6216\u8005\u7f51\u540dID\u3002 \u68c0\u67e5\u81ea\u5df1\u7684\u516c\u5f00\u4ed3\u5e93\u9996\u9875\u94fe\u63a5\u683c\u5f0f\uff0c\u786e\u4fdd\u683c\u5f0f\u4e3a\uff1a https://git.cuc.edu.cn/<\u4f60\u7684\u7528\u6237\u540d>/<\u65b0\u5efa\u4ed3\u5e93\u547d\u540d> \u3002 \u5c06\u52a9\u6559\u548c\u8001\u5e08\u6dfb\u52a0\u5230\u4f60\u7684\u4e2a\u4eba\u79c1\u6709\u4ed3\u5e93\u7684\uff1a\u8fdb\u5165\u4f60\u65b0\u521b\u5efa\u7684\u4e2a\u4eba\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\uff0c\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u91cc\u4f9d\u6b21\u627e\u5230 Project information - members \uff0c\u53f3\u4e0a\u89d2\u70b9\u51fb Invite members \uff0c\u5728 Username or email address \u91cc\u4f9d\u6b21\u8f93\u5165\u52a9\u6559\u540c\u5b66\u548c\u8001\u5e08\u59d3\u540d\uff0c\u9010\u4e2a \u9f20\u6807\u70b9\u51fb\u641c\u7d22\u7ed3\u679c\u91cc\u7684\u7528\u6237\u5934\u50cf \u6dfb\u52a0\u5230\u7528\u6237\u540d\u7684\u8f93\u5165\u6846\u91cc\uff08\u6dfb\u52a0\u6210\u529f\u65f6\uff0c\u8be5\u7528\u6237\u540d\u7684\u53f3\u4fa7\u4f1a\u591a\u51fa\u6765\u4e00\u4e2a X \u6309\u94ae\uff09\uff0c Select a role \u9009\u62e9 Maintainer \uff0c\u70b9\u51fb Invite \u5b8c\u6210\u7528\u6237\u6dfb\u52a0\u3002","title":"\u79c1\u6709\u4ed3\u5e93\u547d\u540d"},{"location":"linux/2024/homework.html","text":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219 \u603b\u6210\u7ee9\u6784\u6210 \u7b49\u7ea7\u6210\u7ee9\u7c7b\u578b\uff1a\u767e\u5206\u5236 \u603b\u6210\u7ee9 = \u5e73\u65f6\u6210\u7ee9 \u7cfb\u6570 30% + \u671f\u672b\u6210\u7ee9 \u7cfb\u6570 60% + \u7ebf\u4e0a\u6210\u7ee9 \u7cfb\u6570*10% \u603b\u6210\u7ee9\u8bc4\u5b9a\u89c4\u5219 \u8be6\u89c1 \u5728\u7ebf\u6210\u7ee9\u8ba1\u7b97\u5668 \u4e2d\u7684\u793a\u4f8b\u6570\u636e\u548c\u5177\u4f53\u5355\u5143\u683c\u7684\u8ba1\u7b97\u516c\u5f0f\u3002 \u5982\u679c\u9700\u8981\u901a\u8fc7\u7f16\u8f91\u6587\u6863\u6765\u81ea\u884c\u201c\u9884\u4f30\u201d\u81ea\u5df1\u7684\u671f\u672b\u6210\u7ee9\uff0c\u4f60\u53ef\u4ee5\u767b\u5f55\u817e\u8baf\u6587\u6863\u540e\uff0c\u590d\u5236\u5f53\u524d\u5171\u4eab\u8868\u683c\u5230\u4f60\u81ea\u5df1\u7684\u8d26\u53f7\u91cc\u3002 \u4e0d\u9700\u8981\u5411\u6211\u7533\u8bf7\u6587\u6863\u7f16\u8f91\u6743\u9650\uff0c\u4e0d\u4f1a\u540c\u610f\u7684\u3002 \u5e73\u65f6\u6210\u7ee9 \u57fa\u4e8e \u5ba2\u89c2\u4e8b\u5b9e \u7684\u300c\u4e3b\u89c2\u8bc4\u4ef7\u300d\u3002 \u5ba2\u89c2\u4e8b\u5b9e \u6765\u6e90\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u5728\u6821\u5185\u7545\u8bfe\u5e73\u53f0\u4e0a\u7684\u8ba8\u8bba\u533a\u63d0\u51fa\u597d\u95ee\u9898\u3001\u56de\u7b54\u95ee\u9898\u5bf9\u5176\u4ed6\u540c\u5b66\u4ea7\u751f\u4e86\u6709\u6548\u5e2e\u52a9\u3001\u8bfe\u5802\u4e0a\u79ef\u6781\u53c2\u4e0e\u4e92\u52a8\u3001\u7545\u8bfe\u5b66\u4e60\u5b8c\u6210\u5ea6\u3001 \u8bfe\u7a0b\u516c\u5171\u670d\u52a1\u5668 \u7684\u4f7f\u7528\u6b21\u6570\u548c\u65f6\u957f\u7b49\u3002 \u6570\u636e\u7edf\u8ba1\u622a\u6b62\u672c\u5b66\u671f\u6700\u540e\u4e00\u6b21\u8bfe\u7a0b\u7ed3\u675f 2024.6.19 09:50:00 \u3002 \u6ee1\u5206 30 \u5206\u7684\u5e73\u65f6\u6210\u7ee9\u4e2d\uff0c\u6709 10 \u5206\u6765\u81ea\u4e8e \u8003\u52e4\u6210\u7ee9 \u3002 \u8003\u52e4\u6210\u7ee9 \u8ba1\u7b97\u89c4\u5219\u89c1\u4ee5\u4e0b\u5c0f\u8282\u8be6\u7ec6\u8bf4\u660e\u3002 \u8003\u52e4\u6210\u7ee9 \u672c\u5b66\u671f\u4e00\u5171\u8bb0\u5f55\u8003\u52e4 8 \u6b21\uff0c\u6bcf\u6b21\u6b63\u5e38\u7b7e\u5230\u5f97 1 \u5206\uff0c\u8fdf\u5230\u5f97 0.5 \u5206\uff0c\u65f7\u8bfe\u5f97 0 \u5206\u3002\u6709\u5047\u6761\u7684\u75c5\u4e8b\u5047\u6309\u6b63\u5e38\u7b7e\u5230\u8ba1\u5206\u3002 \u5b66\u671f\u8003\u52e4\u5168\u52e4\uff08\u7d2f\u8ba1\u8ba1\u5206 8 \u5206\uff09\uff0c\u83b7\u5f97\u5168\u52e4\u52a0\u5206 2 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [6, 8)\uff0c\u83b7\u5f97\u8003\u52e4\u52a0\u5206 1 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [5, 6)\uff0c\u65e0\u8003\u52e4\u52a0\u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [0, 5)\uff0c\u76f4\u63a5\u6302\u79d1 \u3002 \u671f\u672b\u6210\u7ee9 8 \u7ae0\u8bfe\u7a0b\uff0c\u6bcf\u7ae0\u8bfe\u540e\u5747\u7559\u6709\u4f5c\u4e1a\uff0c\u6309\u7ae0\u8282\u987a\u5e8f\u5206\u522b\u8bb0\u4e3a\uff1aH1 ~ H8 \u6ee1\u5206 10 \u5206\u7684 \u5fc5\u9009 \u4f5c\u4e1a\uff1aH1, H2, H3 \u3002 \u6ee1\u5206 20 \u5206\u7684 \u5fc5\u9009 \u4f5c\u4e1a\uff1aH4 \u3002 \u6ee1\u5206 10 \u5206\u7684 \u56db\u9009\u4e00 \u4f5c\u4e1a\uff1aH5, H6, H7, H8\u3002\u8be5\u9879\u8ba1\u5206\u516c\u5f0f\u4e3a\uff1amax(H5, H6, H7, H8) \u3002 H1, H2, H3 \u4f5c\u4e1a\u91c7\u7528 \u57fa\u4e8e\u65e5\u5fd7\u5206\u6790\u7684\u81ea\u52a8\u5224\u9898\u65b9\u5f0f \uff0c\u4e0d\u9700\u8981\u64b0\u5199\u5b9e\u9a8c\u62a5\u544a\uff0c\u4f46\u9700\u8981\u8bbf\u95ee\u8bfe\u7a0b\u6307\u5b9a\u7684 Linux \u8fdc\u7a0b\u4e91\u4e3b\u673a\u5e76\u81ea\u884c\u72ec\u7acb\u5b8c\u6210\u76f8\u5e94\u7684\u5b9e\u9a8c\u4efb\u52a1\u3002 H4 \u4f5c\u4e1a\u91c7\u7528 Gitlab CI/CD \u65b9\u5f0f\uff0c\u4e0d\u9700\u8981\u64b0\u5199\u5b9e\u9a8c\u62a5\u544a\u3002 \u56db\u9009\u4e00 \u4f5c\u4e1a\u9700\u8981\u63d0\u4ea4\u5b9e\u9a8c\u62a5\u544a\u3002 H6, H7, H8 \u8981\u6c42\u63d0\u4ea4\u5230\u79c1\u6709\u4ed3\u5e93\uff0c\u5176\u4ed6\u7ae0\u8282\u4f5c\u4e1a\u5747\u63d0\u4ea4\u5230\u516c\u5f00\u4ed3\u5e93 \u3002 \u6bcf\u6b21\u5b9e\u9a8c\u62a5\u544a\u7684\u8bc4\u5206\u6807\u51c6\u89c1\u6559\u5b66 Wiki \u9996\u9875\u8bf4\u660e - \u7f3a\u7701\u7684\u5b9e\u9a8c\u62a5\u544a\u8bc4\u5206\u6807\u51c6 \u8bf7\u4ed4\u7ec6\u9605\u8bfb \u5173\u4e8e GitLab \u4f7f\u7528\u7684\u89c4\u8303\u548c\u8981\u6c42 \uff0c\u6309\u7167\u89c4\u8303\u4f7f\u7528\u5bf9\u5e94\u7684\u516c\u5f00\u548c\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u3002 \u4ee5\u4e0a\u4f5c\u4e1a\u5b8c\u6210\u65f6\u95f4\u622a\u6b62\u65f6\u95f4\u4e3a\u672c\u5b66\u671f\u6700\u540e\u4e00\u6b21\u8bfe\u7a0b\u7ed3\u675f\u540e\u4e00\u5468\uff1a 2024.6.26 23:59:59 \u3002 \u5173\u4e8e\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u7684\u8bf4\u660e \u7531\u4e8e\u5728 GitLab \u4e2d\uff0c\u79c1\u6709\u4ed3\u5e93\u4e0d\u4ee3\u8868\u53ea\u6709\u81ea\u5df1\u4e00\u4e2a\u4eba\u53ef\u4ee5\u8bbf\u95ee\uff0c\u8bf7\u770b\u4ee5\u4e0b\u642c\u8fd0\u81ea GitLab \u521b\u5efa\u65b0\u4ed3\u5e93\u65f6\u5173\u4e8e Private \u5c5e\u6027\u7684\u8bf4\u660e\u6587\u5b57\uff1a Project access must be granted explicitly to each user. If this project is part of a group, access is granted to members of the group. \u7ffb\u8bd1\u5982\u4e0b\uff1a \u5fc5\u987b\u5411\u6bcf\u4e2a\u7528\u6237\u663e\u5f0f\u6388\u4e88\u9879\u76ee\u8bbf\u95ee\u6743\u9650\u3002\u5982\u679c\u6b64\u9879\u76ee\u662f\u7528\u6237\u7ec4\u7684\u4e00\u90e8\u5206\uff0c\u5219\u5411\u7ec4\u6210\u5458\u6388\u4e88\u8bbf\u95ee\u6743\u9650\u3002 \u636e\u6b64\u53ef\u4ee5\u66f4\u597d\u5730\u7406\u89e3\u5728 GitLab \u4e2d\uff0c\u5728\u4e00\u4e2a\u7528\u6237\u7ec4\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u7684 \u79c1\u6709\u4ed3\u5e93 \uff0c\u5bf9\u4e8e\u7ec4\u5185\u7684\u6240\u6709\u7528\u6237\u6765\u8bf4\uff0c\u5b9e\u9645\u4e0a\u662f\u76f8\u4e92\u53ef\u89c1\u3001\u5185\u90e8\u516c\u5f00\u7684\u3002 \u4ee5\u4e0b\u4f5c\u4e1a\u8981\u6c42\u91cc\u63d0\u5230\u7684 \u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u5177\u4f53\u6307\u7684\u662f\uff1a \u4ec5\u9650\u4ed3\u5e93\u521b\u5efa\u8005\u672c\u4eba\u30011\u540d\u52a9\u6559\u3001\u4efb\u8bfe\u8001\u5e08 \u6709\u6743\u9650\u8bbf\u95ee\u8be5\u4ed3\u5e93\uff0c\u5176\u4ed6\u540c\u5b66\u5373\u4f7f\u77e5\u9053\u8be5\u4ed3\u5e93\u94fe\u63a5\u5730\u5740\u4e5f\u65e0\u6cd5\u8bbf\u95ee\u4ed3\u5e93\u5185\u5bb9\u3002 \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5efa\u8bae\u5982\u4e0b\uff1a \u5728\u81ea\u5df1\u4e2a\u4eba\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u4ed3\u5e93\u3002\u6b64\u5904\u5047\u8bbe\u4e2a\u4eba\u7528\u6237\u540d\u662f zhangsan \uff0c\u521b\u5efa\u7684\u79c1\u6709\u4ed3\u5e93\u540d\u4e3a linux-private \u3002 \u5728\u81ea\u5df1\u4e2a\u4eba\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u7684\u4ed3\u5e93\u91cc\uff0c\u901a\u8fc7\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u7684 Project information - Members \u8fdb\u5165\u4ed3\u5e93\u7528\u6237\u7ba1\u7406\u9875\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 Invite members \uff0c\u901a\u8fc7\u8f93\u5165\u5b9e\u540d\u7684\u65b9\u5f0f\uff0c\u641c\u7d22\u3001\u9009\u4e2d\u641c\u7d22\u7ed3\u679c\uff0c\u9080\u8bf7 4\u540d\u52a9\u6559\u3001\u4efb\u8bfe\u8001\u5e08\uff0c\u6388\u4e88 Maintainer \u89d2\u8272\u3002 \u5728\u81ea\u5df1\u7684\u7ec4\u547d\u540d\u7a7a\u95f4\u4e0b\uff08\u5f53\u524d\u4e3a ccs/linux-2024 \uff09\u7684\u7ec4\u5185\u516c\u5f00\u4ed3\u5e93\u6839\u76ee\u5f55\u4e0b\u7684 README.md \u6dfb\u52a0\u6307\u5411\u4e0a\u8ff0\u79c1\u6709\u4ed3\u5e93\u7684\u8d85\u94fe\u63a5\uff1a zhangsan/linux-private \u3002 \u7ebf\u4e0a\u6210\u7ee9 \u6821\u5185\u7545\u8bfe\u5e73\u53f0\u4e0a\u5355\u5143\u6d4b\u8bd5\u6210\u7ee9\u7d2f\u52a0\u540e\u8fdb\u884c\u7b49\u6bd4\u4f8b\u6298\u7b97\u3002","title":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219"},{"location":"linux/2024/homework.html#_1","text":"","title":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219"},{"location":"linux/2024/homework.html#_2","text":"\u7b49\u7ea7\u6210\u7ee9\u7c7b\u578b\uff1a\u767e\u5206\u5236 \u603b\u6210\u7ee9 = \u5e73\u65f6\u6210\u7ee9 \u7cfb\u6570 30% + \u671f\u672b\u6210\u7ee9 \u7cfb\u6570 60% + \u7ebf\u4e0a\u6210\u7ee9 \u7cfb\u6570*10%","title":"\u603b\u6210\u7ee9\u6784\u6210"},{"location":"linux/2024/homework.html#_3","text":"\u8be6\u89c1 \u5728\u7ebf\u6210\u7ee9\u8ba1\u7b97\u5668 \u4e2d\u7684\u793a\u4f8b\u6570\u636e\u548c\u5177\u4f53\u5355\u5143\u683c\u7684\u8ba1\u7b97\u516c\u5f0f\u3002 \u5982\u679c\u9700\u8981\u901a\u8fc7\u7f16\u8f91\u6587\u6863\u6765\u81ea\u884c\u201c\u9884\u4f30\u201d\u81ea\u5df1\u7684\u671f\u672b\u6210\u7ee9\uff0c\u4f60\u53ef\u4ee5\u767b\u5f55\u817e\u8baf\u6587\u6863\u540e\uff0c\u590d\u5236\u5f53\u524d\u5171\u4eab\u8868\u683c\u5230\u4f60\u81ea\u5df1\u7684\u8d26\u53f7\u91cc\u3002 \u4e0d\u9700\u8981\u5411\u6211\u7533\u8bf7\u6587\u6863\u7f16\u8f91\u6743\u9650\uff0c\u4e0d\u4f1a\u540c\u610f\u7684\u3002","title":"\u603b\u6210\u7ee9\u8bc4\u5b9a\u89c4\u5219"},{"location":"linux/2024/homework.html#_4","text":"\u57fa\u4e8e \u5ba2\u89c2\u4e8b\u5b9e \u7684\u300c\u4e3b\u89c2\u8bc4\u4ef7\u300d\u3002 \u5ba2\u89c2\u4e8b\u5b9e \u6765\u6e90\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u5728\u6821\u5185\u7545\u8bfe\u5e73\u53f0\u4e0a\u7684\u8ba8\u8bba\u533a\u63d0\u51fa\u597d\u95ee\u9898\u3001\u56de\u7b54\u95ee\u9898\u5bf9\u5176\u4ed6\u540c\u5b66\u4ea7\u751f\u4e86\u6709\u6548\u5e2e\u52a9\u3001\u8bfe\u5802\u4e0a\u79ef\u6781\u53c2\u4e0e\u4e92\u52a8\u3001\u7545\u8bfe\u5b66\u4e60\u5b8c\u6210\u5ea6\u3001 \u8bfe\u7a0b\u516c\u5171\u670d\u52a1\u5668 \u7684\u4f7f\u7528\u6b21\u6570\u548c\u65f6\u957f\u7b49\u3002 \u6570\u636e\u7edf\u8ba1\u622a\u6b62\u672c\u5b66\u671f\u6700\u540e\u4e00\u6b21\u8bfe\u7a0b\u7ed3\u675f 2024.6.19 09:50:00 \u3002 \u6ee1\u5206 30 \u5206\u7684\u5e73\u65f6\u6210\u7ee9\u4e2d\uff0c\u6709 10 \u5206\u6765\u81ea\u4e8e \u8003\u52e4\u6210\u7ee9 \u3002 \u8003\u52e4\u6210\u7ee9 \u8ba1\u7b97\u89c4\u5219\u89c1\u4ee5\u4e0b\u5c0f\u8282\u8be6\u7ec6\u8bf4\u660e\u3002","title":"\u5e73\u65f6\u6210\u7ee9"},{"location":"linux/2024/homework.html#_5","text":"\u672c\u5b66\u671f\u4e00\u5171\u8bb0\u5f55\u8003\u52e4 8 \u6b21\uff0c\u6bcf\u6b21\u6b63\u5e38\u7b7e\u5230\u5f97 1 \u5206\uff0c\u8fdf\u5230\u5f97 0.5 \u5206\uff0c\u65f7\u8bfe\u5f97 0 \u5206\u3002\u6709\u5047\u6761\u7684\u75c5\u4e8b\u5047\u6309\u6b63\u5e38\u7b7e\u5230\u8ba1\u5206\u3002 \u5b66\u671f\u8003\u52e4\u5168\u52e4\uff08\u7d2f\u8ba1\u8ba1\u5206 8 \u5206\uff09\uff0c\u83b7\u5f97\u5168\u52e4\u52a0\u5206 2 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [6, 8)\uff0c\u83b7\u5f97\u8003\u52e4\u52a0\u5206 1 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [5, 6)\uff0c\u65e0\u8003\u52e4\u52a0\u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [0, 5)\uff0c\u76f4\u63a5\u6302\u79d1 \u3002","title":"\u8003\u52e4\u6210\u7ee9"},{"location":"linux/2024/homework.html#_6","text":"8 \u7ae0\u8bfe\u7a0b\uff0c\u6bcf\u7ae0\u8bfe\u540e\u5747\u7559\u6709\u4f5c\u4e1a\uff0c\u6309\u7ae0\u8282\u987a\u5e8f\u5206\u522b\u8bb0\u4e3a\uff1aH1 ~ H8 \u6ee1\u5206 10 \u5206\u7684 \u5fc5\u9009 \u4f5c\u4e1a\uff1aH1, H2, H3 \u3002 \u6ee1\u5206 20 \u5206\u7684 \u5fc5\u9009 \u4f5c\u4e1a\uff1aH4 \u3002 \u6ee1\u5206 10 \u5206\u7684 \u56db\u9009\u4e00 \u4f5c\u4e1a\uff1aH5, H6, H7, H8\u3002\u8be5\u9879\u8ba1\u5206\u516c\u5f0f\u4e3a\uff1amax(H5, H6, H7, H8) \u3002 H1, H2, H3 \u4f5c\u4e1a\u91c7\u7528 \u57fa\u4e8e\u65e5\u5fd7\u5206\u6790\u7684\u81ea\u52a8\u5224\u9898\u65b9\u5f0f \uff0c\u4e0d\u9700\u8981\u64b0\u5199\u5b9e\u9a8c\u62a5\u544a\uff0c\u4f46\u9700\u8981\u8bbf\u95ee\u8bfe\u7a0b\u6307\u5b9a\u7684 Linux \u8fdc\u7a0b\u4e91\u4e3b\u673a\u5e76\u81ea\u884c\u72ec\u7acb\u5b8c\u6210\u76f8\u5e94\u7684\u5b9e\u9a8c\u4efb\u52a1\u3002 H4 \u4f5c\u4e1a\u91c7\u7528 Gitlab CI/CD \u65b9\u5f0f\uff0c\u4e0d\u9700\u8981\u64b0\u5199\u5b9e\u9a8c\u62a5\u544a\u3002 \u56db\u9009\u4e00 \u4f5c\u4e1a\u9700\u8981\u63d0\u4ea4\u5b9e\u9a8c\u62a5\u544a\u3002 H6, H7, H8 \u8981\u6c42\u63d0\u4ea4\u5230\u79c1\u6709\u4ed3\u5e93\uff0c\u5176\u4ed6\u7ae0\u8282\u4f5c\u4e1a\u5747\u63d0\u4ea4\u5230\u516c\u5f00\u4ed3\u5e93 \u3002 \u6bcf\u6b21\u5b9e\u9a8c\u62a5\u544a\u7684\u8bc4\u5206\u6807\u51c6\u89c1\u6559\u5b66 Wiki \u9996\u9875\u8bf4\u660e - \u7f3a\u7701\u7684\u5b9e\u9a8c\u62a5\u544a\u8bc4\u5206\u6807\u51c6 \u8bf7\u4ed4\u7ec6\u9605\u8bfb \u5173\u4e8e GitLab \u4f7f\u7528\u7684\u89c4\u8303\u548c\u8981\u6c42 \uff0c\u6309\u7167\u89c4\u8303\u4f7f\u7528\u5bf9\u5e94\u7684\u516c\u5f00\u548c\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u3002 \u4ee5\u4e0a\u4f5c\u4e1a\u5b8c\u6210\u65f6\u95f4\u622a\u6b62\u65f6\u95f4\u4e3a\u672c\u5b66\u671f\u6700\u540e\u4e00\u6b21\u8bfe\u7a0b\u7ed3\u675f\u540e\u4e00\u5468\uff1a 2024.6.26 23:59:59 \u3002","title":"\u671f\u672b\u6210\u7ee9"},{"location":"linux/2024/homework.html#_7","text":"\u7531\u4e8e\u5728 GitLab \u4e2d\uff0c\u79c1\u6709\u4ed3\u5e93\u4e0d\u4ee3\u8868\u53ea\u6709\u81ea\u5df1\u4e00\u4e2a\u4eba\u53ef\u4ee5\u8bbf\u95ee\uff0c\u8bf7\u770b\u4ee5\u4e0b\u642c\u8fd0\u81ea GitLab \u521b\u5efa\u65b0\u4ed3\u5e93\u65f6\u5173\u4e8e Private \u5c5e\u6027\u7684\u8bf4\u660e\u6587\u5b57\uff1a Project access must be granted explicitly to each user. If this project is part of a group, access is granted to members of the group. \u7ffb\u8bd1\u5982\u4e0b\uff1a \u5fc5\u987b\u5411\u6bcf\u4e2a\u7528\u6237\u663e\u5f0f\u6388\u4e88\u9879\u76ee\u8bbf\u95ee\u6743\u9650\u3002\u5982\u679c\u6b64\u9879\u76ee\u662f\u7528\u6237\u7ec4\u7684\u4e00\u90e8\u5206\uff0c\u5219\u5411\u7ec4\u6210\u5458\u6388\u4e88\u8bbf\u95ee\u6743\u9650\u3002 \u636e\u6b64\u53ef\u4ee5\u66f4\u597d\u5730\u7406\u89e3\u5728 GitLab \u4e2d\uff0c\u5728\u4e00\u4e2a\u7528\u6237\u7ec4\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u7684 \u79c1\u6709\u4ed3\u5e93 \uff0c\u5bf9\u4e8e\u7ec4\u5185\u7684\u6240\u6709\u7528\u6237\u6765\u8bf4\uff0c\u5b9e\u9645\u4e0a\u662f\u76f8\u4e92\u53ef\u89c1\u3001\u5185\u90e8\u516c\u5f00\u7684\u3002 \u4ee5\u4e0b\u4f5c\u4e1a\u8981\u6c42\u91cc\u63d0\u5230\u7684 \u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u5177\u4f53\u6307\u7684\u662f\uff1a \u4ec5\u9650\u4ed3\u5e93\u521b\u5efa\u8005\u672c\u4eba\u30011\u540d\u52a9\u6559\u3001\u4efb\u8bfe\u8001\u5e08 \u6709\u6743\u9650\u8bbf\u95ee\u8be5\u4ed3\u5e93\uff0c\u5176\u4ed6\u540c\u5b66\u5373\u4f7f\u77e5\u9053\u8be5\u4ed3\u5e93\u94fe\u63a5\u5730\u5740\u4e5f\u65e0\u6cd5\u8bbf\u95ee\u4ed3\u5e93\u5185\u5bb9\u3002 \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5efa\u8bae\u5982\u4e0b\uff1a \u5728\u81ea\u5df1\u4e2a\u4eba\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u4ed3\u5e93\u3002\u6b64\u5904\u5047\u8bbe\u4e2a\u4eba\u7528\u6237\u540d\u662f zhangsan \uff0c\u521b\u5efa\u7684\u79c1\u6709\u4ed3\u5e93\u540d\u4e3a linux-private \u3002 \u5728\u81ea\u5df1\u4e2a\u4eba\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u7684\u4ed3\u5e93\u91cc\uff0c\u901a\u8fc7\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u7684 Project information - Members \u8fdb\u5165\u4ed3\u5e93\u7528\u6237\u7ba1\u7406\u9875\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 Invite members \uff0c\u901a\u8fc7\u8f93\u5165\u5b9e\u540d\u7684\u65b9\u5f0f\uff0c\u641c\u7d22\u3001\u9009\u4e2d\u641c\u7d22\u7ed3\u679c\uff0c\u9080\u8bf7 4\u540d\u52a9\u6559\u3001\u4efb\u8bfe\u8001\u5e08\uff0c\u6388\u4e88 Maintainer \u89d2\u8272\u3002 \u5728\u81ea\u5df1\u7684\u7ec4\u547d\u540d\u7a7a\u95f4\u4e0b\uff08\u5f53\u524d\u4e3a ccs/linux-2024 \uff09\u7684\u7ec4\u5185\u516c\u5f00\u4ed3\u5e93\u6839\u76ee\u5f55\u4e0b\u7684 README.md \u6dfb\u52a0\u6307\u5411\u4e0a\u8ff0\u79c1\u6709\u4ed3\u5e93\u7684\u8d85\u94fe\u63a5\uff1a zhangsan/linux-private \u3002","title":"\u5173\u4e8e\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u7684\u8bf4\u660e"},{"location":"linux/2024/homework.html#_8","text":"\u6821\u5185\u7545\u8bfe\u5e73\u53f0\u4e0a\u5355\u5143\u6d4b\u8bd5\u6210\u7ee9\u7d2f\u52a0\u540e\u8fdb\u884c\u7b49\u6bd4\u4f8b\u6298\u7b97\u3002","title":"\u7ebf\u4e0a\u6210\u7ee9"},{"location":"linux/2025/index.html","text":"Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406 \u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u8bfe\u7a0b\u7f16\u53f7\uff1a2121030017 \u82f1\u6587\u540d\u79f0\uff1aLinux System and Network Management \u6388\u8bfe\u5bf9\u8c61\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168 \u5f00\u8bfe\u5b66\u671f\uff1a4 \u5b66\u5206/\u5b66\u65f6\uff1a1.5/32\uff08\u8bfe\u518516\u5b66\u65f6\uff0c\u5b9e\u9a8c\u4e0a\u673a16\u5b66\u65f6\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u8ba1\u7b97\u673a\u5bfc\u8bba\uff0c\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5185\uff08\u7ebf\u4e0a\uff09\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219 2021 \u5e74\u5b8c\u6574\u8bfe\u7a0b\u89c6\u9891\u56de\u653e \u8bfe\u7a0b\u7b80\u4ecb Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u652f\u6301\u591a\u7528\u6237\u4e0e\u591a\u4efb\u52a1\uff0c\u8fd1\u5e74\u6765\u53d1\u5c55\u8fc5\u901f\uff0c\u5df2\u7ecf\u6210\u4e3a\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e00\uff0c\u5177\u6709\u5341\u5206\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u672c\u8bfe\u7a0b\u4ee5Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u4e3a\u8303\u4f8b\uff0c\u4ee5\u7406\u8bba\u8054\u7cfb\u5b9e\u9645\u7684\u6559\u5b66\u65b9\u6cd5\uff0c\u7cfb\u7edf\u5b66\u4e60\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f7f\u7528\u4ee5\u53ca\u7f51\u7edc\u7cfb\u7edf\u548c\u7f51\u7edc\u670d\u52a1\u6784\u5efa\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u5e76\u901a\u8fc7\u8bfe\u7a0b\u5b9e\u8df5\uff0c\u57f9\u517b\u5b66\u751f\u7684\u5b9e\u9645\u6280\u80fd\u3002\u4e3b\u8981\u5305\u62ecLinux\u5b89\u88c5\u3001\u7cfb\u7edf\u7ba1\u7406\u4e0e\u7f51\u7edc\u57fa\u7840\uff1bWEB\u3001DNS\u7b49\u7f51\u7edc\u670d\u52a1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u670d\u52a1\u5668\u914d\u7f6e\u4e0e\u5e94\u7528\uff1b\u57fa\u4e8e\u5bb9\u5668\u5316\u6280\u672f\u7684\u5f00\u6e90\u5927\u6a21\u578b\u5de5\u5177\u7684\u672c\u5730\u90e8\u7f72\u65b9\u6cd5\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u90e8\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\u3002 \u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42 Linux\u662f\u7f51\u7edc\u5e94\u7528\u9886\u57df\u4e2d\u5e7f\u6cdb\u4f7f\u7528\u7684\u4e00\u79cd\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u5e03\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u4e3a\u7f51\u7edc\u7cfb\u7edf\u7ba1\u7406\u3001\u4e91\u8ba1\u7b97\u53ca\u670d\u52a1\u5668\u5e94\u7528\u5f00\u53d1\u7b49\u5960\u5b9a\u57fa\u7840\u3002 \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d \u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6982\u8ff0\uff1a\u53d1\u884c\u7248\u3001\u5f00\u6e90\u793e\u533a\u4e0e\u6587\u5316\u3001\u5185\u6838\u7248\u672c\u5386\u53f2\u3001LSB(Linux Standard Base)\u3001CGL(Carrier Grade Linux)\u3001Linux Foundation\u7b49 \u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\uff1a\u7269\u7406\u673a\u5b89\u88c5\u3001\u865a\u62df\u673a\u5b89\u88c5\u3001\u7cfb\u7edf\u5206\u533a\u3001\u65e0\u4eba\u503c\u5b88\u5b89\u88c5\u7b49 \u5185\u7f6e\u5e2e\u52a9\u7cfb\u7edf\u7684\u4f7f\u7528\uff1aman\u3001--help\u3001-h \u547d\u4ee4\u884c\u4f7f\u7528\uff1ashell\u5bb6\u65cf\u3001\u81ea\u52a8\u8865\u5168\u3001\u91cd\u590d\u547d\u4ee4\u8f93\u5165\u7b49bash\u5e38\u7528\u5feb\u6377\u952e\u3001\u6587\u672c\u7f16\u8f91\u4e0e\u67e5\u770b\uff08echo\u3001cat\u3001less\u3001vim\u3001sort\u3001uniq\u3001wc\u7b49\uff09 SSH\u4e0e\u8fdc\u7a0b\u670d\u52a1\u5668\u7ba1\u7406\uff1a\u514d\u5bc6\u767b\u5f55\u3001SSH\u8df3\u677f\u4e0e\u5821\u5792\u4e3b\u673a\u3001SSH\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e8c\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6587\u4ef6\u7684\u538b\u7f29\u4e0e\u89e3\u538b\u7f29\uff1atar\u3001gz\u3001zip\u3001gzip\u30017z\u7b49\u3001\u8de8\u5e73\u53f0\u538b\u7f29\u6587\u4ef6\u7684\u4e2d\u6587\u4e71\u7801\u95ee\u9898\u7b49 \u8f6f\u4ef6\u5305\u7ba1\u7406\uff1a\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d\u3001\u6e90\u7801\u4e0b\u8f7d\u4e0e\u5b89\u88c5 \u6587\u4ef6\u7ba1\u7406\uff1afind\u3001grep\u3001sed\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u8fdb\u7a0b\u7ba1\u7406\uff1aps\u3001kill\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u76ee\u5f55\u7ed3\u6784\uff1aman hier\u3001ls \u7f51\u7edc\u8c03\u8bd5\uff1aethtool\u3001ip\u3001ifconfig\u3001arp\u3001traceroute\u3001netstat\u3001route\u3001/etc/hosts\u3001/etc/resolv.conf\u3001tcpdump\u7b49 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e09\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7528\u6237/\u7ec4\u4e0e\u6743\u9650\u7ba1\u7406\uff1asu\u4e0esudo\u3001passwd\u3001adduser/useradd\u3001groupadd/addgroup\u3001usermod\u3001getfacl/setfacl\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u6587\u4ef6\u7cfb\u7edf\u4e0e\u5b58\u50a8\u7ba1\u7406\uff1a\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b\u4e0e\u683c\u5f0f\u5316\u3001\u78c1\u76d8\u5206\u533a\u3001\u5b58\u50a8\u8bbe\u5907\u4e0e\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\uff08\u5f00\u673a\u81ea\u52a8\u6302\u8f7d\u3001\u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\u3001iso\u6587\u4ef6\u6302\u8f7d\u7b49\uff09\u3001\u57fa\u4e8eLVM\uff08\u903b\u8f91\u5206\u5377\u7ba1\u7406\uff09\u7684\u5206\u533a\u5bb9\u91cf\u52a8\u6001\u8c03\u6574 \u6587\u4ef6\u5907\u4efd\u4e0e\u6062\u590d\uff08\u6587\u4ef6\u548c\u76ee\u5f55\u5c5e\u4e3b\u4fe1\u606f\u7684\u4fdd\u5b58\uff09\u7b49 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff1a\u7cfb\u7edf\u52a0\u8f7d\u6d41\u7a0b\uff08 Systemd \u3001 LSBInitScripts ) \u914d\u7f6e\u6bcf\u5929\u81ea\u52a8\u5b89\u88c5\u5b89\u5168\u66f4\u65b0 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u56db\u7ae0\uff1ashell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u5f00\u53d1\u548c\u8c03\u8bd5\u73af\u5883\u642d\u5efa \u57fa\u672c\u8bed\u6cd5\uff1ashell\u7248\u672c\u3001\u53d8\u91cf\u5b9a\u4e49\u3001\u73af\u5883\u53d8\u91cf\u3001\u8fc7\u7a0b\uff08\u51fd\u6570\uff09\u3001\u6761\u4ef6\u8bed\u53e5\u3001\u5faa\u73af\u3001\u6570\u503c\u8ba1\u7b97\u3001\u6570\u7ec4\u3001\u5b50\u8fdb\u7a0b\u7b49 \u5b9e\u4f8b\u8bb2\u89e3\uff1a\u6821\u56ed\u7f51\u81ea\u52a8\u8054\u7f51bash\u811a\u672c \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e94\u7ae0\uff1aWeb\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09 Web\u670d\u52a1\u57fa\u672c\u6982\u5ff5\uff1aHTTP\u8bf7\u6c42\u5904\u7406\u7684\u751f\u547d\u5468\u671f \u4e3b\u6d41WEB\u670d\u52a1\u5668\uff1aapache 1.x/2.x\u3001nginx\uff08\u884d\u751f\u53d1\u884c\u7248\uff1a OpenResty \u3001 Kong \u3001 Tengine \uff09 \u7528curl\u548cnginx\u91cd\u65b0\u8ba4\u8bc6\u548c\u5b66\u4e60HTTP\u534f\u8bae \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516d\u7ae0\uff1aDevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72\uff084\u5b66\u65f6\uff09 \u53d1\u5e03\u7ba1\u7406\uff1a\u5f00\u53d1\u73af\u5883\u3001\u6d4b\u8bd5\u73af\u5883\u4e0e\u751f\u4ea7\u73af\u5883\u7684\u4e00\u81f4\u6027\uff08\u4ee3\u7801\u3001\u6570\u636e\u3001\u7f51\u7edc\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u3001\u4f9d\u8d56\u7684lib\u7b49\uff09\u3001\u4e0a\u7ebf\u4e0e\u56de\u6eda \u4e3b\u6d41\u6280\u672f\u5de5\u5177\u94fe\uff1agit\uff08github/gitlab\uff09\u3001 ansible \uff08puppet\u3001chef\u3001salt\u7b49\uff09\u3001docker\uff08dockerfile/k8s/dockerhub\uff09\u3001openstack\uff08KVM\u3001Xen\uff09\u3001openvswitch\u3001tcpreplay \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 | PXE | ansible \u7b2c\u4e03\u7ae0\uff1aAI \u5927\u6a21\u578b\u7684\u672c\u5730\u90e8\u7f72\u4e0e\u4f7f\u7528\uff082\u5b66\u65f6\uff09 \u5f00\u6e90\u5927\u6a21\u578b\u6280\u672f\u53d1\u5c55\u73b0\u72b6 \u57fa\u4e8e\u5bb9\u5668\u5316\u6280\u672f\u672c\u5730\u90e8\u7f72\u5f00\u6e90\u5927\u6a21\u578b\uff08ollama + Open WebUI + one-api \u7b49\uff09 \u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282 H1 \u4e3b\u6d41 Linux \u53d1\u884c\u7248\u521d\u4f53\u9a8c\uff082\u5b66\u65f6\uff09\uff1a\u672c\u5730\u5b9e\u9a8c\u73af\u5883\u548c\u4e91\u5b9e\u9a8c\u73af\u5883 \u2b50\ufe0f\u2b50\ufe0f H2 Linux\u547d\u4ee4\u884c\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u672c\u5730\u5b9e\u9a8c\u73af\u5883\u548c\u4e91\u5b9e\u9a8c\u73af\u5883 \u2b50\ufe0f\u2b50\ufe0f H3 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u76ee\u7ba1\u7406\u4e0e\u7f51\u7edc\u6545\u969c\u6392\u67e5 \uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f H4 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u6587\u672c\u5904\u7406\uff08\u8003\u5bdf\u53bb\u91cd\u3001\u7edf\u8ba1\u3001\u6392\u5e8f\u7b49\u64cd\u4f5c\uff09\u3001\u6587\u4ef6\u6279\u91cf\u91cd\u547d\u540d\uff08\u7b80\u5355\u91cd\u547d\u540d\u89c4\u5219\u3001\u590d\u6742\u91cd\u547d\u540d\u89c4\u5219\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H5 \u652f\u6301\u53cd\u5411\u4ee3\u7406\u3001\u6d41\u91cf\u63a7\u5236\u3001\u5173\u952e\u8bcd\u8fc7\u6ee4\u7b49\u529f\u80fd\u7684\u9ad8\u7ea7Web\u670d\u52a1\u5668\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H7 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528\u5bb9\u5668\u6280\u672f\u90e8\u7f72\u672c\u5730\u5927\u6a21\u578b\u5de5\u5177\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u7b49\u7ea7 \u8bf4\u660e \u2b50\ufe0f \u7167\u846b\u82a6\u753b\u74e2\uff0c\u6ca1\u6709\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f \u7167\u732b\u753b\u864e\uff0c\u53ef\u80fd\u6709\u5c0f\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u6709\u8f83\u4e3a\u8be6\u7ec6\u7684\u53c2\u8003\u8d44\u6599\uff0c\u4f46\u5751\u4e5f\u4e0d\u5c11\uff0c\u8003\u5bdf\u81ea\u5df1\u52a8\u624b\u641c\u7d22\u6216 AI \u5de5\u5177\u4f7f\u7528\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u53c2\u8003\u8d44\u6599\u8f83\u591a\uff0c\u4f46\u9700\u8981\u63d0\u9ad8\u4fe1\u606f\u68c0\u7d22\u548c\u7504\u522b\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u504f\u7efc\u5408\u80fd\u529b\u8bad\u7ec3\uff0c\u7f16\u7a0b\u80fd\u529b\u8981\u6c42\u4e2d\u7b49\u504f\u4e0a\u3002 \u4e94\u3001\u5efa\u8bae\u6559\u6750 \u6240\u6709\u8bfe\u4ef6\u7684\u6e90\u4ee3\u7801\u5747\u5df2\u5f00\u6e90\u5728 Github - c4pr1c3/LinuxSysAdmin \u516d\u3001\u53c2\u8003\u8d44\u6599 Linux Foundation Certified System Administrator Red Hat System Administration I RH124 Red Hat System Administration II with RHCSA exam Red Hat Certified System Administrator (RHCSA) exam EX200 BASH Programming - Introduction HOW-TO Bash Reference Manual from gnu.org Shell Style Guide by Google Inc. UNIX TOOLBOX: a collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users \u9e1f\u54e5\u7684Linux\u79c1\u623f\u83dc","title":"2025\u5e74"},{"location":"linux/2025/index.html#linux","text":"","title":"Linux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406"},{"location":"linux/2025/index.html#_1","text":"\u8bfe\u7a0b\u7f16\u53f7\uff1a2121030017 \u82f1\u6587\u540d\u79f0\uff1aLinux System and Network Management \u6388\u8bfe\u5bf9\u8c61\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168 \u5f00\u8bfe\u5b66\u671f\uff1a4 \u5b66\u5206/\u5b66\u65f6\uff1a1.5/32\uff08\u8bfe\u518516\u5b66\u65f6\uff0c\u5b9e\u9a8c\u4e0a\u673a16\u5b66\u65f6\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u8ba1\u7b97\u673a\u5bfc\u8bba\uff0c\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5185\uff08\u7ebf\u4e0a\uff09\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219 2021 \u5e74\u5b8c\u6574\u8bfe\u7a0b\u89c6\u9891\u56de\u653e","title":"\u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"linux/2025/index.html#_2","text":"Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u652f\u6301\u591a\u7528\u6237\u4e0e\u591a\u4efb\u52a1\uff0c\u8fd1\u5e74\u6765\u53d1\u5c55\u8fc5\u901f\uff0c\u5df2\u7ecf\u6210\u4e3a\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e00\uff0c\u5177\u6709\u5341\u5206\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u672c\u8bfe\u7a0b\u4ee5Linux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u4e3a\u8303\u4f8b\uff0c\u4ee5\u7406\u8bba\u8054\u7cfb\u5b9e\u9645\u7684\u6559\u5b66\u65b9\u6cd5\uff0c\u7cfb\u7edf\u5b66\u4e60\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f7f\u7528\u4ee5\u53ca\u7f51\u7edc\u7cfb\u7edf\u548c\u7f51\u7edc\u670d\u52a1\u6784\u5efa\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u5e76\u901a\u8fc7\u8bfe\u7a0b\u5b9e\u8df5\uff0c\u57f9\u517b\u5b66\u751f\u7684\u5b9e\u9645\u6280\u80fd\u3002\u4e3b\u8981\u5305\u62ecLinux\u5b89\u88c5\u3001\u7cfb\u7edf\u7ba1\u7406\u4e0e\u7f51\u7edc\u57fa\u7840\uff1bWEB\u3001DNS\u7b49\u7f51\u7edc\u670d\u52a1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u670d\u52a1\u5668\u914d\u7f6e\u4e0e\u5e94\u7528\uff1b\u57fa\u4e8e\u5bb9\u5668\u5316\u6280\u672f\u7684\u5f00\u6e90\u5927\u6a21\u578b\u5de5\u5177\u7684\u672c\u5730\u90e8\u7f72\u65b9\u6cd5\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u90e8\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"linux/2025/index.html#_3","text":"Linux\u662f\u7f51\u7edc\u5e94\u7528\u9886\u57df\u4e2d\u5e7f\u6cdb\u4f7f\u7528\u7684\u4e00\u79cd\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\u5b66\u4e60\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u57fa\u4e8eLinux\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7f51\u7edc\u7cfb\u7edf\u4e0e\u670d\u52a1\u7684\u5e03\u7f72\u3001\u5e94\u7528\u3001\u7ba1\u7406\u7684\u76f8\u5173\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u4e3a\u7f51\u7edc\u7cfb\u7edf\u7ba1\u7406\u3001\u4e91\u8ba1\u7b97\u53ca\u670d\u52a1\u5668\u5e94\u7528\u5f00\u53d1\u7b49\u5960\u5b9a\u57fa\u7840\u3002","title":"\u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42"},{"location":"linux/2025/index.html#_4","text":"\u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6982\u8ff0\uff1a\u53d1\u884c\u7248\u3001\u5f00\u6e90\u793e\u533a\u4e0e\u6587\u5316\u3001\u5185\u6838\u7248\u672c\u5386\u53f2\u3001LSB(Linux Standard Base)\u3001CGL(Carrier Grade Linux)\u3001Linux Foundation\u7b49 \u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\uff1a\u7269\u7406\u673a\u5b89\u88c5\u3001\u865a\u62df\u673a\u5b89\u88c5\u3001\u7cfb\u7edf\u5206\u533a\u3001\u65e0\u4eba\u503c\u5b88\u5b89\u88c5\u7b49 \u5185\u7f6e\u5e2e\u52a9\u7cfb\u7edf\u7684\u4f7f\u7528\uff1aman\u3001--help\u3001-h \u547d\u4ee4\u884c\u4f7f\u7528\uff1ashell\u5bb6\u65cf\u3001\u81ea\u52a8\u8865\u5168\u3001\u91cd\u590d\u547d\u4ee4\u8f93\u5165\u7b49bash\u5e38\u7528\u5feb\u6377\u952e\u3001\u6587\u672c\u7f16\u8f91\u4e0e\u67e5\u770b\uff08echo\u3001cat\u3001less\u3001vim\u3001sort\u3001uniq\u3001wc\u7b49\uff09 SSH\u4e0e\u8fdc\u7a0b\u670d\u52a1\u5668\u7ba1\u7406\uff1a\u514d\u5bc6\u767b\u5f55\u3001SSH\u8df3\u677f\u4e0e\u5821\u5792\u4e3b\u673a\u3001SSH\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e8c\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u6587\u4ef6\u7684\u538b\u7f29\u4e0e\u89e3\u538b\u7f29\uff1atar\u3001gz\u3001zip\u3001gzip\u30017z\u7b49\u3001\u8de8\u5e73\u53f0\u538b\u7f29\u6587\u4ef6\u7684\u4e2d\u6587\u4e71\u7801\u95ee\u9898\u7b49 \u8f6f\u4ef6\u5305\u7ba1\u7406\uff1a\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d\u3001\u6e90\u7801\u4e0b\u8f7d\u4e0e\u5b89\u88c5 \u6587\u4ef6\u7ba1\u7406\uff1afind\u3001grep\u3001sed\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u8fdb\u7a0b\u7ba1\u7406\uff1aps\u3001kill\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u76ee\u5f55\u7ed3\u6784\uff1aman hier\u3001ls \u7f51\u7edc\u8c03\u8bd5\uff1aethtool\u3001ip\u3001ifconfig\u3001arp\u3001traceroute\u3001netstat\u3001route\u3001/etc/hosts\u3001/etc/resolv.conf\u3001tcpdump\u7b49 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e09\u7ae0\uff1aLinux\u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7528\u6237/\u7ec4\u4e0e\u6743\u9650\u7ba1\u7406\uff1asu\u4e0esudo\u3001passwd\u3001adduser/useradd\u3001groupadd/addgroup\u3001usermod\u3001getfacl/setfacl\u7b49\u547d\u4ee4\u7684\u4f7f\u7528 \u6587\u4ef6\u7cfb\u7edf\u4e0e\u5b58\u50a8\u7ba1\u7406\uff1a\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b\u4e0e\u683c\u5f0f\u5316\u3001\u78c1\u76d8\u5206\u533a\u3001\u5b58\u50a8\u8bbe\u5907\u4e0e\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\uff08\u5f00\u673a\u81ea\u52a8\u6302\u8f7d\u3001\u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\u3001iso\u6587\u4ef6\u6302\u8f7d\u7b49\uff09\u3001\u57fa\u4e8eLVM\uff08\u903b\u8f91\u5206\u5377\u7ba1\u7406\uff09\u7684\u5206\u533a\u5bb9\u91cf\u52a8\u6001\u8c03\u6574 \u6587\u4ef6\u5907\u4efd\u4e0e\u6062\u590d\uff08\u6587\u4ef6\u548c\u76ee\u5f55\u5c5e\u4e3b\u4fe1\u606f\u7684\u4fdd\u5b58\uff09\u7b49 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u7ba1\u7406\uff1a\u7cfb\u7edf\u52a0\u8f7d\u6d41\u7a0b\uff08 Systemd \u3001 LSBInitScripts ) \u914d\u7f6e\u6bcf\u5929\u81ea\u52a8\u5b89\u88c5\u5b89\u5168\u66f4\u65b0 \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u56db\u7ae0\uff1ashell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u5f00\u53d1\u548c\u8c03\u8bd5\u73af\u5883\u642d\u5efa \u57fa\u672c\u8bed\u6cd5\uff1ashell\u7248\u672c\u3001\u53d8\u91cf\u5b9a\u4e49\u3001\u73af\u5883\u53d8\u91cf\u3001\u8fc7\u7a0b\uff08\u51fd\u6570\uff09\u3001\u6761\u4ef6\u8bed\u53e5\u3001\u5faa\u73af\u3001\u6570\u503c\u8ba1\u7b97\u3001\u6570\u7ec4\u3001\u5b50\u8fdb\u7a0b\u7b49 \u5b9e\u4f8b\u8bb2\u89e3\uff1a\u6821\u56ed\u7f51\u81ea\u52a8\u8054\u7f51bash\u811a\u672c \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u4e94\u7ae0\uff1aWeb\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09 Web\u670d\u52a1\u57fa\u672c\u6982\u5ff5\uff1aHTTP\u8bf7\u6c42\u5904\u7406\u7684\u751f\u547d\u5468\u671f \u4e3b\u6d41WEB\u670d\u52a1\u5668\uff1aapache 1.x/2.x\u3001nginx\uff08\u884d\u751f\u53d1\u884c\u7248\uff1a OpenResty \u3001 Kong \u3001 Tengine \uff09 \u7528curl\u548cnginx\u91cd\u65b0\u8ba4\u8bc6\u548c\u5b66\u4e60HTTP\u534f\u8bae \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 \u7b2c\u516d\u7ae0\uff1aDevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72\uff084\u5b66\u65f6\uff09 \u53d1\u5e03\u7ba1\u7406\uff1a\u5f00\u53d1\u73af\u5883\u3001\u6d4b\u8bd5\u73af\u5883\u4e0e\u751f\u4ea7\u73af\u5883\u7684\u4e00\u81f4\u6027\uff08\u4ee3\u7801\u3001\u6570\u636e\u3001\u7f51\u7edc\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u3001\u4f9d\u8d56\u7684lib\u7b49\uff09\u3001\u4e0a\u7ebf\u4e0e\u56de\u6eda \u4e3b\u6d41\u6280\u672f\u5de5\u5177\u94fe\uff1agit\uff08github/gitlab\uff09\u3001 ansible \uff08puppet\u3001chef\u3001salt\u7b49\uff09\u3001docker\uff08dockerfile/k8s/dockerhub\uff09\u3001openstack\uff08KVM\u3001Xen\uff09\u3001openvswitch\u3001tcpreplay \u5728\u7ebf\u67e5\u770b\u8bfe\u4ef6 | PXE | ansible \u7b2c\u4e03\u7ae0\uff1aAI \u5927\u6a21\u578b\u7684\u672c\u5730\u90e8\u7f72\u4e0e\u4f7f\u7528\uff082\u5b66\u65f6\uff09 \u5f00\u6e90\u5927\u6a21\u578b\u6280\u672f\u53d1\u5c55\u73b0\u72b6 \u57fa\u4e8e\u5bb9\u5668\u5316\u6280\u672f\u672c\u5730\u90e8\u7f72\u5f00\u6e90\u5927\u6a21\u578b\uff08ollama + Open WebUI + one-api \u7b49\uff09","title":"\u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d"},{"location":"linux/2025/index.html#_5","text":"H1 \u4e3b\u6d41 Linux \u53d1\u884c\u7248\u521d\u4f53\u9a8c\uff082\u5b66\u65f6\uff09\uff1a\u672c\u5730\u5b9e\u9a8c\u73af\u5883\u548c\u4e91\u5b9e\u9a8c\u73af\u5883 \u2b50\ufe0f\u2b50\ufe0f H2 Linux\u547d\u4ee4\u884c\u4f7f\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u672c\u5730\u5b9e\u9a8c\u73af\u5883\u548c\u4e91\u5b9e\u9a8c\u73af\u5883 \u2b50\ufe0f\u2b50\ufe0f H3 \u5f00\u673a\u81ea\u542f\u52a8\u9879\u76ee\u7ba1\u7406\u4e0e\u7f51\u7edc\u6545\u969c\u6392\u67e5 \uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f H4 shell\u811a\u672c\u7f16\u7a0b\u7ec3\u4e60\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff1a\u6587\u672c\u5904\u7406\uff08\u8003\u5bdf\u53bb\u91cd\u3001\u7edf\u8ba1\u3001\u6392\u5e8f\u7b49\u64cd\u4f5c\uff09\u3001\u6587\u4ef6\u6279\u91cf\u91cd\u547d\u540d\uff08\u7b80\u5355\u91cd\u547d\u540d\u89c4\u5219\u3001\u590d\u6742\u91cd\u547d\u540d\u89c4\u5219\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H5 \u652f\u6301\u53cd\u5411\u4ee3\u7406\u3001\u6d41\u91cf\u63a7\u5236\u3001\u5173\u952e\u8bcd\u8fc7\u6ee4\u7b49\u529f\u80fd\u7684\u9ad8\u7ea7Web\u670d\u52a1\u5668\u914d\u7f6e\uff082\u5b66\u65f6\uff09 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f H7 \u3010 \u63d0\u4ea4\u5230\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u3011\u4f7f\u7528\u5bb9\u5668\u6280\u672f\u90e8\u7f72\u672c\u5730\u5927\u6a21\u578b\u5de5\u5177\uff082\u5b66\u65f6\uff09\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u7b49\u7ea7 \u8bf4\u660e \u2b50\ufe0f \u7167\u846b\u82a6\u753b\u74e2\uff0c\u6ca1\u6709\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f \u7167\u732b\u753b\u864e\uff0c\u53ef\u80fd\u6709\u5c0f\u5751\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u6709\u8f83\u4e3a\u8be6\u7ec6\u7684\u53c2\u8003\u8d44\u6599\uff0c\u4f46\u5751\u4e5f\u4e0d\u5c11\uff0c\u8003\u5bdf\u81ea\u5df1\u52a8\u624b\u641c\u7d22\u6216 AI \u5de5\u5177\u4f7f\u7528\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u53c2\u8003\u8d44\u6599\u8f83\u591a\uff0c\u4f46\u9700\u8981\u63d0\u9ad8\u4fe1\u606f\u68c0\u7d22\u548c\u7504\u522b\u80fd\u529b\u3002 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u504f\u7efc\u5408\u80fd\u529b\u8bad\u7ec3\uff0c\u7f16\u7a0b\u80fd\u529b\u8981\u6c42\u4e2d\u7b49\u504f\u4e0a\u3002","title":"\u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282"},{"location":"linux/2025/index.html#_6","text":"\u6240\u6709\u8bfe\u4ef6\u7684\u6e90\u4ee3\u7801\u5747\u5df2\u5f00\u6e90\u5728 Github - c4pr1c3/LinuxSysAdmin","title":"\u4e94\u3001\u5efa\u8bae\u6559\u6750"},{"location":"linux/2025/index.html#_7","text":"Linux Foundation Certified System Administrator Red Hat System Administration I RH124 Red Hat System Administration II with RHCSA exam Red Hat Certified System Administrator (RHCSA) exam EX200 BASH Programming - Introduction HOW-TO Bash Reference Manual from gnu.org Shell Style Guide by Google Inc. UNIX TOOLBOX: a collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users \u9e1f\u54e5\u7684Linux\u79c1\u623f\u83dc","title":"\u516d\u3001\u53c2\u8003\u8d44\u6599"},{"location":"linux/2025/calendar.html","text":"2025 \u6625\u6559\u5b66\u65e5\u5386 \u4e0a\u8bfe\u524d\u51c6\u5907 \u7528\u4e2d\u4f20\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u65b9\u5f0f\u6fc0\u6d3b\u81ea\u5df1\u5728 https://git.cuc.edu.cn/ \u7684\u8d26\u53f7 \u8bf7\u5927\u5bb6\u63d0\u524d\u6ce8\u518c\u4e00\u4e2a\u963f\u91cc\u4e91\u8d26\u53f7\uff08\u65e0\u9700\u4ed8\u8d39\u8d2d\u4e70\u4efb\u4f55\u670d\u52a1\uff09 \u8bf7\u5927\u5bb6\u63d0\u524d\u5728 Virtualbox \u4e2d\u5b89\u88c5\u597d Ubuntu 22.04 \u7cfb\u7edf \u81ea\u5df1\u641e\u4e0d\u5b9a\u624b\u52a8\u5b89\u88c5\u8fc7\u7a0b\u7684\u53ef\u4ee5\u76f4\u63a5 \u5bfc\u5165\u6211\u5b89\u88c5\u597d\u7684\u865a\u62df\u673a \uff0c\u5982\u4e0b\u6240\u793a \u5206\u4eab\u540d\u79f0\uff1aLinux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406-\u8bfe\u7a0b\u516c\u5f00\u5206\u4eab \u5206\u4eab\u94fe\u63a5\uff1ahttps://kod.cuc.edu.cn/#s/9BGcMgPw \u8bbf\u95ee\u5bc6\u7801\uff1asumw2 \u7b2c\u4e00\u5468 2025-02-25\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff0c\u8be6\u89c1 \u6559\u5b66\u8ba1\u5212 - \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d \u7b2c\u4e8c\u5468 2025-03-04\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e00\u7ae0\u5b9e\u9a8c \u7b2c\u4e09\u5468 2025-03-11\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u4e8c\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840 \u7b2c\u56db\u5468 2025-03-18\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e00\u7ae0\u5b9e\u9a8c\u62a5\u544a\u63d0\u4ea4\u622a\u6b62\u4eca\u5929\u4e0a\u8bfe\u4e4b\u524d \u7b2c\u4e8c\u7ae0\u5b9e\u9a8c \u7b2c\u4e94\u5468 2025-03-25\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u4e09\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7b2c\u516d\u5468 2025-04-01\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e8c\u7ae0\u5b9e\u9a8c\u62a5\u544a\u63d0\u4ea4\u622a\u6b62\u4eca\u5929\u4e0a\u8bfe\u4e4b\u524d \u7b2c\u4e09\u7ae0\u5b9e\u9a8c \u7b2c\u4e03\u5468 2025-04-08\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u56db\u7ae0 Shell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7b2c\u516b\u5468 2025-04-15\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e09\u7ae0\u5b9e\u9a8c\u62a5\u544a\u63d0\u4ea4\u622a\u6b62\u4eca\u5929\u4e0a\u8bfe\u4e4b\u524d \u7b2c\u56db\u7ae0\u5b9e\u9a8c \u7b2c\u4e5d\u5468 2025-04-22\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u4e94\u7ae0 Web\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09 \u7b2c\u5341\u5468 2025-04-29\uff08\u8bfb\u4e66\u5468\u653e\u5047\uff09 \u7b2c\u5341\u4e00\u5468 2025-05-06\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u516d\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 \u7b2c\u5341\u4e8c\u5468 2025-05-13\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u56db\u7ae0\u5b9e\u9a8c\u62a5\u544a\u63d0\u4ea4\u622a\u6b62\u4eca\u5929\u4e0a\u8bfe\u4e4b\u524d \u7b2c\u4e94\u7ae0\u5b9e\u9a8c \u7b2c\u5341\u4e09\u5468 2025-05-20\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u516d\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72 \u7b2c\u5341\u56db\u5468 2025-05-27\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e03\u7ae0 AI \u5927\u6a21\u578b\u7684\u672c\u5730\u90e8\u7f72\u4e0e\u4f7f\u7528 \u7b2c\u5341\u4e94\u5468 2025-06-03\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \u7b2c\u4e03\u7ae0 AI \u5927\u6a21\u578b\u7684\u672c\u5730\u90e8\u7f72\u4e0e\u4f7f\u7528 \u7b2c\u5341\u516d\u5468 2025-06-10\uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e94\u7ae0\u5b9e\u9a8c\u62a5\u544a\u63d0\u4ea4\u622a\u6b62\u4eca\u5929\u4e0a\u8bfe\u4e4b\u524d \u7b2c\u4e03\u7ae0 \u5b9e\u9a8c \u7b2c\u5341\u4e03\u5468 2025-06-17\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09 \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: \u5b9e\u6218\u5165\u95e8 Cloud-Init \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: Ansible \u81ea\u884c\u5b8c\u6210\u672c\u5b66\u671f\u6240\u6709\u5b9e\u9a8c \u6279\u6539\u8ba1\u7b97\u6210\u7ee9\u622a\u6b62\u65f6\u95f4 \u4e3a 2025.06.24 23:59:59 \u665a\u4e8e\u8fd9\u4e2a\u65f6\u95f4\u8282\u70b9\u63d0\u4ea4\u5230 git.cuc.edu.cn \u7684\u5b9e\u9a8c\u62a5\u544a\u5c06\u6309\u7167\u96f6\u5206\u767b\u8bb0\u3002 \u7545\u8bfe\u5e73\u53f0\u7684\u4f5c\u4e1a\u63d0\u4ea4\u622a\u6b62\u65f6\u95f4 2025.07.01 23:59:59 \u662f\u7528\u4e8e\u5b9e\u9a8c\u62a5\u544a\u6574\u7406\u540e \u6253\u5305\u63d0\u4ea4\u5b58\u6863\u7684\u622a\u6b62\u65f6\u95f4 \uff0c\u4ec5\u7528\u4e8e git \u4e0a\u5df2\u63d0\u4ea4\u4f5c\u4e1a\u7684\u5b58\u6863\uff0c\u4e0d\u4f1a\u88ab\u6279\u6539\u3002","title":"2025 \u6625\u6559\u5b66\u65e5\u5386"},{"location":"linux/2025/calendar.html#2025","text":"","title":"2025 \u6625\u6559\u5b66\u65e5\u5386"},{"location":"linux/2025/calendar.html#_1","text":"\u7528\u4e2d\u4f20\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u65b9\u5f0f\u6fc0\u6d3b\u81ea\u5df1\u5728 https://git.cuc.edu.cn/ \u7684\u8d26\u53f7 \u8bf7\u5927\u5bb6\u63d0\u524d\u6ce8\u518c\u4e00\u4e2a\u963f\u91cc\u4e91\u8d26\u53f7\uff08\u65e0\u9700\u4ed8\u8d39\u8d2d\u4e70\u4efb\u4f55\u670d\u52a1\uff09 \u8bf7\u5927\u5bb6\u63d0\u524d\u5728 Virtualbox \u4e2d\u5b89\u88c5\u597d Ubuntu 22.04 \u7cfb\u7edf \u81ea\u5df1\u641e\u4e0d\u5b9a\u624b\u52a8\u5b89\u88c5\u8fc7\u7a0b\u7684\u53ef\u4ee5\u76f4\u63a5 \u5bfc\u5165\u6211\u5b89\u88c5\u597d\u7684\u865a\u62df\u673a \uff0c\u5982\u4e0b\u6240\u793a \u5206\u4eab\u540d\u79f0\uff1aLinux\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406-\u8bfe\u7a0b\u516c\u5f00\u5206\u4eab \u5206\u4eab\u94fe\u63a5\uff1ahttps://kod.cuc.edu.cn/#s/9BGcMgPw \u8bbf\u95ee\u5bc6\u7801\uff1asumw2","title":"\u4e0a\u8bfe\u524d\u51c6\u5907"},{"location":"linux/2025/calendar.html#2025-02-25","text":"\u7b2c\u4e00\u7ae0\uff1a Linux\u57fa\u7840\uff082\u5b66\u65f6\uff09\uff0c\u8be6\u89c1 \u6559\u5b66\u8ba1\u5212 - \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d","title":"\u7b2c\u4e00\u5468 2025-02-25\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2025/calendar.html#2025-03-04","text":"\u7b2c\u4e00\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u4e8c\u5468 2025-03-04\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2025/calendar.html#2025-03-11","text":"\u7b2c\u4e8c\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u4f7f\u7528\u57fa\u7840","title":"\u7b2c\u4e09\u5468 2025-03-11\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2025/calendar.html#2025-03-18","text":"\u7b2c\u4e00\u7ae0\u5b9e\u9a8c\u62a5\u544a\u63d0\u4ea4\u622a\u6b62\u4eca\u5929\u4e0a\u8bfe\u4e4b\u524d \u7b2c\u4e8c\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u56db\u5468 2025-03-18\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2025/calendar.html#2025-03-25","text":"\u7b2c\u4e09\u7ae0 Linux \u670d\u52a1\u5668\u7cfb\u7edf\u7ba1\u7406\u57fa\u7840\uff082\u5b66\u65f6\uff09","title":"\u7b2c\u4e94\u5468 2025-03-25\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2025/calendar.html#2025-04-01","text":"\u7b2c\u4e8c\u7ae0\u5b9e\u9a8c\u62a5\u544a\u63d0\u4ea4\u622a\u6b62\u4eca\u5929\u4e0a\u8bfe\u4e4b\u524d \u7b2c\u4e09\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u516d\u5468 2025-04-01\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2025/calendar.html#2025-04-08","text":"\u7b2c\u56db\u7ae0 Shell\u811a\u672c\u7f16\u7a0b\u57fa\u7840\uff082\u5b66\u65f6\uff09","title":"\u7b2c\u4e03\u5468 2025-04-08\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2025/calendar.html#2025-04-15","text":"\u7b2c\u4e09\u7ae0\u5b9e\u9a8c\u62a5\u544a\u63d0\u4ea4\u622a\u6b62\u4eca\u5929\u4e0a\u8bfe\u4e4b\u524d \u7b2c\u56db\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u516b\u5468 2025-04-15\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2025/calendar.html#2025-04-22","text":"\u7b2c\u4e94\u7ae0 Web\u670d\u52a1\u5668\uff082\u5b66\u65f6\uff09","title":"\u7b2c\u4e5d\u5468 2025-04-22\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2025/calendar.html#2025-04-29","text":"","title":"\u7b2c\u5341\u5468 2025-04-29\uff08\u8bfb\u4e66\u5468\u653e\u5047\uff09"},{"location":"linux/2025/calendar.html#2025-05-06","text":"\u7b2c\u516d\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72","title":"\u7b2c\u5341\u4e00\u5468 2025-05-06\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2025/calendar.html#2025-05-13","text":"\u7b2c\u56db\u7ae0\u5b9e\u9a8c\u62a5\u544a\u63d0\u4ea4\u622a\u6b62\u4eca\u5929\u4e0a\u8bfe\u4e4b\u524d \u7b2c\u4e94\u7ae0\u5b9e\u9a8c","title":"\u7b2c\u5341\u4e8c\u5468 2025-05-13\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2025/calendar.html#2025-05-20","text":"\u7b2c\u516d\u7ae0 DevOps\u6587\u5316\u3001\u8fd0\u7ef4\u81ea\u52a8\u5316\u4e0e\u6301\u7eed\u90e8\u7f72","title":"\u7b2c\u5341\u4e09\u5468 2025-05-20\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2025/calendar.html#2025-05-27","text":"\u7b2c\u4e03\u7ae0 AI \u5927\u6a21\u578b\u7684\u672c\u5730\u90e8\u7f72\u4e0e\u4f7f\u7528","title":"\u7b2c\u5341\u56db\u5468 2025-05-27\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2025/calendar.html#2025-06-03","text":"\u7b2c\u4e03\u7ae0 AI \u5927\u6a21\u578b\u7684\u672c\u5730\u90e8\u7f72\u4e0e\u4f7f\u7528","title":"\u7b2c\u5341\u4e94\u5468 2025-06-03\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2025/calendar.html#2025-06-10","text":"\u7b2c\u4e94\u7ae0\u5b9e\u9a8c\u62a5\u544a\u63d0\u4ea4\u622a\u6b62\u4eca\u5929\u4e0a\u8bfe\u4e4b\u524d \u7b2c\u4e03\u7ae0 \u5b9e\u9a8c","title":"\u7b2c\u5341\u516d\u5468 2025-06-10\uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"linux/2025/calendar.html#2025-06-17","text":"\uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: \u5b9e\u6218\u5165\u95e8 Cloud-Init \uff08\u53ef\u9009\uff09\u7b2c\u516b\u7ae0\u756a\u5916\u7bc7: Ansible \u81ea\u884c\u5b8c\u6210\u672c\u5b66\u671f\u6240\u6709\u5b9e\u9a8c \u6279\u6539\u8ba1\u7b97\u6210\u7ee9\u622a\u6b62\u65f6\u95f4 \u4e3a 2025.06.24 23:59:59 \u665a\u4e8e\u8fd9\u4e2a\u65f6\u95f4\u8282\u70b9\u63d0\u4ea4\u5230 git.cuc.edu.cn \u7684\u5b9e\u9a8c\u62a5\u544a\u5c06\u6309\u7167\u96f6\u5206\u767b\u8bb0\u3002 \u7545\u8bfe\u5e73\u53f0\u7684\u4f5c\u4e1a\u63d0\u4ea4\u622a\u6b62\u65f6\u95f4 2025.07.01 23:59:59 \u662f\u7528\u4e8e\u5b9e\u9a8c\u62a5\u544a\u6574\u7406\u540e \u6253\u5305\u63d0\u4ea4\u5b58\u6863\u7684\u622a\u6b62\u65f6\u95f4 \uff0c\u4ec5\u7528\u4e8e git \u4e0a\u5df2\u63d0\u4ea4\u4f5c\u4e1a\u7684\u5b58\u6863\uff0c\u4e0d\u4f1a\u88ab\u6279\u6539\u3002","title":"\u7b2c\u5341\u4e03\u5468 2025-06-17\uff08\u7ebf\u4e0a\u81ea\u5b66\u6155\u8bfe\uff09"},{"location":"linux/2025/gitlab.html","text":"\u5173\u4e8e GitLab \u4f7f\u7528\u7684\u89c4\u8303\u548c\u8981\u6c42 \u4ee5\u4e0b\u5185\u5bb9\u9002\u7528\u4e8e https://git.cuc.edu.cn/ \u3002 \u5f53\u524d\u5b66\u671f\u6211\u4eec\u7684 \u8bfe\u7a0b\u4e13\u5c5e\u9879\u76ee\u7ec4 \u5bf9\u5e94\u7684\u94fe\u63a5\u4e3a https://git.cuc.edu.cn/ccs/linux-2025 \u3002 \u7528\u6237\u540d \u4f7f\u7528\u5b66\u6821\u7684\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u767b\u5f55\uff0c\u7f3a\u7701\u6bcf\u4e2a\u7528\u6237\u5728\u7cfb\u7edf\u4e2d\u90fd\u662f\u5b9e\u540d\u5236\uff08\u771f\u5b9e\u59d3\u540d\u548c\u5b66\u53f7\uff09\u3002 \u516c\u5f00\u4ed3\u5e93\u547d\u540d \u5728 \u8bfe\u7a0b\u4e13\u5c5e\u9879\u76ee\u7ec4 \u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u65b0\u4ed3\u5e93\uff1a New project \u3002 \u4e3a\u4e86\u4fbf\u4e8e\u5b9e\u9a8c\u62a5\u544a\u6279\u6539\u548c\u6210\u7ee9\u7edf\u8ba1\uff0c\u6bcf\u540d\u540c\u5b66\u53ea\u5141\u8bb8\u521b\u5efa\u4e00\u4e2a\u516c\u5f00\u4ed3\u5e93\u3002 \u5bf9\u65b0\u5efa\u7684\u4ed3\u5e93\u8fdb\u884c\u547d\u540d\uff0c\u63a8\u8350\u4f7f\u7528\u4e2a\u4eba\u59d3\u540d\u7684\u6c49\u8bed\u62fc\u97f3\u7b80\u62fc\u6216\u8005\u5168\u62fc\u6216\u8005\u7f51\u540dID\u3002 \u68c0\u67e5\u81ea\u5df1\u7684\u516c\u5f00\u4ed3\u5e93\u9996\u9875\u94fe\u63a5\u683c\u5f0f\uff0c\u786e\u4fdd\u683c\u5f0f\u4e3a\uff1a https://git.cuc.edu.cn/ccs/linux-2025/<\u65b0\u5efa\u4ed3\u5e93\u547d\u540d> \u3002 \u79c1\u6709\u4ed3\u5e93\u547d\u540d \u5728\u81ea\u5df1 \u4e2a\u4eba \u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u65b0\u4ed3\u5e93\uff1a New project \u3002 \u5728 Project URL \u91cc\u7684 Pick a group or namespace \u4e0b\u62c9\u9009\u6846\u91cc\u9009\u62e9 Users \u4e0b\u7684\u4f60\u7684\u7528\u6237\u540d\u3002 \u5728 Project slug \u91cc\u586b\u5165\u4f60\u7684\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u547d\u540d\uff0c\u5bf9\u65b0\u5efa\u7684\u4ed3\u5e93\u8fdb\u884c\u547d\u540d\uff0c\u63a8\u8350\u4f7f\u7528\u4e2a\u4eba\u59d3\u540d\u7684\u6c49\u8bed\u62fc\u97f3\u7b80\u62fc\u6216\u8005\u5168\u62fc\u6216\u8005\u7f51\u540dID\u3002 \u68c0\u67e5\u81ea\u5df1\u7684\u516c\u5f00\u4ed3\u5e93\u9996\u9875\u94fe\u63a5\u683c\u5f0f\uff0c\u786e\u4fdd\u683c\u5f0f\u4e3a\uff1a https://git.cuc.edu.cn/<\u4f60\u7684\u7528\u6237\u540d>/<\u65b0\u5efa\u4ed3\u5e93\u547d\u540d> \u3002 \u5c06\u52a9\u6559\u548c\u8001\u5e08\u6dfb\u52a0\u5230\u4f60\u7684\u4e2a\u4eba\u79c1\u6709\u4ed3\u5e93\u7684\uff1a\u8fdb\u5165\u4f60\u65b0\u521b\u5efa\u7684\u4e2a\u4eba\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\uff0c\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u91cc\u4f9d\u6b21\u627e\u5230 Project information - members \uff0c\u53f3\u4e0a\u89d2\u70b9\u51fb Invite members \uff0c\u5728 Username or email address \u91cc\u4f9d\u6b21\u8f93\u5165\u52a9\u6559\u540c\u5b66\u548c\u8001\u5e08\u59d3\u540d\uff0c\u9010\u4e2a \u9f20\u6807\u70b9\u51fb\u641c\u7d22\u7ed3\u679c\u91cc\u7684\u7528\u6237\u5934\u50cf \u6dfb\u52a0\u5230\u7528\u6237\u540d\u7684\u8f93\u5165\u6846\u91cc\uff08\u6dfb\u52a0\u6210\u529f\u65f6\uff0c\u8be5\u7528\u6237\u540d\u7684\u53f3\u4fa7\u4f1a\u591a\u51fa\u6765\u4e00\u4e2a X \u6309\u94ae\uff09\uff0c Select a role \u9009\u62e9 Maintainer \uff0c\u70b9\u51fb Invite \u5b8c\u6210\u7528\u6237\u6dfb\u52a0\u3002","title":"\u5173\u4e8e GitLab \u4f7f\u7528\u7684\u89c4\u8303\u548c\u8981\u6c42"},{"location":"linux/2025/gitlab.html#gitlab","text":"\u4ee5\u4e0b\u5185\u5bb9\u9002\u7528\u4e8e https://git.cuc.edu.cn/ \u3002 \u5f53\u524d\u5b66\u671f\u6211\u4eec\u7684 \u8bfe\u7a0b\u4e13\u5c5e\u9879\u76ee\u7ec4 \u5bf9\u5e94\u7684\u94fe\u63a5\u4e3a https://git.cuc.edu.cn/ccs/linux-2025 \u3002","title":"\u5173\u4e8e GitLab \u4f7f\u7528\u7684\u89c4\u8303\u548c\u8981\u6c42"},{"location":"linux/2025/gitlab.html#_1","text":"\u4f7f\u7528\u5b66\u6821\u7684\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u767b\u5f55\uff0c\u7f3a\u7701\u6bcf\u4e2a\u7528\u6237\u5728\u7cfb\u7edf\u4e2d\u90fd\u662f\u5b9e\u540d\u5236\uff08\u771f\u5b9e\u59d3\u540d\u548c\u5b66\u53f7\uff09\u3002","title":"\u7528\u6237\u540d"},{"location":"linux/2025/gitlab.html#_2","text":"\u5728 \u8bfe\u7a0b\u4e13\u5c5e\u9879\u76ee\u7ec4 \u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u65b0\u4ed3\u5e93\uff1a New project \u3002 \u4e3a\u4e86\u4fbf\u4e8e\u5b9e\u9a8c\u62a5\u544a\u6279\u6539\u548c\u6210\u7ee9\u7edf\u8ba1\uff0c\u6bcf\u540d\u540c\u5b66\u53ea\u5141\u8bb8\u521b\u5efa\u4e00\u4e2a\u516c\u5f00\u4ed3\u5e93\u3002 \u5bf9\u65b0\u5efa\u7684\u4ed3\u5e93\u8fdb\u884c\u547d\u540d\uff0c\u63a8\u8350\u4f7f\u7528\u4e2a\u4eba\u59d3\u540d\u7684\u6c49\u8bed\u62fc\u97f3\u7b80\u62fc\u6216\u8005\u5168\u62fc\u6216\u8005\u7f51\u540dID\u3002 \u68c0\u67e5\u81ea\u5df1\u7684\u516c\u5f00\u4ed3\u5e93\u9996\u9875\u94fe\u63a5\u683c\u5f0f\uff0c\u786e\u4fdd\u683c\u5f0f\u4e3a\uff1a https://git.cuc.edu.cn/ccs/linux-2025/<\u65b0\u5efa\u4ed3\u5e93\u547d\u540d> \u3002","title":"\u516c\u5f00\u4ed3\u5e93\u547d\u540d"},{"location":"linux/2025/gitlab.html#_3","text":"\u5728\u81ea\u5df1 \u4e2a\u4eba \u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u65b0\u4ed3\u5e93\uff1a New project \u3002 \u5728 Project URL \u91cc\u7684 Pick a group or namespace \u4e0b\u62c9\u9009\u6846\u91cc\u9009\u62e9 Users \u4e0b\u7684\u4f60\u7684\u7528\u6237\u540d\u3002 \u5728 Project slug \u91cc\u586b\u5165\u4f60\u7684\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u547d\u540d\uff0c\u5bf9\u65b0\u5efa\u7684\u4ed3\u5e93\u8fdb\u884c\u547d\u540d\uff0c\u63a8\u8350\u4f7f\u7528\u4e2a\u4eba\u59d3\u540d\u7684\u6c49\u8bed\u62fc\u97f3\u7b80\u62fc\u6216\u8005\u5168\u62fc\u6216\u8005\u7f51\u540dID\u3002 \u68c0\u67e5\u81ea\u5df1\u7684\u516c\u5f00\u4ed3\u5e93\u9996\u9875\u94fe\u63a5\u683c\u5f0f\uff0c\u786e\u4fdd\u683c\u5f0f\u4e3a\uff1a https://git.cuc.edu.cn/<\u4f60\u7684\u7528\u6237\u540d>/<\u65b0\u5efa\u4ed3\u5e93\u547d\u540d> \u3002 \u5c06\u52a9\u6559\u548c\u8001\u5e08\u6dfb\u52a0\u5230\u4f60\u7684\u4e2a\u4eba\u79c1\u6709\u4ed3\u5e93\u7684\uff1a\u8fdb\u5165\u4f60\u65b0\u521b\u5efa\u7684\u4e2a\u4eba\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\uff0c\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u91cc\u4f9d\u6b21\u627e\u5230 Project information - members \uff0c\u53f3\u4e0a\u89d2\u70b9\u51fb Invite members \uff0c\u5728 Username or email address \u91cc\u4f9d\u6b21\u8f93\u5165\u52a9\u6559\u540c\u5b66\u548c\u8001\u5e08\u59d3\u540d\uff0c\u9010\u4e2a \u9f20\u6807\u70b9\u51fb\u641c\u7d22\u7ed3\u679c\u91cc\u7684\u7528\u6237\u5934\u50cf \u6dfb\u52a0\u5230\u7528\u6237\u540d\u7684\u8f93\u5165\u6846\u91cc\uff08\u6dfb\u52a0\u6210\u529f\u65f6\uff0c\u8be5\u7528\u6237\u540d\u7684\u53f3\u4fa7\u4f1a\u591a\u51fa\u6765\u4e00\u4e2a X \u6309\u94ae\uff09\uff0c Select a role \u9009\u62e9 Maintainer \uff0c\u70b9\u51fb Invite \u5b8c\u6210\u7528\u6237\u6dfb\u52a0\u3002","title":"\u79c1\u6709\u4ed3\u5e93\u547d\u540d"},{"location":"linux/2025/homework.html","text":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219 \u603b\u6210\u7ee9\u6784\u6210 \u7b49\u7ea7\u6210\u7ee9\u7c7b\u578b\uff1a\u767e\u5206\u5236 \u603b\u6210\u7ee9 = \u5e73\u65f6\u6210\u7ee9 \u7cfb\u6570 30% + \u671f\u672b\u6210\u7ee9 \u7cfb\u6570 60% + \u7ebf\u4e0a\u6210\u7ee9 \u7cfb\u6570*10% \u603b\u6210\u7ee9\u8bc4\u5b9a\u89c4\u5219 \u8be6\u89c1 \u5728\u7ebf\u6210\u7ee9\u8ba1\u7b97\u5668 \u4e2d\u7684\u793a\u4f8b\u6570\u636e\u548c\u5177\u4f53\u5355\u5143\u683c\u7684\u8ba1\u7b97\u516c\u5f0f\u3002 \u5982\u679c\u9700\u8981\u901a\u8fc7\u7f16\u8f91\u6587\u6863\u6765\u81ea\u884c\u201c\u9884\u4f30\u201d\u81ea\u5df1\u7684\u671f\u672b\u6210\u7ee9\uff0c\u4f60\u53ef\u4ee5\u767b\u5f55\u817e\u8baf\u6587\u6863\u540e\uff0c\u590d\u5236\u5f53\u524d\u5171\u4eab\u8868\u683c\u5230\u4f60\u81ea\u5df1\u7684\u8d26\u53f7\u91cc\u3002 \u4e0d\u9700\u8981\u5411\u6211\u7533\u8bf7\u6587\u6863\u7f16\u8f91\u6743\u9650\uff0c\u4e0d\u4f1a\u540c\u610f\u7684\u3002 \u5e73\u65f6\u6210\u7ee9 \u57fa\u4e8e \u5ba2\u89c2\u4e8b\u5b9e \u7684\u300c\u4e3b\u89c2\u8bc4\u4ef7\u300d\u3002 \u5ba2\u89c2\u4e8b\u5b9e \u6765\u6e90\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u5728\u6821\u5185\u7545\u8bfe\u5e73\u53f0\u4e0a\u7684\u8ba8\u8bba\u533a\u63d0\u51fa\u597d\u95ee\u9898\u3001\u56de\u7b54\u95ee\u9898\u5bf9\u5176\u4ed6\u540c\u5b66\u4ea7\u751f\u4e86\u6709\u6548\u5e2e\u52a9\u3001\u8bfe\u5802\u4e0a\u79ef\u6781\u53c2\u4e0e\u4e92\u52a8\u3001\u7545\u8bfe\u5b66\u4e60\u5b8c\u6210\u5ea6\u3001 \u8bfe\u7a0b\u516c\u5171\u670d\u52a1\u5668 \u7684 \u6709\u6548 \u4f7f\u7528\u6b21\u6570\u548c\u65f6\u957f\u7b49\u3002 \u6570\u636e\u7edf\u8ba1\u622a\u6b62\u672c\u5b66\u671f\u6700\u540e\u4e00\u6b21\u8bfe\u7a0b\u7ed3\u675f 2025.6.17 09:50:00 \u3002 \u6ee1\u5206 30 \u5206\u7684\u5e73\u65f6\u6210\u7ee9\u4e2d\uff0c\u6709 10 \u5206\u6765\u81ea\u4e8e \u8003\u52e4\u6210\u7ee9 \u3002 \u8003\u52e4\u6210\u7ee9 \u8ba1\u7b97\u89c4\u5219\u89c1\u4ee5\u4e0b\u5c0f\u8282\u8be6\u7ec6\u8bf4\u660e\u3002 \u8003\u52e4\u6210\u7ee9 \u672c\u5b66\u671f\u4e00\u5171\u8bb0\u5f55\u8003\u52e4 8 \u6b21\uff0c\u6bcf\u6b21\u6b63\u5e38\u7b7e\u5230\u5f97 1 \u5206\uff0c\u8fdf\u5230\u5f97 0.5 \u5206\uff0c\u65f7\u8bfe\u5f97 0 \u5206\u3002\u6709\u5047\u6761\u7684\u75c5\u4e8b\u5047\u6309\u6b63\u5e38\u7b7e\u5230\u8ba1\u5206\u3002 \u5b66\u671f\u8003\u52e4\u5168\u52e4\uff08\u7d2f\u8ba1\u8ba1\u5206 8 \u5206\uff09\uff0c\u83b7\u5f97\u5168\u52e4\u52a0\u5206 2 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [6, 8)\uff0c\u83b7\u5f97\u8003\u52e4\u52a0\u5206 1 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [5, 6)\uff0c\u65e0\u8003\u52e4\u52a0\u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [0, 5)\uff0c\u76f4\u63a5\u6302\u79d1 \u3002 \u671f\u672b\u6210\u7ee9 7 \u7ae0\u8bfe\u7a0b\uff0c\u6309\u7ae0\u8282\u987a\u5e8f\u5206\u522b\u8bb0\u4e3a\uff1aH1 ~ H7 \u6ee1\u5206 10 \u5206\u7684 \u5fc5\u9009 \u4f5c\u4e1a\uff1aH1, H2, H3 \u3002 \u6ee1\u5206 20 \u5206\u7684 \u5fc5\u9009 \u4f5c\u4e1a\uff1aH4 \u3002 \u6ee1\u5206 10 \u5206\u7684 \u4e8c\u9009\u4e00 \u4f5c\u4e1a\uff1aH5, H7\u3002\u8be5\u9879\u8ba1\u5206\u516c\u5f0f\u4e3a\uff1amax(H5, H7) \u3002 H1, H2 \u4f5c\u4e1a\u91c7\u7528 \u57fa\u4e8e\u65e5\u5fd7\u5206\u6790\u7684\u81ea\u52a8\u5224\u9898\u65b9\u5f0f \uff0c\u4e0d\u9700\u8981\u64b0\u5199\u5b9e\u9a8c\u62a5\u544a\uff0c\u4f46\u9700\u8981\u8bbf\u95ee\u8bfe\u7a0b\u6307\u5b9a\u7684 Linux \u8fdc\u7a0b\u4e91\u4e3b\u673a\u5e76 \u5728\u4e91\u4e3b\u673a\u4e0a \u81ea\u884c\u72ec\u7acb\u5b8c\u6210\u76f8\u5e94\u7684\u5b9e\u9a8c\u4efb\u52a1\u3002 H4 \u4f5c\u4e1a\u91c7\u7528 Gitlab CI/CD \u65b9\u5f0f\uff0c\u4e0d\u9700\u8981\u64b0\u5199\u5b9e\u9a8c\u62a5\u544a\u3002 \u4e8c\u9009\u4e00 \u4f5c\u4e1a\u9700\u8981\u63d0\u4ea4\u5b9e\u9a8c\u62a5\u544a\u3002 H7 \u8981\u6c42\u63d0\u4ea4\u5230\u79c1\u6709\u4ed3\u5e93\uff0c\u5176\u4ed6\u7ae0\u8282\u4f5c\u4e1a\u5747\u63d0\u4ea4\u5230\u516c\u5f00\u4ed3\u5e93 \u3002 \u6bcf\u6b21\u5b9e\u9a8c\u62a5\u544a\u7684\u8bc4\u5206\u6807\u51c6\u89c1\u6559\u5b66 Wiki \u9996\u9875\u8bf4\u660e - \u7f3a\u7701\u7684\u5b9e\u9a8c\u62a5\u544a\u8bc4\u5206\u6807\u51c6 \u8bf7\u4ed4\u7ec6\u9605\u8bfb \u5173\u4e8e GitLab \u4f7f\u7528\u7684\u89c4\u8303\u548c\u8981\u6c42 \uff0c\u6309\u7167\u89c4\u8303\u4f7f\u7528\u5bf9\u5e94\u7684\u516c\u5f00\u548c\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u3002 \u4ee5\u4e0a\u4f5c\u4e1a\u5b8c\u6210\u65f6\u95f4\u622a\u6b62\u65f6\u95f4\u4e3a\u672c\u5b66\u671f\u6700\u540e\u4e00\u6b21\u8bfe\u7a0b\u7ed3\u675f\u540e\u4e00\u5468\uff1a 2025.6.24 23:59:59 \u3002 \u5173\u4e8e\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u7684\u8bf4\u660e \u7531\u4e8e\u5728 GitLab \u4e2d\uff0c\u79c1\u6709\u4ed3\u5e93\u4e0d\u4ee3\u8868\u53ea\u6709\u81ea\u5df1\u4e00\u4e2a\u4eba\u53ef\u4ee5\u8bbf\u95ee\uff0c\u8bf7\u770b\u4ee5\u4e0b\u642c\u8fd0\u81ea GitLab \u521b\u5efa\u65b0\u4ed3\u5e93\u65f6\u5173\u4e8e Private \u5c5e\u6027\u7684\u8bf4\u660e\u6587\u5b57\uff1a Project access must be granted explicitly to each user. If this project is part of a group, access is granted to members of the group. \u7ffb\u8bd1\u5982\u4e0b\uff1a \u5fc5\u987b\u5411\u6bcf\u4e2a\u7528\u6237\u663e\u5f0f\u6388\u4e88\u9879\u76ee\u8bbf\u95ee\u6743\u9650\u3002\u5982\u679c\u6b64\u9879\u76ee\u662f\u7528\u6237\u7ec4\u7684\u4e00\u90e8\u5206\uff0c\u5219\u5411\u7ec4\u6210\u5458\u6388\u4e88\u8bbf\u95ee\u6743\u9650\u3002 \u636e\u6b64\u53ef\u4ee5\u66f4\u597d\u5730\u7406\u89e3\u5728 GitLab \u4e2d\uff0c\u5728\u4e00\u4e2a\u7528\u6237\u7ec4\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u7684 \u79c1\u6709\u4ed3\u5e93 \uff0c\u5bf9\u4e8e\u7ec4\u5185\u7684\u6240\u6709\u7528\u6237\u6765\u8bf4\uff0c\u5b9e\u9645\u4e0a\u662f\u76f8\u4e92\u53ef\u89c1\u3001\u5185\u90e8\u516c\u5f00\u7684\u3002 \u4ee5\u4e0b\u4f5c\u4e1a\u8981\u6c42\u91cc\u63d0\u5230\u7684 \u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u5177\u4f53\u6307\u7684\u662f\uff1a \u4ec5\u9650\u4ed3\u5e93\u521b\u5efa\u8005\u672c\u4eba\u30011\u540d\u52a9\u6559\u3001\u4efb\u8bfe\u8001\u5e08 \u6709\u6743\u9650\u8bbf\u95ee\u8be5\u4ed3\u5e93\uff0c\u5176\u4ed6\u540c\u5b66\u5373\u4f7f\u77e5\u9053\u8be5\u4ed3\u5e93\u94fe\u63a5\u5730\u5740\u4e5f\u65e0\u6cd5\u8bbf\u95ee\u4ed3\u5e93\u5185\u5bb9\u3002 \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5efa\u8bae\u5982\u4e0b\uff1a \u5728\u81ea\u5df1\u4e2a\u4eba\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u4ed3\u5e93\u3002\u6b64\u5904\u5047\u8bbe\u4e2a\u4eba\u7528\u6237\u540d\u662f zhangsan \uff0c\u521b\u5efa\u7684\u79c1\u6709\u4ed3\u5e93\u540d\u4e3a linux-private \u3002 \u5728\u81ea\u5df1\u4e2a\u4eba\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u7684\u4ed3\u5e93\u91cc\uff0c\u901a\u8fc7\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u7684 Project information - Members \u8fdb\u5165\u4ed3\u5e93\u7528\u6237\u7ba1\u7406\u9875\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 Invite members \uff0c\u901a\u8fc7\u8f93\u5165\u5b9e\u540d\u7684\u65b9\u5f0f\uff0c\u641c\u7d22\u3001\u9009\u4e2d\u641c\u7d22\u7ed3\u679c\uff0c\u9080\u8bf7 4\u540d\u52a9\u6559\u3001\u4efb\u8bfe\u8001\u5e08\uff0c\u6388\u4e88 Maintainer \u89d2\u8272\u3002 \u5728\u81ea\u5df1\u7684\u7ec4\u547d\u540d\u7a7a\u95f4\u4e0b\uff08\u5f53\u524d\u4e3a ccs/linux-2025 \uff09\u7684\u7ec4\u5185\u516c\u5f00\u4ed3\u5e93\u6839\u76ee\u5f55\u4e0b\u7684 README.md \u6dfb\u52a0\u6307\u5411\u4e0a\u8ff0\u79c1\u6709\u4ed3\u5e93\u7684\u8d85\u94fe\u63a5\uff1a zhangsan/linux-private \u3002 \u7ebf\u4e0a\u6210\u7ee9 \u6821\u5185\u7545\u8bfe\u5e73\u53f0\u4e0a\u5355\u5143\u6d4b\u8bd5\u6210\u7ee9\u7d2f\u52a0\u540e\u8fdb\u884c\u7b49\u6bd4\u4f8b\u6298\u7b97\u3002","title":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219"},{"location":"linux/2025/homework.html#_1","text":"","title":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219"},{"location":"linux/2025/homework.html#_2","text":"\u7b49\u7ea7\u6210\u7ee9\u7c7b\u578b\uff1a\u767e\u5206\u5236 \u603b\u6210\u7ee9 = \u5e73\u65f6\u6210\u7ee9 \u7cfb\u6570 30% + \u671f\u672b\u6210\u7ee9 \u7cfb\u6570 60% + \u7ebf\u4e0a\u6210\u7ee9 \u7cfb\u6570*10%","title":"\u603b\u6210\u7ee9\u6784\u6210"},{"location":"linux/2025/homework.html#_3","text":"\u8be6\u89c1 \u5728\u7ebf\u6210\u7ee9\u8ba1\u7b97\u5668 \u4e2d\u7684\u793a\u4f8b\u6570\u636e\u548c\u5177\u4f53\u5355\u5143\u683c\u7684\u8ba1\u7b97\u516c\u5f0f\u3002 \u5982\u679c\u9700\u8981\u901a\u8fc7\u7f16\u8f91\u6587\u6863\u6765\u81ea\u884c\u201c\u9884\u4f30\u201d\u81ea\u5df1\u7684\u671f\u672b\u6210\u7ee9\uff0c\u4f60\u53ef\u4ee5\u767b\u5f55\u817e\u8baf\u6587\u6863\u540e\uff0c\u590d\u5236\u5f53\u524d\u5171\u4eab\u8868\u683c\u5230\u4f60\u81ea\u5df1\u7684\u8d26\u53f7\u91cc\u3002 \u4e0d\u9700\u8981\u5411\u6211\u7533\u8bf7\u6587\u6863\u7f16\u8f91\u6743\u9650\uff0c\u4e0d\u4f1a\u540c\u610f\u7684\u3002","title":"\u603b\u6210\u7ee9\u8bc4\u5b9a\u89c4\u5219"},{"location":"linux/2025/homework.html#_4","text":"\u57fa\u4e8e \u5ba2\u89c2\u4e8b\u5b9e \u7684\u300c\u4e3b\u89c2\u8bc4\u4ef7\u300d\u3002 \u5ba2\u89c2\u4e8b\u5b9e \u6765\u6e90\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u5728\u6821\u5185\u7545\u8bfe\u5e73\u53f0\u4e0a\u7684\u8ba8\u8bba\u533a\u63d0\u51fa\u597d\u95ee\u9898\u3001\u56de\u7b54\u95ee\u9898\u5bf9\u5176\u4ed6\u540c\u5b66\u4ea7\u751f\u4e86\u6709\u6548\u5e2e\u52a9\u3001\u8bfe\u5802\u4e0a\u79ef\u6781\u53c2\u4e0e\u4e92\u52a8\u3001\u7545\u8bfe\u5b66\u4e60\u5b8c\u6210\u5ea6\u3001 \u8bfe\u7a0b\u516c\u5171\u670d\u52a1\u5668 \u7684 \u6709\u6548 \u4f7f\u7528\u6b21\u6570\u548c\u65f6\u957f\u7b49\u3002 \u6570\u636e\u7edf\u8ba1\u622a\u6b62\u672c\u5b66\u671f\u6700\u540e\u4e00\u6b21\u8bfe\u7a0b\u7ed3\u675f 2025.6.17 09:50:00 \u3002 \u6ee1\u5206 30 \u5206\u7684\u5e73\u65f6\u6210\u7ee9\u4e2d\uff0c\u6709 10 \u5206\u6765\u81ea\u4e8e \u8003\u52e4\u6210\u7ee9 \u3002 \u8003\u52e4\u6210\u7ee9 \u8ba1\u7b97\u89c4\u5219\u89c1\u4ee5\u4e0b\u5c0f\u8282\u8be6\u7ec6\u8bf4\u660e\u3002","title":"\u5e73\u65f6\u6210\u7ee9"},{"location":"linux/2025/homework.html#_5","text":"\u672c\u5b66\u671f\u4e00\u5171\u8bb0\u5f55\u8003\u52e4 8 \u6b21\uff0c\u6bcf\u6b21\u6b63\u5e38\u7b7e\u5230\u5f97 1 \u5206\uff0c\u8fdf\u5230\u5f97 0.5 \u5206\uff0c\u65f7\u8bfe\u5f97 0 \u5206\u3002\u6709\u5047\u6761\u7684\u75c5\u4e8b\u5047\u6309\u6b63\u5e38\u7b7e\u5230\u8ba1\u5206\u3002 \u5b66\u671f\u8003\u52e4\u5168\u52e4\uff08\u7d2f\u8ba1\u8ba1\u5206 8 \u5206\uff09\uff0c\u83b7\u5f97\u5168\u52e4\u52a0\u5206 2 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [6, 8)\uff0c\u83b7\u5f97\u8003\u52e4\u52a0\u5206 1 \u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [5, 6)\uff0c\u65e0\u8003\u52e4\u52a0\u5206\u3002 \u5b66\u671f\u8003\u52e4\u7d2f\u8ba1\u8ba1\u5206 [0, 5)\uff0c\u76f4\u63a5\u6302\u79d1 \u3002","title":"\u8003\u52e4\u6210\u7ee9"},{"location":"linux/2025/homework.html#_6","text":"7 \u7ae0\u8bfe\u7a0b\uff0c\u6309\u7ae0\u8282\u987a\u5e8f\u5206\u522b\u8bb0\u4e3a\uff1aH1 ~ H7 \u6ee1\u5206 10 \u5206\u7684 \u5fc5\u9009 \u4f5c\u4e1a\uff1aH1, H2, H3 \u3002 \u6ee1\u5206 20 \u5206\u7684 \u5fc5\u9009 \u4f5c\u4e1a\uff1aH4 \u3002 \u6ee1\u5206 10 \u5206\u7684 \u4e8c\u9009\u4e00 \u4f5c\u4e1a\uff1aH5, H7\u3002\u8be5\u9879\u8ba1\u5206\u516c\u5f0f\u4e3a\uff1amax(H5, H7) \u3002 H1, H2 \u4f5c\u4e1a\u91c7\u7528 \u57fa\u4e8e\u65e5\u5fd7\u5206\u6790\u7684\u81ea\u52a8\u5224\u9898\u65b9\u5f0f \uff0c\u4e0d\u9700\u8981\u64b0\u5199\u5b9e\u9a8c\u62a5\u544a\uff0c\u4f46\u9700\u8981\u8bbf\u95ee\u8bfe\u7a0b\u6307\u5b9a\u7684 Linux \u8fdc\u7a0b\u4e91\u4e3b\u673a\u5e76 \u5728\u4e91\u4e3b\u673a\u4e0a \u81ea\u884c\u72ec\u7acb\u5b8c\u6210\u76f8\u5e94\u7684\u5b9e\u9a8c\u4efb\u52a1\u3002 H4 \u4f5c\u4e1a\u91c7\u7528 Gitlab CI/CD \u65b9\u5f0f\uff0c\u4e0d\u9700\u8981\u64b0\u5199\u5b9e\u9a8c\u62a5\u544a\u3002 \u4e8c\u9009\u4e00 \u4f5c\u4e1a\u9700\u8981\u63d0\u4ea4\u5b9e\u9a8c\u62a5\u544a\u3002 H7 \u8981\u6c42\u63d0\u4ea4\u5230\u79c1\u6709\u4ed3\u5e93\uff0c\u5176\u4ed6\u7ae0\u8282\u4f5c\u4e1a\u5747\u63d0\u4ea4\u5230\u516c\u5f00\u4ed3\u5e93 \u3002 \u6bcf\u6b21\u5b9e\u9a8c\u62a5\u544a\u7684\u8bc4\u5206\u6807\u51c6\u89c1\u6559\u5b66 Wiki \u9996\u9875\u8bf4\u660e - \u7f3a\u7701\u7684\u5b9e\u9a8c\u62a5\u544a\u8bc4\u5206\u6807\u51c6 \u8bf7\u4ed4\u7ec6\u9605\u8bfb \u5173\u4e8e GitLab \u4f7f\u7528\u7684\u89c4\u8303\u548c\u8981\u6c42 \uff0c\u6309\u7167\u89c4\u8303\u4f7f\u7528\u5bf9\u5e94\u7684\u516c\u5f00\u548c\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u3002 \u4ee5\u4e0a\u4f5c\u4e1a\u5b8c\u6210\u65f6\u95f4\u622a\u6b62\u65f6\u95f4\u4e3a\u672c\u5b66\u671f\u6700\u540e\u4e00\u6b21\u8bfe\u7a0b\u7ed3\u675f\u540e\u4e00\u5468\uff1a 2025.6.24 23:59:59 \u3002","title":"\u671f\u672b\u6210\u7ee9"},{"location":"linux/2025/homework.html#_7","text":"\u7531\u4e8e\u5728 GitLab \u4e2d\uff0c\u79c1\u6709\u4ed3\u5e93\u4e0d\u4ee3\u8868\u53ea\u6709\u81ea\u5df1\u4e00\u4e2a\u4eba\u53ef\u4ee5\u8bbf\u95ee\uff0c\u8bf7\u770b\u4ee5\u4e0b\u642c\u8fd0\u81ea GitLab \u521b\u5efa\u65b0\u4ed3\u5e93\u65f6\u5173\u4e8e Private \u5c5e\u6027\u7684\u8bf4\u660e\u6587\u5b57\uff1a Project access must be granted explicitly to each user. If this project is part of a group, access is granted to members of the group. \u7ffb\u8bd1\u5982\u4e0b\uff1a \u5fc5\u987b\u5411\u6bcf\u4e2a\u7528\u6237\u663e\u5f0f\u6388\u4e88\u9879\u76ee\u8bbf\u95ee\u6743\u9650\u3002\u5982\u679c\u6b64\u9879\u76ee\u662f\u7528\u6237\u7ec4\u7684\u4e00\u90e8\u5206\uff0c\u5219\u5411\u7ec4\u6210\u5458\u6388\u4e88\u8bbf\u95ee\u6743\u9650\u3002 \u636e\u6b64\u53ef\u4ee5\u66f4\u597d\u5730\u7406\u89e3\u5728 GitLab \u4e2d\uff0c\u5728\u4e00\u4e2a\u7528\u6237\u7ec4\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u7684 \u79c1\u6709\u4ed3\u5e93 \uff0c\u5bf9\u4e8e\u7ec4\u5185\u7684\u6240\u6709\u7528\u6237\u6765\u8bf4\uff0c\u5b9e\u9645\u4e0a\u662f\u76f8\u4e92\u53ef\u89c1\u3001\u5185\u90e8\u516c\u5f00\u7684\u3002 \u4ee5\u4e0b\u4f5c\u4e1a\u8981\u6c42\u91cc\u63d0\u5230\u7684 \u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u5177\u4f53\u6307\u7684\u662f\uff1a \u4ec5\u9650\u4ed3\u5e93\u521b\u5efa\u8005\u672c\u4eba\u30011\u540d\u52a9\u6559\u3001\u4efb\u8bfe\u8001\u5e08 \u6709\u6743\u9650\u8bbf\u95ee\u8be5\u4ed3\u5e93\uff0c\u5176\u4ed6\u540c\u5b66\u5373\u4f7f\u77e5\u9053\u8be5\u4ed3\u5e93\u94fe\u63a5\u5730\u5740\u4e5f\u65e0\u6cd5\u8bbf\u95ee\u4ed3\u5e93\u5185\u5bb9\u3002 \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5efa\u8bae\u5982\u4e0b\uff1a \u5728\u81ea\u5df1\u4e2a\u4eba\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u4ed3\u5e93\u3002\u6b64\u5904\u5047\u8bbe\u4e2a\u4eba\u7528\u6237\u540d\u662f zhangsan \uff0c\u521b\u5efa\u7684\u79c1\u6709\u4ed3\u5e93\u540d\u4e3a linux-private \u3002 \u5728\u81ea\u5df1\u4e2a\u4eba\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u7684\u4ed3\u5e93\u91cc\uff0c\u901a\u8fc7\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u7684 Project information - Members \u8fdb\u5165\u4ed3\u5e93\u7528\u6237\u7ba1\u7406\u9875\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 Invite members \uff0c\u901a\u8fc7\u8f93\u5165\u5b9e\u540d\u7684\u65b9\u5f0f\uff0c\u641c\u7d22\u3001\u9009\u4e2d\u641c\u7d22\u7ed3\u679c\uff0c\u9080\u8bf7 4\u540d\u52a9\u6559\u3001\u4efb\u8bfe\u8001\u5e08\uff0c\u6388\u4e88 Maintainer \u89d2\u8272\u3002 \u5728\u81ea\u5df1\u7684\u7ec4\u547d\u540d\u7a7a\u95f4\u4e0b\uff08\u5f53\u524d\u4e3a ccs/linux-2025 \uff09\u7684\u7ec4\u5185\u516c\u5f00\u4ed3\u5e93\u6839\u76ee\u5f55\u4e0b\u7684 README.md \u6dfb\u52a0\u6307\u5411\u4e0a\u8ff0\u79c1\u6709\u4ed3\u5e93\u7684\u8d85\u94fe\u63a5\uff1a zhangsan/linux-private \u3002","title":"\u5173\u4e8e\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u7684\u8bf4\u660e"},{"location":"linux/2025/homework.html#_8","text":"\u6821\u5185\u7545\u8bfe\u5e73\u53f0\u4e0a\u5355\u5143\u6d4b\u8bd5\u6210\u7ee9\u7d2f\u52a0\u540e\u8fdb\u884c\u7b49\u6bd4\u4f8b\u6298\u7b97\u3002","title":"\u7ebf\u4e0a\u6210\u7ee9"},{"location":"mis/2019/index.html","text":"\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168 \u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u8bfe\u7a0b\u7f16\u53f7\uff1a113011 \u82f1\u6587\u540d\u79f0\uff1aMobile Internet Security \u6388\u8bfe\u5bf9\u8c61\uff1a\u4fe1\u606f\u5b89\u5168\u4e13\u4e1a \u5f00\u8bfe\u5b66\u671f\uff1a5 \u5b66\u5206/\u5b66\u65f6\uff1a2.5/48 \u5148\u4fee\u8bfe\u7a0b\uff1a\u4fe1\u606f\u5b89\u5168\u5bfc\u8bba\u3001\u8ba1\u7b97\u673a\u7f51\u7edc\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5802\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8bfe\u7a0b\u7b80\u4ecb \u672c\u8bfe\u7a0b\u9488\u5bf9\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168\u4e2d\u7684\u5173\u952e\u6280\u672f\uff0c\u4ece\u5e94\u7528\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ecb\u7ecd\u65e0\u7ebf\u7f51\u7edc\u76d1\u542c\u3001\u626b\u63cf\u3001\u5165\u4fb5\u548c\u9632\u5fa1\uff0c\u667a\u80fd\u624b\u673a\u7cfb\u7edf\u653b\u9632\u3001\u667a\u80fd\u624b\u673a\u5e94\u7528\u653b\u9632\u7b49\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u5e76\u901a\u8fc7\u5b9e\u4f8b\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u5c06\u5b89\u5168\u7406\u8bba\u3001\u5b89\u5168\u6280\u672f\u548c\u5b89\u5168\u5de5\u5177\u6709\u673a\u7ed3\u5408\u3002 \u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42 \u968f\u7740\u4e92\u8054\u7f51\u7684\u53d1\u5c55\u548c\u4fe1\u606f\u5316\u8fdb\u7a0b\u7684\u6df1\u5165\uff0c\u65e0\u7ebf\u7f51\u7edc\u3001\u667a\u80fd\u624b\u673a\u3001\u667a\u80fd\u8bbe\u5907\u7b49\u5177\u5907\u4e92\u8054\u4e92\u901a\u667a\u80fd\u5316\u7279\u5f81\u7684\u786c\u4ef6\u4e0e\u8f6f\u4ef6\u84ec\u52c3\u53d1\u5c55\uff0c\u4f20\u7edf\u7684\u8ba1\u7b97\u673a\u4e92\u8054\u7f51\u5185\u6db5\u5df2\u7ecf\u9010\u6e10\u5916\u5ef6\u53d1\u5c55\u4e3a\u201c\u4e07\u7269\u4e92\u8054\u201d\u7684\u7269\u8054\u7f51\u3002\u4ee5\u65e0\u7ebf\u7f51\u7edc\u4e3a\u901a\u4fe1\u57fa\u7840\u3001\u667a\u80fd\u624b\u673a\u4e3a\u7ec8\u7aef\u8bbe\u5907\u57fa\u7840\u3001APP\u4e3a\u670d\u52a1\u8f7d\u4f53\u5f62\u5f0f\u548c\u4e91\u8ba1\u7b97\u4e3a\u57fa\u7840\u8bbe\u65bd\u7684\u79fb\u52a8\u4e92\u8054\u7f51\u6280\u672f\u662f\u7269\u8054\u7f51\u5927\u5bb6\u65cf\u4e2d\u7684\u4e00\u4e2a\u91cd\u8981\u4e14\u6210\u719f\u7684\u6280\u672f\u751f\u6001\u5708\uff0c\u79fb\u52a8\u4e92\u8054\u7f51\u76f8\u5173\u7684\u5b89\u5168\u95ee\u9898\u5df2\u6210\u4e3a\u5404\u56fd\u653f\u5e9c\u6709\u5173\u90e8\u95e8\u3001\u5404\u5927\u884c\u4e1a\u548c\u4f01\u4e8b\u4e1a\u5173\u6ce8\u7684\u70ed\u70b9\u95ee\u9898\uff0c\u5bf9\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168\u4e13\u95e8\u4eba\u624d\u7684\u9700\u6c42\u4e5f\u65e5\u663e\u7a81\u51fa\u3002\u672c\u8bfe\u7a0b\u5168\u9762\u7cfb\u7edf\u5730\u4ecb\u7ecd\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u76f8\u5173\u7406\u8bba\u77e5\u8bc6\u548c\u5173\u952e\u6280\u672f\uff0c\u63d0\u9ad8\u5b89\u5168\u610f\u8bc6\uff0c\u589e\u5f3a\u89e3\u51b3\u4e92\u8054\u7f51\u548c\u6570\u5b57\u4f20\u5a92\u7b49\u884c\u4e1a\u4e2d\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168\u95ee\u9898\u7684\u80fd\u529b\u3002 \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d 1\uff0e\u65e0\u7ebf\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u65e0\u7ebf\u901a\u4fe1\u534f\u8bae\u5206\u7c7b\u3001802.11\u534f\u8bae\u3001802.11\u5bb6\u65cf\u76f8\u5173\u8bbe\u5907\u8ba4\u77e5\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 2\uff0e\u65e0\u7ebf\u63a5\u5165\u7f51\u76d1\u542c\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u65e0\u7ebf\u7f51\u5361\u914d\u7f6e\u4e0e\u4f7f\u7528\u3001WLAN\u8ba4\u8bc1\u539f\u7406\u3001802.11\u534f\u8bae\u4e0ewireshark\u8fc7\u6ee4\u5668\u4f7f\u7528\u3001\u57fa\u4e8eScapy\u7684802.11\u7f16\u7a0b\u57fa\u7840\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 3\uff0e\u65e0\u7ebf\u63a5\u5165\u7f51\u5165\u4fb5\u4e0e\u9632\u5fa1\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1aSSID\u9690\u85cf\u4e0e\u53d1\u73b0\u3001Evil Twin\u653b\u51fb\u4e0e\u9632\u5fa1\u3001\u4e2d\u95f4\u4eba\u653b\u51fb\u4e0e\u9632\u5fa1\u3001\u62d2\u7edd\u670d\u52a1\u653b\u51fb\u4e0e\u9632\u5fa1\u3001WLAN\u8ba4\u8bc1\u673a\u5236\u653b\u9632\u3001WLAN\u52a0\u5bc6\u4e0e\u89e3\u5bc6\u3001\u4f01\u4e1a\u7ea7WLAN\u5b89\u5168\u673a\u5236\u653b\u9632\u3001\u57fa\u4e8eScapy\u7684802.11\u7f16\u7a0b\u5b9e\u6218\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 4\uff0e\u79fb\u52a8\u901a\u4fe1\u4e0e\u7269\u8054\u7f51\u5b89\u5168\u6982\u8ff0\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a \u79fb\u52a8\u901a\u4fe1\u6280\u672f\u5206\u7c7b\u3001\u79fb\u52a8\u901a\u4fe1\u7f51\u7edc\u76d1\u542c\u539f\u7406\u3001RFID\u3001\u667a\u80fd\u5361\u3001\u84dd\u7259\u5b89\u5168\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 5\uff0e\u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5b89\u5168\u57fa\u7840\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5206\u7c7b\u3001\u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5b89\u5168\u673a\u5236\u6f14\u8fdb\u5386\u53f2\u3001\u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u4e0e\u684c\u9762\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5b89\u5168\u673a\u5236\u7684\u533a\u522b\u4e0e\u8054\u7cfb\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 6\uff0e\u5b89\u5353\u7cfb\u7edf\u8bbf\u95ee\u63a7\u5236\u7b56\u7565\u4e0e\u673a\u5236\uff083\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5b89\u5353\u7cfb\u7edf\u8bbf\u95ee\u63a7\u5236\u673a\u5236\u7684\u7ecf\u5178\u6f0f\u6d1e\u5206\u6790\u3001\u5b89\u5353\u7cfb\u7edf\u52a0\u56fa\u6280\u672f\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 7\uff0e\u79fb\u52a8\u7ec8\u7aef\u5e94\u7528\u9006\u5411\u5206\u6790\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5b89\u5353\u7cfb\u7edf\u6293\u5305\u6280\u672f\u3001iOS\u7cfb\u7edf\u6293\u5305\u6280\u672f\u3001\u5178\u578b\u901a\u4fe1\u534f\u8bae\u7684\u9006\u5411\u65b9\u6cd5\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 8\uff0e\u79fb\u52a8\u7ec8\u7aef\u5e94\u7528\u653b\u9632\u4e0e\u4ee3\u7801\u5b89\u5168\u6700\u4f73\u5b9e\u8df5\uff087\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a Android\u5e94\u7528\u5e38\u89c1\u7f3a\u9677\u6210\u56e0\u3001\u539f\u7406\u3001\u6f0f\u6d1e\u5229\u7528\u548c\u6700\u4f73\u5b89\u5168\u5b9e\u8df5 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT \u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282 802.11\u6570\u636e\u5e27\u7ed3\u6784\u5206\u6790\u5b9e\u9a8c\uff0c\u8ba4\u8bc6\u5e38\u89c1\u65e0\u7ebf\u7f51\u7edc\u8bbe\u5907\uff0c\u4e86\u89e3\u57fa\u672c\u4f7f\u7528\u548c\u914d\u7f6e\u65b9\u6cd5\u3002\uff082\u5b66\u65f6\uff09 802.11\u7f51\u7edc\u76d1\u542c\u5b9e\u9a8c\u3002\uff082\u5b66\u65f6\uff09 802.11\u7f51\u7edc\u653b\u9632\u5b9e\u9a8c\uff08\u4e0a\uff09\uff0c\u9690\u85cfSSID\u53d1\u73b0\u3001\u4f2a\u9020\u70ed\u70b9\u9493\u9c7c\u3001\u62d2\u7edd\u670d\u52a1\u653b\u51fb\u3002\uff082\u5b66\u65f6\uff09 802.11\u7f51\u7edc\u653b\u9632\u5b9e\u9a8c\uff08\u4e0b\uff09\uff0c\u8106\u5f31\u6027\u8ba4\u8bc1\u673a\u5236\u7834\u89e3\u3001\u4e2d\u95f4\u4eba\u653b\u51fb\u3002\uff082\u5b66\u65f6\uff09 Android\u5e94\u7528\u5b89\u5168\u5b9e\u9a8c\u73af\u5883\u642d\u5efa\uff082\u5b66\u65f6\uff09 Android\u7cfb\u7edfadb\u8fdb\u9636\u5b9e\u9a8c\uff1a\u7ed5\u8fc7\u624b\u673a\u9501\u5c4f\u8ba4\u8bc1\u3001\u83b7\u53d6\u624b\u673a\u654f\u611f\u6570\u636e\u3001\u5e94\u7528\u7a0b\u5e8f\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002\uff082\u5b66\u65f6\uff09 \u667a\u80fd\u7ec8\u7aef\u5e94\u7528\u901a\u4fe1\u534f\u8bae\u9006\u5411\u5206\u6790\u5b9e\u9a8c\u3002\uff082\u5b66\u65f6\uff09 Android\u5e94\u7528\u5e38\u89c1\u7f3a\u9677\u68c0\u6d4b\u4e0e\u6f0f\u6d1e\u5229\u7528\u5b9e\u9a8c\uff082\u5b66\u65f6\uff09 \u4e94\u3001\u5efa\u8bae\u6559\u6750 \u65e0 \u516d\u3001\u53c2\u8003\u8d44\u6599 802.11\u00ae Wireless Networks: The Definitive Guide, Second Edition Andrew Hoog \u8457 \u4f55\u6cfe\u6c99 \u8bd1. Android\u53d6\u8bc1\u5b9e\u6218\u00b7\u8c03\u67e5\u3001\u5206\u6790\u4e0e\u79fb\u52a8\u5b89\u5168. \u673a\u68b0\u5de5\u4e1a\u51fa\u7248\u793e\uff0c2013. \u4e30\u751f\u5f3a \u8457. Android\u8f6f\u4ef6\u5b89\u5168\u4e0e\u9006\u5411\u5206\u6790. \u4eba\u6c11\u90ae\u7535\u51fa\u7248\u793e. 2013. \u6c99\u6893\u793e\uff0c\u5434\u822a\uff0c\u5218\u747e \u8457. \u4fe1\u606f\u5b89\u5168\u6280\u672f\u4e1b\u4e66\u00b7iOS\u5e94\u7528\u9006\u5411\u5de5\u7a0b\uff1a\u5206\u6790\u4e0e\u5b9e\u6218. \u673a\u68b0\u5de5\u4e1a\u51fa\u7248\u793e. 2013. \u5434\u5029\uff0c\u8d75\u6668\u5578\uff0c\u90ed\u83b9 \u8457. Android\u5b89\u5168\u673a\u5236\u89e3\u6790\u4e0e\u5e94\u7528\u5b9e\u8df5. \u673a\u68b0\u5de5\u4e1a\u51fa\u7248\u793e. 2013.","title":"2019\u5e74"},{"location":"mis/2019/index.html#_1","text":"","title":"\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168"},{"location":"mis/2019/index.html#_2","text":"\u8bfe\u7a0b\u7f16\u53f7\uff1a113011 \u82f1\u6587\u540d\u79f0\uff1aMobile Internet Security \u6388\u8bfe\u5bf9\u8c61\uff1a\u4fe1\u606f\u5b89\u5168\u4e13\u4e1a \u5f00\u8bfe\u5b66\u671f\uff1a5 \u5b66\u5206/\u5b66\u65f6\uff1a2.5/48 \u5148\u4fee\u8bfe\u7a0b\uff1a\u4fe1\u606f\u5b89\u5168\u5bfc\u8bba\u3001\u8ba1\u7b97\u673a\u7f51\u7edc\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5802\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c","title":"\u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"mis/2019/index.html#_3","text":"\u672c\u8bfe\u7a0b\u9488\u5bf9\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168\u4e2d\u7684\u5173\u952e\u6280\u672f\uff0c\u4ece\u5e94\u7528\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ecb\u7ecd\u65e0\u7ebf\u7f51\u7edc\u76d1\u542c\u3001\u626b\u63cf\u3001\u5165\u4fb5\u548c\u9632\u5fa1\uff0c\u667a\u80fd\u624b\u673a\u7cfb\u7edf\u653b\u9632\u3001\u667a\u80fd\u624b\u673a\u5e94\u7528\u653b\u9632\u7b49\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u5e76\u901a\u8fc7\u5b9e\u4f8b\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u5c06\u5b89\u5168\u7406\u8bba\u3001\u5b89\u5168\u6280\u672f\u548c\u5b89\u5168\u5de5\u5177\u6709\u673a\u7ed3\u5408\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"mis/2019/index.html#_4","text":"\u968f\u7740\u4e92\u8054\u7f51\u7684\u53d1\u5c55\u548c\u4fe1\u606f\u5316\u8fdb\u7a0b\u7684\u6df1\u5165\uff0c\u65e0\u7ebf\u7f51\u7edc\u3001\u667a\u80fd\u624b\u673a\u3001\u667a\u80fd\u8bbe\u5907\u7b49\u5177\u5907\u4e92\u8054\u4e92\u901a\u667a\u80fd\u5316\u7279\u5f81\u7684\u786c\u4ef6\u4e0e\u8f6f\u4ef6\u84ec\u52c3\u53d1\u5c55\uff0c\u4f20\u7edf\u7684\u8ba1\u7b97\u673a\u4e92\u8054\u7f51\u5185\u6db5\u5df2\u7ecf\u9010\u6e10\u5916\u5ef6\u53d1\u5c55\u4e3a\u201c\u4e07\u7269\u4e92\u8054\u201d\u7684\u7269\u8054\u7f51\u3002\u4ee5\u65e0\u7ebf\u7f51\u7edc\u4e3a\u901a\u4fe1\u57fa\u7840\u3001\u667a\u80fd\u624b\u673a\u4e3a\u7ec8\u7aef\u8bbe\u5907\u57fa\u7840\u3001APP\u4e3a\u670d\u52a1\u8f7d\u4f53\u5f62\u5f0f\u548c\u4e91\u8ba1\u7b97\u4e3a\u57fa\u7840\u8bbe\u65bd\u7684\u79fb\u52a8\u4e92\u8054\u7f51\u6280\u672f\u662f\u7269\u8054\u7f51\u5927\u5bb6\u65cf\u4e2d\u7684\u4e00\u4e2a\u91cd\u8981\u4e14\u6210\u719f\u7684\u6280\u672f\u751f\u6001\u5708\uff0c\u79fb\u52a8\u4e92\u8054\u7f51\u76f8\u5173\u7684\u5b89\u5168\u95ee\u9898\u5df2\u6210\u4e3a\u5404\u56fd\u653f\u5e9c\u6709\u5173\u90e8\u95e8\u3001\u5404\u5927\u884c\u4e1a\u548c\u4f01\u4e8b\u4e1a\u5173\u6ce8\u7684\u70ed\u70b9\u95ee\u9898\uff0c\u5bf9\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168\u4e13\u95e8\u4eba\u624d\u7684\u9700\u6c42\u4e5f\u65e5\u663e\u7a81\u51fa\u3002\u672c\u8bfe\u7a0b\u5168\u9762\u7cfb\u7edf\u5730\u4ecb\u7ecd\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u76f8\u5173\u7406\u8bba\u77e5\u8bc6\u548c\u5173\u952e\u6280\u672f\uff0c\u63d0\u9ad8\u5b89\u5168\u610f\u8bc6\uff0c\u589e\u5f3a\u89e3\u51b3\u4e92\u8054\u7f51\u548c\u6570\u5b57\u4f20\u5a92\u7b49\u884c\u4e1a\u4e2d\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168\u95ee\u9898\u7684\u80fd\u529b\u3002","title":"\u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42"},{"location":"mis/2019/index.html#_5","text":"1\uff0e\u65e0\u7ebf\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u65e0\u7ebf\u901a\u4fe1\u534f\u8bae\u5206\u7c7b\u3001802.11\u534f\u8bae\u3001802.11\u5bb6\u65cf\u76f8\u5173\u8bbe\u5907\u8ba4\u77e5\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 2\uff0e\u65e0\u7ebf\u63a5\u5165\u7f51\u76d1\u542c\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u65e0\u7ebf\u7f51\u5361\u914d\u7f6e\u4e0e\u4f7f\u7528\u3001WLAN\u8ba4\u8bc1\u539f\u7406\u3001802.11\u534f\u8bae\u4e0ewireshark\u8fc7\u6ee4\u5668\u4f7f\u7528\u3001\u57fa\u4e8eScapy\u7684802.11\u7f16\u7a0b\u57fa\u7840\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 3\uff0e\u65e0\u7ebf\u63a5\u5165\u7f51\u5165\u4fb5\u4e0e\u9632\u5fa1\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1aSSID\u9690\u85cf\u4e0e\u53d1\u73b0\u3001Evil Twin\u653b\u51fb\u4e0e\u9632\u5fa1\u3001\u4e2d\u95f4\u4eba\u653b\u51fb\u4e0e\u9632\u5fa1\u3001\u62d2\u7edd\u670d\u52a1\u653b\u51fb\u4e0e\u9632\u5fa1\u3001WLAN\u8ba4\u8bc1\u673a\u5236\u653b\u9632\u3001WLAN\u52a0\u5bc6\u4e0e\u89e3\u5bc6\u3001\u4f01\u4e1a\u7ea7WLAN\u5b89\u5168\u673a\u5236\u653b\u9632\u3001\u57fa\u4e8eScapy\u7684802.11\u7f16\u7a0b\u5b9e\u6218\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 4\uff0e\u79fb\u52a8\u901a\u4fe1\u4e0e\u7269\u8054\u7f51\u5b89\u5168\u6982\u8ff0\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a \u79fb\u52a8\u901a\u4fe1\u6280\u672f\u5206\u7c7b\u3001\u79fb\u52a8\u901a\u4fe1\u7f51\u7edc\u76d1\u542c\u539f\u7406\u3001RFID\u3001\u667a\u80fd\u5361\u3001\u84dd\u7259\u5b89\u5168\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 5\uff0e\u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5b89\u5168\u57fa\u7840\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5206\u7c7b\u3001\u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5b89\u5168\u673a\u5236\u6f14\u8fdb\u5386\u53f2\u3001\u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u4e0e\u684c\u9762\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5b89\u5168\u673a\u5236\u7684\u533a\u522b\u4e0e\u8054\u7cfb\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 6\uff0e\u5b89\u5353\u7cfb\u7edf\u8bbf\u95ee\u63a7\u5236\u7b56\u7565\u4e0e\u673a\u5236\uff083\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5b89\u5353\u7cfb\u7edf\u8bbf\u95ee\u63a7\u5236\u673a\u5236\u7684\u7ecf\u5178\u6f0f\u6d1e\u5206\u6790\u3001\u5b89\u5353\u7cfb\u7edf\u52a0\u56fa\u6280\u672f\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 7\uff0e\u79fb\u52a8\u7ec8\u7aef\u5e94\u7528\u9006\u5411\u5206\u6790\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5b89\u5353\u7cfb\u7edf\u6293\u5305\u6280\u672f\u3001iOS\u7cfb\u7edf\u6293\u5305\u6280\u672f\u3001\u5178\u578b\u901a\u4fe1\u534f\u8bae\u7684\u9006\u5411\u65b9\u6cd5\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 8\uff0e\u79fb\u52a8\u7ec8\u7aef\u5e94\u7528\u653b\u9632\u4e0e\u4ee3\u7801\u5b89\u5168\u6700\u4f73\u5b9e\u8df5\uff087\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a Android\u5e94\u7528\u5e38\u89c1\u7f3a\u9677\u6210\u56e0\u3001\u539f\u7406\u3001\u6f0f\u6d1e\u5229\u7528\u548c\u6700\u4f73\u5b89\u5168\u5b9e\u8df5 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT","title":"\u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d"},{"location":"mis/2019/index.html#_6","text":"802.11\u6570\u636e\u5e27\u7ed3\u6784\u5206\u6790\u5b9e\u9a8c\uff0c\u8ba4\u8bc6\u5e38\u89c1\u65e0\u7ebf\u7f51\u7edc\u8bbe\u5907\uff0c\u4e86\u89e3\u57fa\u672c\u4f7f\u7528\u548c\u914d\u7f6e\u65b9\u6cd5\u3002\uff082\u5b66\u65f6\uff09 802.11\u7f51\u7edc\u76d1\u542c\u5b9e\u9a8c\u3002\uff082\u5b66\u65f6\uff09 802.11\u7f51\u7edc\u653b\u9632\u5b9e\u9a8c\uff08\u4e0a\uff09\uff0c\u9690\u85cfSSID\u53d1\u73b0\u3001\u4f2a\u9020\u70ed\u70b9\u9493\u9c7c\u3001\u62d2\u7edd\u670d\u52a1\u653b\u51fb\u3002\uff082\u5b66\u65f6\uff09 802.11\u7f51\u7edc\u653b\u9632\u5b9e\u9a8c\uff08\u4e0b\uff09\uff0c\u8106\u5f31\u6027\u8ba4\u8bc1\u673a\u5236\u7834\u89e3\u3001\u4e2d\u95f4\u4eba\u653b\u51fb\u3002\uff082\u5b66\u65f6\uff09 Android\u5e94\u7528\u5b89\u5168\u5b9e\u9a8c\u73af\u5883\u642d\u5efa\uff082\u5b66\u65f6\uff09 Android\u7cfb\u7edfadb\u8fdb\u9636\u5b9e\u9a8c\uff1a\u7ed5\u8fc7\u624b\u673a\u9501\u5c4f\u8ba4\u8bc1\u3001\u83b7\u53d6\u624b\u673a\u654f\u611f\u6570\u636e\u3001\u5e94\u7528\u7a0b\u5e8f\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002\uff082\u5b66\u65f6\uff09 \u667a\u80fd\u7ec8\u7aef\u5e94\u7528\u901a\u4fe1\u534f\u8bae\u9006\u5411\u5206\u6790\u5b9e\u9a8c\u3002\uff082\u5b66\u65f6\uff09 Android\u5e94\u7528\u5e38\u89c1\u7f3a\u9677\u68c0\u6d4b\u4e0e\u6f0f\u6d1e\u5229\u7528\u5b9e\u9a8c\uff082\u5b66\u65f6\uff09","title":"\u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282"},{"location":"mis/2019/index.html#_7","text":"\u65e0","title":"\u4e94\u3001\u5efa\u8bae\u6559\u6750"},{"location":"mis/2019/index.html#_8","text":"802.11\u00ae Wireless Networks: The Definitive Guide, Second Edition Andrew Hoog \u8457 \u4f55\u6cfe\u6c99 \u8bd1. Android\u53d6\u8bc1\u5b9e\u6218\u00b7\u8c03\u67e5\u3001\u5206\u6790\u4e0e\u79fb\u52a8\u5b89\u5168. \u673a\u68b0\u5de5\u4e1a\u51fa\u7248\u793e\uff0c2013. \u4e30\u751f\u5f3a \u8457. Android\u8f6f\u4ef6\u5b89\u5168\u4e0e\u9006\u5411\u5206\u6790. \u4eba\u6c11\u90ae\u7535\u51fa\u7248\u793e. 2013. \u6c99\u6893\u793e\uff0c\u5434\u822a\uff0c\u5218\u747e \u8457. \u4fe1\u606f\u5b89\u5168\u6280\u672f\u4e1b\u4e66\u00b7iOS\u5e94\u7528\u9006\u5411\u5de5\u7a0b\uff1a\u5206\u6790\u4e0e\u5b9e\u6218. \u673a\u68b0\u5de5\u4e1a\u51fa\u7248\u793e. 2013. \u5434\u5029\uff0c\u8d75\u6668\u5578\uff0c\u90ed\u83b9 \u8457. Android\u5b89\u5168\u673a\u5236\u89e3\u6790\u4e0e\u5e94\u7528\u5b9e\u8df5. \u673a\u68b0\u5de5\u4e1a\u51fa\u7248\u793e. 2013.","title":"\u516d\u3001\u53c2\u8003\u8d44\u6599"},{"location":"mis/2021/index.html","text":"\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168 \u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u8bfe\u7a0b\u7f16\u53f7\uff1a2121030125 \u82f1\u6587\u540d\u79f0\uff1aMobile Internet Security \u6388\u8bfe\u5bf9\u8c61\uff1a\u4fe1\u606f\u5b89\u5168\u4e13\u4e1a \u5f00\u8bfe\u5b66\u671f\uff1a6 \u5b66\u5206/\u5b66\u65f6\uff1a2.5/48 \u5148\u4fee\u8bfe\u7a0b\uff1a\u4fe1\u606f\u5b89\u5168\u5bfc\u8bba\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5802\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u671f\u672b\u603b\u8bc4\u5206\u89c4\u5219\u660e\u7ec6 \u8bfe\u7a0b\u7b80\u4ecb \u672c\u8bfe\u7a0b\u9488\u5bf9\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168\u4e2d\u7684\u5173\u952e\u6280\u672f\uff0c\u4ece\u5e94\u7528\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ecb\u7ecd\u65e0\u7ebf\u7f51\u7edc\u76d1\u542c\u3001\u626b\u63cf\u3001\u5165\u4fb5\u548c\u9632\u5fa1\uff0c\u667a\u80fd\u624b\u673a\u7cfb\u7edf\u653b\u9632\u3001\u667a\u80fd\u624b\u673a\u5e94\u7528\u653b\u9632\u7b49\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u5e76\u901a\u8fc7\u5b9e\u4f8b\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u5c06\u5b89\u5168\u7406\u8bba\u3001\u5b89\u5168\u6280\u672f\u548c\u5b89\u5168\u5de5\u5177\u6709\u673a\u7ed3\u5408\u3002 \u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42 \u968f\u7740\u4e92\u8054\u7f51\u7684\u53d1\u5c55\u548c\u4fe1\u606f\u5316\u8fdb\u7a0b\u7684\u6df1\u5165\uff0c\u65e0\u7ebf\u7f51\u7edc\u3001\u667a\u80fd\u624b\u673a\u3001\u667a\u80fd\u8bbe\u5907\u7b49\u5177\u5907\u4e92\u8054\u4e92\u901a\u667a\u80fd\u5316\u7279\u5f81\u7684\u786c\u4ef6\u4e0e\u8f6f\u4ef6\u84ec\u52c3\u53d1\u5c55\uff0c\u4f20\u7edf\u7684\u8ba1\u7b97\u673a\u4e92\u8054\u7f51\u5185\u6db5\u5df2\u7ecf\u9010\u6e10\u5916\u5ef6\u53d1\u5c55\u4e3a\u201c\u4e07\u7269\u4e92\u8054\u201d\u7684\u7269\u8054\u7f51\u3002\u4ee5\u65e0\u7ebf\u7f51\u7edc\u4e3a\u901a\u4fe1\u57fa\u7840\u3001\u667a\u80fd\u624b\u673a\u4e3a\u7ec8\u7aef\u8bbe\u5907\u57fa\u7840\u3001APP\u4e3a\u670d\u52a1\u8f7d\u4f53\u5f62\u5f0f\u548c\u4e91\u8ba1\u7b97\u4e3a\u57fa\u7840\u8bbe\u65bd\u7684\u79fb\u52a8\u4e92\u8054\u7f51\u6280\u672f\u662f\u7269\u8054\u7f51\u5927\u5bb6\u65cf\u4e2d\u7684\u4e00\u4e2a\u91cd\u8981\u4e14\u6210\u719f\u7684\u6280\u672f\u751f\u6001\u5708\uff0c\u79fb\u52a8\u4e92\u8054\u7f51\u76f8\u5173\u7684\u5b89\u5168\u95ee\u9898\u5df2\u6210\u4e3a\u5404\u56fd\u653f\u5e9c\u6709\u5173\u90e8\u95e8\u3001\u5404\u5927\u884c\u4e1a\u548c\u4f01\u4e8b\u4e1a\u5173\u6ce8\u7684\u70ed\u70b9\u95ee\u9898\uff0c\u5bf9\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168\u4e13\u95e8\u4eba\u624d\u7684\u9700\u6c42\u4e5f\u65e5\u663e\u7a81\u51fa\u3002\u672c\u8bfe\u7a0b\u5168\u9762\u7cfb\u7edf\u5730\u4ecb\u7ecd\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u76f8\u5173\u7406\u8bba\u77e5\u8bc6\u548c\u5173\u952e\u6280\u672f\uff0c\u63d0\u9ad8\u5b89\u5168\u610f\u8bc6\uff0c\u589e\u5f3a\u89e3\u51b3\u4e92\u8054\u7f51\u548c\u6570\u5b57\u4f20\u5a92\u7b49\u884c\u4e1a\u4e2d\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168\u95ee\u9898\u7684\u80fd\u529b\u3002 \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d 1\uff0e\u65e0\u7ebf\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u65e0\u7ebf\u901a\u4fe1\u534f\u8bae\u5206\u7c7b\u3001802.11\u534f\u8bae\u3001802.11\u5bb6\u65cf\u76f8\u5173\u8bbe\u5907\u8ba4\u77e5\u3002 2\uff0e\u65e0\u7ebf\u63a5\u5165\u7f51\u76d1\u542c\uff086\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u65e0\u7ebf\u7f51\u5361\u914d\u7f6e\u4e0e\u4f7f\u7528\u3001WLAN\u8ba4\u8bc1\u539f\u7406\u3001802.11\u534f\u8bae\u4e0ewireshark\u8fc7\u6ee4\u5668\u4f7f\u7528\u3001\u57fa\u4e8eScapy\u7684802.11\u7f16\u7a0b\u57fa\u7840\u3002 3\uff0e\u65e0\u7ebf\u63a5\u5165\u7f51\u5165\u4fb5\u4e0e\u9632\u5fa1\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1aSSID\u9690\u85cf\u4e0e\u53d1\u73b0\u3001Evil Twin\u653b\u51fb\u4e0e\u9632\u5fa1\u3001\u4e2d\u95f4\u4eba\u653b\u51fb\u4e0e\u9632\u5fa1\u3001\u62d2\u7edd\u670d\u52a1\u653b\u51fb\u4e0e\u9632\u5fa1\u3001WLAN\u8ba4\u8bc1\u673a\u5236\u653b\u9632\u3001WLAN\u52a0\u5bc6\u4e0e\u89e3\u5bc6\u3001\u4f01\u4e1a\u7ea7WLAN\u5b89\u5168\u673a\u5236\u653b\u9632\u3001\u57fa\u4e8eScapy\u7684802.11\u7f16\u7a0b\u5b9e\u6218\u3002 4\uff0e\u79fb\u52a8\u901a\u4fe1\u4e0e\u7269\u8054\u7f51\u5b89\u5168\u6982\u8ff0\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a \u79fb\u52a8\u901a\u4fe1\u6280\u672f\u5206\u7c7b\u3001\u79fb\u52a8\u901a\u4fe1\u7f51\u7edc\u76d1\u542c\u539f\u7406\u3001RFID\u3001\u667a\u80fd\u5361\u3001\u84dd\u7259\u5b89\u5168\u3002 5\uff0e\u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5b89\u5168\u57fa\u7840\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5206\u7c7b\u3001\u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5b89\u5168\u673a\u5236\u6f14\u8fdb\u5386\u53f2\u3001\u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u4e0e\u684c\u9762\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5b89\u5168\u673a\u5236\u7684\u533a\u522b\u4e0e\u8054\u7cfb\u3002 6\uff0e\u5b89\u5353\u7cfb\u7edf\u8bbf\u95ee\u63a7\u5236\u7b56\u7565\u4e0e\u673a\u5236\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5b89\u5353\u7cfb\u7edf\u8bbf\u95ee\u63a7\u5236\u673a\u5236\u7684\u7ecf\u5178\u6f0f\u6d1e\u5206\u6790\u3001\u5b89\u5353\u7cfb\u7edf\u52a0\u56fa\u6280\u672f\u3002 7\uff0e\u79fb\u52a8\u7ec8\u7aef\u5e94\u7528\u9006\u5411\u5206\u6790\uff083\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5b89\u5353\u7cfb\u7edf\u6293\u5305\u6280\u672f\u3001iOS\u7cfb\u7edf\u6293\u5305\u6280\u672f\u3001\u5178\u578b\u901a\u4fe1\u534f\u8bae\u7684\u9006\u5411\u65b9\u6cd5\u3002 8\uff0e\u79fb\u52a8\u7ec8\u7aef\u5e94\u7528\u653b\u9632\u4e0e\u4ee3\u7801\u5b89\u5168\u6700\u4f73\u5b9e\u8df5\uff083\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a Android\u5e94\u7528\u5e38\u89c1\u7f3a\u9677\u6210\u56e0\u3001\u539f\u7406\u3001\u6f0f\u6d1e\u5229\u7528\u548c\u6700\u4f73\u5b89\u5168\u5b9e\u8df5 \u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282 \u65e0\u7ebf\u7f51\u7edc\u653b\u9632 \u57fa\u4e8e OpenWrt \u7684\u865a\u62df\u8f6f AP \u642d\u5efa (0\u5b66\u65f6\uff0c\u8bfe\u540e\u5b9e\u9a8c\u62a5\u544a) 802.11\u6570\u636e\u5e27\u7ed3\u6784\u5206\u6790\u5b9e\u9a8c\uff0c\u8ba4\u8bc6\u5e38\u89c1\u65e0\u7ebf\u7f51\u7edc\u8bbe\u5907\uff0c\u4e86\u89e3\u57fa\u672c\u4f7f\u7528\u548c\u914d\u7f6e\u65b9\u6cd5\u3002\uff082\u5b66\u65f6\uff09 802.11\u7f51\u7edc\u76d1\u542c\u5b9e\u9a8c\u3002\uff082\u5b66\u65f6\uff09 802.11\u7f51\u7edc\u653b\u9632\u5b9e\u9a8c\uff08\u4e0a\uff09\uff0c\u9690\u85cfSSID\u53d1\u73b0\u3001\u4f2a\u9020\u70ed\u70b9\u9493\u9c7c\u3001\u62d2\u7edd\u670d\u52a1\u653b\u51fb\u3002\uff082\u5b66\u65f6\uff09 802.11\u7f51\u7edc\u653b\u9632\u5b9e\u9a8c\uff08\u4e0b\uff09\uff0c\u8106\u5f31\u6027\u8ba4\u8bc1\u673a\u5236\u7834\u89e3\u3001\u4e2d\u95f4\u4eba\u653b\u51fb\u3002\uff082\u5b66\u65f6\uff09 \u7269\u8054\u7f51\u5b89\u5168 OpenWrt \u5df2\u77e5\u6f0f\u6d1e\u5229\u7528\u590d\u73b0 \uff082\u5b66\u65f6\uff09 \u667a\u80fd\u7ec8\u7aef\u653b\u9632 Android\u5e94\u7528\u5b89\u5168\u5b9e\u9a8c\u73af\u5883\u642d\u5efa\uff081\u5b66\u65f6\uff09 Android\u7cfb\u7edfadb\u8fdb\u9636\u5b9e\u9a8c\uff1a\u7ed5\u8fc7\u624b\u673a\u9501\u5c4f\u8ba4\u8bc1\u3001\u83b7\u53d6\u624b\u673a\u654f\u611f\u6570\u636e\u3001\u5e94\u7528\u7a0b\u5e8f\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002\uff081\u5b66\u65f6\uff09 \u667a\u80fd\u7ec8\u7aef\u5e94\u7528\u901a\u4fe1\u534f\u8bae\u9006\u5411\u5206\u6790\u5b9e\u9a8c\u3002\uff082\u5b66\u65f6\uff09 Android\u5e94\u7528\u5e38\u89c1\u7f3a\u9677\u68c0\u6d4b\u4e0e\u6f0f\u6d1e\u5229\u7528\u5b9e\u9a8c\uff082\u5b66\u65f6\uff09 \u4e94\u3001\u5efa\u8bae\u6559\u6750 \u65e0 \u516d\u3001\u53c2\u8003\u8d44\u6599 802.11\u00ae Wireless Networks: The Definitive Guide, Second Edition Andrew Hoog \u8457 \u4f55\u6cfe\u6c99 \u8bd1. Android\u53d6\u8bc1\u5b9e\u6218\u00b7\u8c03\u67e5\u3001\u5206\u6790\u4e0e\u79fb\u52a8\u5b89\u5168. \u673a\u68b0\u5de5\u4e1a\u51fa\u7248\u793e\uff0c2013. \u4e30\u751f\u5f3a \u8457. Android\u8f6f\u4ef6\u5b89\u5168\u4e0e\u9006\u5411\u5206\u6790. \u4eba\u6c11\u90ae\u7535\u51fa\u7248\u793e. 2013. \u6c99\u6893\u793e\uff0c\u5434\u822a\uff0c\u5218\u747e \u8457. \u4fe1\u606f\u5b89\u5168\u6280\u672f\u4e1b\u4e66\u00b7iOS\u5e94\u7528\u9006\u5411\u5de5\u7a0b\uff1a\u5206\u6790\u4e0e\u5b9e\u6218. \u673a\u68b0\u5de5\u4e1a\u51fa\u7248\u793e. 2013. \u5434\u5029\uff0c\u8d75\u6668\u5578\uff0c\u90ed\u83b9 \u8457. Android\u5b89\u5168\u673a\u5236\u89e3\u6790\u4e0e\u5e94\u7528\u5b9e\u8df5. \u673a\u68b0\u5de5\u4e1a\u51fa\u7248\u793e. 2013.","title":"2021\u5e74"},{"location":"mis/2021/index.html#_1","text":"","title":"\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168"},{"location":"mis/2021/index.html#_2","text":"\u8bfe\u7a0b\u7f16\u53f7\uff1a2121030125 \u82f1\u6587\u540d\u79f0\uff1aMobile Internet Security \u6388\u8bfe\u5bf9\u8c61\uff1a\u4fe1\u606f\u5b89\u5168\u4e13\u4e1a \u5f00\u8bfe\u5b66\u671f\uff1a6 \u5b66\u5206/\u5b66\u65f6\uff1a2.5/48 \u5148\u4fee\u8bfe\u7a0b\uff1a\u4fe1\u606f\u5b89\u5168\u5bfc\u8bba\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5802\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u671f\u672b\u603b\u8bc4\u5206\u89c4\u5219\u660e\u7ec6","title":"\u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"mis/2021/index.html#_3","text":"\u672c\u8bfe\u7a0b\u9488\u5bf9\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168\u4e2d\u7684\u5173\u952e\u6280\u672f\uff0c\u4ece\u5e94\u7528\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ecb\u7ecd\u65e0\u7ebf\u7f51\u7edc\u76d1\u542c\u3001\u626b\u63cf\u3001\u5165\u4fb5\u548c\u9632\u5fa1\uff0c\u667a\u80fd\u624b\u673a\u7cfb\u7edf\u653b\u9632\u3001\u667a\u80fd\u624b\u673a\u5e94\u7528\u653b\u9632\u7b49\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u5e76\u901a\u8fc7\u5b9e\u4f8b\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u5c06\u5b89\u5168\u7406\u8bba\u3001\u5b89\u5168\u6280\u672f\u548c\u5b89\u5168\u5de5\u5177\u6709\u673a\u7ed3\u5408\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"mis/2021/index.html#_4","text":"\u968f\u7740\u4e92\u8054\u7f51\u7684\u53d1\u5c55\u548c\u4fe1\u606f\u5316\u8fdb\u7a0b\u7684\u6df1\u5165\uff0c\u65e0\u7ebf\u7f51\u7edc\u3001\u667a\u80fd\u624b\u673a\u3001\u667a\u80fd\u8bbe\u5907\u7b49\u5177\u5907\u4e92\u8054\u4e92\u901a\u667a\u80fd\u5316\u7279\u5f81\u7684\u786c\u4ef6\u4e0e\u8f6f\u4ef6\u84ec\u52c3\u53d1\u5c55\uff0c\u4f20\u7edf\u7684\u8ba1\u7b97\u673a\u4e92\u8054\u7f51\u5185\u6db5\u5df2\u7ecf\u9010\u6e10\u5916\u5ef6\u53d1\u5c55\u4e3a\u201c\u4e07\u7269\u4e92\u8054\u201d\u7684\u7269\u8054\u7f51\u3002\u4ee5\u65e0\u7ebf\u7f51\u7edc\u4e3a\u901a\u4fe1\u57fa\u7840\u3001\u667a\u80fd\u624b\u673a\u4e3a\u7ec8\u7aef\u8bbe\u5907\u57fa\u7840\u3001APP\u4e3a\u670d\u52a1\u8f7d\u4f53\u5f62\u5f0f\u548c\u4e91\u8ba1\u7b97\u4e3a\u57fa\u7840\u8bbe\u65bd\u7684\u79fb\u52a8\u4e92\u8054\u7f51\u6280\u672f\u662f\u7269\u8054\u7f51\u5927\u5bb6\u65cf\u4e2d\u7684\u4e00\u4e2a\u91cd\u8981\u4e14\u6210\u719f\u7684\u6280\u672f\u751f\u6001\u5708\uff0c\u79fb\u52a8\u4e92\u8054\u7f51\u76f8\u5173\u7684\u5b89\u5168\u95ee\u9898\u5df2\u6210\u4e3a\u5404\u56fd\u653f\u5e9c\u6709\u5173\u90e8\u95e8\u3001\u5404\u5927\u884c\u4e1a\u548c\u4f01\u4e8b\u4e1a\u5173\u6ce8\u7684\u70ed\u70b9\u95ee\u9898\uff0c\u5bf9\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168\u4e13\u95e8\u4eba\u624d\u7684\u9700\u6c42\u4e5f\u65e5\u663e\u7a81\u51fa\u3002\u672c\u8bfe\u7a0b\u5168\u9762\u7cfb\u7edf\u5730\u4ecb\u7ecd\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u76f8\u5173\u7406\u8bba\u77e5\u8bc6\u548c\u5173\u952e\u6280\u672f\uff0c\u63d0\u9ad8\u5b89\u5168\u610f\u8bc6\uff0c\u589e\u5f3a\u89e3\u51b3\u4e92\u8054\u7f51\u548c\u6570\u5b57\u4f20\u5a92\u7b49\u884c\u4e1a\u4e2d\u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168\u95ee\u9898\u7684\u80fd\u529b\u3002","title":"\u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42"},{"location":"mis/2021/index.html#_5","text":"1\uff0e\u65e0\u7ebf\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u65e0\u7ebf\u901a\u4fe1\u534f\u8bae\u5206\u7c7b\u3001802.11\u534f\u8bae\u3001802.11\u5bb6\u65cf\u76f8\u5173\u8bbe\u5907\u8ba4\u77e5\u3002 2\uff0e\u65e0\u7ebf\u63a5\u5165\u7f51\u76d1\u542c\uff086\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u65e0\u7ebf\u7f51\u5361\u914d\u7f6e\u4e0e\u4f7f\u7528\u3001WLAN\u8ba4\u8bc1\u539f\u7406\u3001802.11\u534f\u8bae\u4e0ewireshark\u8fc7\u6ee4\u5668\u4f7f\u7528\u3001\u57fa\u4e8eScapy\u7684802.11\u7f16\u7a0b\u57fa\u7840\u3002 3\uff0e\u65e0\u7ebf\u63a5\u5165\u7f51\u5165\u4fb5\u4e0e\u9632\u5fa1\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1aSSID\u9690\u85cf\u4e0e\u53d1\u73b0\u3001Evil Twin\u653b\u51fb\u4e0e\u9632\u5fa1\u3001\u4e2d\u95f4\u4eba\u653b\u51fb\u4e0e\u9632\u5fa1\u3001\u62d2\u7edd\u670d\u52a1\u653b\u51fb\u4e0e\u9632\u5fa1\u3001WLAN\u8ba4\u8bc1\u673a\u5236\u653b\u9632\u3001WLAN\u52a0\u5bc6\u4e0e\u89e3\u5bc6\u3001\u4f01\u4e1a\u7ea7WLAN\u5b89\u5168\u673a\u5236\u653b\u9632\u3001\u57fa\u4e8eScapy\u7684802.11\u7f16\u7a0b\u5b9e\u6218\u3002 4\uff0e\u79fb\u52a8\u901a\u4fe1\u4e0e\u7269\u8054\u7f51\u5b89\u5168\u6982\u8ff0\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a \u79fb\u52a8\u901a\u4fe1\u6280\u672f\u5206\u7c7b\u3001\u79fb\u52a8\u901a\u4fe1\u7f51\u7edc\u76d1\u542c\u539f\u7406\u3001RFID\u3001\u667a\u80fd\u5361\u3001\u84dd\u7259\u5b89\u5168\u3002 5\uff0e\u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5b89\u5168\u57fa\u7840\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5206\u7c7b\u3001\u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5b89\u5168\u673a\u5236\u6f14\u8fdb\u5386\u53f2\u3001\u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u4e0e\u684c\u9762\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5b89\u5168\u673a\u5236\u7684\u533a\u522b\u4e0e\u8054\u7cfb\u3002 6\uff0e\u5b89\u5353\u7cfb\u7edf\u8bbf\u95ee\u63a7\u5236\u7b56\u7565\u4e0e\u673a\u5236\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5b89\u5353\u7cfb\u7edf\u8bbf\u95ee\u63a7\u5236\u673a\u5236\u7684\u7ecf\u5178\u6f0f\u6d1e\u5206\u6790\u3001\u5b89\u5353\u7cfb\u7edf\u52a0\u56fa\u6280\u672f\u3002 7\uff0e\u79fb\u52a8\u7ec8\u7aef\u5e94\u7528\u9006\u5411\u5206\u6790\uff083\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5b89\u5353\u7cfb\u7edf\u6293\u5305\u6280\u672f\u3001iOS\u7cfb\u7edf\u6293\u5305\u6280\u672f\u3001\u5178\u578b\u901a\u4fe1\u534f\u8bae\u7684\u9006\u5411\u65b9\u6cd5\u3002 8\uff0e\u79fb\u52a8\u7ec8\u7aef\u5e94\u7528\u653b\u9632\u4e0e\u4ee3\u7801\u5b89\u5168\u6700\u4f73\u5b9e\u8df5\uff083\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a Android\u5e94\u7528\u5e38\u89c1\u7f3a\u9677\u6210\u56e0\u3001\u539f\u7406\u3001\u6f0f\u6d1e\u5229\u7528\u548c\u6700\u4f73\u5b89\u5168\u5b9e\u8df5","title":"\u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d"},{"location":"mis/2021/index.html#_6","text":"\u65e0\u7ebf\u7f51\u7edc\u653b\u9632 \u57fa\u4e8e OpenWrt \u7684\u865a\u62df\u8f6f AP \u642d\u5efa (0\u5b66\u65f6\uff0c\u8bfe\u540e\u5b9e\u9a8c\u62a5\u544a) 802.11\u6570\u636e\u5e27\u7ed3\u6784\u5206\u6790\u5b9e\u9a8c\uff0c\u8ba4\u8bc6\u5e38\u89c1\u65e0\u7ebf\u7f51\u7edc\u8bbe\u5907\uff0c\u4e86\u89e3\u57fa\u672c\u4f7f\u7528\u548c\u914d\u7f6e\u65b9\u6cd5\u3002\uff082\u5b66\u65f6\uff09 802.11\u7f51\u7edc\u76d1\u542c\u5b9e\u9a8c\u3002\uff082\u5b66\u65f6\uff09 802.11\u7f51\u7edc\u653b\u9632\u5b9e\u9a8c\uff08\u4e0a\uff09\uff0c\u9690\u85cfSSID\u53d1\u73b0\u3001\u4f2a\u9020\u70ed\u70b9\u9493\u9c7c\u3001\u62d2\u7edd\u670d\u52a1\u653b\u51fb\u3002\uff082\u5b66\u65f6\uff09 802.11\u7f51\u7edc\u653b\u9632\u5b9e\u9a8c\uff08\u4e0b\uff09\uff0c\u8106\u5f31\u6027\u8ba4\u8bc1\u673a\u5236\u7834\u89e3\u3001\u4e2d\u95f4\u4eba\u653b\u51fb\u3002\uff082\u5b66\u65f6\uff09 \u7269\u8054\u7f51\u5b89\u5168 OpenWrt \u5df2\u77e5\u6f0f\u6d1e\u5229\u7528\u590d\u73b0 \uff082\u5b66\u65f6\uff09 \u667a\u80fd\u7ec8\u7aef\u653b\u9632 Android\u5e94\u7528\u5b89\u5168\u5b9e\u9a8c\u73af\u5883\u642d\u5efa\uff081\u5b66\u65f6\uff09 Android\u7cfb\u7edfadb\u8fdb\u9636\u5b9e\u9a8c\uff1a\u7ed5\u8fc7\u624b\u673a\u9501\u5c4f\u8ba4\u8bc1\u3001\u83b7\u53d6\u624b\u673a\u654f\u611f\u6570\u636e\u3001\u5e94\u7528\u7a0b\u5e8f\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002\uff081\u5b66\u65f6\uff09 \u667a\u80fd\u7ec8\u7aef\u5e94\u7528\u901a\u4fe1\u534f\u8bae\u9006\u5411\u5206\u6790\u5b9e\u9a8c\u3002\uff082\u5b66\u65f6\uff09 Android\u5e94\u7528\u5e38\u89c1\u7f3a\u9677\u68c0\u6d4b\u4e0e\u6f0f\u6d1e\u5229\u7528\u5b9e\u9a8c\uff082\u5b66\u65f6\uff09","title":"\u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282"},{"location":"mis/2021/index.html#_7","text":"\u65e0","title":"\u4e94\u3001\u5efa\u8bae\u6559\u6750"},{"location":"mis/2021/index.html#_8","text":"802.11\u00ae Wireless Networks: The Definitive Guide, Second Edition Andrew Hoog \u8457 \u4f55\u6cfe\u6c99 \u8bd1. Android\u53d6\u8bc1\u5b9e\u6218\u00b7\u8c03\u67e5\u3001\u5206\u6790\u4e0e\u79fb\u52a8\u5b89\u5168. \u673a\u68b0\u5de5\u4e1a\u51fa\u7248\u793e\uff0c2013. \u4e30\u751f\u5f3a \u8457. Android\u8f6f\u4ef6\u5b89\u5168\u4e0e\u9006\u5411\u5206\u6790. \u4eba\u6c11\u90ae\u7535\u51fa\u7248\u793e. 2013. \u6c99\u6893\u793e\uff0c\u5434\u822a\uff0c\u5218\u747e \u8457. \u4fe1\u606f\u5b89\u5168\u6280\u672f\u4e1b\u4e66\u00b7iOS\u5e94\u7528\u9006\u5411\u5de5\u7a0b\uff1a\u5206\u6790\u4e0e\u5b9e\u6218. \u673a\u68b0\u5de5\u4e1a\u51fa\u7248\u793e. 2013. \u5434\u5029\uff0c\u8d75\u6668\u5578\uff0c\u90ed\u83b9 \u8457. Android\u5b89\u5168\u673a\u5236\u89e3\u6790\u4e0e\u5e94\u7528\u5b9e\u8df5. \u673a\u68b0\u5de5\u4e1a\u51fa\u7248\u793e. 2013.","title":"\u516d\u3001\u53c2\u8003\u8d44\u6599"},{"location":"mis/2021/calendar.html","text":"2021 \u6625\u6559\u5b66\u65e5\u5386 1. 2021-03-03 \uff08\u7ebf\u4e0a\u76f4\u64ad\uff09 \u7b2c\u4e00\u7ae0 \u65e0\u7ebf\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff082\u5b66\u65f6\uff09 2. 2021-03-10 \uff08\u7ebf\u4e0a\u76f4\u64ad\uff09 \u7b2c\u4e00\u7ae0 \u65e0\u7ebf\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7b2c\u4e94\u7ae0 \u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5b89\u5168\u57fa\u7840\uff082\u5b66\u65f6\uff09 3. 2021-03-17 \uff08\u7ebf\u4e0a\u76f4\u64ad\uff09 \u7b2c\u4e94\u7ae0 \u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5b89\u5168\u57fa\u7840\uff082\u5b66\u65f6\uff09 4. 2021-03-24 \uff08\u7ebf\u4e0b\u8bfe\uff09 \u8bfe\u524d \u9886\u53d6 USB \u65e0\u7ebf\u7f51\u5361 \u7b2c\u4e8c\u7ae0 \u65e0\u7ebf\u63a5\u5165\u7f51\u76d1\u542c \uff084\u5b66\u65f6\uff09 5. 2021-03-31 \uff08\u7ebf\u4e0b\u8bfe\uff09 \u7531\u4e8e\u672c\u5b66\u671f USB \u65e0\u7ebf\u7f51\u5361\u53d1\u653e\u5230\u4f4d\u65f6\u95f4\u63a8\u8fdf\u7f18\u6545\uff0c\u5b9e\u9a8c\u62a5\u544a H1 \u63d0\u4ea4\u622a\u6b62\u4eca\u65e5 23:59:59 \u7b2c\u4e8c\u7ae0 \u65e0\u7ebf\u63a5\u5165\u7f51\u76d1\u542c \uff082\u5b66\u65f6\uff09 6. 2021-04-07 \uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e8c\u7ae0 \u8bfe\u5185\u5b9e\u9a8c\uff084\u5b66\u65f6\uff09 7. 2021-04-14 \uff08\u7ebf\u4e0b\u8bfe\uff09 H2 \u63d0\u4ea4\u622a\u6b62\u4eca\u65e5 23:59:59 \u7b2c\u4e09\u7ae0 \u65e0\u7ebf\u63a5\u5165\u7f51\u5165\u4fb5\u4e0e\u9632\u5fa1 \uff082\u5b66\u65f6\uff09 8. 2021-04-21 \uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e09\u7ae0 \u65e0\u7ebf\u63a5\u5165\u7f51\u5165\u4fb5\u4e0e\u9632\u5fa1 \uff082\u5b66\u65f6\uff09 \u7b2c\u4e09\u7ae0 \u8bfe\u5185\u5b9e\u9a8c \uff082\u5b66\u65f6\uff09 9. 2021-04-28 \uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e09\u7ae0 \u8bfe\u5185\u5b9e\u9a8c \uff082\u5b66\u65f6\uff09 10. 2021-05-05 \u6625\u5b63\u8bfb\u4e66\u5468\u653e\u5047 11. 2021-05-12 \uff08\u7ebf\u4e0b\u8bfe\uff09 H3 \u63d0\u4ea4\u622a\u6b62\u4eca\u65e5 23:59:59 \u7b2c\u56db\u7ae0 \u79fb\u52a8\u901a\u4fe1\u4e0e\u7269\u8054\u7f51\u5b89\u5168\u6982\u8ff0 \uff082\u5b66\u65f6\uff09 12. 2021-05-19 \uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u56db\u7ae0 \u79fb\u52a8\u901a\u4fe1\u4e0e\u7269\u8054\u7f51\u5b89\u5168\u6982\u8ff0 \uff082\u5b66\u65f6\uff09 \u7b2c\u56db\u7ae0 \u8bfe\u5185\u5b9e\u9a8c\uff082\u5b66\u65f6\uff09 13. 2021-05-26 \uff08\u7ebf\u4e0b\u8bfe\uff09 H4 \u63d0\u4ea4\u622a\u6b62\u4eca\u65e5 23:59:59 \u7b2c\u516d\u7ae0 \u5b89\u5353\u7cfb\u7edf\u8bbf\u95ee\u63a7\u5236\u7b56\u7565\u4e0e\u673a\u5236 \uff082\u5b66\u65f6\uff09 14. 2021-06-02 \uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u516d\u7ae0 \u5b89\u5353\u7cfb\u7edf\u8bbf\u95ee\u63a7\u5236\u7b56\u7565\u4e0e\u673a\u5236 \uff082\u5b66\u65f6\uff09 \u7b2c\u4e94\u7ae0 \u8bfe\u5185\u5b9e\u9a8c \uff081\u5b66\u65f6\uff09 \u7b2c\u516d\u7ae0 \u8bfe\u5185\u5b9e\u9a8c \uff081\u5b66\u65f6\uff09 15. 2021-06-09 \uff08\u7ebf\u4e0b\u8bfe\uff09 H5 \u548c H6 \u63d0\u4ea4\u622a\u6b62\u4eca\u65e5 23:59:59 \u7b2c\u4e03\u7ae0 \u79fb\u52a8\u7ec8\u7aef\u5e94\u7528\u9006\u5411\u5206\u6790 \uff082\u5b66\u65f6\uff09 16. 2021-06-16 \uff08\u7ebf\u4e0b\u8bfe\uff09 \u7b2c\u4e03\u7ae0 \u79fb\u52a8\u7ec8\u7aef\u5e94\u7528\u9006\u5411\u5206\u6790 \uff081\u5b66\u65f6\uff09 \u7b2c\u4e03\u7ae0 \u8bfe\u5185\u5b9e\u9a8c \uff082\u5b66\u65f6\uff09 \u7b2c\u516b\u7ae0 \u79fb\u52a8\u7ec8\u7aef\u5e94\u7528\u653b\u9632\u4e0e\u4ee3\u7801\u5b89\u5168\u6700\u4f73\u5b9e\u8df5 \uff081\u5b66\u65f6\uff09 17. 2021-06-23 \uff08\u7ebf\u4e0b\u8bfe\uff09 H7 \u63d0\u4ea4\u622a\u6b62\u4eca\u65e5 23:59:59 \u7b2c\u516b\u7ae0 \u79fb\u52a8\u7ec8\u7aef\u5e94\u7528\u653b\u9632\u4e0e\u4ee3\u7801\u5b89\u5168\u6700\u4f73\u5b9e\u8df5 \uff082\u5b66\u65f6\uff09 \u7b2c\u516b\u7ae0 \u8bfe\u5185\u5b9e\u9a8c \uff082\u5b66\u65f6\uff09 H8 \u63d0\u4ea4\u622a\u6b62 2021-06-30 23:59:59","title":"2021 \u6625\u6559\u5b66\u65e5\u5386"},{"location":"mis/2021/calendar.html#2021","text":"","title":"2021 \u6625\u6559\u5b66\u65e5\u5386"},{"location":"mis/2021/calendar.html#1-2021-03-03","text":"\u7b2c\u4e00\u7ae0 \u65e0\u7ebf\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff082\u5b66\u65f6\uff09","title":"1. 2021-03-03 \uff08\u7ebf\u4e0a\u76f4\u64ad\uff09"},{"location":"mis/2021/calendar.html#2-2021-03-10","text":"\u7b2c\u4e00\u7ae0 \u65e0\u7ebf\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u7b2c\u4e94\u7ae0 \u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5b89\u5168\u57fa\u7840\uff082\u5b66\u65f6\uff09","title":"2. 2021-03-10 \uff08\u7ebf\u4e0a\u76f4\u64ad\uff09"},{"location":"mis/2021/calendar.html#3-2021-03-17","text":"\u7b2c\u4e94\u7ae0 \u667a\u80fd\u7ec8\u7aef\u64cd\u4f5c\u7cfb\u7edf\u5b89\u5168\u57fa\u7840\uff082\u5b66\u65f6\uff09","title":"3. 2021-03-17 \uff08\u7ebf\u4e0a\u76f4\u64ad\uff09"},{"location":"mis/2021/calendar.html#4-2021-03-24","text":"\u8bfe\u524d \u9886\u53d6 USB \u65e0\u7ebf\u7f51\u5361 \u7b2c\u4e8c\u7ae0 \u65e0\u7ebf\u63a5\u5165\u7f51\u76d1\u542c \uff084\u5b66\u65f6\uff09","title":"4. 2021-03-24 \uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"mis/2021/calendar.html#5-2021-03-31","text":"\u7531\u4e8e\u672c\u5b66\u671f USB \u65e0\u7ebf\u7f51\u5361\u53d1\u653e\u5230\u4f4d\u65f6\u95f4\u63a8\u8fdf\u7f18\u6545\uff0c\u5b9e\u9a8c\u62a5\u544a H1 \u63d0\u4ea4\u622a\u6b62\u4eca\u65e5 23:59:59 \u7b2c\u4e8c\u7ae0 \u65e0\u7ebf\u63a5\u5165\u7f51\u76d1\u542c \uff082\u5b66\u65f6\uff09","title":"5. 2021-03-31 \uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"mis/2021/calendar.html#6-2021-04-07","text":"\u7b2c\u4e8c\u7ae0 \u8bfe\u5185\u5b9e\u9a8c\uff084\u5b66\u65f6\uff09","title":"6. 2021-04-07 \uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"mis/2021/calendar.html#7-2021-04-14","text":"H2 \u63d0\u4ea4\u622a\u6b62\u4eca\u65e5 23:59:59 \u7b2c\u4e09\u7ae0 \u65e0\u7ebf\u63a5\u5165\u7f51\u5165\u4fb5\u4e0e\u9632\u5fa1 \uff082\u5b66\u65f6\uff09","title":"7. 2021-04-14 \uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"mis/2021/calendar.html#8-2021-04-21","text":"\u7b2c\u4e09\u7ae0 \u65e0\u7ebf\u63a5\u5165\u7f51\u5165\u4fb5\u4e0e\u9632\u5fa1 \uff082\u5b66\u65f6\uff09 \u7b2c\u4e09\u7ae0 \u8bfe\u5185\u5b9e\u9a8c \uff082\u5b66\u65f6\uff09","title":"8. 2021-04-21 \uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"mis/2021/calendar.html#9-2021-04-28","text":"\u7b2c\u4e09\u7ae0 \u8bfe\u5185\u5b9e\u9a8c \uff082\u5b66\u65f6\uff09","title":"9. 2021-04-28 \uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"mis/2021/calendar.html#10-2021-05-05","text":"","title":"10. 2021-05-05 \u6625\u5b63\u8bfb\u4e66\u5468\u653e\u5047"},{"location":"mis/2021/calendar.html#11-2021-05-12","text":"H3 \u63d0\u4ea4\u622a\u6b62\u4eca\u65e5 23:59:59 \u7b2c\u56db\u7ae0 \u79fb\u52a8\u901a\u4fe1\u4e0e\u7269\u8054\u7f51\u5b89\u5168\u6982\u8ff0 \uff082\u5b66\u65f6\uff09","title":"11. 2021-05-12 \uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"mis/2021/calendar.html#12-2021-05-19","text":"\u7b2c\u56db\u7ae0 \u79fb\u52a8\u901a\u4fe1\u4e0e\u7269\u8054\u7f51\u5b89\u5168\u6982\u8ff0 \uff082\u5b66\u65f6\uff09 \u7b2c\u56db\u7ae0 \u8bfe\u5185\u5b9e\u9a8c\uff082\u5b66\u65f6\uff09","title":"12. 2021-05-19 \uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"mis/2021/calendar.html#13-2021-05-26","text":"H4 \u63d0\u4ea4\u622a\u6b62\u4eca\u65e5 23:59:59 \u7b2c\u516d\u7ae0 \u5b89\u5353\u7cfb\u7edf\u8bbf\u95ee\u63a7\u5236\u7b56\u7565\u4e0e\u673a\u5236 \uff082\u5b66\u65f6\uff09","title":"13. 2021-05-26 \uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"mis/2021/calendar.html#14-2021-06-02","text":"\u7b2c\u516d\u7ae0 \u5b89\u5353\u7cfb\u7edf\u8bbf\u95ee\u63a7\u5236\u7b56\u7565\u4e0e\u673a\u5236 \uff082\u5b66\u65f6\uff09 \u7b2c\u4e94\u7ae0 \u8bfe\u5185\u5b9e\u9a8c \uff081\u5b66\u65f6\uff09 \u7b2c\u516d\u7ae0 \u8bfe\u5185\u5b9e\u9a8c \uff081\u5b66\u65f6\uff09","title":"14. 2021-06-02 \uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"mis/2021/calendar.html#15-2021-06-09","text":"H5 \u548c H6 \u63d0\u4ea4\u622a\u6b62\u4eca\u65e5 23:59:59 \u7b2c\u4e03\u7ae0 \u79fb\u52a8\u7ec8\u7aef\u5e94\u7528\u9006\u5411\u5206\u6790 \uff082\u5b66\u65f6\uff09","title":"15. 2021-06-09 \uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"mis/2021/calendar.html#16-2021-06-16","text":"\u7b2c\u4e03\u7ae0 \u79fb\u52a8\u7ec8\u7aef\u5e94\u7528\u9006\u5411\u5206\u6790 \uff081\u5b66\u65f6\uff09 \u7b2c\u4e03\u7ae0 \u8bfe\u5185\u5b9e\u9a8c \uff082\u5b66\u65f6\uff09 \u7b2c\u516b\u7ae0 \u79fb\u52a8\u7ec8\u7aef\u5e94\u7528\u653b\u9632\u4e0e\u4ee3\u7801\u5b89\u5168\u6700\u4f73\u5b9e\u8df5 \uff081\u5b66\u65f6\uff09","title":"16. 2021-06-16 \uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"mis/2021/calendar.html#17-2021-06-23","text":"H7 \u63d0\u4ea4\u622a\u6b62\u4eca\u65e5 23:59:59 \u7b2c\u516b\u7ae0 \u79fb\u52a8\u7ec8\u7aef\u5e94\u7528\u653b\u9632\u4e0e\u4ee3\u7801\u5b89\u5168\u6700\u4f73\u5b9e\u8df5 \uff082\u5b66\u65f6\uff09 \u7b2c\u516b\u7ae0 \u8bfe\u5185\u5b9e\u9a8c \uff082\u5b66\u65f6\uff09 H8 \u63d0\u4ea4\u622a\u6b62 2021-06-30 23:59:59","title":"17. 2021-06-23 \uff08\u7ebf\u4e0b\u8bfe\uff09"},{"location":"mis/2021/homework.html","text":"\u672c\u5b66\u671f\u4f5c\u4e1a\u8ba1\u5212 \u5fc5\u9009\u4f5c\u4e1a H1 OpenWrt \u865a\u62df\u673a\u642d\u5efa H2 \u65e0\u7ebf\u7f51\u7edc\u55c5\u63a2\u57fa\u7840 H3 \u65e0\u7ebf\u7f51\u7edc\u653b\u9632\u5b9e\u9a8c H8 Android \u7f3a\u9677\u5e94\u7528\u6f0f\u6d1e\u653b\u51fb\u5b9e\u9a8c \u53ef\u9009\u4f5c\u4e1a H4 CVE-2019-12272 \u6f0f\u6d1e\u590d\u73b0 H5 Android \u6a21\u62df\u5668\u73af\u5883\u642d\u5efa\u7b14\u8bb0 H6 Android Hello World \u5e94\u7528\u5f00\u53d1\u548c ADB \u5b9e\u9a8c H7 Hello World v2\u7248\u9006\u5411\u5b9e\u9a8c \u671f\u672b\u603b\u8bc4\u5206\u89c4\u5219 \u5e73\u65f6\u5206\u6ee1\u5206 30 \u5206\uff0c\u5206\u6570\u6784\u6210\u5982\u4e0b\uff1a 16 \u6b21\u8003\u52e4\uff0c\u6bcf\u6b21\u6b63\u5e38\u7b7e\u5230\u5f97 0.5 \u5206\uff0c\u8fdf\u5230\u5f97 0.2 \u5206\uff0c\u65f7\u8bfe\u5f97 0 \u5206\u3002\u6709\u5047\u6761\u7684\u75c5\u4e8b\u5047\u6309\u6b63\u5e38\u7b7e\u5230\u8ba1\u5206\u3002 \u5b66\u4e60\u79ef\u6781\u6027\u8bc4\u5206\uff1a8 \u6b21\u8bfe\u540e\u4f5c\u4e1a\u603b\u5f97\u5206 / 8\u6b21\u8bfe\u540e\u4f5c\u4e1a\u6ee1\u5206 * 22 + \u4e3b\u89c2\u8bc4\u4ef7\u56e0\u5b50\uff0c\u6ee1\u5206\u4e0d\u8d85\u8fc7 22 \u5206 \u4e3b\u89c2\u8bc4\u4ef7\u56e0\u5b50\uff1a\u968f\u5802\u6d4b\u8bd5\uff0c\u79ef\u6781\u53c2\u4e0e\u8bfe\u5802\u8ba8\u8bba 8 \u7ae0\u8bfe\u7a0b\uff0c\u6bcf\u7ae0\u8bfe\u540e\u5747\u7559\u6709\u4f5c\u4e1a\uff0c\u6309\u7ae0\u8282\u987a\u5e8f\u5206\u522b\u8bb0\u4e3a\uff1aH1 ~ H8 \u6ee1\u5206 15 \u5206\u7684 \u5fc5\u9009 \u4f5c\u4e1a\uff1aH1, H2, H3, H8 \u6ee1\u5206 10 \u5206\u7684\u53ef\u9009\u4f5c\u4e1a\uff1aH4, H5, H6, H7 \u3002\u53ef\u9009\u4f5c\u4e1a\u8ba1\u5206\u89c4\u5219\u4e3a max(H4, H5, H6, H7) H2 \u548c H3 \u4f5c\u4e1a\u8981\u6c42\u63d0\u4ea4\u5230\u79c1\u6709\u4ed3\u5e93\uff0c\u5176\u4ed6\u4f5c\u4e1a\u7edf\u4e00\u63d0\u4ea4\u5230\u516c\u5f00\u4ed3\u5e93 \u9ed8\u8ba4\u6bcf\u4e00\u6b21\u4f5c\u4e1a\u7684\u300c\u89c4\u5b9a\u300d\u63d0\u4ea4\u622a\u6b62\u65f6\u95f4\u662f\u4ece\u4f5c\u4e1a\u5e03\u7f6e\u5f53\u5929\u5f00\u59cb\u7684\u4e00\u5468\u4e4b\u5185\u3002\u4f8b\u5982\uff0c3.17\u5e03\u7f6e\u7684\u7b2c\u4e00\u6b21\u8bfe\u4f5c\u4e1a\u6700\u665a\u63d0\u4ea4\u622a\u6b62\u65f6\u95f4\u662f3.23\u665a23:59:59\u3002\u8d85\u65f6\u63d0\u4ea4\u7684\u4f5c\u4e1a\u5c06\u88ab\u914c\u60c5\u6263\u5206\u3002 \u8be6\u7ec6\u8003\u6838\u8ba1\u5206\u89c4\u5219\u8bf7\u67e5\u9605 \u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168\u8bfe\u7a0b\u8003\u6838\u8ba1\u7b97\u5668 \u7684 J, K, L, M, N \u5217\u7684\u8ba1\u7b97\u516c\u5f0f\u3002 \u5b9e\u9a8c\u62a5\u544a\u8bc4\u5206\u57fa\u672c\u89c4\u5219 \u5b9e\u9a8c\u62a5\u544a\u5185\u5bb9\u5b8c\u6210\u5ea6\u300c\u6ee1\u5206 7\u5206 \u300d \u90e8\u5206\u5b8c\u6210\uff1a 5\u5206 \u57fa\u672c\u5b8c\u6210: 6\u5206 \u5c11\u91cf\u7455\u75b5\uff1a 7\u5206 markdown \u4f7f\u7528\u89c4\u8303 \u300c 1\u5206 \u300d \u5728 github \u4e0a\u5728\u7ebf\u6e32\u67d3\u7ed3\u679c\u6b63\u786e\u65e0\u8bef \uff08\u672c\u6761\u8fdd\u53cd\uff0c\u672c\u9879\u76f4\u63a5\u6263 1 \u5206\uff09 \u6240\u6709\u914d\u56fe\u5747\u5df2\u4e0a\u4f20\u5230 github \u4e14\u5728\u6587\u6863\u5185\u4f7f\u7528\u300c\u76f8\u5bf9\u8def\u5f84\u300d\u5f15\u7528\uff08\u7981\u6b62\u4f7f\u7528\u56fe\u7247\u300c\u5916\u94fe\u300d\uff09\uff08\u4ec5\u672c\u6761\u8fdd\u53cd\uff0c\u6263 0.5 \u5206\u3002\u540c\u65f6\u7b2c\u4e09\u6761\u8fdd\u53cd\uff0c\u6263 1 \u5206\uff09 \u4ee3\u7801\u5757\u6b63\u786e\u4f7f\u7528\u8bed\u6cd5\u9ad8\u4eae\u6807\u8bb0 \uff08\u4ec5\u6709\u8fd9\u4e00\u6761\u5c11\u91cf\u8fdd\u53cd\uff0c\u672c\u9879\u53ef\u4ee5\u4e0d\u6263\u5206\u3002\u8d85\u8fc7 5 \u5904\u4ee3\u7801\u5f15\u7528\u672a\u9ad8\u4eae\u6807\u8bb0\uff0c\u6263 0.5 \u5206\uff09 git \u4f7f\u7528\u89c4\u8303 \u300c 0.5\u5206 \u300d \u5728 PR \u6807\u9898\u4e2d\u4f53\u73b0\u4e86\u4f5c\u4e1a\u5e8f\u53f7\uff0c\u4f8b\u5982 chap0x01 \u63a8\u8350\u7684\u76ee\u5f55\u7ed3\u6784\u548c\u5206\u652f\u7ed3\u6784 \u89c1\u540d\u77e5\u610f \u7684\u6587\u4ef6\u547d\u540d\uff0c \u597d\u8bc4 \u793a\u4f8b\u5982 logged_in.png , install_complete.png \u3002 \u6263\u5206 \u793a\u4f8b\uff1a 1.png , \u65b0\u5efa\u6587\u672c\u6587\u4ef6.md \u3002 \u5b9e\u9a8c\u62a5\u544a\u7ed3\u6784\u89c4\u8303\u6027\u7a0b\u5ea6 \u300c 0.5\u5206 \u300d \u5728\u5b9e\u9a8c\u62a5\u544a\u672b\u603b\u7ed3\u4e86\u9047\u5230\u7684\u95ee\u9898\u4e0e\u89e3\u51b3\u65b9\u6848 \u53c2\u8003\u6587\u732e/\u8d44\u6599\u5f15\u7528\u6807\u51c6\u89c4\u8303 \u6309\u65f6\u63d0\u4ea4 \u300c\u6ee1\u5206 1\u5206 \u300d \u665a\u63d0\u4ea4\u4e0d\u8d85\u8fc7 1 \u5468 0.5\u5206","title":"Homework"},{"location":"mis/2021/homework.html#_1","text":"","title":"\u672c\u5b66\u671f\u4f5c\u4e1a\u8ba1\u5212"},{"location":"mis/2021/homework.html#_2","text":"H1 OpenWrt \u865a\u62df\u673a\u642d\u5efa H2 \u65e0\u7ebf\u7f51\u7edc\u55c5\u63a2\u57fa\u7840 H3 \u65e0\u7ebf\u7f51\u7edc\u653b\u9632\u5b9e\u9a8c H8 Android \u7f3a\u9677\u5e94\u7528\u6f0f\u6d1e\u653b\u51fb\u5b9e\u9a8c","title":"\u5fc5\u9009\u4f5c\u4e1a"},{"location":"mis/2021/homework.html#_3","text":"H4 CVE-2019-12272 \u6f0f\u6d1e\u590d\u73b0 H5 Android \u6a21\u62df\u5668\u73af\u5883\u642d\u5efa\u7b14\u8bb0 H6 Android Hello World \u5e94\u7528\u5f00\u53d1\u548c ADB \u5b9e\u9a8c H7 Hello World v2\u7248\u9006\u5411\u5b9e\u9a8c","title":"\u53ef\u9009\u4f5c\u4e1a"},{"location":"mis/2021/homework.html#_4","text":"\u5e73\u65f6\u5206\u6ee1\u5206 30 \u5206\uff0c\u5206\u6570\u6784\u6210\u5982\u4e0b\uff1a 16 \u6b21\u8003\u52e4\uff0c\u6bcf\u6b21\u6b63\u5e38\u7b7e\u5230\u5f97 0.5 \u5206\uff0c\u8fdf\u5230\u5f97 0.2 \u5206\uff0c\u65f7\u8bfe\u5f97 0 \u5206\u3002\u6709\u5047\u6761\u7684\u75c5\u4e8b\u5047\u6309\u6b63\u5e38\u7b7e\u5230\u8ba1\u5206\u3002 \u5b66\u4e60\u79ef\u6781\u6027\u8bc4\u5206\uff1a8 \u6b21\u8bfe\u540e\u4f5c\u4e1a\u603b\u5f97\u5206 / 8\u6b21\u8bfe\u540e\u4f5c\u4e1a\u6ee1\u5206 * 22 + \u4e3b\u89c2\u8bc4\u4ef7\u56e0\u5b50\uff0c\u6ee1\u5206\u4e0d\u8d85\u8fc7 22 \u5206 \u4e3b\u89c2\u8bc4\u4ef7\u56e0\u5b50\uff1a\u968f\u5802\u6d4b\u8bd5\uff0c\u79ef\u6781\u53c2\u4e0e\u8bfe\u5802\u8ba8\u8bba 8 \u7ae0\u8bfe\u7a0b\uff0c\u6bcf\u7ae0\u8bfe\u540e\u5747\u7559\u6709\u4f5c\u4e1a\uff0c\u6309\u7ae0\u8282\u987a\u5e8f\u5206\u522b\u8bb0\u4e3a\uff1aH1 ~ H8 \u6ee1\u5206 15 \u5206\u7684 \u5fc5\u9009 \u4f5c\u4e1a\uff1aH1, H2, H3, H8 \u6ee1\u5206 10 \u5206\u7684\u53ef\u9009\u4f5c\u4e1a\uff1aH4, H5, H6, H7 \u3002\u53ef\u9009\u4f5c\u4e1a\u8ba1\u5206\u89c4\u5219\u4e3a max(H4, H5, H6, H7) H2 \u548c H3 \u4f5c\u4e1a\u8981\u6c42\u63d0\u4ea4\u5230\u79c1\u6709\u4ed3\u5e93\uff0c\u5176\u4ed6\u4f5c\u4e1a\u7edf\u4e00\u63d0\u4ea4\u5230\u516c\u5f00\u4ed3\u5e93 \u9ed8\u8ba4\u6bcf\u4e00\u6b21\u4f5c\u4e1a\u7684\u300c\u89c4\u5b9a\u300d\u63d0\u4ea4\u622a\u6b62\u65f6\u95f4\u662f\u4ece\u4f5c\u4e1a\u5e03\u7f6e\u5f53\u5929\u5f00\u59cb\u7684\u4e00\u5468\u4e4b\u5185\u3002\u4f8b\u5982\uff0c3.17\u5e03\u7f6e\u7684\u7b2c\u4e00\u6b21\u8bfe\u4f5c\u4e1a\u6700\u665a\u63d0\u4ea4\u622a\u6b62\u65f6\u95f4\u662f3.23\u665a23:59:59\u3002\u8d85\u65f6\u63d0\u4ea4\u7684\u4f5c\u4e1a\u5c06\u88ab\u914c\u60c5\u6263\u5206\u3002 \u8be6\u7ec6\u8003\u6838\u8ba1\u5206\u89c4\u5219\u8bf7\u67e5\u9605 \u79fb\u52a8\u4e92\u8054\u7f51\u5b89\u5168\u8bfe\u7a0b\u8003\u6838\u8ba1\u7b97\u5668 \u7684 J, K, L, M, N \u5217\u7684\u8ba1\u7b97\u516c\u5f0f\u3002","title":"\u671f\u672b\u603b\u8bc4\u5206\u89c4\u5219"},{"location":"mis/2021/homework.html#_5","text":"\u5b9e\u9a8c\u62a5\u544a\u5185\u5bb9\u5b8c\u6210\u5ea6\u300c\u6ee1\u5206 7\u5206 \u300d \u90e8\u5206\u5b8c\u6210\uff1a 5\u5206 \u57fa\u672c\u5b8c\u6210: 6\u5206 \u5c11\u91cf\u7455\u75b5\uff1a 7\u5206 markdown \u4f7f\u7528\u89c4\u8303 \u300c 1\u5206 \u300d \u5728 github \u4e0a\u5728\u7ebf\u6e32\u67d3\u7ed3\u679c\u6b63\u786e\u65e0\u8bef \uff08\u672c\u6761\u8fdd\u53cd\uff0c\u672c\u9879\u76f4\u63a5\u6263 1 \u5206\uff09 \u6240\u6709\u914d\u56fe\u5747\u5df2\u4e0a\u4f20\u5230 github \u4e14\u5728\u6587\u6863\u5185\u4f7f\u7528\u300c\u76f8\u5bf9\u8def\u5f84\u300d\u5f15\u7528\uff08\u7981\u6b62\u4f7f\u7528\u56fe\u7247\u300c\u5916\u94fe\u300d\uff09\uff08\u4ec5\u672c\u6761\u8fdd\u53cd\uff0c\u6263 0.5 \u5206\u3002\u540c\u65f6\u7b2c\u4e09\u6761\u8fdd\u53cd\uff0c\u6263 1 \u5206\uff09 \u4ee3\u7801\u5757\u6b63\u786e\u4f7f\u7528\u8bed\u6cd5\u9ad8\u4eae\u6807\u8bb0 \uff08\u4ec5\u6709\u8fd9\u4e00\u6761\u5c11\u91cf\u8fdd\u53cd\uff0c\u672c\u9879\u53ef\u4ee5\u4e0d\u6263\u5206\u3002\u8d85\u8fc7 5 \u5904\u4ee3\u7801\u5f15\u7528\u672a\u9ad8\u4eae\u6807\u8bb0\uff0c\u6263 0.5 \u5206\uff09 git \u4f7f\u7528\u89c4\u8303 \u300c 0.5\u5206 \u300d \u5728 PR \u6807\u9898\u4e2d\u4f53\u73b0\u4e86\u4f5c\u4e1a\u5e8f\u53f7\uff0c\u4f8b\u5982 chap0x01 \u63a8\u8350\u7684\u76ee\u5f55\u7ed3\u6784\u548c\u5206\u652f\u7ed3\u6784 \u89c1\u540d\u77e5\u610f \u7684\u6587\u4ef6\u547d\u540d\uff0c \u597d\u8bc4 \u793a\u4f8b\u5982 logged_in.png , install_complete.png \u3002 \u6263\u5206 \u793a\u4f8b\uff1a 1.png , \u65b0\u5efa\u6587\u672c\u6587\u4ef6.md \u3002 \u5b9e\u9a8c\u62a5\u544a\u7ed3\u6784\u89c4\u8303\u6027\u7a0b\u5ea6 \u300c 0.5\u5206 \u300d \u5728\u5b9e\u9a8c\u62a5\u544a\u672b\u603b\u7ed3\u4e86\u9047\u5230\u7684\u95ee\u9898\u4e0e\u89e3\u51b3\u65b9\u6848 \u53c2\u8003\u6587\u732e/\u8d44\u6599\u5f15\u7528\u6807\u51c6\u89c4\u8303 \u6309\u65f6\u63d0\u4ea4 \u300c\u6ee1\u5206 1\u5206 \u300d \u665a\u63d0\u4ea4\u4e0d\u8d85\u8fc7 1 \u5468 0.5\u5206","title":"\u5b9e\u9a8c\u62a5\u544a\u8bc4\u5206\u57fa\u672c\u89c4\u5219"},{"location":"ns/2019/index.html","text":"\u7f51\u7edc\u5b89\u5168 \u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u8bfe\u7a0b\u7f16\u53f7\uff1a113023 \u82f1\u6587\u540d\u79f0\uff1aComputer Network Security \u6388\u8bfe\u5bf9\u8c61\uff1a\u4fe1\u606f\u5b89\u5168\u4e13\u4e1a \u5f00\u8bfe\u5b66\u671f\uff1a5 \u5b66\u5206/\u5b66\u65f6\uff1a3/64\uff082014\u7248\u6559\u5b66\u5927\u7eb2\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u4fe1\u606f\u5b89\u5168\u5bfc\u8bba\u3001\u8ba1\u7b97\u673a\u7f51\u7edc\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5802\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8bfe\u7a0b\u7b80\u4ecb \u672c\u8bfe\u7a0b\u9488\u5bf9\u7f51\u7edc\u5b89\u5168\u4e2d\u7684\u5173\u952e\u6280\u672f\uff0c\u4ece\u5e94\u7528\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ecb\u7ecd\u7f51\u7edc\u76d1\u542c\u3001\u626b\u63cf\u3001\u5165\u4fb5\u3001\u540e\u95e8\u3001\u9632\u706b\u5899\u548c\u865a\u62df\u4e13\u7528\u7f51\u7b49\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u5e76\u901a\u8fc7\u5b9e\u4f8b\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u5c06\u5b89\u5168\u7406\u8bba\u3001\u5b89\u5168\u6280\u672f\u548c\u5b89\u5168\u5de5\u5177\u6709\u673a\u7ed3\u5408\u3002 \u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42 \u968f\u7740\u4e92\u8054\u7f51\u7684\u53d1\u5c55\u548c\u4fe1\u606f\u5316\u8fdb\u7a0b\u7684\u6df1\u5165\uff0c\u4e92\u8054\u7f51\u548c\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u5b89\u5168\u95ee\u9898\u5df2\u6210\u4e3a\u5404\u56fd\u653f\u5e9c\u6709\u5173\u90e8\u95e8\u3001\u5404\u5927\u884c\u4e1a\u548c\u4f01\u4e8b\u4e1a\u5173\u6ce8\u7684\u70ed\u70b9\u95ee\u9898\uff0c\u5bf9\u7f51\u7edc\u4e0e\u7cfb\u7edf\u5b89\u5168\u4e13\u95e8\u4eba\u624d\u7684\u9700\u6c42\u4e5f\u65e5\u663e\u7a81\u51fa\u3002\u672c\u8bfe\u7a0b\u5168\u9762\u7cfb\u7edf\u5730\u4ecb\u7ecd\u7f51\u7edc\u5b89\u5168\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u7f51\u7edc\u5b89\u5168\u77e5\u8bc6\u548c\u5173\u952e\u6280\u672f\uff0c\u63d0\u9ad8\u5b89\u5168\u610f\u8bc6\uff0c\u589e\u5f3a\u89e3\u51b3\u4e92\u8054\u7f51\u548c\u6570\u5b57\u4f20\u5a92\u7b49\u884c\u4e1a\u4e2d\u7f51\u7edc\u5b89\u5168\u95ee\u9898\u7684\u80fd\u529b\u3002 \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d 1\uff0e\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u5a01\u80c1\u6a21\u578b\u3001\u64cd\u4f5c\u7cfb\u7edf\u7684\u5b89\u5168\u673a\u5236\u3001\u878d\u5408\u7f51\u5b89\u5168\u3001\u7b49\u7ea7\u5b89\u5168\u4fdd\u62a4\u6982\u5ff5\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u6cd5\u89c4\u548c\u9ed1\u5ba2\u5b88\u5219\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT | VirtualBox\u4f7f\u7528\u5165\u95e8 | VirtualBox\u865a\u62df\u7f51\u7edc\u8be6\u89e3 2\uff0e\u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8bbf\u95ee\u63a7\u5236\u7406\u8bba\u3001CVSS\u7406\u8bba\u3001\u98ce\u9669\u8bc4\u4f30\u6848\u4f8b\u5206\u6790\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT | CVSS 2.0\u5b98\u65b9\u6307\u5357\uff08\u82f1\u6587\uff09PDF | CVSS 3.0\u5b98\u65b9\u6307\u5357\uff08\u82f1\u6587\uff09PDF 3\uff0e\u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4ee3\u7406\u7684\u5206\u7c7b\u3001\u57fa\u672c\u539f\u7406\u548c\u5de5\u5177\u4f7f\u7528\uff0c\u533f\u540d\u901a\u4fe1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u68c0\u6d4b\u65b9\u6cd5\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 4\uff0e\u7f51\u7edc\u76d1\u542c\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u76d1\u542c\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u76d1\u542c\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 5\uff0e\u7f51\u7edc\u626b\u63cf\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u626b\u63cf\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u626b\u63cf\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 6\uff0e\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\u7684\u57fa\u672c\u539f\u7406\u548c\u65b9\u6cd5\uff0c\u6e17\u900f\u6d4b\u8bd5\u7684\u65b9\u6cd5\u8bba\uff0c\u6e17\u900f\u6d4b\u8bd5\u4e0e\u7f51\u7edc\u5165\u4fb5\u7684\u533a\u522b\u4e0e\u8054\u7cfb\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 7\uff0eWeb\u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1aSQL\u6ce8\u5165\u3001XSS\u3001CSRF\u3001\u53e3\u4ee4\u7834\u89e3\u3001HTTP\u534f\u8bae\u8c03\u8bd5\u65b9\u6cd5\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 8\uff0e\u9632\u706b\u5899\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u9632\u706b\u5899\u7684\u57fa\u672c\u539f\u7406\u3001\u9632\u706b\u5899\u6280\u672f\u53d1\u5c55\u53f2\u3001\u5178\u578b\u9632\u706b\u5899\u914d\u7f6e\u5b9e\u9a8c\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 9\uff0e\u5165\u4fb5\u68c0\u6d4b\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5165\u4fb5\u68c0\u6d4b\u7684\u57fa\u672c\u539f\u7406\u3001\u5165\u4fb5\u68c0\u6d4b\u6280\u672f\u53d1\u5c55\u53f2\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 10\uff0e\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5e38\u89c1\u5e94\u7528\u7a0b\u5e8f\u914d\u7f6e\u7f3a\u9677\u3001\u5e94\u7528\u9632\u706b\u5899\u914d\u7f6e\u3001WEB\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 11\uff0e\u871c\u7f50\u548c\u871c\u7f51\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u871c\u7f50\u548c\u871c\u7f51\u7684\u57fa\u672c\u539f\u7406\u3001\u871c\u7f50\u548c\u871c\u7f51\u53d1\u5c55\u53f2\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT | \u671f\u672b\u8bd5\u9898\u6837\u672c.docx 12\uff0e\u8ba1\u7b97\u673a\u53d6\u8bc1\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8ba1\u7b97\u673a\u53d6\u8bc1\u7684\u57fa\u672c\u539f\u7406\u3001\u7f51\u7edc\u6d41\u91cf\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u65e5\u5fd7\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u76d1\u63a7\u5de5\u5177\u7684\u53d6\u8bc1\u5e94\u7528\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u793e\u4ea4\u7f51\u7edc\u9493\u9c7c\u3001\u7535\u4fe1\u8bc8\u9a97\u4e0e\u9632\u8303\u3001\u5927\u6570\u636e\u5e94\u7528\u4e0e\u9690\u79c1\u4fdd\u62a4\u3002 \u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282 \u865a\u62df\u7f51\u7edc\u914d\u7f6e\u5b9e\u9a8c\uff1a\u865a\u62df\u673a\u8f6f\u4ef6Virtualbox\u76845\u79cd\u7f51\u7edc\u6a21\u5f0f\u7684\u533a\u522b\u3001\u5e94\u7528\u573a\u666f\uff0c\u591a\u865a\u62df\u7f51\u5361\u7684\u5e94\u7528\uff1b\uff082\u5b66\u65f6\uff09 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u4f7f\u7528ettercap\u3001tcpdump\u8fdb\u884c\u7f51\u7edc\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1awireshark\u8fdb\u884c\u7f51\u7edc\u76d1\u542c\u3001\u6d41\u91cf\u5206\u6790\u548c\u6d41\u91cf\u8fd8\u539f\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1a\u4f7f\u7528nmap\u8fdb\u884c\u4e3b\u673a\u548c\u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u6e17\u900f\u5b9e\u9a8c\uff1a\u4fe1\u606f\u6536\u96c6\u5de5\u5177\uff08\u641c\u7d22\u5f15\u64ce\u3001whois\u3001\u793e\u4ea4\u7f51\u7edc\u641c\u7d22\u5de5\u5177\u7b49\uff09\u7684\u4f7f\u7528\uff0c\u4e86\u89e3metasploit\u7684\u57fa\u672c\u4f7f\u7528\uff1b\uff082\u5b66\u65f6\uff09 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u57fa\u4e8eWebGoat\u8bad\u7ec3\u5e73\u53f0\uff0c\u8fdb\u884cSQL\u6ce8\u5165\u3001XSS\u7b49WEB\u6f0f\u6d1e\u7684\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u57fa\u4e8e\u771f\u5b9eWeb\u5e94\u7528\uff0c\u8fdb\u884c\u6f0f\u6d1e\u6316\u6398\u548c\u6f0f\u6d1e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 \u9632\u706b\u5899\u5b9e\u9a8c\uff1aiptables\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1asnort/bro\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u914d\u7f6e\u4e0e\u52a0\u56fa(fail2ban)\uff1b\uff082\u5b66\u65f6\uff09 \u871c\u7f50\u5b9e\u9a8c\uff1apython scapy\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 \u5165\u4fb5\u53d6\u8bc1\u5b9e\u9a8c\uff1a\u7efc\u5408snort\u3001\u7cfb\u7edf\u65e5\u5fd7\u3001\u5e94\u7528\u7a0b\u5e8f\u65e5\u5fd7\u3001wireshark\u6293\u5305\u7b49\u5de5\u5177\u548c\u65b9\u6cd5\uff0c\u53d1\u73b0\u653b\u51fb\u6e90\u3001\u91cd\u5efa\u653b\u51fb\u573a\u666f\u548c\u8fc7\u7a0b\u3002\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u5b89\u5168\u7efc\u5408\u5b9e\u9a8c\uff1a\u5f00\u6e90\u4fe1\u606f\u7cfb\u7edf\u642d\u5efa\u3001\u52a0\u56fa\u4e0e\u6f0f\u6d1e\u653b\u9632\uff1b\uff084\u5b66\u65f6\uff09 \u4e94\u3001\u5efa\u8bae\u6559\u6750 \u65e0 \u516d\u3001\u53c2\u8003\u8d44\u6599 \u52a0\u5dde\u5927\u5b66\u5723\u5730\u4e9a\u54e5\u5206\u6821\u7684\u4fe1\u606f\u5b89\u5168\u8bfe\u7a0b \u65af\u5766\u798f\u5927\u5b66\u7684\u7f51\u7edc\u7a7a\u95f4\u5168\u4e2d\u7684\u6570\u636e\u6316\u6398\uff1aCS 259D Data Mining for Cyber Security Autumn 2014 illinois\u5927\u5b66\u7684\u7f51\u7edc\u5b89\u5168\u8bfe\u7a0b \u504f\u7cfb\u7edf\u548c\u7f51\u7edc\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u89c6\u9891\u8bfe\u7a0b\uff08\u90e8\u5206\u8bfe\u7a0b\u5b8c\u5168\u514d\u8d39\uff09 \u504fWeb\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u8bfe\u7a0b\uff08\u5b9e\u9a8c\u73af\u5883\u53ef\u4e0b\u8f7d\uff09","title":"2019\u5e74"},{"location":"ns/2019/index.html#_1","text":"","title":"\u7f51\u7edc\u5b89\u5168"},{"location":"ns/2019/index.html#_2","text":"\u8bfe\u7a0b\u7f16\u53f7\uff1a113023 \u82f1\u6587\u540d\u79f0\uff1aComputer Network Security \u6388\u8bfe\u5bf9\u8c61\uff1a\u4fe1\u606f\u5b89\u5168\u4e13\u4e1a \u5f00\u8bfe\u5b66\u671f\uff1a5 \u5b66\u5206/\u5b66\u65f6\uff1a3/64\uff082014\u7248\u6559\u5b66\u5927\u7eb2\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u4fe1\u606f\u5b89\u5168\u5bfc\u8bba\u3001\u8ba1\u7b97\u673a\u7f51\u7edc\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5802\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c","title":"\u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"ns/2019/index.html#_3","text":"\u672c\u8bfe\u7a0b\u9488\u5bf9\u7f51\u7edc\u5b89\u5168\u4e2d\u7684\u5173\u952e\u6280\u672f\uff0c\u4ece\u5e94\u7528\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ecb\u7ecd\u7f51\u7edc\u76d1\u542c\u3001\u626b\u63cf\u3001\u5165\u4fb5\u3001\u540e\u95e8\u3001\u9632\u706b\u5899\u548c\u865a\u62df\u4e13\u7528\u7f51\u7b49\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u5e76\u901a\u8fc7\u5b9e\u4f8b\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u5c06\u5b89\u5168\u7406\u8bba\u3001\u5b89\u5168\u6280\u672f\u548c\u5b89\u5168\u5de5\u5177\u6709\u673a\u7ed3\u5408\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"ns/2019/index.html#_4","text":"\u968f\u7740\u4e92\u8054\u7f51\u7684\u53d1\u5c55\u548c\u4fe1\u606f\u5316\u8fdb\u7a0b\u7684\u6df1\u5165\uff0c\u4e92\u8054\u7f51\u548c\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u5b89\u5168\u95ee\u9898\u5df2\u6210\u4e3a\u5404\u56fd\u653f\u5e9c\u6709\u5173\u90e8\u95e8\u3001\u5404\u5927\u884c\u4e1a\u548c\u4f01\u4e8b\u4e1a\u5173\u6ce8\u7684\u70ed\u70b9\u95ee\u9898\uff0c\u5bf9\u7f51\u7edc\u4e0e\u7cfb\u7edf\u5b89\u5168\u4e13\u95e8\u4eba\u624d\u7684\u9700\u6c42\u4e5f\u65e5\u663e\u7a81\u51fa\u3002\u672c\u8bfe\u7a0b\u5168\u9762\u7cfb\u7edf\u5730\u4ecb\u7ecd\u7f51\u7edc\u5b89\u5168\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u7f51\u7edc\u5b89\u5168\u77e5\u8bc6\u548c\u5173\u952e\u6280\u672f\uff0c\u63d0\u9ad8\u5b89\u5168\u610f\u8bc6\uff0c\u589e\u5f3a\u89e3\u51b3\u4e92\u8054\u7f51\u548c\u6570\u5b57\u4f20\u5a92\u7b49\u884c\u4e1a\u4e2d\u7f51\u7edc\u5b89\u5168\u95ee\u9898\u7684\u80fd\u529b\u3002","title":"\u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42"},{"location":"ns/2019/index.html#_5","text":"1\uff0e\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u5a01\u80c1\u6a21\u578b\u3001\u64cd\u4f5c\u7cfb\u7edf\u7684\u5b89\u5168\u673a\u5236\u3001\u878d\u5408\u7f51\u5b89\u5168\u3001\u7b49\u7ea7\u5b89\u5168\u4fdd\u62a4\u6982\u5ff5\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u6cd5\u89c4\u548c\u9ed1\u5ba2\u5b88\u5219\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT | VirtualBox\u4f7f\u7528\u5165\u95e8 | VirtualBox\u865a\u62df\u7f51\u7edc\u8be6\u89e3 2\uff0e\u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8bbf\u95ee\u63a7\u5236\u7406\u8bba\u3001CVSS\u7406\u8bba\u3001\u98ce\u9669\u8bc4\u4f30\u6848\u4f8b\u5206\u6790\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT | CVSS 2.0\u5b98\u65b9\u6307\u5357\uff08\u82f1\u6587\uff09PDF | CVSS 3.0\u5b98\u65b9\u6307\u5357\uff08\u82f1\u6587\uff09PDF 3\uff0e\u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4ee3\u7406\u7684\u5206\u7c7b\u3001\u57fa\u672c\u539f\u7406\u548c\u5de5\u5177\u4f7f\u7528\uff0c\u533f\u540d\u901a\u4fe1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u68c0\u6d4b\u65b9\u6cd5\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 4\uff0e\u7f51\u7edc\u76d1\u542c\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u76d1\u542c\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u76d1\u542c\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 5\uff0e\u7f51\u7edc\u626b\u63cf\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u626b\u63cf\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u626b\u63cf\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 6\uff0e\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\u7684\u57fa\u672c\u539f\u7406\u548c\u65b9\u6cd5\uff0c\u6e17\u900f\u6d4b\u8bd5\u7684\u65b9\u6cd5\u8bba\uff0c\u6e17\u900f\u6d4b\u8bd5\u4e0e\u7f51\u7edc\u5165\u4fb5\u7684\u533a\u522b\u4e0e\u8054\u7cfb\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 7\uff0eWeb\u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1aSQL\u6ce8\u5165\u3001XSS\u3001CSRF\u3001\u53e3\u4ee4\u7834\u89e3\u3001HTTP\u534f\u8bae\u8c03\u8bd5\u65b9\u6cd5\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 8\uff0e\u9632\u706b\u5899\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u9632\u706b\u5899\u7684\u57fa\u672c\u539f\u7406\u3001\u9632\u706b\u5899\u6280\u672f\u53d1\u5c55\u53f2\u3001\u5178\u578b\u9632\u706b\u5899\u914d\u7f6e\u5b9e\u9a8c\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 9\uff0e\u5165\u4fb5\u68c0\u6d4b\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5165\u4fb5\u68c0\u6d4b\u7684\u57fa\u672c\u539f\u7406\u3001\u5165\u4fb5\u68c0\u6d4b\u6280\u672f\u53d1\u5c55\u53f2\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 10\uff0e\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5e38\u89c1\u5e94\u7528\u7a0b\u5e8f\u914d\u7f6e\u7f3a\u9677\u3001\u5e94\u7528\u9632\u706b\u5899\u914d\u7f6e\u3001WEB\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT 11\uff0e\u871c\u7f50\u548c\u871c\u7f51\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u871c\u7f50\u548c\u871c\u7f51\u7684\u57fa\u672c\u539f\u7406\u3001\u871c\u7f50\u548c\u871c\u7f51\u53d1\u5c55\u53f2\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT | \u671f\u672b\u8bd5\u9898\u6837\u672c.docx 12\uff0e\u8ba1\u7b97\u673a\u53d6\u8bc1\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8ba1\u7b97\u673a\u53d6\u8bc1\u7684\u57fa\u672c\u539f\u7406\u3001\u7f51\u7edc\u6d41\u91cf\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u65e5\u5fd7\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u76d1\u63a7\u5de5\u5177\u7684\u53d6\u8bc1\u5e94\u7528\u3002 \u5728\u7ebf\u89c2\u770b\u6559\u5b66PPT \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u793e\u4ea4\u7f51\u7edc\u9493\u9c7c\u3001\u7535\u4fe1\u8bc8\u9a97\u4e0e\u9632\u8303\u3001\u5927\u6570\u636e\u5e94\u7528\u4e0e\u9690\u79c1\u4fdd\u62a4\u3002","title":"\u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d"},{"location":"ns/2019/index.html#_6","text":"\u865a\u62df\u7f51\u7edc\u914d\u7f6e\u5b9e\u9a8c\uff1a\u865a\u62df\u673a\u8f6f\u4ef6Virtualbox\u76845\u79cd\u7f51\u7edc\u6a21\u5f0f\u7684\u533a\u522b\u3001\u5e94\u7528\u573a\u666f\uff0c\u591a\u865a\u62df\u7f51\u5361\u7684\u5e94\u7528\uff1b\uff082\u5b66\u65f6\uff09 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u4f7f\u7528ettercap\u3001tcpdump\u8fdb\u884c\u7f51\u7edc\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1awireshark\u8fdb\u884c\u7f51\u7edc\u76d1\u542c\u3001\u6d41\u91cf\u5206\u6790\u548c\u6d41\u91cf\u8fd8\u539f\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1a\u4f7f\u7528nmap\u8fdb\u884c\u4e3b\u673a\u548c\u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u6e17\u900f\u5b9e\u9a8c\uff1a\u4fe1\u606f\u6536\u96c6\u5de5\u5177\uff08\u641c\u7d22\u5f15\u64ce\u3001whois\u3001\u793e\u4ea4\u7f51\u7edc\u641c\u7d22\u5de5\u5177\u7b49\uff09\u7684\u4f7f\u7528\uff0c\u4e86\u89e3metasploit\u7684\u57fa\u672c\u4f7f\u7528\uff1b\uff082\u5b66\u65f6\uff09 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u57fa\u4e8eWebGoat\u8bad\u7ec3\u5e73\u53f0\uff0c\u8fdb\u884cSQL\u6ce8\u5165\u3001XSS\u7b49WEB\u6f0f\u6d1e\u7684\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u57fa\u4e8e\u771f\u5b9eWeb\u5e94\u7528\uff0c\u8fdb\u884c\u6f0f\u6d1e\u6316\u6398\u548c\u6f0f\u6d1e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 \u9632\u706b\u5899\u5b9e\u9a8c\uff1aiptables\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1asnort/bro\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u914d\u7f6e\u4e0e\u52a0\u56fa(fail2ban)\uff1b\uff082\u5b66\u65f6\uff09 \u871c\u7f50\u5b9e\u9a8c\uff1apython scapy\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 \u5165\u4fb5\u53d6\u8bc1\u5b9e\u9a8c\uff1a\u7efc\u5408snort\u3001\u7cfb\u7edf\u65e5\u5fd7\u3001\u5e94\u7528\u7a0b\u5e8f\u65e5\u5fd7\u3001wireshark\u6293\u5305\u7b49\u5de5\u5177\u548c\u65b9\u6cd5\uff0c\u53d1\u73b0\u653b\u51fb\u6e90\u3001\u91cd\u5efa\u653b\u51fb\u573a\u666f\u548c\u8fc7\u7a0b\u3002\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u5b89\u5168\u7efc\u5408\u5b9e\u9a8c\uff1a\u5f00\u6e90\u4fe1\u606f\u7cfb\u7edf\u642d\u5efa\u3001\u52a0\u56fa\u4e0e\u6f0f\u6d1e\u653b\u9632\uff1b\uff084\u5b66\u65f6\uff09","title":"\u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282"},{"location":"ns/2019/index.html#_7","text":"\u65e0","title":"\u4e94\u3001\u5efa\u8bae\u6559\u6750"},{"location":"ns/2019/index.html#_8","text":"\u52a0\u5dde\u5927\u5b66\u5723\u5730\u4e9a\u54e5\u5206\u6821\u7684\u4fe1\u606f\u5b89\u5168\u8bfe\u7a0b \u65af\u5766\u798f\u5927\u5b66\u7684\u7f51\u7edc\u7a7a\u95f4\u5168\u4e2d\u7684\u6570\u636e\u6316\u6398\uff1aCS 259D Data Mining for Cyber Security Autumn 2014 illinois\u5927\u5b66\u7684\u7f51\u7edc\u5b89\u5168\u8bfe\u7a0b \u504f\u7cfb\u7edf\u548c\u7f51\u7edc\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u89c6\u9891\u8bfe\u7a0b\uff08\u90e8\u5206\u8bfe\u7a0b\u5b8c\u5168\u514d\u8d39\uff09 \u504fWeb\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u8bfe\u7a0b\uff08\u5b9e\u9a8c\u73af\u5883\u53ef\u4e0b\u8f7d\uff09","title":"\u516d\u3001\u53c2\u8003\u8d44\u6599"},{"location":"ns/2020/index.html","text":"\u7f51\u7edc\u5b89\u5168 \u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u8bfe\u7a0b\u7f16\u53f7\uff1a2121030134 \u82f1\u6587\u540d\u79f0\uff1aComputer Network Security \u6388\u8bfe\u5bf9\u8c61\uff1a\u4fe1\u606f\u5b89\u5168\u4e13\u4e1a \u5f00\u8bfe\u5b66\u671f\uff1a5 \u5b66\u5206/\u5b66\u65f6\uff1a3/64\uff082018\u7248\u6559\u5b66\u5927\u7eb2\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u4fe1\u606f\u5b89\u5168\u5bfc\u8bba\u3001\u8ba1\u7b97\u673a\u7f51\u7edc\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5802\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u8bfe\u7a0b\u7b80\u4ecb \u672c\u8bfe\u7a0b\u9488\u5bf9\u7f51\u7edc\u5b89\u5168\u4e2d\u7684\u5173\u952e\u6280\u672f\uff0c\u4ece\u5e94\u7528\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ecb\u7ecd\u7f51\u7edc\u76d1\u542c\u3001\u626b\u63cf\u3001\u5165\u4fb5\u3001\u540e\u95e8\u3001\u9632\u706b\u5899\u548c\u865a\u62df\u4e13\u7528\u7f51\u7b49\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u5e76\u901a\u8fc7\u5b9e\u4f8b\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u5c06\u5b89\u5168\u7406\u8bba\u3001\u5b89\u5168\u6280\u672f\u548c\u5b89\u5168\u5de5\u5177\u6709\u673a\u7ed3\u5408\u3002 \u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42 \u968f\u7740\u4e92\u8054\u7f51\u7684\u53d1\u5c55\u548c\u4fe1\u606f\u5316\u8fdb\u7a0b\u7684\u6df1\u5165\uff0c\u4e92\u8054\u7f51\u548c\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u5b89\u5168\u95ee\u9898\u5df2\u6210\u4e3a\u5404\u56fd\u653f\u5e9c\u6709\u5173\u90e8\u95e8\u3001\u5404\u5927\u884c\u4e1a\u548c\u4f01\u4e8b\u4e1a\u5173\u6ce8\u7684\u70ed\u70b9\u95ee\u9898\uff0c\u5bf9\u7f51\u7edc\u4e0e\u7cfb\u7edf\u5b89\u5168\u4e13\u95e8\u4eba\u624d\u7684\u9700\u6c42\u4e5f\u65e5\u663e\u7a81\u51fa\u3002\u672c\u8bfe\u7a0b\u5168\u9762\u7cfb\u7edf\u5730\u4ecb\u7ecd\u7f51\u7edc\u5b89\u5168\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u7f51\u7edc\u5b89\u5168\u77e5\u8bc6\u548c\u5173\u952e\u6280\u672f\uff0c\u63d0\u9ad8\u5b89\u5168\u610f\u8bc6\uff0c\u589e\u5f3a\u89e3\u51b3\u4e92\u8054\u7f51\u548c\u6570\u5b57\u4f20\u5a92\u7b49\u884c\u4e1a\u4e2d\u7f51\u7edc\u5b89\u5168\u95ee\u9898\u7684\u80fd\u529b\u3002 \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d 1\uff0e\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u5a01\u80c1\u6a21\u578b\u3001\u64cd\u4f5c\u7cfb\u7edf\u7684\u5b89\u5168\u673a\u5236\u3001\u878d\u5408\u7f51\u5b89\u5168\u3001\u7b49\u7ea7\u5b89\u5168\u4fdd\u62a4\u6982\u5ff5\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u6cd5\u89c4\u548c\u9ed1\u5ba2\u5b88\u5219\u3002 2\uff0e\u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8bbf\u95ee\u63a7\u5236\u7406\u8bba\u3001CVSS\u7406\u8bba\u3001\u98ce\u9669\u8bc4\u4f30\u6848\u4f8b\u5206\u6790\u3002 3\uff0e\u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4ee3\u7406\u7684\u5206\u7c7b\u3001\u57fa\u672c\u539f\u7406\u548c\u5de5\u5177\u4f7f\u7528\uff0c\u533f\u540d\u901a\u4fe1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u68c0\u6d4b\u65b9\u6cd5\u3002 4\uff0e\u7f51\u7edc\u76d1\u542c\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u76d1\u542c\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u76d1\u542c\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 5\uff0e\u7f51\u7edc\u626b\u63cf\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u626b\u63cf\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u626b\u63cf\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 6\uff0e\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\u7684\u57fa\u672c\u539f\u7406\u548c\u65b9\u6cd5\uff0c\u6e17\u900f\u6d4b\u8bd5\u7684\u65b9\u6cd5\u8bba\uff0c\u6e17\u900f\u6d4b\u8bd5\u4e0e\u7f51\u7edc\u5165\u4fb5\u7684\u533a\u522b\u4e0e\u8054\u7cfb\u3002 7\uff0eWeb \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1aSQL\u6ce8\u5165\u3001XSS\u3001CSRF\u3001\u53e3\u4ee4\u7834\u89e3\u3001HTTP\u534f\u8bae\u8c03\u8bd5\u65b9\u6cd5\u3002 8\uff0e\u9632\u706b\u5899\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u9632\u706b\u5899\u7684\u57fa\u672c\u539f\u7406\u3001\u9632\u706b\u5899\u6280\u672f\u53d1\u5c55\u53f2\u3001\u5178\u578b\u9632\u706b\u5899\u914d\u7f6e\u5b9e\u9a8c\u3002 9\uff0e\u5165\u4fb5\u68c0\u6d4b\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5165\u4fb5\u68c0\u6d4b\u7684\u57fa\u672c\u539f\u7406\u3001\u5165\u4fb5\u68c0\u6d4b\u6280\u672f\u53d1\u5c55\u53f2\u3002 10\uff0e\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5e38\u89c1\u5e94\u7528\u7a0b\u5e8f\u914d\u7f6e\u7f3a\u9677\u3001\u5e94\u7528\u9632\u706b\u5899\u914d\u7f6e\u3001WEB\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa\u3002 11\uff0e\u871c\u7f50\u548c\u871c\u7f51\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u871c\u7f50\u548c\u871c\u7f51\u7684\u57fa\u672c\u539f\u7406\u3001\u871c\u7f50\u548c\u871c\u7f51\u53d1\u5c55\u53f2\u3002 12\uff0e\u8ba1\u7b97\u673a\u53d6\u8bc1\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8ba1\u7b97\u673a\u53d6\u8bc1\u7684\u57fa\u672c\u539f\u7406\u3001\u7f51\u7edc\u6d41\u91cf\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u65e5\u5fd7\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u76d1\u63a7\u5de5\u5177\u7684\u53d6\u8bc1\u5e94\u7528\u3002 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u793e\u4ea4\u7f51\u7edc\u9493\u9c7c\u3001\u7535\u4fe1\u8bc8\u9a97\u4e0e\u9632\u8303\u3001\u5927\u6570\u636e\u5e94\u7528\u4e0e\u9690\u79c1\u4fdd\u62a4\u3002 \u5728\u7ebf\u8bfe\u4ef6\u548c\u6388\u8bfe\u89c6\u9891\u56de\u653e \u5728\u7ebf\u8bfe\u672c | \u5728\u7ebf\u8bfe\u672c\u5907\u7528\u955c\u50cf\u7ad9\u70b9 Gitee\uff08\u56fd\u5185\u7528\u6237\u8bbf\u95ee\u63a8\u8350\uff09 \u5728\u7ebf\u8bfe\u4ef6 | \u5728\u7ebf\u8bfe\u4ef6\u5907\u7528\u955c\u50cf\u7ad9\u70b9 Gitee\uff08\u56fd\u5185\u7528\u6237\u8bbf\u95ee\u63a8\u8350\uff09 \u6388\u8bfe\u89c6\u9891\u56de\u653e\uff08\u540c\u6b65\u4e0a\u8bfe\u8fdb\u5ea6\uff0c\u6301\u7eed\u66f4\u65b0\u4e2d\uff09 \u671f\u672b\u8bd5\u9898\u6837\u672c.docx \u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282 \u865a\u62df\u7f51\u7edc\u914d\u7f6e\u5b9e\u9a8c\uff1a\u865a\u62df\u673a\u8f6f\u4ef6Virtualbox\u76845\u79cd\u7f51\u7edc\u6a21\u5f0f\u7684\u533a\u522b\u3001\u5e94\u7528\u573a\u666f\uff0c\u591a\u865a\u62df\u7f51\u5361\u7684\u5e94\u7528\uff1b\uff082\u5b66\u65f6\uff09 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u4f7f\u7528ettercap\u3001tcpdump\u8fdb\u884c\u7f51\u7edc\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1awireshark\u8fdb\u884c\u7f51\u7edc\u76d1\u542c\u3001\u6d41\u91cf\u5206\u6790\u548c\u6d41\u91cf\u8fd8\u539f\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1a\u4f7f\u7528nmap\u8fdb\u884c\u4e3b\u673a\u548c\u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u6e17\u900f\u5b9e\u9a8c\uff1a\u4fe1\u606f\u6536\u96c6\u5de5\u5177\uff08\u641c\u7d22\u5f15\u64ce\u3001whois\u3001\u793e\u4ea4\u7f51\u7edc\u641c\u7d22\u5de5\u5177\u7b49\uff09\u7684\u4f7f\u7528\uff0c\u4e86\u89e3metasploit\u7684\u57fa\u672c\u4f7f\u7528\uff1b\uff082\u5b66\u65f6\uff09 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u57fa\u4e8eWebGoat\u8bad\u7ec3\u5e73\u53f0\uff0c\u8fdb\u884cSQL\u6ce8\u5165\u3001XSS\u7b49WEB\u6f0f\u6d1e\u7684\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u57fa\u4e8e\u771f\u5b9eWeb\u5e94\u7528\uff0c\u8fdb\u884c\u6f0f\u6d1e\u6316\u6398\u548c\u6f0f\u6d1e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 \u9632\u706b\u5899\u5b9e\u9a8c\uff1aiptables\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1asnort/bro\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u914d\u7f6e\u4e0e\u52a0\u56fa(fail2ban)\uff1b\uff082\u5b66\u65f6\uff09 \u871c\u7f50\u5b9e\u9a8c\uff1apython scapy\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 \u5165\u4fb5\u53d6\u8bc1\u5b9e\u9a8c\uff1a\u7efc\u5408snort\u3001\u7cfb\u7edf\u65e5\u5fd7\u3001\u5e94\u7528\u7a0b\u5e8f\u65e5\u5fd7\u3001wireshark\u6293\u5305\u7b49\u5de5\u5177\u548c\u65b9\u6cd5\uff0c\u53d1\u73b0\u653b\u51fb\u6e90\u3001\u91cd\u5efa\u653b\u51fb\u573a\u666f\u548c\u8fc7\u7a0b\u3002\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u5b89\u5168\u7efc\u5408\u5b9e\u9a8c\uff1a\u5f00\u6e90\u4fe1\u606f\u7cfb\u7edf\u642d\u5efa\u3001\u52a0\u56fa\u4e0e\u6f0f\u6d1e\u653b\u9632\uff1b\uff084\u5b66\u65f6\uff09 \u4e94\u3001\u5efa\u8bae\u6559\u6750 \u65e0 \u516d\u3001\u53c2\u8003\u8d44\u6599 \u52a0\u5dde\u5927\u5b66\u5723\u5730\u4e9a\u54e5\u5206\u6821\u7684\u4fe1\u606f\u5b89\u5168\u8bfe\u7a0b \u65af\u5766\u798f\u5927\u5b66\u7684\u7f51\u7edc\u7a7a\u95f4\u5168\u4e2d\u7684\u6570\u636e\u6316\u6398\uff1aCS 259D Data Mining for Cyber Security Autumn 2014 illinois\u5927\u5b66\u7684\u7f51\u7edc\u5b89\u5168\u8bfe\u7a0b \u504f\u7cfb\u7edf\u548c\u7f51\u7edc\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u89c6\u9891\u8bfe\u7a0b\uff08\u90e8\u5206\u8bfe\u7a0b\u5b8c\u5168\u514d\u8d39\uff09 \u504fWeb\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u8bfe\u7a0b\uff08\u5b9e\u9a8c\u73af\u5883\u53ef\u4e0b\u8f7d\uff09","title":"2020\u5e74"},{"location":"ns/2020/index.html#_1","text":"","title":"\u7f51\u7edc\u5b89\u5168"},{"location":"ns/2020/index.html#_2","text":"\u8bfe\u7a0b\u7f16\u53f7\uff1a2121030134 \u82f1\u6587\u540d\u79f0\uff1aComputer Network Security \u6388\u8bfe\u5bf9\u8c61\uff1a\u4fe1\u606f\u5b89\u5168\u4e13\u4e1a \u5f00\u8bfe\u5b66\u671f\uff1a5 \u5b66\u5206/\u5b66\u65f6\uff1a3/64\uff082018\u7248\u6559\u5b66\u5927\u7eb2\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u4fe1\u606f\u5b89\u5168\u5bfc\u8bba\u3001\u8ba1\u7b97\u673a\u7f51\u7edc\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5802\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386","title":"\u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"ns/2020/index.html#_3","text":"\u672c\u8bfe\u7a0b\u9488\u5bf9\u7f51\u7edc\u5b89\u5168\u4e2d\u7684\u5173\u952e\u6280\u672f\uff0c\u4ece\u5e94\u7528\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ecb\u7ecd\u7f51\u7edc\u76d1\u542c\u3001\u626b\u63cf\u3001\u5165\u4fb5\u3001\u540e\u95e8\u3001\u9632\u706b\u5899\u548c\u865a\u62df\u4e13\u7528\u7f51\u7b49\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u5e76\u901a\u8fc7\u5b9e\u4f8b\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u5c06\u5b89\u5168\u7406\u8bba\u3001\u5b89\u5168\u6280\u672f\u548c\u5b89\u5168\u5de5\u5177\u6709\u673a\u7ed3\u5408\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"ns/2020/index.html#_4","text":"\u968f\u7740\u4e92\u8054\u7f51\u7684\u53d1\u5c55\u548c\u4fe1\u606f\u5316\u8fdb\u7a0b\u7684\u6df1\u5165\uff0c\u4e92\u8054\u7f51\u548c\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u5b89\u5168\u95ee\u9898\u5df2\u6210\u4e3a\u5404\u56fd\u653f\u5e9c\u6709\u5173\u90e8\u95e8\u3001\u5404\u5927\u884c\u4e1a\u548c\u4f01\u4e8b\u4e1a\u5173\u6ce8\u7684\u70ed\u70b9\u95ee\u9898\uff0c\u5bf9\u7f51\u7edc\u4e0e\u7cfb\u7edf\u5b89\u5168\u4e13\u95e8\u4eba\u624d\u7684\u9700\u6c42\u4e5f\u65e5\u663e\u7a81\u51fa\u3002\u672c\u8bfe\u7a0b\u5168\u9762\u7cfb\u7edf\u5730\u4ecb\u7ecd\u7f51\u7edc\u5b89\u5168\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u7f51\u7edc\u5b89\u5168\u77e5\u8bc6\u548c\u5173\u952e\u6280\u672f\uff0c\u63d0\u9ad8\u5b89\u5168\u610f\u8bc6\uff0c\u589e\u5f3a\u89e3\u51b3\u4e92\u8054\u7f51\u548c\u6570\u5b57\u4f20\u5a92\u7b49\u884c\u4e1a\u4e2d\u7f51\u7edc\u5b89\u5168\u95ee\u9898\u7684\u80fd\u529b\u3002","title":"\u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42"},{"location":"ns/2020/index.html#_5","text":"1\uff0e\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u5a01\u80c1\u6a21\u578b\u3001\u64cd\u4f5c\u7cfb\u7edf\u7684\u5b89\u5168\u673a\u5236\u3001\u878d\u5408\u7f51\u5b89\u5168\u3001\u7b49\u7ea7\u5b89\u5168\u4fdd\u62a4\u6982\u5ff5\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u6cd5\u89c4\u548c\u9ed1\u5ba2\u5b88\u5219\u3002 2\uff0e\u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8bbf\u95ee\u63a7\u5236\u7406\u8bba\u3001CVSS\u7406\u8bba\u3001\u98ce\u9669\u8bc4\u4f30\u6848\u4f8b\u5206\u6790\u3002 3\uff0e\u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4ee3\u7406\u7684\u5206\u7c7b\u3001\u57fa\u672c\u539f\u7406\u548c\u5de5\u5177\u4f7f\u7528\uff0c\u533f\u540d\u901a\u4fe1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u68c0\u6d4b\u65b9\u6cd5\u3002 4\uff0e\u7f51\u7edc\u76d1\u542c\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u76d1\u542c\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u76d1\u542c\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 5\uff0e\u7f51\u7edc\u626b\u63cf\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u626b\u63cf\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u626b\u63cf\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 6\uff0e\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\u7684\u57fa\u672c\u539f\u7406\u548c\u65b9\u6cd5\uff0c\u6e17\u900f\u6d4b\u8bd5\u7684\u65b9\u6cd5\u8bba\uff0c\u6e17\u900f\u6d4b\u8bd5\u4e0e\u7f51\u7edc\u5165\u4fb5\u7684\u533a\u522b\u4e0e\u8054\u7cfb\u3002 7\uff0eWeb \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1aSQL\u6ce8\u5165\u3001XSS\u3001CSRF\u3001\u53e3\u4ee4\u7834\u89e3\u3001HTTP\u534f\u8bae\u8c03\u8bd5\u65b9\u6cd5\u3002 8\uff0e\u9632\u706b\u5899\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u9632\u706b\u5899\u7684\u57fa\u672c\u539f\u7406\u3001\u9632\u706b\u5899\u6280\u672f\u53d1\u5c55\u53f2\u3001\u5178\u578b\u9632\u706b\u5899\u914d\u7f6e\u5b9e\u9a8c\u3002 9\uff0e\u5165\u4fb5\u68c0\u6d4b\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5165\u4fb5\u68c0\u6d4b\u7684\u57fa\u672c\u539f\u7406\u3001\u5165\u4fb5\u68c0\u6d4b\u6280\u672f\u53d1\u5c55\u53f2\u3002 10\uff0e\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5e38\u89c1\u5e94\u7528\u7a0b\u5e8f\u914d\u7f6e\u7f3a\u9677\u3001\u5e94\u7528\u9632\u706b\u5899\u914d\u7f6e\u3001WEB\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa\u3002 11\uff0e\u871c\u7f50\u548c\u871c\u7f51\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u871c\u7f50\u548c\u871c\u7f51\u7684\u57fa\u672c\u539f\u7406\u3001\u871c\u7f50\u548c\u871c\u7f51\u53d1\u5c55\u53f2\u3002 12\uff0e\u8ba1\u7b97\u673a\u53d6\u8bc1\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8ba1\u7b97\u673a\u53d6\u8bc1\u7684\u57fa\u672c\u539f\u7406\u3001\u7f51\u7edc\u6d41\u91cf\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u65e5\u5fd7\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u76d1\u63a7\u5de5\u5177\u7684\u53d6\u8bc1\u5e94\u7528\u3002 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u793e\u4ea4\u7f51\u7edc\u9493\u9c7c\u3001\u7535\u4fe1\u8bc8\u9a97\u4e0e\u9632\u8303\u3001\u5927\u6570\u636e\u5e94\u7528\u4e0e\u9690\u79c1\u4fdd\u62a4\u3002","title":"\u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d"},{"location":"ns/2020/index.html#_6","text":"\u5728\u7ebf\u8bfe\u672c | \u5728\u7ebf\u8bfe\u672c\u5907\u7528\u955c\u50cf\u7ad9\u70b9 Gitee\uff08\u56fd\u5185\u7528\u6237\u8bbf\u95ee\u63a8\u8350\uff09 \u5728\u7ebf\u8bfe\u4ef6 | \u5728\u7ebf\u8bfe\u4ef6\u5907\u7528\u955c\u50cf\u7ad9\u70b9 Gitee\uff08\u56fd\u5185\u7528\u6237\u8bbf\u95ee\u63a8\u8350\uff09 \u6388\u8bfe\u89c6\u9891\u56de\u653e\uff08\u540c\u6b65\u4e0a\u8bfe\u8fdb\u5ea6\uff0c\u6301\u7eed\u66f4\u65b0\u4e2d\uff09 \u671f\u672b\u8bd5\u9898\u6837\u672c.docx","title":"\u5728\u7ebf\u8bfe\u4ef6\u548c\u6388\u8bfe\u89c6\u9891\u56de\u653e"},{"location":"ns/2020/index.html#_7","text":"\u865a\u62df\u7f51\u7edc\u914d\u7f6e\u5b9e\u9a8c\uff1a\u865a\u62df\u673a\u8f6f\u4ef6Virtualbox\u76845\u79cd\u7f51\u7edc\u6a21\u5f0f\u7684\u533a\u522b\u3001\u5e94\u7528\u573a\u666f\uff0c\u591a\u865a\u62df\u7f51\u5361\u7684\u5e94\u7528\uff1b\uff082\u5b66\u65f6\uff09 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u4f7f\u7528ettercap\u3001tcpdump\u8fdb\u884c\u7f51\u7edc\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1awireshark\u8fdb\u884c\u7f51\u7edc\u76d1\u542c\u3001\u6d41\u91cf\u5206\u6790\u548c\u6d41\u91cf\u8fd8\u539f\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1a\u4f7f\u7528nmap\u8fdb\u884c\u4e3b\u673a\u548c\u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u6e17\u900f\u5b9e\u9a8c\uff1a\u4fe1\u606f\u6536\u96c6\u5de5\u5177\uff08\u641c\u7d22\u5f15\u64ce\u3001whois\u3001\u793e\u4ea4\u7f51\u7edc\u641c\u7d22\u5de5\u5177\u7b49\uff09\u7684\u4f7f\u7528\uff0c\u4e86\u89e3metasploit\u7684\u57fa\u672c\u4f7f\u7528\uff1b\uff082\u5b66\u65f6\uff09 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u57fa\u4e8eWebGoat\u8bad\u7ec3\u5e73\u53f0\uff0c\u8fdb\u884cSQL\u6ce8\u5165\u3001XSS\u7b49WEB\u6f0f\u6d1e\u7684\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u57fa\u4e8e\u771f\u5b9eWeb\u5e94\u7528\uff0c\u8fdb\u884c\u6f0f\u6d1e\u6316\u6398\u548c\u6f0f\u6d1e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 \u9632\u706b\u5899\u5b9e\u9a8c\uff1aiptables\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1asnort/bro\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u914d\u7f6e\u4e0e\u52a0\u56fa(fail2ban)\uff1b\uff082\u5b66\u65f6\uff09 \u871c\u7f50\u5b9e\u9a8c\uff1apython scapy\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 \u5165\u4fb5\u53d6\u8bc1\u5b9e\u9a8c\uff1a\u7efc\u5408snort\u3001\u7cfb\u7edf\u65e5\u5fd7\u3001\u5e94\u7528\u7a0b\u5e8f\u65e5\u5fd7\u3001wireshark\u6293\u5305\u7b49\u5de5\u5177\u548c\u65b9\u6cd5\uff0c\u53d1\u73b0\u653b\u51fb\u6e90\u3001\u91cd\u5efa\u653b\u51fb\u573a\u666f\u548c\u8fc7\u7a0b\u3002\uff082\u5b66\u65f6\uff09 \u7f51\u7edc\u5b89\u5168\u7efc\u5408\u5b9e\u9a8c\uff1a\u5f00\u6e90\u4fe1\u606f\u7cfb\u7edf\u642d\u5efa\u3001\u52a0\u56fa\u4e0e\u6f0f\u6d1e\u653b\u9632\uff1b\uff084\u5b66\u65f6\uff09","title":"\u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282"},{"location":"ns/2020/index.html#_8","text":"\u65e0","title":"\u4e94\u3001\u5efa\u8bae\u6559\u6750"},{"location":"ns/2020/index.html#_9","text":"\u52a0\u5dde\u5927\u5b66\u5723\u5730\u4e9a\u54e5\u5206\u6821\u7684\u4fe1\u606f\u5b89\u5168\u8bfe\u7a0b \u65af\u5766\u798f\u5927\u5b66\u7684\u7f51\u7edc\u7a7a\u95f4\u5168\u4e2d\u7684\u6570\u636e\u6316\u6398\uff1aCS 259D Data Mining for Cyber Security Autumn 2014 illinois\u5927\u5b66\u7684\u7f51\u7edc\u5b89\u5168\u8bfe\u7a0b \u504f\u7cfb\u7edf\u548c\u7f51\u7edc\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u89c6\u9891\u8bfe\u7a0b\uff08\u90e8\u5206\u8bfe\u7a0b\u5b8c\u5168\u514d\u8d39\uff09 \u504fWeb\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u8bfe\u7a0b\uff08\u5b9e\u9a8c\u73af\u5883\u53ef\u4e0b\u8f7d\uff09","title":"\u516d\u3001\u53c2\u8003\u8d44\u6599"},{"location":"ns/2020/calendar.html","text":"2020 \u79cb\u6559\u5b66\u65e5\u5386 2020-09-08 \u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840 2020-09-15 \u7b2c\u4e8c\u7ae0 \u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528 2020-09-22 \u7b2c\u4e09\u7ae0 \u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840 2020-09-29 \u7b2c\u56db\u7ae0 \u7f51\u7edc\u76d1\u542c 2020-10-06 \u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf 2020-10-13 \u7b2c\u516d\u7ae0 \u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f 2020-10-20 \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e0a\uff09 2020-10-27 \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e2d\uff09 2020-11-03 \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e0b\uff09 2020-11-10 \u7b2c\u516b\u7ae0 \u9632\u706b\u5899 2020-11-17 \u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b 2020-11-24 \u7b2c\u5341\u7ae0 \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa 2020-12-01 \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 2020-12-08 \u7b2c\u5341\u4e8c\u7ae0 \u8ba1\u7b97\u673a\u53d6\u8bc1 2020-12-15 \u7b2c\u5341\u4e09\u7ae0 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168","title":"2020 \u79cb\u6559\u5b66\u65e5\u5386"},{"location":"ns/2020/calendar.html#2020","text":"","title":"2020 \u79cb\u6559\u5b66\u65e5\u5386"},{"location":"ns/2020/calendar.html#2020-09-08","text":"\u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840","title":"2020-09-08"},{"location":"ns/2020/calendar.html#2020-09-15","text":"\u7b2c\u4e8c\u7ae0 \u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528","title":"2020-09-15"},{"location":"ns/2020/calendar.html#2020-09-22","text":"\u7b2c\u4e09\u7ae0 \u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840","title":"2020-09-22"},{"location":"ns/2020/calendar.html#2020-09-29","text":"\u7b2c\u56db\u7ae0 \u7f51\u7edc\u76d1\u542c","title":"2020-09-29"},{"location":"ns/2020/calendar.html#2020-10-06","text":"\u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf","title":"2020-10-06"},{"location":"ns/2020/calendar.html#2020-10-13","text":"\u7b2c\u516d\u7ae0 \u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f","title":"2020-10-13"},{"location":"ns/2020/calendar.html#2020-10-20","text":"\u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e0a\uff09","title":"2020-10-20"},{"location":"ns/2020/calendar.html#2020-10-27","text":"\u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e2d\uff09","title":"2020-10-27"},{"location":"ns/2020/calendar.html#2020-11-03","text":"\u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e0b\uff09","title":"2020-11-03"},{"location":"ns/2020/calendar.html#2020-11-10","text":"\u7b2c\u516b\u7ae0 \u9632\u706b\u5899","title":"2020-11-10"},{"location":"ns/2020/calendar.html#2020-11-17","text":"\u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b","title":"2020-11-17"},{"location":"ns/2020/calendar.html#2020-11-24","text":"\u7b2c\u5341\u7ae0 \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa","title":"2020-11-24"},{"location":"ns/2020/calendar.html#2020-12-01","text":"\u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51","title":"2020-12-01"},{"location":"ns/2020/calendar.html#2020-12-08","text":"\u7b2c\u5341\u4e8c\u7ae0 \u8ba1\u7b97\u673a\u53d6\u8bc1","title":"2020-12-08"},{"location":"ns/2020/calendar.html#2020-12-15","text":"\u7b2c\u5341\u4e09\u7ae0 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168","title":"2020-12-15"},{"location":"ns/2021/index.html","text":"\u7f51\u7edc\u5b89\u5168 \u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u8bfe\u7a0b\u7f16\u53f7\uff1a2121030134 \u82f1\u6587\u540d\u79f0\uff1aComputer Network Security \u6388\u8bfe\u5bf9\u8c61\uff1a\u4fe1\u606f\u5b89\u5168\u4e13\u4e1a \u5f00\u8bfe\u5b66\u671f\uff1a5 \u5b66\u5206/\u5b66\u65f6\uff1a3/64\uff082018\u7248\u6559\u5b66\u5927\u7eb2\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u4fe1\u606f\u5b89\u5168\u5bfc\u8bba\u3001\u8ba1\u7b97\u673a\u7f51\u7edc\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5802\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219 \u8bfe\u7a0b\u7b80\u4ecb \u672c\u8bfe\u7a0b\u9488\u5bf9\u7f51\u7edc\u5b89\u5168\u4e2d\u7684\u5173\u952e\u6280\u672f\uff0c\u4ece\u5e94\u7528\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ecb\u7ecd\u7f51\u7edc\u76d1\u542c\u3001\u626b\u63cf\u3001\u5165\u4fb5\u3001\u540e\u95e8\u3001\u9632\u706b\u5899\u548c\u865a\u62df\u4e13\u7528\u7f51\u7b49\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u5e76\u901a\u8fc7\u5b9e\u4f8b\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u5c06\u5b89\u5168\u7406\u8bba\u3001\u5b89\u5168\u6280\u672f\u548c\u5b89\u5168\u5de5\u5177\u6709\u673a\u7ed3\u5408\u3002 \u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42 \u968f\u7740\u4e92\u8054\u7f51\u7684\u53d1\u5c55\u548c\u4fe1\u606f\u5316\u8fdb\u7a0b\u7684\u6df1\u5165\uff0c\u4e92\u8054\u7f51\u548c\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u5b89\u5168\u95ee\u9898\u5df2\u6210\u4e3a\u5404\u56fd\u653f\u5e9c\u6709\u5173\u90e8\u95e8\u3001\u5404\u5927\u884c\u4e1a\u548c\u4f01\u4e8b\u4e1a\u5173\u6ce8\u7684\u70ed\u70b9\u95ee\u9898\uff0c\u5bf9\u7f51\u7edc\u4e0e\u7cfb\u7edf\u5b89\u5168\u4e13\u95e8\u4eba\u624d\u7684\u9700\u6c42\u4e5f\u65e5\u663e\u7a81\u51fa\u3002\u672c\u8bfe\u7a0b\u5168\u9762\u7cfb\u7edf\u5730\u4ecb\u7ecd\u7f51\u7edc\u5b89\u5168\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u7f51\u7edc\u5b89\u5168\u77e5\u8bc6\u548c\u5173\u952e\u6280\u672f\uff0c\u63d0\u9ad8\u5b89\u5168\u610f\u8bc6\uff0c\u589e\u5f3a\u89e3\u51b3\u4e92\u8054\u7f51\u548c\u6570\u5b57\u4f20\u5a92\u7b49\u884c\u4e1a\u4e2d\u7f51\u7edc\u5b89\u5168\u95ee\u9898\u7684\u80fd\u529b\u3002 \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d 1\uff0e\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u5a01\u80c1\u6a21\u578b\u3001\u64cd\u4f5c\u7cfb\u7edf\u7684\u5b89\u5168\u673a\u5236\u3001\u878d\u5408\u7f51\u5b89\u5168\u3001\u7b49\u7ea7\u5b89\u5168\u4fdd\u62a4\u6982\u5ff5\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u6cd5\u89c4\u548c\u9ed1\u5ba2\u5b88\u5219\u3002 2\uff0e\u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8bbf\u95ee\u63a7\u5236\u7406\u8bba\u3001CVSS\u7406\u8bba\u3001\u98ce\u9669\u8bc4\u4f30\u6848\u4f8b\u5206\u6790\u3002 3\uff0e\u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4ee3\u7406\u7684\u5206\u7c7b\u3001\u57fa\u672c\u539f\u7406\u548c\u5de5\u5177\u4f7f\u7528\uff0c\u533f\u540d\u901a\u4fe1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u68c0\u6d4b\u65b9\u6cd5\u3002 4\uff0e\u7f51\u7edc\u76d1\u542c\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u76d1\u542c\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u76d1\u542c\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 5\uff0e\u7f51\u7edc\u626b\u63cf\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u626b\u63cf\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u626b\u63cf\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 6\uff0e\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\u7684\u57fa\u672c\u539f\u7406\u548c\u65b9\u6cd5\uff0c\u6e17\u900f\u6d4b\u8bd5\u7684\u65b9\u6cd5\u8bba\uff0c\u6e17\u900f\u6d4b\u8bd5\u4e0e\u7f51\u7edc\u5165\u4fb5\u7684\u533a\u522b\u4e0e\u8054\u7cfb\u3002 7\uff0eWeb \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1aSQL\u6ce8\u5165\u3001XSS\u3001CSRF\u3001\u53e3\u4ee4\u7834\u89e3\u3001HTTP\u534f\u8bae\u8c03\u8bd5\u65b9\u6cd5\u3002 8\uff0e\u9632\u706b\u5899\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u9632\u706b\u5899\u7684\u57fa\u672c\u539f\u7406\u3001\u9632\u706b\u5899\u6280\u672f\u53d1\u5c55\u53f2\u3001\u5178\u578b\u9632\u706b\u5899\u914d\u7f6e\u5b9e\u9a8c\u3002 9\uff0e\u5165\u4fb5\u68c0\u6d4b\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5165\u4fb5\u68c0\u6d4b\u7684\u57fa\u672c\u539f\u7406\u3001\u5165\u4fb5\u68c0\u6d4b\u6280\u672f\u53d1\u5c55\u53f2\u3002 10\uff0e\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5e38\u89c1\u5e94\u7528\u7a0b\u5e8f\u914d\u7f6e\u7f3a\u9677\u3001\u5e94\u7528\u9632\u706b\u5899\u914d\u7f6e\u3001WEB\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa\u3002 11\uff0e\u871c\u7f50\u548c\u871c\u7f51\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u871c\u7f50\u548c\u871c\u7f51\u7684\u57fa\u672c\u539f\u7406\u3001\u871c\u7f50\u548c\u871c\u7f51\u53d1\u5c55\u53f2\u3002 12\uff0e\u8ba1\u7b97\u673a\u53d6\u8bc1\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8ba1\u7b97\u673a\u53d6\u8bc1\u7684\u57fa\u672c\u539f\u7406\u3001\u7f51\u7edc\u6d41\u91cf\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u65e5\u5fd7\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u76d1\u63a7\u5de5\u5177\u7684\u53d6\u8bc1\u5e94\u7528\u3002 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u793e\u4ea4\u7f51\u7edc\u9493\u9c7c\u3001\u7535\u4fe1\u8bc8\u9a97\u4e0e\u9632\u8303\u3001\u5927\u6570\u636e\u5e94\u7528\u4e0e\u9690\u79c1\u4fdd\u62a4\u3002 \u5728\u7ebf\u8bfe\u4ef6\u548c\u6388\u8bfe\u89c6\u9891\u56de\u653e \u5728\u7ebf\u8bfe\u672c | \u5728\u7ebf\u8bfe\u672c\u5907\u7528\u955c\u50cf\u7ad9\u70b9 Gitee\uff08\u56fd\u5185\u7528\u6237\u8bbf\u95ee\u63a8\u8350\uff09 \u5728\u7ebf\u8bfe\u4ef6 | \u5728\u7ebf\u8bfe\u4ef6\u5907\u7528\u955c\u50cf\u7ad9\u70b9 Gitee\uff08\u56fd\u5185\u7528\u6237\u8bbf\u95ee\u63a8\u8350\uff09 \u6388\u8bfe\u89c6\u9891\u56de\u653e \u671f\u672b\u8bd5\u9898\u6837\u672c.docx \u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282 H1 \u865a\u62df\u7f51\u7edc\u914d\u7f6e\u5b9e\u9a8c\uff1a\u865a\u62df\u673a\u8f6f\u4ef6Virtualbox\u76845\u79cd\u7f51\u7edc\u6a21\u5f0f\u7684\u533a\u522b\u3001\u5e94\u7528\u573a\u666f\uff0c\u591a\u865a\u62df\u7f51\u5361\u7684\u5e94\u7528\uff1b\uff082\u5b66\u65f6\uff09 H4 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u4f7f\u7528ettercap\u3001tcpdump\u8fdb\u884c\u7f51\u7edc\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H4 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1awireshark\u8fdb\u884c\u7f51\u7edc\u76d1\u542c\u3001\u6d41\u91cf\u5206\u6790\u548c\u6d41\u91cf\u8fd8\u539f\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H5 \u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1a\u4f7f\u7528nmap\u8fdb\u884c\u4e3b\u673a\u548c\u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H6 \u7f51\u7edc\u6e17\u900f\u5b9e\u9a8c\uff1a\u4fe1\u606f\u6536\u96c6\u5de5\u5177\uff08\u641c\u7d22\u5f15\u64ce\u3001whois\u3001\u793e\u4ea4\u7f51\u7edc\u641c\u7d22\u5de5\u5177\u7b49\uff09\u7684\u4f7f\u7528\uff0c\u4e86\u89e3metasploit\u7684\u57fa\u672c\u4f7f\u7528\uff1b\uff082\u5b66\u65f6\uff09 H7 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u57fa\u4e8eWebGoat\u8bad\u7ec3\u5e73\u53f0\uff0c\u8fdb\u884cSQL\u6ce8\u5165\u3001XSS\u7b49WEB\u6f0f\u6d1e\u7684\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 H7 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u57fa\u4e8e\u771f\u5b9eWeb\u5e94\u7528\uff0c\u8fdb\u884c\u6f0f\u6d1e\u6316\u6398\u548c\u6f0f\u6d1e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 H8 \u9632\u706b\u5899\u5b9e\u9a8c\uff1aiptables\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 H9 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1asnort/bro\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 H10 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u914d\u7f6e\u4e0e\u52a0\u56fa(fail2ban)\uff1b\uff082\u5b66\u65f6\uff09 H11 \u871c\u7f50\u5b9e\u9a8c\uff1apython scapy\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H12 \u5165\u4fb5\u53d6\u8bc1\u5b9e\u9a8c\uff1a\u7efc\u5408snort\u3001\u7cfb\u7edf\u65e5\u5fd7\u3001\u5e94\u7528\u7a0b\u5e8f\u65e5\u5fd7\u3001wireshark\u6293\u5305\u7b49\u5de5\u5177\u548c\u65b9\u6cd5\uff0c\u53d1\u73b0\u653b\u51fb\u6e90\u3001\u91cd\u5efa\u653b\u51fb\u573a\u666f\u548c\u8fc7\u7a0b\u3002\uff082\u5b66\u65f6\uff09 H13 \u7f51\u7edc\u5b89\u5168\u7efc\u5408\u5b9e\u9a8c\uff1a\u5f00\u6e90\u4fe1\u606f\u7cfb\u7edf\u642d\u5efa\u3001\u52a0\u56fa\u4e0e\u6f0f\u6d1e\u653b\u9632\uff1b\uff084\u5b66\u65f6\uff09 \u4e94\u3001\u5efa\u8bae\u6559\u6750 \u65e0 \u516d\u3001\u53c2\u8003\u8d44\u6599 \u52a0\u5dde\u5927\u5b66\u5723\u5730\u4e9a\u54e5\u5206\u6821\u7684\u4fe1\u606f\u5b89\u5168\u8bfe\u7a0b \u65af\u5766\u798f\u5927\u5b66\u7684\u7f51\u7edc\u7a7a\u95f4\u5168\u4e2d\u7684\u6570\u636e\u6316\u6398\uff1aCS 259D Data Mining for Cyber Security Autumn 2014 illinois\u5927\u5b66\u7684\u7f51\u7edc\u5b89\u5168\u8bfe\u7a0b \u504f\u7cfb\u7edf\u548c\u7f51\u7edc\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u89c6\u9891\u8bfe\u7a0b\uff08\u90e8\u5206\u8bfe\u7a0b\u5b8c\u5168\u514d\u8d39\uff09 \u504fWeb\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u8bfe\u7a0b\uff08\u5b9e\u9a8c\u73af\u5883\u53ef\u4e0b\u8f7d\uff09","title":"2021\u5e74"},{"location":"ns/2021/index.html#_1","text":"","title":"\u7f51\u7edc\u5b89\u5168"},{"location":"ns/2021/index.html#_2","text":"\u8bfe\u7a0b\u7f16\u53f7\uff1a2121030134 \u82f1\u6587\u540d\u79f0\uff1aComputer Network Security \u6388\u8bfe\u5bf9\u8c61\uff1a\u4fe1\u606f\u5b89\u5168\u4e13\u4e1a \u5f00\u8bfe\u5b66\u671f\uff1a5 \u5b66\u5206/\u5b66\u65f6\uff1a3/64\uff082018\u7248\u6559\u5b66\u5927\u7eb2\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u4fe1\u606f\u5b89\u5168\u5bfc\u8bba\u3001\u8ba1\u7b97\u673a\u7f51\u7edc\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4 \u6559\u5b66\u65b9\u5f0f\uff1a\u8bfe\u5802\u8bb2\u6388\uff0c\u4e0a\u673a\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219","title":"\u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"ns/2021/index.html#_3","text":"\u672c\u8bfe\u7a0b\u9488\u5bf9\u7f51\u7edc\u5b89\u5168\u4e2d\u7684\u5173\u952e\u6280\u672f\uff0c\u4ece\u5e94\u7528\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ecb\u7ecd\u7f51\u7edc\u76d1\u542c\u3001\u626b\u63cf\u3001\u5165\u4fb5\u3001\u540e\u95e8\u3001\u9632\u706b\u5899\u548c\u865a\u62df\u4e13\u7528\u7f51\u7b49\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u5e76\u901a\u8fc7\u5b9e\u4f8b\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u5c06\u5b89\u5168\u7406\u8bba\u3001\u5b89\u5168\u6280\u672f\u548c\u5b89\u5168\u5de5\u5177\u6709\u673a\u7ed3\u5408\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"ns/2021/index.html#_4","text":"\u968f\u7740\u4e92\u8054\u7f51\u7684\u53d1\u5c55\u548c\u4fe1\u606f\u5316\u8fdb\u7a0b\u7684\u6df1\u5165\uff0c\u4e92\u8054\u7f51\u548c\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u5b89\u5168\u95ee\u9898\u5df2\u6210\u4e3a\u5404\u56fd\u653f\u5e9c\u6709\u5173\u90e8\u95e8\u3001\u5404\u5927\u884c\u4e1a\u548c\u4f01\u4e8b\u4e1a\u5173\u6ce8\u7684\u70ed\u70b9\u95ee\u9898\uff0c\u5bf9\u7f51\u7edc\u4e0e\u7cfb\u7edf\u5b89\u5168\u4e13\u95e8\u4eba\u624d\u7684\u9700\u6c42\u4e5f\u65e5\u663e\u7a81\u51fa\u3002\u672c\u8bfe\u7a0b\u5168\u9762\u7cfb\u7edf\u5730\u4ecb\u7ecd\u7f51\u7edc\u5b89\u5168\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u7f51\u7edc\u5b89\u5168\u77e5\u8bc6\u548c\u5173\u952e\u6280\u672f\uff0c\u63d0\u9ad8\u5b89\u5168\u610f\u8bc6\uff0c\u589e\u5f3a\u89e3\u51b3\u4e92\u8054\u7f51\u548c\u6570\u5b57\u4f20\u5a92\u7b49\u884c\u4e1a\u4e2d\u7f51\u7edc\u5b89\u5168\u95ee\u9898\u7684\u80fd\u529b\u3002","title":"\u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42"},{"location":"ns/2021/index.html#_5","text":"1\uff0e\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u5a01\u80c1\u6a21\u578b\u3001\u64cd\u4f5c\u7cfb\u7edf\u7684\u5b89\u5168\u673a\u5236\u3001\u878d\u5408\u7f51\u5b89\u5168\u3001\u7b49\u7ea7\u5b89\u5168\u4fdd\u62a4\u6982\u5ff5\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u6cd5\u89c4\u548c\u9ed1\u5ba2\u5b88\u5219\u3002 2\uff0e\u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8bbf\u95ee\u63a7\u5236\u7406\u8bba\u3001CVSS\u7406\u8bba\u3001\u98ce\u9669\u8bc4\u4f30\u6848\u4f8b\u5206\u6790\u3002 3\uff0e\u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4ee3\u7406\u7684\u5206\u7c7b\u3001\u57fa\u672c\u539f\u7406\u548c\u5de5\u5177\u4f7f\u7528\uff0c\u533f\u540d\u901a\u4fe1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u68c0\u6d4b\u65b9\u6cd5\u3002 4\uff0e\u7f51\u7edc\u76d1\u542c\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u76d1\u542c\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u76d1\u542c\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 5\uff0e\u7f51\u7edc\u626b\u63cf\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u626b\u63cf\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u626b\u63cf\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 6\uff0e\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\u7684\u57fa\u672c\u539f\u7406\u548c\u65b9\u6cd5\uff0c\u6e17\u900f\u6d4b\u8bd5\u7684\u65b9\u6cd5\u8bba\uff0c\u6e17\u900f\u6d4b\u8bd5\u4e0e\u7f51\u7edc\u5165\u4fb5\u7684\u533a\u522b\u4e0e\u8054\u7cfb\u3002 7\uff0eWeb \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1aSQL\u6ce8\u5165\u3001XSS\u3001CSRF\u3001\u53e3\u4ee4\u7834\u89e3\u3001HTTP\u534f\u8bae\u8c03\u8bd5\u65b9\u6cd5\u3002 8\uff0e\u9632\u706b\u5899\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u9632\u706b\u5899\u7684\u57fa\u672c\u539f\u7406\u3001\u9632\u706b\u5899\u6280\u672f\u53d1\u5c55\u53f2\u3001\u5178\u578b\u9632\u706b\u5899\u914d\u7f6e\u5b9e\u9a8c\u3002 9\uff0e\u5165\u4fb5\u68c0\u6d4b\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5165\u4fb5\u68c0\u6d4b\u7684\u57fa\u672c\u539f\u7406\u3001\u5165\u4fb5\u68c0\u6d4b\u6280\u672f\u53d1\u5c55\u53f2\u3002 10\uff0e\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5e38\u89c1\u5e94\u7528\u7a0b\u5e8f\u914d\u7f6e\u7f3a\u9677\u3001\u5e94\u7528\u9632\u706b\u5899\u914d\u7f6e\u3001WEB\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa\u3002 11\uff0e\u871c\u7f50\u548c\u871c\u7f51\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u871c\u7f50\u548c\u871c\u7f51\u7684\u57fa\u672c\u539f\u7406\u3001\u871c\u7f50\u548c\u871c\u7f51\u53d1\u5c55\u53f2\u3002 12\uff0e\u8ba1\u7b97\u673a\u53d6\u8bc1\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8ba1\u7b97\u673a\u53d6\u8bc1\u7684\u57fa\u672c\u539f\u7406\u3001\u7f51\u7edc\u6d41\u91cf\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u65e5\u5fd7\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u76d1\u63a7\u5de5\u5177\u7684\u53d6\u8bc1\u5e94\u7528\u3002 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u793e\u4ea4\u7f51\u7edc\u9493\u9c7c\u3001\u7535\u4fe1\u8bc8\u9a97\u4e0e\u9632\u8303\u3001\u5927\u6570\u636e\u5e94\u7528\u4e0e\u9690\u79c1\u4fdd\u62a4\u3002","title":"\u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d"},{"location":"ns/2021/index.html#_6","text":"\u5728\u7ebf\u8bfe\u672c | \u5728\u7ebf\u8bfe\u672c\u5907\u7528\u955c\u50cf\u7ad9\u70b9 Gitee\uff08\u56fd\u5185\u7528\u6237\u8bbf\u95ee\u63a8\u8350\uff09 \u5728\u7ebf\u8bfe\u4ef6 | \u5728\u7ebf\u8bfe\u4ef6\u5907\u7528\u955c\u50cf\u7ad9\u70b9 Gitee\uff08\u56fd\u5185\u7528\u6237\u8bbf\u95ee\u63a8\u8350\uff09 \u6388\u8bfe\u89c6\u9891\u56de\u653e \u671f\u672b\u8bd5\u9898\u6837\u672c.docx","title":"\u5728\u7ebf\u8bfe\u4ef6\u548c\u6388\u8bfe\u89c6\u9891\u56de\u653e"},{"location":"ns/2021/index.html#_7","text":"H1 \u865a\u62df\u7f51\u7edc\u914d\u7f6e\u5b9e\u9a8c\uff1a\u865a\u62df\u673a\u8f6f\u4ef6Virtualbox\u76845\u79cd\u7f51\u7edc\u6a21\u5f0f\u7684\u533a\u522b\u3001\u5e94\u7528\u573a\u666f\uff0c\u591a\u865a\u62df\u7f51\u5361\u7684\u5e94\u7528\uff1b\uff082\u5b66\u65f6\uff09 H4 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u4f7f\u7528ettercap\u3001tcpdump\u8fdb\u884c\u7f51\u7edc\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H4 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1awireshark\u8fdb\u884c\u7f51\u7edc\u76d1\u542c\u3001\u6d41\u91cf\u5206\u6790\u548c\u6d41\u91cf\u8fd8\u539f\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H5 \u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1a\u4f7f\u7528nmap\u8fdb\u884c\u4e3b\u673a\u548c\u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H6 \u7f51\u7edc\u6e17\u900f\u5b9e\u9a8c\uff1a\u4fe1\u606f\u6536\u96c6\u5de5\u5177\uff08\u641c\u7d22\u5f15\u64ce\u3001whois\u3001\u793e\u4ea4\u7f51\u7edc\u641c\u7d22\u5de5\u5177\u7b49\uff09\u7684\u4f7f\u7528\uff0c\u4e86\u89e3metasploit\u7684\u57fa\u672c\u4f7f\u7528\uff1b\uff082\u5b66\u65f6\uff09 H7 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u57fa\u4e8eWebGoat\u8bad\u7ec3\u5e73\u53f0\uff0c\u8fdb\u884cSQL\u6ce8\u5165\u3001XSS\u7b49WEB\u6f0f\u6d1e\u7684\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 H7 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u57fa\u4e8e\u771f\u5b9eWeb\u5e94\u7528\uff0c\u8fdb\u884c\u6f0f\u6d1e\u6316\u6398\u548c\u6f0f\u6d1e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 H8 \u9632\u706b\u5899\u5b9e\u9a8c\uff1aiptables\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 H9 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1asnort/bro\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 H10 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u914d\u7f6e\u4e0e\u52a0\u56fa(fail2ban)\uff1b\uff082\u5b66\u65f6\uff09 H11 \u871c\u7f50\u5b9e\u9a8c\uff1apython scapy\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H12 \u5165\u4fb5\u53d6\u8bc1\u5b9e\u9a8c\uff1a\u7efc\u5408snort\u3001\u7cfb\u7edf\u65e5\u5fd7\u3001\u5e94\u7528\u7a0b\u5e8f\u65e5\u5fd7\u3001wireshark\u6293\u5305\u7b49\u5de5\u5177\u548c\u65b9\u6cd5\uff0c\u53d1\u73b0\u653b\u51fb\u6e90\u3001\u91cd\u5efa\u653b\u51fb\u573a\u666f\u548c\u8fc7\u7a0b\u3002\uff082\u5b66\u65f6\uff09 H13 \u7f51\u7edc\u5b89\u5168\u7efc\u5408\u5b9e\u9a8c\uff1a\u5f00\u6e90\u4fe1\u606f\u7cfb\u7edf\u642d\u5efa\u3001\u52a0\u56fa\u4e0e\u6f0f\u6d1e\u653b\u9632\uff1b\uff084\u5b66\u65f6\uff09","title":"\u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282"},{"location":"ns/2021/index.html#_8","text":"\u65e0","title":"\u4e94\u3001\u5efa\u8bae\u6559\u6750"},{"location":"ns/2021/index.html#_9","text":"\u52a0\u5dde\u5927\u5b66\u5723\u5730\u4e9a\u54e5\u5206\u6821\u7684\u4fe1\u606f\u5b89\u5168\u8bfe\u7a0b \u65af\u5766\u798f\u5927\u5b66\u7684\u7f51\u7edc\u7a7a\u95f4\u5168\u4e2d\u7684\u6570\u636e\u6316\u6398\uff1aCS 259D Data Mining for Cyber Security Autumn 2014 illinois\u5927\u5b66\u7684\u7f51\u7edc\u5b89\u5168\u8bfe\u7a0b \u504f\u7cfb\u7edf\u548c\u7f51\u7edc\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u89c6\u9891\u8bfe\u7a0b\uff08\u90e8\u5206\u8bfe\u7a0b\u5b8c\u5168\u514d\u8d39\uff09 \u504fWeb\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u8bfe\u7a0b\uff08\u5b9e\u9a8c\u73af\u5883\u53ef\u4e0b\u8f7d\uff09","title":"\u516d\u3001\u53c2\u8003\u8d44\u6599"},{"location":"ns/2021/calendar.html","text":"2021 \u79cb\u6559\u5b66\u65e5\u5386 \u7b2c\u4e00\u6b21\u4e0a\u8bfe\u524d\u51c6\u5907 \u5728\u81ea\u5df1\u7684 Virtualbox \u865a\u62df\u673a\u91cc\u4e0b\u8f7d\u5e76\u5b89\u88c5\u6700\u65b0\u7248 Kali \u6821\u56ed\u7f51\u4e13\u5c5e ova \u4e0b\u8f7d\u955c\u50cf\u94fe\u63a5 \u5728\u81ea\u5df1\u7684 Virtualbox \u865a\u62df\u673a\u91cc\u4e0b\u8f7d\u5e76\u5bfc\u5165 Debian 10 \u548c Windows XP SP3 \u3010\u6ce8\u610f\uff1a\u6b64\u5904\u94fe\u63a5\u4ec5\u9650 \u6821\u56ed\u7f51 \u53ef\u8bbf\u95ee\u3011 \u5982\u679c\u65e0\u6cd5\u4e0b\u8f7d\u6b64\u5904 2 \u4e2a\u94fe\u63a5\u6216\u94fe\u63a5\u5931\u6548\uff0c\u8bf7\u81ea\u884c\u4e0b\u8f7d\u5bf9\u5e94\u7684\u7cfb\u7edf\u955c\u50cf\u5e76\u81ea\u884c\u5b89\u88c5 Windows XP SP3 \u955c\u50cf\u7684 SHA1 \u503c\uff1a d142469d0c3953d8e4a6a490a58052ef52837f0f Tip: 6crcc \ud83d\udc36 Debian 10 \u5bf9\u5e94\u7248\u672c\u4ee3\u53f7 Buster \u7b2c 1 \u5468 \u7ebf\u4e0b\u8bfe (1/9) \u8bfe\u7a0b\u7b80\u4ecb \u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840 \u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff08\u5b9e\u9a8c\uff09 \u7b2c 2 \u5468 \u7ebf\u4e0a\u8bfe [1/7] \u7b2c\u4e8c\u7ae0 \u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528 \u7b2c\u4e09\u7ae0 \u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840 \u5b8c\u6210\u4ece P1 ~ P6 \u5171\u8ba1 6 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c 3 \u5468 \u7ebf\u4e0a\u8bfe [2/7] \u7b2c\u4e09\u7ae0 \u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840 \u5b8c\u6210\u4ece P7 ~ P9 \u5171\u8ba1 3 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u56db\u7ae0 \u7f51\u7edc\u76d1\u542c \u7b2c 4 \u5468 \u7ebf\u4e0b\u8bfe (2/9) \u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf \u7b2c\u56db\u7ae0 \u7f51\u7edc\u76d1\u542c\uff08\u5b9e\u9a8c\uff09 \u7b2c 5 \u5468 \u7ebf\u4e0a\u8bfe [3/7] \u7b2c\u516d\u7ae0 \u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f \u7b2c 6 \u5468 \u7ebf\u4e0b\u8bfe (3/9) \u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf \uff08\u5b9e\u9a8c\uff09 \u7b2c\u516d\u7ae0 \u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f \uff08\u5b9e\u9a8c) \u7b2c 7 \u5468 \u7ebf\u4e0a\u8bfe [4/7] \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e0a\uff09 \u5b8c\u6210\u4ece P1 ~ P12 \u5171\u8ba1 12 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c 8 \u5468 \u7ebf\u4e0b\u8bfe (4/9) \u5df2\u5b66\u4e60\u5185\u5bb9\u7b54\u7591\u89e3\u60d1 \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e2d\uff09 \u5b8c\u6210\u4ece P13 ~ P25 \u5171\u8ba1 13 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c 9 \u5468 \u7ebf\u4e0b\u8bfe (5/9) \u5df2\u5b66\u4e60\u5185\u5bb9\u7b54\u7591\u89e3\u60d1 \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e0b\uff09 \u5b8c\u6210\u4ece P26 ~ P40 \u5171\u8ba1 15 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c 10 \u5468 \u7ebf\u4e0a\u8bfe [5/7] \u7b2c\u516b\u7ae0 \u9632\u706b\u5899 \u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \u5b8c\u6210\u4ece P1 ~ P4 \u5171\u8ba1 4 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c 11 \u5468 \u7ebf\u4e0b\u8bfe (6/9) \u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \u5b8c\u6210\u4ece P5 ~ P13 \u5171\u8ba1 9 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u516b\u7ae0 \u9632\u706b\u5899 \uff08\u5b9e\u9a8c\uff09 \u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \uff08\u5b9e\u9a8c\uff09 \u7b2c 12 \u5468 \u7ebf\u4e0a\u8bfe [6/7] \u7b2c\u5341\u7ae0 \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \u5b8c\u6210\u4ece P1 ~ P8 \u5171\u8ba1 8 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c 13 \u5468 \u7ebf\u4e0b\u8bfe (7/9) \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \u5b8c\u6210\u4ece P9 ~ P14 \u5171\u8ba1 6 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u5341\u7ae0 \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa \uff08\u5b9e\u9a8c\uff09 \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \uff08\u5b9e\u9a8c\uff09 \u7b2c 14 \u5468 \u7ebf\u4e0a\u8bfe [7/7] \u7b2c\u5341\u4e8c\u7ae0 \u8ba1\u7b97\u673a\u53d6\u8bc1 \u7b2c\u5341\u4e09\u7ae0 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff08\u4e0a\uff09 \u5b8c\u6210\u4ece P1 ~ P8 \u5171\u8ba1 8 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c 15 \u5468 \u7ebf\u4e0b\u8bfe (8/9) \u7b2c\u5341\u4e09\u7ae0 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff08\u4e0b\uff09 \u5b8c\u6210\u4ece P9 ~ P15 \u5171\u8ba1 7 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u5341\u4e8c\u7ae0 \u8ba1\u7b97\u673a\u53d6\u8bc1 \uff08\u5b9e\u9a8c\uff09 \u7b2c 16 \u5468 \u7ebf\u4e0b\u8bfe (9/9) \u7f51\u7edc\u5b89\u5168\u7efc\u5408\u5b9e\u9a8c\uff1a\u5f00\u6e90\u4fe1\u606f\u7cfb\u7edf\u642d\u5efa\u3001\u52a0\u56fa\u4e0e\u6f0f\u6d1e\u653b\u9632","title":"2021 \u79cb\u6559\u5b66\u65e5\u5386"},{"location":"ns/2021/calendar.html#2021","text":"","title":"2021 \u79cb\u6559\u5b66\u65e5\u5386"},{"location":"ns/2021/calendar.html#_1","text":"\u5728\u81ea\u5df1\u7684 Virtualbox \u865a\u62df\u673a\u91cc\u4e0b\u8f7d\u5e76\u5b89\u88c5\u6700\u65b0\u7248 Kali \u6821\u56ed\u7f51\u4e13\u5c5e ova \u4e0b\u8f7d\u955c\u50cf\u94fe\u63a5 \u5728\u81ea\u5df1\u7684 Virtualbox \u865a\u62df\u673a\u91cc\u4e0b\u8f7d\u5e76\u5bfc\u5165 Debian 10 \u548c Windows XP SP3 \u3010\u6ce8\u610f\uff1a\u6b64\u5904\u94fe\u63a5\u4ec5\u9650 \u6821\u56ed\u7f51 \u53ef\u8bbf\u95ee\u3011 \u5982\u679c\u65e0\u6cd5\u4e0b\u8f7d\u6b64\u5904 2 \u4e2a\u94fe\u63a5\u6216\u94fe\u63a5\u5931\u6548\uff0c\u8bf7\u81ea\u884c\u4e0b\u8f7d\u5bf9\u5e94\u7684\u7cfb\u7edf\u955c\u50cf\u5e76\u81ea\u884c\u5b89\u88c5 Windows XP SP3 \u955c\u50cf\u7684 SHA1 \u503c\uff1a d142469d0c3953d8e4a6a490a58052ef52837f0f Tip: 6crcc \ud83d\udc36 Debian 10 \u5bf9\u5e94\u7248\u672c\u4ee3\u53f7 Buster","title":"\u7b2c\u4e00\u6b21\u4e0a\u8bfe\u524d\u51c6\u5907"},{"location":"ns/2021/calendar.html#1-19","text":"\u8bfe\u7a0b\u7b80\u4ecb \u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840 \u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff08\u5b9e\u9a8c\uff09","title":"\u7b2c 1 \u5468 \u7ebf\u4e0b\u8bfe (1/9)"},{"location":"ns/2021/calendar.html#2-17","text":"\u7b2c\u4e8c\u7ae0 \u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528 \u7b2c\u4e09\u7ae0 \u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840 \u5b8c\u6210\u4ece P1 ~ P6 \u5171\u8ba1 6 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60","title":"\u7b2c 2 \u5468 \u7ebf\u4e0a\u8bfe [1/7]"},{"location":"ns/2021/calendar.html#3-27","text":"\u7b2c\u4e09\u7ae0 \u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840 \u5b8c\u6210\u4ece P7 ~ P9 \u5171\u8ba1 3 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u56db\u7ae0 \u7f51\u7edc\u76d1\u542c","title":"\u7b2c 3 \u5468 \u7ebf\u4e0a\u8bfe [2/7]"},{"location":"ns/2021/calendar.html#4-29","text":"\u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf \u7b2c\u56db\u7ae0 \u7f51\u7edc\u76d1\u542c\uff08\u5b9e\u9a8c\uff09","title":"\u7b2c 4 \u5468 \u7ebf\u4e0b\u8bfe (2/9)"},{"location":"ns/2021/calendar.html#5-37","text":"\u7b2c\u516d\u7ae0 \u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f","title":"\u7b2c 5 \u5468 \u7ebf\u4e0a\u8bfe [3/7]"},{"location":"ns/2021/calendar.html#6-39","text":"\u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf \uff08\u5b9e\u9a8c\uff09 \u7b2c\u516d\u7ae0 \u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f \uff08\u5b9e\u9a8c)","title":"\u7b2c 6 \u5468 \u7ebf\u4e0b\u8bfe (3/9)"},{"location":"ns/2021/calendar.html#7-47","text":"\u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e0a\uff09 \u5b8c\u6210\u4ece P1 ~ P12 \u5171\u8ba1 12 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60","title":"\u7b2c 7 \u5468 \u7ebf\u4e0a\u8bfe [4/7]"},{"location":"ns/2021/calendar.html#8-49","text":"\u5df2\u5b66\u4e60\u5185\u5bb9\u7b54\u7591\u89e3\u60d1 \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e2d\uff09 \u5b8c\u6210\u4ece P13 ~ P25 \u5171\u8ba1 13 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60","title":"\u7b2c 8 \u5468 \u7ebf\u4e0b\u8bfe (4/9)"},{"location":"ns/2021/calendar.html#9-59","text":"\u5df2\u5b66\u4e60\u5185\u5bb9\u7b54\u7591\u89e3\u60d1 \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e0b\uff09 \u5b8c\u6210\u4ece P26 ~ P40 \u5171\u8ba1 15 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60","title":"\u7b2c 9 \u5468 \u7ebf\u4e0b\u8bfe (5/9)"},{"location":"ns/2021/calendar.html#10-57","text":"\u7b2c\u516b\u7ae0 \u9632\u706b\u5899 \u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \u5b8c\u6210\u4ece P1 ~ P4 \u5171\u8ba1 4 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60","title":"\u7b2c 10 \u5468 \u7ebf\u4e0a\u8bfe [5/7]"},{"location":"ns/2021/calendar.html#11-69","text":"\u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \u5b8c\u6210\u4ece P5 ~ P13 \u5171\u8ba1 9 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u516b\u7ae0 \u9632\u706b\u5899 \uff08\u5b9e\u9a8c\uff09 \u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \uff08\u5b9e\u9a8c\uff09","title":"\u7b2c 11 \u5468 \u7ebf\u4e0b\u8bfe (6/9)"},{"location":"ns/2021/calendar.html#12-67","text":"\u7b2c\u5341\u7ae0 \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \u5b8c\u6210\u4ece P1 ~ P8 \u5171\u8ba1 8 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60","title":"\u7b2c 12 \u5468 \u7ebf\u4e0a\u8bfe [6/7]"},{"location":"ns/2021/calendar.html#13-79","text":"\u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \u5b8c\u6210\u4ece P9 ~ P14 \u5171\u8ba1 6 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u5341\u7ae0 \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa \uff08\u5b9e\u9a8c\uff09 \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \uff08\u5b9e\u9a8c\uff09","title":"\u7b2c 13 \u5468 \u7ebf\u4e0b\u8bfe (7/9)"},{"location":"ns/2021/calendar.html#14-77","text":"\u7b2c\u5341\u4e8c\u7ae0 \u8ba1\u7b97\u673a\u53d6\u8bc1 \u7b2c\u5341\u4e09\u7ae0 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff08\u4e0a\uff09 \u5b8c\u6210\u4ece P1 ~ P8 \u5171\u8ba1 8 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60","title":"\u7b2c 14 \u5468 \u7ebf\u4e0a\u8bfe [7/7]"},{"location":"ns/2021/calendar.html#15-89","text":"\u7b2c\u5341\u4e09\u7ae0 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff08\u4e0b\uff09 \u5b8c\u6210\u4ece P9 ~ P15 \u5171\u8ba1 7 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u5341\u4e8c\u7ae0 \u8ba1\u7b97\u673a\u53d6\u8bc1 \uff08\u5b9e\u9a8c\uff09","title":"\u7b2c 15 \u5468 \u7ebf\u4e0b\u8bfe (8/9)"},{"location":"ns/2021/calendar.html#16-99","text":"\u7f51\u7edc\u5b89\u5168\u7efc\u5408\u5b9e\u9a8c\uff1a\u5f00\u6e90\u4fe1\u606f\u7cfb\u7edf\u642d\u5efa\u3001\u52a0\u56fa\u4e0e\u6f0f\u6d1e\u653b\u9632","title":"\u7b2c 16 \u5468 \u7ebf\u4e0b\u8bfe (9/9)"},{"location":"ns/2021/homework.html","text":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219 \u603b\u6210\u7ee9\u6784\u6210 \u7b49\u7ea7\u6210\u7ee9\u7c7b\u578b\uff1a\u767e\u5206\u5236 \u603b\u6210\u7ee9 = \u5e73\u65f6\u6210\u7ee9 \u7cfb\u6570 20% + \u671f\u672b\u6210\u7ee9 \u7cfb\u6570 60% + \u8003\u52e4\u6210\u7ee9 \u7cfb\u6570 10% + \u7ebf\u4e0a\u6210\u7ee9 \u7cfb\u6570 10% \u603b\u6210\u7ee9\u8bc4\u5b9a\u89c4\u5219 \u8be6\u89c1 \u5728\u7ebf\u6210\u7ee9\u8ba1\u7b97\u5668 \u4e2d\u7684\u793a\u4f8b\u6570\u636e\u548c\u5177\u4f53\u5355\u5143\u683c\u7684\u8ba1\u7b97\u516c\u5f0f \u5b9e\u9a8c\u62a5\u544a\u603b\u5206 \u603b\u5206 \u5b9e\u9a8c\u62a5\u544a\u8981\u6c42\u7ee7\u627f\u4e0a\u5b66\u671f \u300aLinux \u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406\u300b\u8bfe\u7a0b\u7684\u5b9e\u9a8c\u62a5\u544a\u8981\u6c42 \u5e73\u65f6\u6210\u7ee9 \u5e73\u65f6\u6210\u7ee9 \u6ee1\u5206\u6309\u7167 100 \u5206\u8ba1\u7b97\u3002 \u6821\u5185 CTF \u5e73\u53f0 \u5f97\u5206\u9664\u4ee5 10 \u5bf9\u5e94 \u5e73\u65f6\u6210\u7ee9 \u3002\u4f8b\u5982\uff0c\u5e73\u53f0\u4e0a\u62ff\u5230 600 \u5206\u5bf9\u5e94\u5e73\u65f6\u6210\u7ee9 60 \u5206\u3002 \u5e73\u53f0\u5f97\u5206\u7ecf\u8fc7\u6298\u7b97\u540e\uff0c\u8d85\u8fc7 100 \u5206\u5747\u6309 \u5e73\u65f6\u6210\u7ee9 \u6ee1\u5206\u8bb0\u5f55\u3002 \u6821\u5185 CTF \u5e73\u53f0 \u4e0a\u90e8\u5206\u9898\u76ee\u91c7\u7528 \u52a8\u6001\u8ba1\u5206 \uff1a\u8bbe\u7f6e\u52a8\u6001\u5206\u6570\u4e0a\u9650\u548c\u4e0b\u9650\uff1b\u6bcf\u589e\u52a0\u4e00\u4eba\u89e3\u51fa\u9898\u76ee\uff0c\u9898\u76ee\u5206\u503c\u52a8\u6001\u51cf\u5c11\uff1b\u5f53\u89e3\u9898\u4eba\u6570\u8fbe\u5230\u9898\u76ee\u8bbe\u7f6e\u7684\u4e0a\u9650\u540e\uff0c\u9898\u76ee\u5206\u503c\u505c\u6b62\u5728\u52a8\u6001\u5206\u503c\u4e0b\u9650\u4e0d\u518d\u53d8\u5316\u3002 \u5e73\u65f6\u6210\u7ee9 \u8ba1\u7b97\u622a\u6b62\u65f6\u95f4\u4e3a\u8003\u8bd5\u5468\u524d\u4e00\u5929\u665a\u4e0a 23:59:59 \u3002 \u6240\u6709 CTF WriteUp \u63d0\u4ea4\u5230 \u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u72ec\u7acb\u76ee\u5f55\u4e0b\uff0c\u6bcf\u9053\u5f97\u5206\u9898\u5747\u9700\u914d\u5957 WriteUp \uff1b\u7f3a\u5c11\u914d\u5957 WriteUp \u5219\u5bf9\u5e94\u9898\u76ee\u5f97\u5206\u53ef\u80fd\u88ab\u89c6\u4e3a\u65e0\u6548\u3002 ctf.cuc.edu.cn \u4ec5\u9650\u6821\u56ed\u7f51\u8bbf\u95ee\u7684 \u6821\u5185 CTF \u5e73\u53f0 http://ctf.cuc.edu.cn \uff0c\u4ee5\u4e0b\u662f\u8bbf\u95ee\u524d\u914d\u7f6e\u6b65\u9aa4\uff1a \u5c06\u4f60\u7535\u8111\u7684 DNS \u8bbe\u7f6e\u91cc\uff0c\u6dfb\u52a0 202.205.24.196 \u4e3a\u57df\u540d\u89e3\u6790\u670d\u52a1\u5668\uff0c\u5e76\u786e\u4fdd\u6392\u5728 \u7b2c\u4e00\u4f4d \u3002 \u7528\u6d4f\u89c8\u5668\u8bbf\u95ee http://ctf.cuc.edu.cn \uff0c\u4f7f\u7528 @cuc.edu.cn \u90ae\u7bb1\u6ce8\u518c\u8d26\u53f7\u4f7f\u7528\u3002 \u5982\u679c\u4ee5\u4e0a\u914d\u7f6e\u65b9\u6cd5\u9047\u5230\u8bbf\u95ee\u95ee\u9898\uff0c\u4e5f\u53ef\u4ee5\u5c06\u4ee5\u4e0b\u9759\u6001\u7684\u57df\u540d\u548c IP \u5730\u5740\u5bf9\u5e94\u5173\u7cfb\u4fdd\u5b58\u5230\u7cfb\u7edf\u7684 hosts \u6587\u4ef6\u3002\u4f46\u8fd9\u79cd\u9759\u6001\u914d\u7f6e\u65b9\u6cd5\u5c06\u65e0\u6cd5\u8bbf\u95ee\u7cfb\u7edf\u4e2d\u7684\u52a8\u6001\u57df\u540d\u9776\u673a\u73af\u5883\uff0c\u6545\u63a8\u8350\u4f7f\u7528\u4e0a\u8ff0\u914d\u7f6e\u57df\u540d\u89e3\u6790\u670d\u52a1\u5668\u7684\u65b9\u5f0f\u6765\u8bbf\u95ee\u6211\u4eec\u7684 \u6821\u5185 CTF \u5e73\u53f0 \u3002 202.205.24.196 ctf . cuc . edu . cn 202.205.24.196 legacy . ctf . cuc . edu . cn \u671f\u672b\u6210\u7ee9 \u6240\u6709\u5b9e\u9a8c\u62a5\u544a\u5f97\u5206\u4e4b\u548c\u6784\u6210\u671f\u672b\u6210\u7ee9\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e00\uff1a\u7b2c\u4e00\u7ae0\u3001\u7b2c\u4e94\u7ae0\u3001\u7b2c\u4e03\u7ae0\u3001\u7b2c\u5341\u4e00\u7ae0\u8bfe\u540e\u5b9e\u9a8c\u62a5\u544a \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e8c\uff1a\u7b2c\u4e8c\u7ae0\u3001\u7b2c\u4e09\u7ae0\u3001\u7b2c\u56db\u7ae0\u3001\u7b2c\u516b\u7ae0\u3001\u7b2c\u4e5d\u7ae0\u3001\u7b2c\u5341\u7ae0\u548c\u7b2c\u5341\u4e8c\u7ae0\u8bfe\u540e\u5b9e\u9a8c\u62a5\u544a\u81f3\u5c11\u4efb\u9009\u5176\u4e8c \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e00\u5f97\u5206\u5360\u6bd4 80%\uff0c\u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e8c\u5f97\u5206\u5360\u6bd4 20% \u8003\u52e4\u6210\u7ee9 \u7ebf\u4e0b\u8bfe\u4e00\u5171 9 \u6b21\uff0c\u6bcf\u6b21\u6b63\u5e38\u8003\u52e4\u8bb0 10 \u5206\uff0c\u5168\u52e4\u52a0 10 \u5206\u3002 \u8fdf\u5230\u534a\u5c0f\u65f6\u4ee5\u5185\u8bb0\u8003\u52e4 8 \u5206\u3002 \u65e9\u9000\u6bcf\u6ee1 10 \u5206\u949f\u6216\u4e0d\u8db3 10 \u5206\u949f\uff0c\u5747\u6263\u8003\u52e4 1 \u5206\u3002\u6263\u5230 0 \u5206\u4e3a\u6b62\u3002 \u7f3a\u52e4\u8bb0 0 \u5206\u3002 \u7ebf\u4e0a\u6210\u7ee9 \u6155\u8bfe\u5e73\u53f0\u4e0a\u5355\u5143\u6d4b\u8bd5\u6210\u7ee9\u4e4b\u548c\uff0c\u6309\u6ee1\u5206 100 \u5206\u8fdb\u884c\u7b49\u6bd4\u4f8b\u6298\u7b97\u3002","title":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219"},{"location":"ns/2021/homework.html#_1","text":"","title":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219"},{"location":"ns/2021/homework.html#_2","text":"\u7b49\u7ea7\u6210\u7ee9\u7c7b\u578b\uff1a\u767e\u5206\u5236 \u603b\u6210\u7ee9 = \u5e73\u65f6\u6210\u7ee9 \u7cfb\u6570 20% + \u671f\u672b\u6210\u7ee9 \u7cfb\u6570 60% + \u8003\u52e4\u6210\u7ee9 \u7cfb\u6570 10% + \u7ebf\u4e0a\u6210\u7ee9 \u7cfb\u6570 10%","title":"\u603b\u6210\u7ee9\u6784\u6210"},{"location":"ns/2021/homework.html#_3","text":"\u8be6\u89c1 \u5728\u7ebf\u6210\u7ee9\u8ba1\u7b97\u5668 \u4e2d\u7684\u793a\u4f8b\u6570\u636e\u548c\u5177\u4f53\u5355\u5143\u683c\u7684\u8ba1\u7b97\u516c\u5f0f \u5b9e\u9a8c\u62a5\u544a\u603b\u5206 \u603b\u5206 \u5b9e\u9a8c\u62a5\u544a\u8981\u6c42\u7ee7\u627f\u4e0a\u5b66\u671f \u300aLinux \u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406\u300b\u8bfe\u7a0b\u7684\u5b9e\u9a8c\u62a5\u544a\u8981\u6c42","title":"\u603b\u6210\u7ee9\u8bc4\u5b9a\u89c4\u5219"},{"location":"ns/2021/homework.html#_4","text":"\u5e73\u65f6\u6210\u7ee9 \u6ee1\u5206\u6309\u7167 100 \u5206\u8ba1\u7b97\u3002 \u6821\u5185 CTF \u5e73\u53f0 \u5f97\u5206\u9664\u4ee5 10 \u5bf9\u5e94 \u5e73\u65f6\u6210\u7ee9 \u3002\u4f8b\u5982\uff0c\u5e73\u53f0\u4e0a\u62ff\u5230 600 \u5206\u5bf9\u5e94\u5e73\u65f6\u6210\u7ee9 60 \u5206\u3002 \u5e73\u53f0\u5f97\u5206\u7ecf\u8fc7\u6298\u7b97\u540e\uff0c\u8d85\u8fc7 100 \u5206\u5747\u6309 \u5e73\u65f6\u6210\u7ee9 \u6ee1\u5206\u8bb0\u5f55\u3002 \u6821\u5185 CTF \u5e73\u53f0 \u4e0a\u90e8\u5206\u9898\u76ee\u91c7\u7528 \u52a8\u6001\u8ba1\u5206 \uff1a\u8bbe\u7f6e\u52a8\u6001\u5206\u6570\u4e0a\u9650\u548c\u4e0b\u9650\uff1b\u6bcf\u589e\u52a0\u4e00\u4eba\u89e3\u51fa\u9898\u76ee\uff0c\u9898\u76ee\u5206\u503c\u52a8\u6001\u51cf\u5c11\uff1b\u5f53\u89e3\u9898\u4eba\u6570\u8fbe\u5230\u9898\u76ee\u8bbe\u7f6e\u7684\u4e0a\u9650\u540e\uff0c\u9898\u76ee\u5206\u503c\u505c\u6b62\u5728\u52a8\u6001\u5206\u503c\u4e0b\u9650\u4e0d\u518d\u53d8\u5316\u3002 \u5e73\u65f6\u6210\u7ee9 \u8ba1\u7b97\u622a\u6b62\u65f6\u95f4\u4e3a\u8003\u8bd5\u5468\u524d\u4e00\u5929\u665a\u4e0a 23:59:59 \u3002 \u6240\u6709 CTF WriteUp \u63d0\u4ea4\u5230 \u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u72ec\u7acb\u76ee\u5f55\u4e0b\uff0c\u6bcf\u9053\u5f97\u5206\u9898\u5747\u9700\u914d\u5957 WriteUp \uff1b\u7f3a\u5c11\u914d\u5957 WriteUp \u5219\u5bf9\u5e94\u9898\u76ee\u5f97\u5206\u53ef\u80fd\u88ab\u89c6\u4e3a\u65e0\u6548\u3002","title":"\u5e73\u65f6\u6210\u7ee9"},{"location":"ns/2021/homework.html#ctfcuceducn","text":"\u4ec5\u9650\u6821\u56ed\u7f51\u8bbf\u95ee\u7684 \u6821\u5185 CTF \u5e73\u53f0 http://ctf.cuc.edu.cn \uff0c\u4ee5\u4e0b\u662f\u8bbf\u95ee\u524d\u914d\u7f6e\u6b65\u9aa4\uff1a \u5c06\u4f60\u7535\u8111\u7684 DNS \u8bbe\u7f6e\u91cc\uff0c\u6dfb\u52a0 202.205.24.196 \u4e3a\u57df\u540d\u89e3\u6790\u670d\u52a1\u5668\uff0c\u5e76\u786e\u4fdd\u6392\u5728 \u7b2c\u4e00\u4f4d \u3002 \u7528\u6d4f\u89c8\u5668\u8bbf\u95ee http://ctf.cuc.edu.cn \uff0c\u4f7f\u7528 @cuc.edu.cn \u90ae\u7bb1\u6ce8\u518c\u8d26\u53f7\u4f7f\u7528\u3002 \u5982\u679c\u4ee5\u4e0a\u914d\u7f6e\u65b9\u6cd5\u9047\u5230\u8bbf\u95ee\u95ee\u9898\uff0c\u4e5f\u53ef\u4ee5\u5c06\u4ee5\u4e0b\u9759\u6001\u7684\u57df\u540d\u548c IP \u5730\u5740\u5bf9\u5e94\u5173\u7cfb\u4fdd\u5b58\u5230\u7cfb\u7edf\u7684 hosts \u6587\u4ef6\u3002\u4f46\u8fd9\u79cd\u9759\u6001\u914d\u7f6e\u65b9\u6cd5\u5c06\u65e0\u6cd5\u8bbf\u95ee\u7cfb\u7edf\u4e2d\u7684\u52a8\u6001\u57df\u540d\u9776\u673a\u73af\u5883\uff0c\u6545\u63a8\u8350\u4f7f\u7528\u4e0a\u8ff0\u914d\u7f6e\u57df\u540d\u89e3\u6790\u670d\u52a1\u5668\u7684\u65b9\u5f0f\u6765\u8bbf\u95ee\u6211\u4eec\u7684 \u6821\u5185 CTF \u5e73\u53f0 \u3002 202.205.24.196 ctf . cuc . edu . cn 202.205.24.196 legacy . ctf . cuc . edu . cn","title":"ctf.cuc.edu.cn"},{"location":"ns/2021/homework.html#_5","text":"\u6240\u6709\u5b9e\u9a8c\u62a5\u544a\u5f97\u5206\u4e4b\u548c\u6784\u6210\u671f\u672b\u6210\u7ee9\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e00\uff1a\u7b2c\u4e00\u7ae0\u3001\u7b2c\u4e94\u7ae0\u3001\u7b2c\u4e03\u7ae0\u3001\u7b2c\u5341\u4e00\u7ae0\u8bfe\u540e\u5b9e\u9a8c\u62a5\u544a \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e8c\uff1a\u7b2c\u4e8c\u7ae0\u3001\u7b2c\u4e09\u7ae0\u3001\u7b2c\u56db\u7ae0\u3001\u7b2c\u516b\u7ae0\u3001\u7b2c\u4e5d\u7ae0\u3001\u7b2c\u5341\u7ae0\u548c\u7b2c\u5341\u4e8c\u7ae0\u8bfe\u540e\u5b9e\u9a8c\u62a5\u544a\u81f3\u5c11\u4efb\u9009\u5176\u4e8c \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e00\u5f97\u5206\u5360\u6bd4 80%\uff0c\u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e8c\u5f97\u5206\u5360\u6bd4 20%","title":"\u671f\u672b\u6210\u7ee9"},{"location":"ns/2021/homework.html#_6","text":"\u7ebf\u4e0b\u8bfe\u4e00\u5171 9 \u6b21\uff0c\u6bcf\u6b21\u6b63\u5e38\u8003\u52e4\u8bb0 10 \u5206\uff0c\u5168\u52e4\u52a0 10 \u5206\u3002 \u8fdf\u5230\u534a\u5c0f\u65f6\u4ee5\u5185\u8bb0\u8003\u52e4 8 \u5206\u3002 \u65e9\u9000\u6bcf\u6ee1 10 \u5206\u949f\u6216\u4e0d\u8db3 10 \u5206\u949f\uff0c\u5747\u6263\u8003\u52e4 1 \u5206\u3002\u6263\u5230 0 \u5206\u4e3a\u6b62\u3002 \u7f3a\u52e4\u8bb0 0 \u5206\u3002","title":"\u8003\u52e4\u6210\u7ee9"},{"location":"ns/2021/homework.html#_7","text":"\u6155\u8bfe\u5e73\u53f0\u4e0a\u5355\u5143\u6d4b\u8bd5\u6210\u7ee9\u4e4b\u548c\uff0c\u6309\u6ee1\u5206 100 \u5206\u8fdb\u884c\u7b49\u6bd4\u4f8b\u6298\u7b97\u3002","title":"\u7ebf\u4e0a\u6210\u7ee9"},{"location":"ns/2022/index.html","text":"\u7f51\u7edc\u5b89\u5168 \u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u8bfe\u7a0b\u7f16\u53f7\uff1a2121030134 \u82f1\u6587\u540d\u79f0\uff1aComputer Network Security \u6388\u8bfe\u5bf9\u8c61\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u4e13\u4e1a \u5f00\u8bfe\u5b66\u671f\uff1a5 \u5b66\u5206/\u5b66\u65f6\uff1a3/64\uff082020\u7248\u6559\u5b66\u5927\u7eb2\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u5bfc\u8bba\u3001\u8ba1\u7b97\u673a\u7f51\u7edc\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4\u3001Python\u7f16\u7a0b \u6559\u5b66\u65b9\u5f0f\uff1a\u7ebf\u4e0a\u8bfe\u7a0b\u5b66\u4e60\uff0c\u7ebf\u4e0b\u7b54\u7591\u4e0e\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219 \u8bfe\u7a0b\u7b80\u4ecb \u672c\u8bfe\u7a0b\u9488\u5bf9\u7f51\u7edc\u5b89\u5168\u4e2d\u7684\u5173\u952e\u6280\u672f\uff0c\u4ece\u5e94\u7528\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ecb\u7ecd\u7f51\u7edc\u76d1\u542c\u3001\u626b\u63cf\u3001\u5165\u4fb5\u3001\u540e\u95e8\u3001\u9632\u706b\u5899\u548c\u865a\u62df\u4e13\u7528\u7f51\u7b49\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u5e76\u901a\u8fc7\u5b9e\u4f8b\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u5c06\u5b89\u5168\u7406\u8bba\u3001\u5b89\u5168\u6280\u672f\u548c\u5b89\u5168\u5de5\u5177\u6709\u673a\u7ed3\u5408\u3002 \u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42 \u968f\u7740\u4e92\u8054\u7f51\u7684\u53d1\u5c55\u548c\u4fe1\u606f\u5316\u8fdb\u7a0b\u7684\u6df1\u5165\uff0c\u4e92\u8054\u7f51\u548c\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u5b89\u5168\u95ee\u9898\u5df2\u6210\u4e3a\u5404\u56fd\u653f\u5e9c\u6709\u5173\u90e8\u95e8\u3001\u5404\u5927\u884c\u4e1a\u548c\u4f01\u4e8b\u4e1a\u5173\u6ce8\u7684\u70ed\u70b9\u95ee\u9898\uff0c\u5bf9\u7f51\u7edc\u4e0e\u7cfb\u7edf\u5b89\u5168\u4e13\u95e8\u4eba\u624d\u7684\u9700\u6c42\u4e5f\u65e5\u663e\u7a81\u51fa\u3002\u672c\u8bfe\u7a0b\u5168\u9762\u7cfb\u7edf\u5730\u4ecb\u7ecd\u7f51\u7edc\u5b89\u5168\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u7f51\u7edc\u5b89\u5168\u77e5\u8bc6\u548c\u5173\u952e\u6280\u672f\uff0c\u63d0\u9ad8\u5b89\u5168\u610f\u8bc6\uff0c\u589e\u5f3a\u89e3\u51b3\u4e92\u8054\u7f51\u548c\u6570\u5b57\u4f20\u5a92\u7b49\u884c\u4e1a\u4e2d\u7f51\u7edc\u5b89\u5168\u95ee\u9898\u7684\u80fd\u529b\u3002 \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d 1\uff0e\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u5a01\u80c1\u6a21\u578b\u3001\u64cd\u4f5c\u7cfb\u7edf\u7684\u5b89\u5168\u673a\u5236\u3001\u878d\u5408\u7f51\u5b89\u5168\u3001\u7b49\u7ea7\u5b89\u5168\u4fdd\u62a4\u6982\u5ff5\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u6cd5\u89c4\u548c\u9ed1\u5ba2\u5b88\u5219\u3002 2\uff0e\u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8bbf\u95ee\u63a7\u5236\u7406\u8bba\u3001CVSS\u7406\u8bba\u3001\u98ce\u9669\u8bc4\u4f30\u6848\u4f8b\u5206\u6790\u3002 3\uff0e\u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4ee3\u7406\u7684\u5206\u7c7b\u3001\u57fa\u672c\u539f\u7406\u548c\u5de5\u5177\u4f7f\u7528\uff0c\u533f\u540d\u901a\u4fe1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u68c0\u6d4b\u65b9\u6cd5\u3002 4\uff0e\u7f51\u7edc\u76d1\u542c\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u76d1\u542c\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u76d1\u542c\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 5\uff0e\u7f51\u7edc\u626b\u63cf\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u626b\u63cf\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u626b\u63cf\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 6\uff0e\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\u7684\u57fa\u672c\u539f\u7406\u548c\u65b9\u6cd5\uff0c\u6e17\u900f\u6d4b\u8bd5\u7684\u65b9\u6cd5\u8bba\uff0c\u6e17\u900f\u6d4b\u8bd5\u4e0e\u7f51\u7edc\u5165\u4fb5\u7684\u533a\u522b\u4e0e\u8054\u7cfb\u3002 7\uff0eWeb \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1aSQL\u6ce8\u5165\u3001XSS\u3001CSRF\u3001\u53e3\u4ee4\u7834\u89e3\u3001HTTP\u534f\u8bae\u8c03\u8bd5\u65b9\u6cd5\u3002 8\uff0e\u9632\u706b\u5899\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u9632\u706b\u5899\u7684\u57fa\u672c\u539f\u7406\u3001\u9632\u706b\u5899\u6280\u672f\u53d1\u5c55\u53f2\u3001\u5178\u578b\u9632\u706b\u5899\u914d\u7f6e\u5b9e\u9a8c\u3002 9\uff0e\u5165\u4fb5\u68c0\u6d4b\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5165\u4fb5\u68c0\u6d4b\u7684\u57fa\u672c\u539f\u7406\u3001\u5165\u4fb5\u68c0\u6d4b\u6280\u672f\u53d1\u5c55\u53f2\u3002 10\uff0e\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5e38\u89c1\u5e94\u7528\u7a0b\u5e8f\u914d\u7f6e\u7f3a\u9677\u3001\u5e94\u7528\u9632\u706b\u5899\u914d\u7f6e\u3001WEB\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa\u3002 11\uff0e\u871c\u7f50\u548c\u871c\u7f51\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u871c\u7f50\u548c\u871c\u7f51\u7684\u57fa\u672c\u539f\u7406\u3001\u871c\u7f50\u548c\u871c\u7f51\u53d1\u5c55\u53f2\u3002 12\uff0e\u8ba1\u7b97\u673a\u53d6\u8bc1\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8ba1\u7b97\u673a\u53d6\u8bc1\u7684\u57fa\u672c\u539f\u7406\u3001\u7f51\u7edc\u6d41\u91cf\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u65e5\u5fd7\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u76d1\u63a7\u5de5\u5177\u7684\u53d6\u8bc1\u5e94\u7528\u3002 13\uff0e\u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u793e\u4ea4\u7f51\u7edc\u9493\u9c7c\u3001\u7535\u4fe1\u8bc8\u9a97\u4e0e\u9632\u8303\u3001\u5927\u6570\u636e\u5e94\u7528\u4e0e\u9690\u79c1\u4fdd\u62a4\u3002 \u5728\u7ebf\u8bfe\u4ef6\u548c\u6388\u8bfe\u89c6\u9891\u56de\u653e \u5728\u7ebf\u8bfe\u672c \u5728\u7ebf\u8bfe\u4ef6 \u6388\u8bfe\u89c6\u9891\u56de\u653e \u671f\u672b\u8bd5\u9898\u6837\u672c.docx \u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282 H1 \u865a\u62df\u7f51\u7edc\u914d\u7f6e\u5b9e\u9a8c\uff1a\u865a\u62df\u673a\u8f6f\u4ef6Virtualbox\u76845\u79cd\u7f51\u7edc\u6a21\u5f0f\u7684\u533a\u522b\u3001\u5e94\u7528\u573a\u666f\uff0c\u591a\u865a\u62df\u7f51\u5361\u7684\u5e94\u7528\uff0c\u65e0\u6cd5\u4f7f\u7528 Virtualbox \u7684\u540c\u5b66\u53ef\u4ee5\u4f7f\u7528\u5176\u4ed6\u865a\u62df\u5316\u6216\u5bb9\u5668\u89e3\u51b3\u65b9\u6848\u3002\uff082\u5b66\u65f6\uff09 H4 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u4f7f\u7528ettercap\u3001tcpdump\u8fdb\u884c\u7f51\u7edc\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H4 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1awireshark\u8fdb\u884c\u7f51\u7edc\u76d1\u542c\u3001\u6d41\u91cf\u5206\u6790\u548c\u6d41\u91cf\u8fd8\u539f\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H5 \u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1a\u4f7f\u7528nmap/scapy\u8fdb\u884c\u4e3b\u673a\u548c\u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H6 \u7f51\u7edc\u6e17\u900f\u5b9e\u9a8c\uff1a\u4fe1\u606f\u6536\u96c6\u5de5\u5177\uff08\u641c\u7d22\u5f15\u64ce\u3001whois\u3001\u793e\u4ea4\u7f51\u7edc\u641c\u7d22\u5de5\u5177\u7b49\uff09\u7684\u4f7f\u7528\uff0c\u4e86\u89e3metasploit\u7684\u57fa\u672c\u4f7f\u7528\uff1b\uff082\u5b66\u65f6\uff09 H7 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u57fa\u4e8eWebGoat\u7b49\u8bad\u7ec3\u5e73\u53f0\uff0c\u8fdb\u884cSQL\u6ce8\u5165\u3001XSS\u7b49WEB\u6f0f\u6d1e\u7684\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 H7 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u57fa\u4e8e\u771f\u5b9eWeb\u5e94\u7528\uff0c\u8fdb\u884c\u6f0f\u6d1e\u6316\u6398\u548c\u6f0f\u6d1e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 H8 \u9632\u706b\u5899\u5b9e\u9a8c\uff1aiptables\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 H9 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1asnort/zeek\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 H10 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u914d\u7f6e\u4e0e\u52a0\u56fa(fail2ban)\uff1b\uff082\u5b66\u65f6\uff09 H11 \u871c\u7f50\u5b9e\u9a8c\uff1a\u871c\u7f50\u63a2\u7d22\u4f53\u9a8c\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H12 \u5165\u4fb5\u53d6\u8bc1\u5b9e\u9a8c\uff1a\u7efc\u5408snort/zeek\u3001\u7cfb\u7edf\u65e5\u5fd7\u3001\u5e94\u7528\u7a0b\u5e8f\u65e5\u5fd7\u3001wireshark\u6293\u5305\u7b49\u5de5\u5177\u548c\u65b9\u6cd5\uff0c\u53d1\u73b0\u653b\u51fb\u6e90\u3001\u91cd\u5efa\u653b\u51fb\u573a\u666f\u548c\u8fc7\u7a0b\u3002\uff082\u5b66\u65f6\uff09 H13 \u7f51\u7edc\u5b89\u5168\u7efc\u5408\u5b9e\u9a8c\uff1a\u5f00\u6e90\u4fe1\u606f\u7cfb\u7edf\u642d\u5efa\u3001\u52a0\u56fa\u4e0e\u6f0f\u6d1e\u653b\u9632\uff1b\uff084\u5b66\u65f6\uff09 \u4e94\u3001\u5efa\u8bae\u6559\u6750 \u65e0 \u516d\u3001\u53c2\u8003\u8d44\u6599 \u52a0\u5dde\u5927\u5b66\u5723\u5730\u4e9a\u54e5\u5206\u6821\u7684\u4fe1\u606f\u5b89\u5168\u8bfe\u7a0b \u65af\u5766\u798f\u5927\u5b66\u7684\u7f51\u7edc\u7a7a\u95f4\u5168\u4e2d\u7684\u6570\u636e\u6316\u6398\uff1aCS 259D Data Mining for Cyber Security Autumn 2014 illinois\u5927\u5b66\u7684\u7f51\u7edc\u5b89\u5168\u8bfe\u7a0b \u504f\u7cfb\u7edf\u548c\u7f51\u7edc\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u89c6\u9891\u8bfe\u7a0b\uff08\u90e8\u5206\u8bfe\u7a0b\u5b8c\u5168\u514d\u8d39\uff09 \u504fWeb\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u8bfe\u7a0b\uff08\u5b9e\u9a8c\u73af\u5883\u53ef\u4e0b\u8f7d\uff09","title":"2022\u5e74"},{"location":"ns/2022/index.html#_1","text":"","title":"\u7f51\u7edc\u5b89\u5168"},{"location":"ns/2022/index.html#_2","text":"\u8bfe\u7a0b\u7f16\u53f7\uff1a2121030134 \u82f1\u6587\u540d\u79f0\uff1aComputer Network Security \u6388\u8bfe\u5bf9\u8c61\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u4e13\u4e1a \u5f00\u8bfe\u5b66\u671f\uff1a5 \u5b66\u5206/\u5b66\u65f6\uff1a3/64\uff082020\u7248\u6559\u5b66\u5927\u7eb2\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u5bfc\u8bba\u3001\u8ba1\u7b97\u673a\u7f51\u7edc\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4\u3001Python\u7f16\u7a0b \u6559\u5b66\u65b9\u5f0f\uff1a\u7ebf\u4e0a\u8bfe\u7a0b\u5b66\u4e60\uff0c\u7ebf\u4e0b\u7b54\u7591\u4e0e\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219","title":"\u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"ns/2022/index.html#_3","text":"\u672c\u8bfe\u7a0b\u9488\u5bf9\u7f51\u7edc\u5b89\u5168\u4e2d\u7684\u5173\u952e\u6280\u672f\uff0c\u4ece\u5e94\u7528\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ecb\u7ecd\u7f51\u7edc\u76d1\u542c\u3001\u626b\u63cf\u3001\u5165\u4fb5\u3001\u540e\u95e8\u3001\u9632\u706b\u5899\u548c\u865a\u62df\u4e13\u7528\u7f51\u7b49\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u5e76\u901a\u8fc7\u5b9e\u4f8b\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u5c06\u5b89\u5168\u7406\u8bba\u3001\u5b89\u5168\u6280\u672f\u548c\u5b89\u5168\u5de5\u5177\u6709\u673a\u7ed3\u5408\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"ns/2022/index.html#_4","text":"\u968f\u7740\u4e92\u8054\u7f51\u7684\u53d1\u5c55\u548c\u4fe1\u606f\u5316\u8fdb\u7a0b\u7684\u6df1\u5165\uff0c\u4e92\u8054\u7f51\u548c\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u5b89\u5168\u95ee\u9898\u5df2\u6210\u4e3a\u5404\u56fd\u653f\u5e9c\u6709\u5173\u90e8\u95e8\u3001\u5404\u5927\u884c\u4e1a\u548c\u4f01\u4e8b\u4e1a\u5173\u6ce8\u7684\u70ed\u70b9\u95ee\u9898\uff0c\u5bf9\u7f51\u7edc\u4e0e\u7cfb\u7edf\u5b89\u5168\u4e13\u95e8\u4eba\u624d\u7684\u9700\u6c42\u4e5f\u65e5\u663e\u7a81\u51fa\u3002\u672c\u8bfe\u7a0b\u5168\u9762\u7cfb\u7edf\u5730\u4ecb\u7ecd\u7f51\u7edc\u5b89\u5168\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u7f51\u7edc\u5b89\u5168\u77e5\u8bc6\u548c\u5173\u952e\u6280\u672f\uff0c\u63d0\u9ad8\u5b89\u5168\u610f\u8bc6\uff0c\u589e\u5f3a\u89e3\u51b3\u4e92\u8054\u7f51\u548c\u6570\u5b57\u4f20\u5a92\u7b49\u884c\u4e1a\u4e2d\u7f51\u7edc\u5b89\u5168\u95ee\u9898\u7684\u80fd\u529b\u3002","title":"\u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42"},{"location":"ns/2022/index.html#_5","text":"1\uff0e\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u5a01\u80c1\u6a21\u578b\u3001\u64cd\u4f5c\u7cfb\u7edf\u7684\u5b89\u5168\u673a\u5236\u3001\u878d\u5408\u7f51\u5b89\u5168\u3001\u7b49\u7ea7\u5b89\u5168\u4fdd\u62a4\u6982\u5ff5\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u6cd5\u89c4\u548c\u9ed1\u5ba2\u5b88\u5219\u3002 2\uff0e\u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8bbf\u95ee\u63a7\u5236\u7406\u8bba\u3001CVSS\u7406\u8bba\u3001\u98ce\u9669\u8bc4\u4f30\u6848\u4f8b\u5206\u6790\u3002 3\uff0e\u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4ee3\u7406\u7684\u5206\u7c7b\u3001\u57fa\u672c\u539f\u7406\u548c\u5de5\u5177\u4f7f\u7528\uff0c\u533f\u540d\u901a\u4fe1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u68c0\u6d4b\u65b9\u6cd5\u3002 4\uff0e\u7f51\u7edc\u76d1\u542c\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u76d1\u542c\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u76d1\u542c\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 5\uff0e\u7f51\u7edc\u626b\u63cf\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u626b\u63cf\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u626b\u63cf\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 6\uff0e\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\u7684\u57fa\u672c\u539f\u7406\u548c\u65b9\u6cd5\uff0c\u6e17\u900f\u6d4b\u8bd5\u7684\u65b9\u6cd5\u8bba\uff0c\u6e17\u900f\u6d4b\u8bd5\u4e0e\u7f51\u7edc\u5165\u4fb5\u7684\u533a\u522b\u4e0e\u8054\u7cfb\u3002 7\uff0eWeb \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1aSQL\u6ce8\u5165\u3001XSS\u3001CSRF\u3001\u53e3\u4ee4\u7834\u89e3\u3001HTTP\u534f\u8bae\u8c03\u8bd5\u65b9\u6cd5\u3002 8\uff0e\u9632\u706b\u5899\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u9632\u706b\u5899\u7684\u57fa\u672c\u539f\u7406\u3001\u9632\u706b\u5899\u6280\u672f\u53d1\u5c55\u53f2\u3001\u5178\u578b\u9632\u706b\u5899\u914d\u7f6e\u5b9e\u9a8c\u3002 9\uff0e\u5165\u4fb5\u68c0\u6d4b\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5165\u4fb5\u68c0\u6d4b\u7684\u57fa\u672c\u539f\u7406\u3001\u5165\u4fb5\u68c0\u6d4b\u6280\u672f\u53d1\u5c55\u53f2\u3002 10\uff0e\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5e38\u89c1\u5e94\u7528\u7a0b\u5e8f\u914d\u7f6e\u7f3a\u9677\u3001\u5e94\u7528\u9632\u706b\u5899\u914d\u7f6e\u3001WEB\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa\u3002 11\uff0e\u871c\u7f50\u548c\u871c\u7f51\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u871c\u7f50\u548c\u871c\u7f51\u7684\u57fa\u672c\u539f\u7406\u3001\u871c\u7f50\u548c\u871c\u7f51\u53d1\u5c55\u53f2\u3002 12\uff0e\u8ba1\u7b97\u673a\u53d6\u8bc1\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8ba1\u7b97\u673a\u53d6\u8bc1\u7684\u57fa\u672c\u539f\u7406\u3001\u7f51\u7edc\u6d41\u91cf\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u65e5\u5fd7\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u76d1\u63a7\u5de5\u5177\u7684\u53d6\u8bc1\u5e94\u7528\u3002 13\uff0e\u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u793e\u4ea4\u7f51\u7edc\u9493\u9c7c\u3001\u7535\u4fe1\u8bc8\u9a97\u4e0e\u9632\u8303\u3001\u5927\u6570\u636e\u5e94\u7528\u4e0e\u9690\u79c1\u4fdd\u62a4\u3002","title":"\u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d"},{"location":"ns/2022/index.html#_6","text":"\u5728\u7ebf\u8bfe\u672c \u5728\u7ebf\u8bfe\u4ef6 \u6388\u8bfe\u89c6\u9891\u56de\u653e \u671f\u672b\u8bd5\u9898\u6837\u672c.docx","title":"\u5728\u7ebf\u8bfe\u4ef6\u548c\u6388\u8bfe\u89c6\u9891\u56de\u653e"},{"location":"ns/2022/index.html#_7","text":"H1 \u865a\u62df\u7f51\u7edc\u914d\u7f6e\u5b9e\u9a8c\uff1a\u865a\u62df\u673a\u8f6f\u4ef6Virtualbox\u76845\u79cd\u7f51\u7edc\u6a21\u5f0f\u7684\u533a\u522b\u3001\u5e94\u7528\u573a\u666f\uff0c\u591a\u865a\u62df\u7f51\u5361\u7684\u5e94\u7528\uff0c\u65e0\u6cd5\u4f7f\u7528 Virtualbox \u7684\u540c\u5b66\u53ef\u4ee5\u4f7f\u7528\u5176\u4ed6\u865a\u62df\u5316\u6216\u5bb9\u5668\u89e3\u51b3\u65b9\u6848\u3002\uff082\u5b66\u65f6\uff09 H4 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u4f7f\u7528ettercap\u3001tcpdump\u8fdb\u884c\u7f51\u7edc\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H4 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1awireshark\u8fdb\u884c\u7f51\u7edc\u76d1\u542c\u3001\u6d41\u91cf\u5206\u6790\u548c\u6d41\u91cf\u8fd8\u539f\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H5 \u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1a\u4f7f\u7528nmap/scapy\u8fdb\u884c\u4e3b\u673a\u548c\u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H6 \u7f51\u7edc\u6e17\u900f\u5b9e\u9a8c\uff1a\u4fe1\u606f\u6536\u96c6\u5de5\u5177\uff08\u641c\u7d22\u5f15\u64ce\u3001whois\u3001\u793e\u4ea4\u7f51\u7edc\u641c\u7d22\u5de5\u5177\u7b49\uff09\u7684\u4f7f\u7528\uff0c\u4e86\u89e3metasploit\u7684\u57fa\u672c\u4f7f\u7528\uff1b\uff082\u5b66\u65f6\uff09 H7 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u57fa\u4e8eWebGoat\u7b49\u8bad\u7ec3\u5e73\u53f0\uff0c\u8fdb\u884cSQL\u6ce8\u5165\u3001XSS\u7b49WEB\u6f0f\u6d1e\u7684\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 H7 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u57fa\u4e8e\u771f\u5b9eWeb\u5e94\u7528\uff0c\u8fdb\u884c\u6f0f\u6d1e\u6316\u6398\u548c\u6f0f\u6d1e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 H8 \u9632\u706b\u5899\u5b9e\u9a8c\uff1aiptables\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 H9 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1asnort/zeek\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 H10 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u914d\u7f6e\u4e0e\u52a0\u56fa(fail2ban)\uff1b\uff082\u5b66\u65f6\uff09 H11 \u871c\u7f50\u5b9e\u9a8c\uff1a\u871c\u7f50\u63a2\u7d22\u4f53\u9a8c\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H12 \u5165\u4fb5\u53d6\u8bc1\u5b9e\u9a8c\uff1a\u7efc\u5408snort/zeek\u3001\u7cfb\u7edf\u65e5\u5fd7\u3001\u5e94\u7528\u7a0b\u5e8f\u65e5\u5fd7\u3001wireshark\u6293\u5305\u7b49\u5de5\u5177\u548c\u65b9\u6cd5\uff0c\u53d1\u73b0\u653b\u51fb\u6e90\u3001\u91cd\u5efa\u653b\u51fb\u573a\u666f\u548c\u8fc7\u7a0b\u3002\uff082\u5b66\u65f6\uff09 H13 \u7f51\u7edc\u5b89\u5168\u7efc\u5408\u5b9e\u9a8c\uff1a\u5f00\u6e90\u4fe1\u606f\u7cfb\u7edf\u642d\u5efa\u3001\u52a0\u56fa\u4e0e\u6f0f\u6d1e\u653b\u9632\uff1b\uff084\u5b66\u65f6\uff09","title":"\u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282"},{"location":"ns/2022/index.html#_8","text":"\u65e0","title":"\u4e94\u3001\u5efa\u8bae\u6559\u6750"},{"location":"ns/2022/index.html#_9","text":"\u52a0\u5dde\u5927\u5b66\u5723\u5730\u4e9a\u54e5\u5206\u6821\u7684\u4fe1\u606f\u5b89\u5168\u8bfe\u7a0b \u65af\u5766\u798f\u5927\u5b66\u7684\u7f51\u7edc\u7a7a\u95f4\u5168\u4e2d\u7684\u6570\u636e\u6316\u6398\uff1aCS 259D Data Mining for Cyber Security Autumn 2014 illinois\u5927\u5b66\u7684\u7f51\u7edc\u5b89\u5168\u8bfe\u7a0b \u504f\u7cfb\u7edf\u548c\u7f51\u7edc\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u89c6\u9891\u8bfe\u7a0b\uff08\u90e8\u5206\u8bfe\u7a0b\u5b8c\u5168\u514d\u8d39\uff09 \u504fWeb\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u8bfe\u7a0b\uff08\u5b9e\u9a8c\u73af\u5883\u53ef\u4e0b\u8f7d\uff09","title":"\u516d\u3001\u53c2\u8003\u8d44\u6599"},{"location":"ns/2022/calendar.html","text":"2022 \u79cb\u6559\u5b66\u65e5\u5386 \u7b2c\u4e00\u6b21\u4e0a\u8bfe\u524d\u51c6\u5907 \u5728\u81ea\u5df1\u7684 Virtualbox \u865a\u62df\u673a\u91cc\u4e0b\u8f7d\u5e76\u5b89\u88c5 \u6700\u65b0\u7248 Kali \u7684\u865a\u62df\u673a\u955c\u50cf\u7248 \u5728\u81ea\u5df1\u7684 Virtualbox \u865a\u62df\u673a\u91cc\u4e0b\u8f7d\u5e76\u5bfc\u5165 Debian 10 \u548c Windows XP SP3 \u7684\u865a\u62df\u786c\u76d8\u6587\u4ef6\u3002 \u5982\u679c\u65e0\u6cd5\u4e0b\u8f7d\u6b64\u5904 2 \u4e2a\u94fe\u63a5\u6216\u94fe\u63a5\u5931\u6548\uff0c\u8bf7\u81ea\u884c\u4e0b\u8f7d\u5bf9\u5e94\u7684\u7cfb\u7edf\u955c\u50cf\u5e76\u81ea\u884c\u5b89\u88c5\u3002\u76ee\u6807 Windows XP SP3 \u955c\u50cf\u7684 SHA1 \u503c\uff1a d142469d0c3953d8e4a6a490a58052ef52837f0f Tip: 6crcc \ud83d\udc36 Debian 10 \u5bf9\u5e94\u7248\u672c\u4ee3\u53f7 Buster \u6821\u5185\u540c\u5b66\u8bf7\u767b\u5f55\u4e2d\u4f20\u4e91\u76d8\u540e\uff0c\u901a\u8fc7\u4ee5\u4e0b\u5206\u4eab\u4fe1\u606f\u8bbf\u95ee\u5230\u4e0a\u8ff0 2 \u4e2a\u865a\u62df\u673a\u865a\u62df\u786c\u76d8\u6587\u4ef6\u3002 \u5206\u4eab\u540d\u79f0\uff1a\u7f51\u7edc\u5b89\u5168-\u8bfe\u7a0b\u516c\u5f00\u5206\u4eab\u5206\u4eab\u94fe\u63a5\uff1ahttps://kod.cuc.edu.cn/#s/8d01XBZA\u8bbf\u95ee\u5bc6\u7801\uff1anG8qk \u6ca1\u6709\u4e2d\u4f20\u4e91\u76d8\u8d26\u53f7\u7684\u540c\u5b66\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u767e\u5ea6\u4e91\u76d8\u5206\u4eab\u94fe\u63a5\u3002 \u94fe\u63a5: https://pan.baidu.com/s/1ziXW94xhC-Pc11uxaZ8CDw?pwd=k3nd \u63d0\u53d6\u7801: k3nd \u4e91\u76d8\u5185\u6587\u4ef6\u7684 SHA256 \u6821\u9a8c\u548c bcc3c70b27fcbcd8ec02d8961c2483676085a833ea32d1989494ad6e43a774b8 Debian10.vdi.zip 27853eb0b0574c367100b950990c6ee623f1315657f41a06e3daa428bed2e503 xp_sp3_base.vdi.zip \u4e91\u76d8\u5185\u6587\u4ef6\u7684 MD5 \u6821\u9a8c\u548c 48358869605300877 d1058da9dcb93d0 Debian10 . vdi . zip 7 a37ef9a1c38c5afe7eaa52ab1ce0090 xp_sp3_base . vdi . zip 2022.09.05 \u7b2c1\u5468 \u7ebf\u4e0a \u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840 \u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff08\u5b9e\u9a8c\uff09 2022.09.12 \u7b2c2\u5468 \u7ebf\u4e0a \u7b2c\u4e8c\u7ae0 \u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528 \u7b2c\u4e09\u7ae0 \u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840 \u5b8c\u6210\u4ece P1 ~ P6 \u5171\u8ba1 6 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 2022.09.19 \u7b2c3\u5468 \u7ebf\u4e0a \u7b2c\u4e09\u7ae0 \u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840 \u5b8c\u6210\u4ece P7 ~ P9 \u5171\u8ba1 3 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u56db\u7ae0 \u7f51\u7edc\u76d1\u542c H1 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 2022.09.26 \u7b2c4\u5468 \u7ebf\u4e0b \u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf \u7b2c\u56db\u7ae0 \u7f51\u7edc\u76d1\u542c\uff08\u5b9e\u9a8c\uff09 2022.10.3 \u7b2c5\u5468 \u7ebf\u4e0a \u7b2c\u516d\u7ae0 \u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f 2022.10.10 \u7b2c6\u5468 \u7ebf\u4e0b \u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf \uff08\u5b9e\u9a8c\uff09 \u7b2c\u516d\u7ae0 \u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f \uff08\u5b9e\u9a8c) H4 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 2022.10.17 \u7b2c7\u5468 \u7ebf\u4e0a \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e0a\uff09 \u5b8c\u6210\u4ece P1 ~ P12 \u5171\u8ba1 12 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H5 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 2022.10.24 \u7b2c8\u5468 \u7ebf\u4e0b \u5df2\u5b66\u4e60\u5185\u5bb9\u7b54\u7591\u89e3\u60d1 \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e2d\uff09 \u5b8c\u6210\u4ece P13 ~ P25 \u5171\u8ba1 13 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H6 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 2022.10.31 \u7b2c9\u5468 \u7ebf\u4e0a \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e0b\uff09 \u5b8c\u6210\u4ece P26 ~ P40 \u5171\u8ba1 15 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 2022.11.7 \u7b2c10\u5468 \u7ebf\u4e0b \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u5b9e\u9a8c\uff09 2022.11.14 \u7b2c11\u5468 \u7ebf\u4e0a \u7b2c\u516b\u7ae0 \u9632\u706b\u5899 \u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \u5b8c\u6210\u4ece P1 ~ P4 \u5171\u8ba1 4 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H7 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 2022.11.21 \u7b2c12\u5468 \u7ebf\u4e0b \u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \u5b8c\u6210\u4ece P5 ~ P13 \u5171\u8ba1 9 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u516b\u7ae0 \u9632\u706b\u5899 \uff08\u5b9e\u9a8c\uff09 \u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \uff08\u5b9e\u9a8c\uff09 2022.11.28 \u7b2c13\u5468 \u7ebf\u4e0a \u7b2c\u5341\u7ae0 \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \u5b8c\u6210\u4ece P1 ~ P8 \u5171\u8ba1 8 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H8 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 2022.12.5 \u7b2c14\u5468 \u7ebf\u4e0b \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \u5b8c\u6210\u4ece P9 ~ P14 \u5171\u8ba1 6 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u5341\u7ae0 \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa \uff08\u5b9e\u9a8c\uff09 \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \uff08\u5b9e\u9a8c\uff09 H9 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 2022.12.12 \u7b2c15\u5468 \u7ebf\u4e0a \u7b2c\u5341\u4e8c\u7ae0 \u8ba1\u7b97\u673a\u53d6\u8bc1 \u7b2c\u5341\u4e09\u7ae0 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff08\u4e0a\uff09 \u5b8c\u6210\u4ece P1 ~ P8 \u5171\u8ba1 8 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H10 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 2022.12.19 \u7b2c16\u5468 \u7ebf\u4e0b \u7b2c\u5341\u4e09\u7ae0 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff08\u4e0b\uff09 \u5b8c\u6210\u4ece P9 ~ P15 \u5171\u8ba1 7 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u5341\u4e8c\u7ae0 \u8ba1\u7b97\u673a\u53d6\u8bc1 \uff08\u5b9e\u9a8c\uff09 H11 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 H12 \u63d0\u4ea4\u622a\u6b62 2022.12.26 23:59:59","title":"2022 \u79cb\u6559\u5b66\u65e5\u5386"},{"location":"ns/2022/calendar.html#2022","text":"","title":"2022 \u79cb\u6559\u5b66\u65e5\u5386"},{"location":"ns/2022/calendar.html#_1","text":"\u5728\u81ea\u5df1\u7684 Virtualbox \u865a\u62df\u673a\u91cc\u4e0b\u8f7d\u5e76\u5b89\u88c5 \u6700\u65b0\u7248 Kali \u7684\u865a\u62df\u673a\u955c\u50cf\u7248 \u5728\u81ea\u5df1\u7684 Virtualbox \u865a\u62df\u673a\u91cc\u4e0b\u8f7d\u5e76\u5bfc\u5165 Debian 10 \u548c Windows XP SP3 \u7684\u865a\u62df\u786c\u76d8\u6587\u4ef6\u3002 \u5982\u679c\u65e0\u6cd5\u4e0b\u8f7d\u6b64\u5904 2 \u4e2a\u94fe\u63a5\u6216\u94fe\u63a5\u5931\u6548\uff0c\u8bf7\u81ea\u884c\u4e0b\u8f7d\u5bf9\u5e94\u7684\u7cfb\u7edf\u955c\u50cf\u5e76\u81ea\u884c\u5b89\u88c5\u3002\u76ee\u6807 Windows XP SP3 \u955c\u50cf\u7684 SHA1 \u503c\uff1a d142469d0c3953d8e4a6a490a58052ef52837f0f Tip: 6crcc \ud83d\udc36 Debian 10 \u5bf9\u5e94\u7248\u672c\u4ee3\u53f7 Buster \u6821\u5185\u540c\u5b66\u8bf7\u767b\u5f55\u4e2d\u4f20\u4e91\u76d8\u540e\uff0c\u901a\u8fc7\u4ee5\u4e0b\u5206\u4eab\u4fe1\u606f\u8bbf\u95ee\u5230\u4e0a\u8ff0 2 \u4e2a\u865a\u62df\u673a\u865a\u62df\u786c\u76d8\u6587\u4ef6\u3002 \u5206\u4eab\u540d\u79f0\uff1a\u7f51\u7edc\u5b89\u5168-\u8bfe\u7a0b\u516c\u5f00\u5206\u4eab\u5206\u4eab\u94fe\u63a5\uff1ahttps://kod.cuc.edu.cn/#s/8d01XBZA\u8bbf\u95ee\u5bc6\u7801\uff1anG8qk \u6ca1\u6709\u4e2d\u4f20\u4e91\u76d8\u8d26\u53f7\u7684\u540c\u5b66\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u767e\u5ea6\u4e91\u76d8\u5206\u4eab\u94fe\u63a5\u3002 \u94fe\u63a5: https://pan.baidu.com/s/1ziXW94xhC-Pc11uxaZ8CDw?pwd=k3nd \u63d0\u53d6\u7801: k3nd","title":"\u7b2c\u4e00\u6b21\u4e0a\u8bfe\u524d\u51c6\u5907"},{"location":"ns/2022/calendar.html#sha256","text":"bcc3c70b27fcbcd8ec02d8961c2483676085a833ea32d1989494ad6e43a774b8 Debian10.vdi.zip 27853eb0b0574c367100b950990c6ee623f1315657f41a06e3daa428bed2e503 xp_sp3_base.vdi.zip","title":"\u4e91\u76d8\u5185\u6587\u4ef6\u7684 SHA256 \u6821\u9a8c\u548c"},{"location":"ns/2022/calendar.html#md5","text":"48358869605300877 d1058da9dcb93d0 Debian10 . vdi . zip 7 a37ef9a1c38c5afe7eaa52ab1ce0090 xp_sp3_base . vdi . zip","title":"\u4e91\u76d8\u5185\u6587\u4ef6\u7684 MD5 \u6821\u9a8c\u548c"},{"location":"ns/2022/calendar.html#20220905-1","text":"\u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840 \u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff08\u5b9e\u9a8c\uff09","title":"2022.09.05 \u7b2c1\u5468 \u7ebf\u4e0a"},{"location":"ns/2022/calendar.html#20220912-2","text":"\u7b2c\u4e8c\u7ae0 \u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528 \u7b2c\u4e09\u7ae0 \u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840 \u5b8c\u6210\u4ece P1 ~ P6 \u5171\u8ba1 6 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60","title":"2022.09.12 \u7b2c2\u5468 \u7ebf\u4e0a"},{"location":"ns/2022/calendar.html#20220919-3","text":"\u7b2c\u4e09\u7ae0 \u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840 \u5b8c\u6210\u4ece P7 ~ P9 \u5171\u8ba1 3 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u56db\u7ae0 \u7f51\u7edc\u76d1\u542c H1 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59","title":"2022.09.19 \u7b2c3\u5468 \u7ebf\u4e0a"},{"location":"ns/2022/calendar.html#20220926-4","text":"\u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf \u7b2c\u56db\u7ae0 \u7f51\u7edc\u76d1\u542c\uff08\u5b9e\u9a8c\uff09","title":"2022.09.26 \u7b2c4\u5468 \u7ebf\u4e0b"},{"location":"ns/2022/calendar.html#2022103-5","text":"\u7b2c\u516d\u7ae0 \u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f","title":"2022.10.3 \u7b2c5\u5468 \u7ebf\u4e0a"},{"location":"ns/2022/calendar.html#20221010-6","text":"\u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf \uff08\u5b9e\u9a8c\uff09 \u7b2c\u516d\u7ae0 \u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f \uff08\u5b9e\u9a8c) H4 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59","title":"2022.10.10 \u7b2c6\u5468 \u7ebf\u4e0b"},{"location":"ns/2022/calendar.html#20221017-7","text":"\u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e0a\uff09 \u5b8c\u6210\u4ece P1 ~ P12 \u5171\u8ba1 12 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H5 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59","title":"2022.10.17 \u7b2c7\u5468 \u7ebf\u4e0a"},{"location":"ns/2022/calendar.html#20221024-8","text":"\u5df2\u5b66\u4e60\u5185\u5bb9\u7b54\u7591\u89e3\u60d1 \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e2d\uff09 \u5b8c\u6210\u4ece P13 ~ P25 \u5171\u8ba1 13 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H6 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59","title":"2022.10.24 \u7b2c8\u5468 \u7ebf\u4e0b"},{"location":"ns/2022/calendar.html#20221031-9","text":"\u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e0b\uff09 \u5b8c\u6210\u4ece P26 ~ P40 \u5171\u8ba1 15 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60","title":"2022.10.31 \u7b2c9\u5468 \u7ebf\u4e0a"},{"location":"ns/2022/calendar.html#2022117-10","text":"\u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u5b9e\u9a8c\uff09","title":"2022.11.7 \u7b2c10\u5468 \u7ebf\u4e0b"},{"location":"ns/2022/calendar.html#20221114-11","text":"\u7b2c\u516b\u7ae0 \u9632\u706b\u5899 \u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \u5b8c\u6210\u4ece P1 ~ P4 \u5171\u8ba1 4 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H7 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59","title":"2022.11.14 \u7b2c11\u5468 \u7ebf\u4e0a"},{"location":"ns/2022/calendar.html#20221121-12","text":"\u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \u5b8c\u6210\u4ece P5 ~ P13 \u5171\u8ba1 9 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u516b\u7ae0 \u9632\u706b\u5899 \uff08\u5b9e\u9a8c\uff09 \u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \uff08\u5b9e\u9a8c\uff09","title":"2022.11.21 \u7b2c12\u5468 \u7ebf\u4e0b"},{"location":"ns/2022/calendar.html#20221128-13","text":"\u7b2c\u5341\u7ae0 \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \u5b8c\u6210\u4ece P1 ~ P8 \u5171\u8ba1 8 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H8 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59","title":"2022.11.28 \u7b2c13\u5468 \u7ebf\u4e0a"},{"location":"ns/2022/calendar.html#2022125-14","text":"\u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \u5b8c\u6210\u4ece P9 ~ P14 \u5171\u8ba1 6 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u5341\u7ae0 \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa \uff08\u5b9e\u9a8c\uff09 \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \uff08\u5b9e\u9a8c\uff09 H9 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59","title":"2022.12.5 \u7b2c14\u5468 \u7ebf\u4e0b"},{"location":"ns/2022/calendar.html#20221212-15","text":"\u7b2c\u5341\u4e8c\u7ae0 \u8ba1\u7b97\u673a\u53d6\u8bc1 \u7b2c\u5341\u4e09\u7ae0 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff08\u4e0a\uff09 \u5b8c\u6210\u4ece P1 ~ P8 \u5171\u8ba1 8 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H10 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59","title":"2022.12.12 \u7b2c15\u5468 \u7ebf\u4e0a"},{"location":"ns/2022/calendar.html#20221219-16","text":"\u7b2c\u5341\u4e09\u7ae0 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff08\u4e0b\uff09 \u5b8c\u6210\u4ece P9 ~ P15 \u5171\u8ba1 7 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u5341\u4e8c\u7ae0 \u8ba1\u7b97\u673a\u53d6\u8bc1 \uff08\u5b9e\u9a8c\uff09 H11 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 H12 \u63d0\u4ea4\u622a\u6b62 2022.12.26 23:59:59","title":"2022.12.19 \u7b2c16\u5468 \u7ebf\u4e0b"},{"location":"ns/2022/homework.html","text":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219 \u603b\u6210\u7ee9\u6784\u6210 \u7b49\u7ea7\u6210\u7ee9\u7c7b\u578b\uff1a\u767e\u5206\u5236 \u603b\u6210\u7ee9 = \u5e73\u65f6\u6210\u7ee9 \u7cfb\u6570 20% + \u671f\u672b\u6210\u7ee9 \u7cfb\u6570 60% + \u8003\u52e4\u6210\u7ee9 \u7cfb\u6570 10% + \u7ebf\u4e0a\u6210\u7ee9 \u7cfb\u6570 10% \u603b\u6210\u7ee9\u8bc4\u5b9a\u89c4\u5219 \u8be6\u89c1 \u5728\u7ebf\u6210\u7ee9\u8ba1\u7b97\u5668 \u4e2d\u7684\u793a\u4f8b\u6570\u636e\u548c\u5177\u4f53\u5355\u5143\u683c\u7684\u8ba1\u7b97\u516c\u5f0f \u5b9e\u9a8c\u62a5\u544a\u603b\u5206 \u603b\u5206 \u5b9e\u9a8c\u62a5\u544a\u8981\u6c42\u7ee7\u627f\u4e0a\u5b66\u671f \u300aLinux \u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406\u300b\u8bfe\u7a0b\u7684\u5b9e\u9a8c\u62a5\u544a\u8981\u6c42 \u5e73\u65f6\u6210\u7ee9 \u5e73\u65f6\u6210\u7ee9 \u6ee1\u5206\u6309\u7167 100 \u5206\u8ba1\u7b97\u3002 \u81ea\u884c\u9009\u62e9 \u5728\u7ebf CTF \u5e73\u53f0 \u5b8c\u6210 \u5237\u9898\u767e\u5206 \u6253\u5361\uff0c\u5e76\u64b0\u5199\u914d\u5957 CTF WriteUp \u3002 \u5e73\u65f6\u6210\u7ee9 \u8ba1\u7b97\u622a\u6b62\u65f6\u95f4\u4e3a\u8003\u8bd5\u5468\u524d\u4e00\u5929\u665a\u4e0a 23:59:59 \u3002 \u6240\u6709 CTF WriteUp \u63d0\u4ea4\u5230 \u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u72ec\u7acb\u76ee\u5f55\u4e0b\uff0c\u6bcf\u9053\u5f97\u5206\u9898\u5747\u9700\u914d\u5957 WriteUp \uff1b\u7f3a\u5c11\u914d\u5957 WriteUp \u5219\u5bf9\u5e94\u9898\u76ee\u5f97\u5206\u53ef\u80fd\u88ab\u89c6\u4e3a\u65e0\u6548\u3002 \u5728\u7ebf CTF \u5e73\u53f0 \u5237\u9898\u767e\u5206 \u63a8\u8350\u5e73\u53f0\u5982\u4e0b\uff0c\u63a8\u8350\u4f18\u5148\u7ea7\u4ece\u9ad8\u5230\u4f4e\u6392\u5217\uff1a CTFHub BUUCTF XCTF \u5b66\u4e60\u548c\u4f53\u9a8c\u7528\u9014\uff0c\u4e0d\u53c2\u4e0e \u5237\u9898\u767e\u5206 \u7684\u5e73\u53f0\u63a8\u8350\u5982\u4e0b\uff1a Bugku hackthebox \u5237\u9898\u767e\u5206 \u96be\u5ea6\u7ea7\u522b \u5206\u503c CTFHub BUUCTF XCTF \u2b50\ufe0f 5 2\u661f\u53ca\u4ee5\u4e0b >=2000\u6b21\u89e3\u51fa 2\u661f\u53ca\u4ee5\u4e0b \u2b50\ufe0f\u2b50\ufe0f 10 3\u661f [1000,2000)\u6b21\u89e3\u51fa 3\u661f \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f 15 4-5\u661f [100,1000)\u6b21\u89e3\u51fa 4-5\u661f \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f 20 6-8\u661f \u5c0f\u4e8e100\u6b21\u89e3\u51fa\u4e14\u5c0f\u4e8e90\u5206 6-8\u661f \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f 50 9-10\u661f >=90\u5206 9-10\u661f \u8865\u5145\u8bf4\u660e\uff1a \u7531\u4e8e\u8fd9\u4e9b\u5e73\u53f0\u7684\u5f00\u653e\u6027\u548c\u5df2\u89e3\u9898\u4eba\u5458\u6570\u91cf\u3001\u96be\u5ea6\u8bc4\u5206\u7684\u52a8\u6001\u6027\uff0c\u9700\u8981\u51fa\u5177\u5305\u542b\u4e0a\u8ff0 \u8bc1\u660e\u4fe1\u606f \u548c\u5e26\u6709 \u65f6\u95f4\u6233 \u7684\u505a\u9898\u65f6\u622a\u56fe\u3002 \u96be\u5ea6\u7ea7\u522b\u8bf7\u5bf9\u7167\u4e0a\u8ff0\u96be\u5ea6\u7ea7\u522b\u8bf4\u660e\u81ea\u8bc4\uff0c\u5e76\u5728 WriteUp \u91cc\u6c47\u603b\u4e00\u4e2a\u300c\u76ee\u5f55\u6e05\u5355\u300d\uff0c\u6bcf\u9053\u9898\u76ee\u7684 WriteUp \u663e\u8457\u4f4d\u7f6e\u6807\u6ce8\u4e0a\u96be\u5ea6\u7ea7\u522b\u3002 \u5982\u53d1\u73b0 PS \u622a\u56fe\u9020\u5047 \u6216 \u96be\u5ea6\u7ea7\u522b\u81ea\u8bc4\u9519\u8bef \uff0c\u5219\u53d6\u6d88\u5bf9\u5e94\u9898\u76ee WriteUp \u7684\u8ba1\u5206\u3002 \u6240\u8c13 \u5237\u9898\u767e\u5206 \u5c31\u662f\u63d0\u4ea4\u7684 WriteUp \u5305\u542b\u7684\u9898\u76ee\u603b\u5206\u503c\u8fbe\u5230\u6216\u8d85\u8fc7 100 \u5206\uff0c\u6b64\u65f6 \u5e73\u65f6\u6210\u7ee9 \u5f97\u5206\u4e3a\u6ee1\u5206\u3002 \u6700\u7ec8\u8ba4\u5b9a\u7684 \u5237\u9898\u767e\u5206 \u603b\u5206\u503c\u5982\u679c\u4e0d\u6ee1 100 \u5206\uff0c\u5219\u6309\u7167\u5b9e\u9645\u5f97\u5206\u8ba1\u5165\u5e73\u65f6\u6210\u7ee9\u3002 WriteUp \u4e2d\u9700\u8981\u5305\u542b \u8bc1\u660e\u81ea\u5df1\u4eb2\u81ea\u52a8\u624b\u5b8c\u6210\u5b9e\u9a8c\u7684\u300c\u7279\u5f81\u6807\u5fd7\u300d \u3002\u4f8b\u5982\uff0c\u4f7f\u7528\u7684 Linux \u7ec8\u7aef\u63d0\u793a\u7b26\u91cc\u5305\u542b\u81ea\u5df1\u59d3\u540d\u62fc\u97f3\u6216\u7b80\u62fc\u6216\u81ea\u5df1\u7684 Github ID \u7b49\u3002\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u540e\u671f\u56fe\u7247\u5904\u7406\u52a0\u4e0a\u7684 \u6c34\u5370 \u6ca1\u6709\u4eb2\u81ea\u52a8\u624b\u5b8c\u6210\u5b9e\u9a8c\u7684\u8bc1\u660e\u529b\u3002 \u65e0\u4e0a\u8ff0 \u8bc1\u660e\u81ea\u5df1\u4eb2\u81ea\u52a8\u624b\u5b8c\u6210\u5b9e\u9a8c\u7684\u300c\u7279\u5f81\u6807\u5fd7\u300d \u7684\u9898\u76ee\u5bf9\u5e94 WriteUp \u4e0d\u4e88\u8ba1\u5206\u3002 \u4e3e\u4f8b\u8bf4\u660e\uff1a \u5f20\u4e09 \u5728 CTFHub \u5e73\u53f0\u4e0a\u5b8c\u6210\u4e86 10 \u9053 \u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \u30012 \u9053 \u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \u30013 \u9053 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \uff0c\u5219\u603b\u5206\u8fbe\u5230 115 \u5206\uff0c\u5e73\u65f6\u6210\u7ee9\u6ee1\u5206\u3002 \u674e\u56db \u5728 CTFHub \u5e73\u53f0\u4e0a\u5b8c\u6210\u4e86 5 \u9053 \u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \u30012 \u9053 \u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \u30013 \u9053 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \uff0c\u5219\u603b\u5206\u8fbe\u5230 90 \u5206\uff0c\u5e73\u65f6\u6210\u7ee9 90 \u5206\u3002 \u671f\u672b\u6210\u7ee9 \u6240\u6709\u5b9e\u9a8c\u62a5\u544a\u5f97\u5206\u4e4b\u548c\u6784\u6210\u671f\u672b\u6210\u7ee9\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e00\uff1a\u7b2c\u4e00\u7ae0\u3001\u7b2c\u4e94\u7ae0\u3001\u7b2c\u4e03\u7ae0\u3001\u7b2c\u5341\u4e00\u7ae0\u8bfe\u540e\u5b9e\u9a8c\u62a5\u544a\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e8c\uff1a\u7b2c\u4e8c\u7ae0\u3001\u7b2c\u4e09\u7ae0\u3001\u7b2c\u56db\u7ae0\u3001\u7b2c\u516b\u7ae0\u3001\u7b2c\u4e5d\u7ae0\u3001\u7b2c\u5341\u7ae0\u548c\u7b2c\u5341\u4e8c\u7ae0\u8bfe\u540e\u5b9e\u9a8c\u62a5\u544a\u81f3\u5c11\u4efb\u9009\u5176\u4e8c\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e00\u5f97\u5206\u5360\u6bd4 80%\uff0c\u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e8c\u5f97\u5206\u5360\u6bd4 20%\u3002 \u9700\u8981\u63d0\u4ea4\u5230 \u79c1\u6709\u4ed3\u5e93 \u7684\u5b9e\u9a8c\u62a5\u544a\u662f\uff1a\u7b2c\u4e03\u7ae0\u548c\u7b2c\u5341\u4e00\u7ae0\u3002 \u6ca1\u6709\u7279\u522b\u8bf4\u660e\u7684\u5b9e\u9a8c\u62a5\u544a\u9ed8\u8ba4\u63d0\u4ea4\u5230\u516c\u5f00\u4ed3\u5e93\u3002 \u8003\u52e4\u6210\u7ee9 \u7ebf\u4e0b\u8bfe\u9884\u8ba1\u4e00\u5171 9 \u6b21\uff0c\u6bcf\u6b21\u6b63\u5e38\u8003\u52e4\u8bb0 10 \u5206\uff0c\u5168\u52e4\u52a0 10 \u5206\u3002 \u8fdf\u5230\u534a\u5c0f\u65f6\u4ee5\u5185\u8bb0\u8003\u52e4 8 \u5206\u3002 \u65e9\u9000\u6bcf\u6ee1 10 \u5206\u949f\u6216\u4e0d\u8db3 10 \u5206\u949f\uff0c\u5747\u6263\u8003\u52e4 1 \u5206\u3002\u6263\u5230 0 \u5206\u4e3a\u6b62\u3002 \u7f3a\u52e4\u8bb0 0 \u5206\u3002 \u5982\u679c\u56e0\u4e0d\u53ef\u6297\u529b\u56e0\u7d20\u5bfc\u81f4\u7ebf\u4e0b\u8bfe\u603b\u6b21\u6570\u4e0d\u7b49\u4e8e 9 \u6b21\uff0c\u5219\u4e34\u65f6\u5fae\u8c03\u8003\u52e4\u6210\u7ee9\u8ba1\u7b97\u65b9\u6cd5\u3002 \u7ebf\u4e0a\u6210\u7ee9 \u7545\u8bfe\u5e73\u53f0\u4e0a\u5355\u5143\u6d4b\u8bd5\u6210\u7ee9\u4e4b\u548c\uff0c\u6309\u6ee1\u5206 100 \u5206\u8fdb\u884c\u7b49\u6bd4\u4f8b\u6298\u7b97\u3002","title":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219"},{"location":"ns/2022/homework.html#_1","text":"","title":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219"},{"location":"ns/2022/homework.html#_2","text":"\u7b49\u7ea7\u6210\u7ee9\u7c7b\u578b\uff1a\u767e\u5206\u5236 \u603b\u6210\u7ee9 = \u5e73\u65f6\u6210\u7ee9 \u7cfb\u6570 20% + \u671f\u672b\u6210\u7ee9 \u7cfb\u6570 60% + \u8003\u52e4\u6210\u7ee9 \u7cfb\u6570 10% + \u7ebf\u4e0a\u6210\u7ee9 \u7cfb\u6570 10%","title":"\u603b\u6210\u7ee9\u6784\u6210"},{"location":"ns/2022/homework.html#_3","text":"\u8be6\u89c1 \u5728\u7ebf\u6210\u7ee9\u8ba1\u7b97\u5668 \u4e2d\u7684\u793a\u4f8b\u6570\u636e\u548c\u5177\u4f53\u5355\u5143\u683c\u7684\u8ba1\u7b97\u516c\u5f0f \u5b9e\u9a8c\u62a5\u544a\u603b\u5206 \u603b\u5206 \u5b9e\u9a8c\u62a5\u544a\u8981\u6c42\u7ee7\u627f\u4e0a\u5b66\u671f \u300aLinux \u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406\u300b\u8bfe\u7a0b\u7684\u5b9e\u9a8c\u62a5\u544a\u8981\u6c42","title":"\u603b\u6210\u7ee9\u8bc4\u5b9a\u89c4\u5219"},{"location":"ns/2022/homework.html#_4","text":"\u5e73\u65f6\u6210\u7ee9 \u6ee1\u5206\u6309\u7167 100 \u5206\u8ba1\u7b97\u3002 \u81ea\u884c\u9009\u62e9 \u5728\u7ebf CTF \u5e73\u53f0 \u5b8c\u6210 \u5237\u9898\u767e\u5206 \u6253\u5361\uff0c\u5e76\u64b0\u5199\u914d\u5957 CTF WriteUp \u3002 \u5e73\u65f6\u6210\u7ee9 \u8ba1\u7b97\u622a\u6b62\u65f6\u95f4\u4e3a\u8003\u8bd5\u5468\u524d\u4e00\u5929\u665a\u4e0a 23:59:59 \u3002 \u6240\u6709 CTF WriteUp \u63d0\u4ea4\u5230 \u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u72ec\u7acb\u76ee\u5f55\u4e0b\uff0c\u6bcf\u9053\u5f97\u5206\u9898\u5747\u9700\u914d\u5957 WriteUp \uff1b\u7f3a\u5c11\u914d\u5957 WriteUp \u5219\u5bf9\u5e94\u9898\u76ee\u5f97\u5206\u53ef\u80fd\u88ab\u89c6\u4e3a\u65e0\u6548\u3002","title":"\u5e73\u65f6\u6210\u7ee9"},{"location":"ns/2022/homework.html#ctf","text":"\u5237\u9898\u767e\u5206 \u63a8\u8350\u5e73\u53f0\u5982\u4e0b\uff0c\u63a8\u8350\u4f18\u5148\u7ea7\u4ece\u9ad8\u5230\u4f4e\u6392\u5217\uff1a CTFHub BUUCTF XCTF \u5b66\u4e60\u548c\u4f53\u9a8c\u7528\u9014\uff0c\u4e0d\u53c2\u4e0e \u5237\u9898\u767e\u5206 \u7684\u5e73\u53f0\u63a8\u8350\u5982\u4e0b\uff1a Bugku hackthebox","title":"\u5728\u7ebf CTF \u5e73\u53f0"},{"location":"ns/2022/homework.html#_5","text":"\u96be\u5ea6\u7ea7\u522b \u5206\u503c CTFHub BUUCTF XCTF \u2b50\ufe0f 5 2\u661f\u53ca\u4ee5\u4e0b >=2000\u6b21\u89e3\u51fa 2\u661f\u53ca\u4ee5\u4e0b \u2b50\ufe0f\u2b50\ufe0f 10 3\u661f [1000,2000)\u6b21\u89e3\u51fa 3\u661f \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f 15 4-5\u661f [100,1000)\u6b21\u89e3\u51fa 4-5\u661f \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f 20 6-8\u661f \u5c0f\u4e8e100\u6b21\u89e3\u51fa\u4e14\u5c0f\u4e8e90\u5206 6-8\u661f \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f 50 9-10\u661f >=90\u5206 9-10\u661f \u8865\u5145\u8bf4\u660e\uff1a \u7531\u4e8e\u8fd9\u4e9b\u5e73\u53f0\u7684\u5f00\u653e\u6027\u548c\u5df2\u89e3\u9898\u4eba\u5458\u6570\u91cf\u3001\u96be\u5ea6\u8bc4\u5206\u7684\u52a8\u6001\u6027\uff0c\u9700\u8981\u51fa\u5177\u5305\u542b\u4e0a\u8ff0 \u8bc1\u660e\u4fe1\u606f \u548c\u5e26\u6709 \u65f6\u95f4\u6233 \u7684\u505a\u9898\u65f6\u622a\u56fe\u3002 \u96be\u5ea6\u7ea7\u522b\u8bf7\u5bf9\u7167\u4e0a\u8ff0\u96be\u5ea6\u7ea7\u522b\u8bf4\u660e\u81ea\u8bc4\uff0c\u5e76\u5728 WriteUp \u91cc\u6c47\u603b\u4e00\u4e2a\u300c\u76ee\u5f55\u6e05\u5355\u300d\uff0c\u6bcf\u9053\u9898\u76ee\u7684 WriteUp \u663e\u8457\u4f4d\u7f6e\u6807\u6ce8\u4e0a\u96be\u5ea6\u7ea7\u522b\u3002 \u5982\u53d1\u73b0 PS \u622a\u56fe\u9020\u5047 \u6216 \u96be\u5ea6\u7ea7\u522b\u81ea\u8bc4\u9519\u8bef \uff0c\u5219\u53d6\u6d88\u5bf9\u5e94\u9898\u76ee WriteUp \u7684\u8ba1\u5206\u3002 \u6240\u8c13 \u5237\u9898\u767e\u5206 \u5c31\u662f\u63d0\u4ea4\u7684 WriteUp \u5305\u542b\u7684\u9898\u76ee\u603b\u5206\u503c\u8fbe\u5230\u6216\u8d85\u8fc7 100 \u5206\uff0c\u6b64\u65f6 \u5e73\u65f6\u6210\u7ee9 \u5f97\u5206\u4e3a\u6ee1\u5206\u3002 \u6700\u7ec8\u8ba4\u5b9a\u7684 \u5237\u9898\u767e\u5206 \u603b\u5206\u503c\u5982\u679c\u4e0d\u6ee1 100 \u5206\uff0c\u5219\u6309\u7167\u5b9e\u9645\u5f97\u5206\u8ba1\u5165\u5e73\u65f6\u6210\u7ee9\u3002 WriteUp \u4e2d\u9700\u8981\u5305\u542b \u8bc1\u660e\u81ea\u5df1\u4eb2\u81ea\u52a8\u624b\u5b8c\u6210\u5b9e\u9a8c\u7684\u300c\u7279\u5f81\u6807\u5fd7\u300d \u3002\u4f8b\u5982\uff0c\u4f7f\u7528\u7684 Linux \u7ec8\u7aef\u63d0\u793a\u7b26\u91cc\u5305\u542b\u81ea\u5df1\u59d3\u540d\u62fc\u97f3\u6216\u7b80\u62fc\u6216\u81ea\u5df1\u7684 Github ID \u7b49\u3002\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u540e\u671f\u56fe\u7247\u5904\u7406\u52a0\u4e0a\u7684 \u6c34\u5370 \u6ca1\u6709\u4eb2\u81ea\u52a8\u624b\u5b8c\u6210\u5b9e\u9a8c\u7684\u8bc1\u660e\u529b\u3002 \u65e0\u4e0a\u8ff0 \u8bc1\u660e\u81ea\u5df1\u4eb2\u81ea\u52a8\u624b\u5b8c\u6210\u5b9e\u9a8c\u7684\u300c\u7279\u5f81\u6807\u5fd7\u300d \u7684\u9898\u76ee\u5bf9\u5e94 WriteUp \u4e0d\u4e88\u8ba1\u5206\u3002 \u4e3e\u4f8b\u8bf4\u660e\uff1a \u5f20\u4e09 \u5728 CTFHub \u5e73\u53f0\u4e0a\u5b8c\u6210\u4e86 10 \u9053 \u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \u30012 \u9053 \u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \u30013 \u9053 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \uff0c\u5219\u603b\u5206\u8fbe\u5230 115 \u5206\uff0c\u5e73\u65f6\u6210\u7ee9\u6ee1\u5206\u3002 \u674e\u56db \u5728 CTFHub \u5e73\u53f0\u4e0a\u5b8c\u6210\u4e86 5 \u9053 \u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \u30012 \u9053 \u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \u30013 \u9053 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \uff0c\u5219\u603b\u5206\u8fbe\u5230 90 \u5206\uff0c\u5e73\u65f6\u6210\u7ee9 90 \u5206\u3002","title":"\u5237\u9898\u767e\u5206"},{"location":"ns/2022/homework.html#_6","text":"\u6240\u6709\u5b9e\u9a8c\u62a5\u544a\u5f97\u5206\u4e4b\u548c\u6784\u6210\u671f\u672b\u6210\u7ee9\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e00\uff1a\u7b2c\u4e00\u7ae0\u3001\u7b2c\u4e94\u7ae0\u3001\u7b2c\u4e03\u7ae0\u3001\u7b2c\u5341\u4e00\u7ae0\u8bfe\u540e\u5b9e\u9a8c\u62a5\u544a\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e8c\uff1a\u7b2c\u4e8c\u7ae0\u3001\u7b2c\u4e09\u7ae0\u3001\u7b2c\u56db\u7ae0\u3001\u7b2c\u516b\u7ae0\u3001\u7b2c\u4e5d\u7ae0\u3001\u7b2c\u5341\u7ae0\u548c\u7b2c\u5341\u4e8c\u7ae0\u8bfe\u540e\u5b9e\u9a8c\u62a5\u544a\u81f3\u5c11\u4efb\u9009\u5176\u4e8c\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e00\u5f97\u5206\u5360\u6bd4 80%\uff0c\u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e8c\u5f97\u5206\u5360\u6bd4 20%\u3002 \u9700\u8981\u63d0\u4ea4\u5230 \u79c1\u6709\u4ed3\u5e93 \u7684\u5b9e\u9a8c\u62a5\u544a\u662f\uff1a\u7b2c\u4e03\u7ae0\u548c\u7b2c\u5341\u4e00\u7ae0\u3002 \u6ca1\u6709\u7279\u522b\u8bf4\u660e\u7684\u5b9e\u9a8c\u62a5\u544a\u9ed8\u8ba4\u63d0\u4ea4\u5230\u516c\u5f00\u4ed3\u5e93\u3002","title":"\u671f\u672b\u6210\u7ee9"},{"location":"ns/2022/homework.html#_7","text":"\u7ebf\u4e0b\u8bfe\u9884\u8ba1\u4e00\u5171 9 \u6b21\uff0c\u6bcf\u6b21\u6b63\u5e38\u8003\u52e4\u8bb0 10 \u5206\uff0c\u5168\u52e4\u52a0 10 \u5206\u3002 \u8fdf\u5230\u534a\u5c0f\u65f6\u4ee5\u5185\u8bb0\u8003\u52e4 8 \u5206\u3002 \u65e9\u9000\u6bcf\u6ee1 10 \u5206\u949f\u6216\u4e0d\u8db3 10 \u5206\u949f\uff0c\u5747\u6263\u8003\u52e4 1 \u5206\u3002\u6263\u5230 0 \u5206\u4e3a\u6b62\u3002 \u7f3a\u52e4\u8bb0 0 \u5206\u3002 \u5982\u679c\u56e0\u4e0d\u53ef\u6297\u529b\u56e0\u7d20\u5bfc\u81f4\u7ebf\u4e0b\u8bfe\u603b\u6b21\u6570\u4e0d\u7b49\u4e8e 9 \u6b21\uff0c\u5219\u4e34\u65f6\u5fae\u8c03\u8003\u52e4\u6210\u7ee9\u8ba1\u7b97\u65b9\u6cd5\u3002","title":"\u8003\u52e4\u6210\u7ee9"},{"location":"ns/2022/homework.html#_8","text":"\u7545\u8bfe\u5e73\u53f0\u4e0a\u5355\u5143\u6d4b\u8bd5\u6210\u7ee9\u4e4b\u548c\uff0c\u6309\u6ee1\u5206 100 \u5206\u8fdb\u884c\u7b49\u6bd4\u4f8b\u6298\u7b97\u3002","title":"\u7ebf\u4e0a\u6210\u7ee9"},{"location":"ns/2023/index.html","text":"\u7f51\u7edc\u5b89\u5168 \u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u8bfe\u7a0b\u7f16\u53f7\uff1a2121030134 \u82f1\u6587\u540d\u79f0\uff1aComputer Network Security \u6388\u8bfe\u5bf9\u8c61\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u4e13\u4e1a \u5f00\u8bfe\u5b66\u671f\uff1a5 \u5b66\u5206/\u5b66\u65f6\uff1a3/64\uff082020\u7248\u6559\u5b66\u5927\u7eb2\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u5bfc\u8bba\u3001\u8ba1\u7b97\u673a\u7f51\u7edc\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4\u3001Python\u7f16\u7a0b \u6559\u5b66\u65b9\u5f0f\uff1a\u7ebf\u4e0a\u8bfe\u7a0b\u5b66\u4e60\uff0c\u7ebf\u4e0b\u7b54\u7591\u4e0e\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219 \u8bfe\u7a0b\u7b80\u4ecb \u672c\u8bfe\u7a0b\u9488\u5bf9\u7f51\u7edc\u5b89\u5168\u4e2d\u7684\u5173\u952e\u6280\u672f\uff0c\u4ece\u5e94\u7528\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ecb\u7ecd\u7f51\u7edc\u76d1\u542c\u3001\u626b\u63cf\u3001\u5165\u4fb5\u3001\u540e\u95e8\u3001\u9632\u706b\u5899\u548c\u865a\u62df\u4e13\u7528\u7f51\u7b49\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u5e76\u901a\u8fc7\u5b9e\u4f8b\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u5c06\u5b89\u5168\u7406\u8bba\u3001\u5b89\u5168\u6280\u672f\u548c\u5b89\u5168\u5de5\u5177\u6709\u673a\u7ed3\u5408\u3002 \u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42 \u968f\u7740\u4e92\u8054\u7f51\u7684\u53d1\u5c55\u548c\u4fe1\u606f\u5316\u8fdb\u7a0b\u7684\u6df1\u5165\uff0c\u4e92\u8054\u7f51\u548c\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u5b89\u5168\u95ee\u9898\u5df2\u6210\u4e3a\u5404\u56fd\u653f\u5e9c\u6709\u5173\u90e8\u95e8\u3001\u5404\u5927\u884c\u4e1a\u548c\u4f01\u4e8b\u4e1a\u5173\u6ce8\u7684\u70ed\u70b9\u95ee\u9898\uff0c\u5bf9\u7f51\u7edc\u4e0e\u7cfb\u7edf\u5b89\u5168\u4e13\u95e8\u4eba\u624d\u7684\u9700\u6c42\u4e5f\u65e5\u663e\u7a81\u51fa\u3002\u672c\u8bfe\u7a0b\u5168\u9762\u7cfb\u7edf\u5730\u4ecb\u7ecd\u7f51\u7edc\u5b89\u5168\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u7f51\u7edc\u5b89\u5168\u77e5\u8bc6\u548c\u5173\u952e\u6280\u672f\uff0c\u63d0\u9ad8\u5b89\u5168\u610f\u8bc6\uff0c\u589e\u5f3a\u89e3\u51b3\u4e92\u8054\u7f51\u548c\u6570\u5b57\u4f20\u5a92\u7b49\u884c\u4e1a\u4e2d\u7f51\u7edc\u5b89\u5168\u95ee\u9898\u7684\u80fd\u529b\u3002 \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d 1\uff0e\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u5a01\u80c1\u6a21\u578b\u3001\u64cd\u4f5c\u7cfb\u7edf\u7684\u5b89\u5168\u673a\u5236\u3001\u878d\u5408\u7f51\u5b89\u5168\u3001\u7b49\u7ea7\u5b89\u5168\u4fdd\u62a4\u6982\u5ff5\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u6cd5\u89c4\u548c\u9ed1\u5ba2\u5b88\u5219\u3002 2\uff0e\u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8bbf\u95ee\u63a7\u5236\u7406\u8bba\u3001CVSS\u7406\u8bba\u3001\u98ce\u9669\u8bc4\u4f30\u6848\u4f8b\u5206\u6790\u3002 3\uff0e\u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4ee3\u7406\u7684\u5206\u7c7b\u3001\u57fa\u672c\u539f\u7406\u548c\u5de5\u5177\u4f7f\u7528\uff0c\u533f\u540d\u901a\u4fe1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u68c0\u6d4b\u65b9\u6cd5\u3002 4\uff0e\u7f51\u7edc\u76d1\u542c\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u76d1\u542c\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u76d1\u542c\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 5\uff0e\u7f51\u7edc\u626b\u63cf\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u626b\u63cf\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u626b\u63cf\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 6\uff0e\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\u7684\u57fa\u672c\u539f\u7406\u548c\u65b9\u6cd5\uff0c\u6e17\u900f\u6d4b\u8bd5\u7684\u65b9\u6cd5\u8bba\uff0c\u6e17\u900f\u6d4b\u8bd5\u4e0e\u7f51\u7edc\u5165\u4fb5\u7684\u533a\u522b\u4e0e\u8054\u7cfb\u3002 7\uff0eWeb \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1aSQL\u6ce8\u5165\u3001XSS\u3001CSRF\u3001\u53e3\u4ee4\u7834\u89e3\u3001HTTP\u534f\u8bae\u8c03\u8bd5\u65b9\u6cd5\u3002 8\uff0e\u9632\u706b\u5899\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u9632\u706b\u5899\u7684\u57fa\u672c\u539f\u7406\u3001\u9632\u706b\u5899\u6280\u672f\u53d1\u5c55\u53f2\u3001\u5178\u578b\u9632\u706b\u5899\u914d\u7f6e\u5b9e\u9a8c\u3002 9\uff0e\u5165\u4fb5\u68c0\u6d4b\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5165\u4fb5\u68c0\u6d4b\u7684\u57fa\u672c\u539f\u7406\u3001\u5165\u4fb5\u68c0\u6d4b\u6280\u672f\u53d1\u5c55\u53f2\u3002 10\uff0e\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5e38\u89c1\u5e94\u7528\u7a0b\u5e8f\u914d\u7f6e\u7f3a\u9677\u3001\u5e94\u7528\u9632\u706b\u5899\u914d\u7f6e\u3001WEB\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa\u3002 11\uff0e\u871c\u7f50\u548c\u871c\u7f51\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u871c\u7f50\u548c\u871c\u7f51\u7684\u57fa\u672c\u539f\u7406\u3001\u871c\u7f50\u548c\u871c\u7f51\u53d1\u5c55\u53f2\u3002 12\uff0e\u8ba1\u7b97\u673a\u53d6\u8bc1\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8ba1\u7b97\u673a\u53d6\u8bc1\u7684\u57fa\u672c\u539f\u7406\u3001\u7f51\u7edc\u6d41\u91cf\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u65e5\u5fd7\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u76d1\u63a7\u5de5\u5177\u7684\u53d6\u8bc1\u5e94\u7528\u3002 13\uff0e\u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u793e\u4ea4\u7f51\u7edc\u9493\u9c7c\u3001\u7535\u4fe1\u8bc8\u9a97\u4e0e\u9632\u8303\u3001\u5927\u6570\u636e\u5e94\u7528\u4e0e\u9690\u79c1\u4fdd\u62a4\u3002 \u5728\u7ebf\u8bfe\u4ef6\u548c\u6388\u8bfe\u89c6\u9891\u56de\u653e \u5728\u7ebf\u8bfe\u672c \u5728\u7ebf\u8bfe\u4ef6 \u6388\u8bfe\u89c6\u9891\u56de\u653e \u671f\u672b\u8bd5\u9898\u6837\u672c.docx \u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282 H1 \u865a\u62df\u7f51\u7edc\u914d\u7f6e\u5b9e\u9a8c\uff1a\u865a\u62df\u673a\u8f6f\u4ef6Virtualbox\u76845\u79cd\u7f51\u7edc\u6a21\u5f0f\u7684\u533a\u522b\u3001\u5e94\u7528\u573a\u666f\uff0c\u591a\u865a\u62df\u7f51\u5361\u7684\u5e94\u7528\uff0c\u65e0\u6cd5\u4f7f\u7528 Virtualbox \u7684\u540c\u5b66\u53ef\u4ee5\u4f7f\u7528\u5176\u4ed6\u865a\u62df\u5316\u6216\u5bb9\u5668\u89e3\u51b3\u65b9\u6848\u3002\uff082\u5b66\u65f6\uff09 H4 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u4f7f\u7528ettercap\u3001tcpdump\u8fdb\u884c\u7f51\u7edc\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H4 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1awireshark\u8fdb\u884c\u7f51\u7edc\u76d1\u542c\u3001\u6d41\u91cf\u5206\u6790\u548c\u6d41\u91cf\u8fd8\u539f\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H5 \u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1a\u4f7f\u7528nmap/scapy\u8fdb\u884c\u4e3b\u673a\u548c\u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H6 \u7f51\u7edc\u6e17\u900f\u5b9e\u9a8c\uff1a\u4fe1\u606f\u6536\u96c6\u5de5\u5177\uff08\u641c\u7d22\u5f15\u64ce\u3001whois\u3001\u793e\u4ea4\u7f51\u7edc\u641c\u7d22\u5de5\u5177\u7b49\uff09\u7684\u4f7f\u7528\uff0c\u4e86\u89e3metasploit\u7684\u57fa\u672c\u4f7f\u7528\uff1b\uff082\u5b66\u65f6\uff09 H7 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u57fa\u4e8eWebGoat\u7b49\u8bad\u7ec3\u5e73\u53f0\uff0c\u8fdb\u884cSQL\u6ce8\u5165\u3001XSS\u7b49WEB\u6f0f\u6d1e\u7684\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 H7 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u57fa\u4e8e\u771f\u5b9eWeb\u5e94\u7528\uff0c\u8fdb\u884c\u6f0f\u6d1e\u6316\u6398\u548c\u6f0f\u6d1e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 H8 \u9632\u706b\u5899\u5b9e\u9a8c\uff1aiptables\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 H9 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1asnort/zeek\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 H10 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u914d\u7f6e\u4e0e\u52a0\u56fa(fail2ban)\uff1b\uff082\u5b66\u65f6\uff09 H11 \u871c\u7f50\u5b9e\u9a8c\uff1a\u871c\u7f50\u63a2\u7d22\u4f53\u9a8c\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H12 \u5165\u4fb5\u53d6\u8bc1\u5b9e\u9a8c\uff1a\u7efc\u5408snort/zeek\u3001\u7cfb\u7edf\u65e5\u5fd7\u3001\u5e94\u7528\u7a0b\u5e8f\u65e5\u5fd7\u3001wireshark\u6293\u5305\u7b49\u5de5\u5177\u548c\u65b9\u6cd5\uff0c\u53d1\u73b0\u653b\u51fb\u6e90\u3001\u91cd\u5efa\u653b\u51fb\u573a\u666f\u548c\u8fc7\u7a0b\u3002\uff082\u5b66\u65f6\uff09 H13 \u7f51\u7edc\u5b89\u5168\u7efc\u5408\u5b9e\u9a8c\uff1a\u5f00\u6e90\u4fe1\u606f\u7cfb\u7edf\u642d\u5efa\u3001\u52a0\u56fa\u4e0e\u6f0f\u6d1e\u653b\u9632\uff1b\uff084\u5b66\u65f6\uff09 \u4e94\u3001\u5efa\u8bae\u6559\u6750 \u65e0 \u516d\u3001\u53c2\u8003\u8d44\u6599 \u52a0\u5dde\u5927\u5b66\u5723\u5730\u4e9a\u54e5\u5206\u6821\u7684\u4fe1\u606f\u5b89\u5168\u8bfe\u7a0b \u65af\u5766\u798f\u5927\u5b66\u7684\u7f51\u7edc\u7a7a\u95f4\u5168\u4e2d\u7684\u6570\u636e\u6316\u6398\uff1aCS 259D Data Mining for Cyber Security Autumn 2014 illinois\u5927\u5b66\u7684\u7f51\u7edc\u5b89\u5168\u8bfe\u7a0b \u504f\u7cfb\u7edf\u548c\u7f51\u7edc\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u89c6\u9891\u8bfe\u7a0b\uff08\u90e8\u5206\u8bfe\u7a0b\u5b8c\u5168\u514d\u8d39\uff09 \u504fWeb\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u8bfe\u7a0b\uff08\u5b9e\u9a8c\u73af\u5883\u53ef\u4e0b\u8f7d\uff09","title":"2023\u5e74"},{"location":"ns/2023/index.html#_1","text":"","title":"\u7f51\u7edc\u5b89\u5168"},{"location":"ns/2023/index.html#_2","text":"\u8bfe\u7a0b\u7f16\u53f7\uff1a2121030134 \u82f1\u6587\u540d\u79f0\uff1aComputer Network Security \u6388\u8bfe\u5bf9\u8c61\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u4e13\u4e1a \u5f00\u8bfe\u5b66\u671f\uff1a5 \u5b66\u5206/\u5b66\u65f6\uff1a3/64\uff082020\u7248\u6559\u5b66\u5927\u7eb2\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u5bfc\u8bba\u3001\u8ba1\u7b97\u673a\u7f51\u7edc\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4\u3001Python\u7f16\u7a0b \u6559\u5b66\u65b9\u5f0f\uff1a\u7ebf\u4e0a\u8bfe\u7a0b\u5b66\u4e60\uff0c\u7ebf\u4e0b\u7b54\u7591\u4e0e\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219","title":"\u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"ns/2023/index.html#_3","text":"\u672c\u8bfe\u7a0b\u9488\u5bf9\u7f51\u7edc\u5b89\u5168\u4e2d\u7684\u5173\u952e\u6280\u672f\uff0c\u4ece\u5e94\u7528\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ecb\u7ecd\u7f51\u7edc\u76d1\u542c\u3001\u626b\u63cf\u3001\u5165\u4fb5\u3001\u540e\u95e8\u3001\u9632\u706b\u5899\u548c\u865a\u62df\u4e13\u7528\u7f51\u7b49\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u5e76\u901a\u8fc7\u5b9e\u4f8b\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u5c06\u5b89\u5168\u7406\u8bba\u3001\u5b89\u5168\u6280\u672f\u548c\u5b89\u5168\u5de5\u5177\u6709\u673a\u7ed3\u5408\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"ns/2023/index.html#_4","text":"\u968f\u7740\u4e92\u8054\u7f51\u7684\u53d1\u5c55\u548c\u4fe1\u606f\u5316\u8fdb\u7a0b\u7684\u6df1\u5165\uff0c\u4e92\u8054\u7f51\u548c\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u5b89\u5168\u95ee\u9898\u5df2\u6210\u4e3a\u5404\u56fd\u653f\u5e9c\u6709\u5173\u90e8\u95e8\u3001\u5404\u5927\u884c\u4e1a\u548c\u4f01\u4e8b\u4e1a\u5173\u6ce8\u7684\u70ed\u70b9\u95ee\u9898\uff0c\u5bf9\u7f51\u7edc\u4e0e\u7cfb\u7edf\u5b89\u5168\u4e13\u95e8\u4eba\u624d\u7684\u9700\u6c42\u4e5f\u65e5\u663e\u7a81\u51fa\u3002\u672c\u8bfe\u7a0b\u5168\u9762\u7cfb\u7edf\u5730\u4ecb\u7ecd\u7f51\u7edc\u5b89\u5168\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u7f51\u7edc\u5b89\u5168\u77e5\u8bc6\u548c\u5173\u952e\u6280\u672f\uff0c\u63d0\u9ad8\u5b89\u5168\u610f\u8bc6\uff0c\u589e\u5f3a\u89e3\u51b3\u4e92\u8054\u7f51\u548c\u6570\u5b57\u4f20\u5a92\u7b49\u884c\u4e1a\u4e2d\u7f51\u7edc\u5b89\u5168\u95ee\u9898\u7684\u80fd\u529b\u3002","title":"\u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42"},{"location":"ns/2023/index.html#_5","text":"1\uff0e\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u5a01\u80c1\u6a21\u578b\u3001\u64cd\u4f5c\u7cfb\u7edf\u7684\u5b89\u5168\u673a\u5236\u3001\u878d\u5408\u7f51\u5b89\u5168\u3001\u7b49\u7ea7\u5b89\u5168\u4fdd\u62a4\u6982\u5ff5\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u6cd5\u89c4\u548c\u9ed1\u5ba2\u5b88\u5219\u3002 2\uff0e\u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8bbf\u95ee\u63a7\u5236\u7406\u8bba\u3001CVSS\u7406\u8bba\u3001\u98ce\u9669\u8bc4\u4f30\u6848\u4f8b\u5206\u6790\u3002 3\uff0e\u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4ee3\u7406\u7684\u5206\u7c7b\u3001\u57fa\u672c\u539f\u7406\u548c\u5de5\u5177\u4f7f\u7528\uff0c\u533f\u540d\u901a\u4fe1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u68c0\u6d4b\u65b9\u6cd5\u3002 4\uff0e\u7f51\u7edc\u76d1\u542c\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u76d1\u542c\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u76d1\u542c\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 5\uff0e\u7f51\u7edc\u626b\u63cf\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u626b\u63cf\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u626b\u63cf\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 6\uff0e\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\u7684\u57fa\u672c\u539f\u7406\u548c\u65b9\u6cd5\uff0c\u6e17\u900f\u6d4b\u8bd5\u7684\u65b9\u6cd5\u8bba\uff0c\u6e17\u900f\u6d4b\u8bd5\u4e0e\u7f51\u7edc\u5165\u4fb5\u7684\u533a\u522b\u4e0e\u8054\u7cfb\u3002 7\uff0eWeb \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff084\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1aSQL\u6ce8\u5165\u3001XSS\u3001CSRF\u3001\u53e3\u4ee4\u7834\u89e3\u3001HTTP\u534f\u8bae\u8c03\u8bd5\u65b9\u6cd5\u3002 8\uff0e\u9632\u706b\u5899\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u9632\u706b\u5899\u7684\u57fa\u672c\u539f\u7406\u3001\u9632\u706b\u5899\u6280\u672f\u53d1\u5c55\u53f2\u3001\u5178\u578b\u9632\u706b\u5899\u914d\u7f6e\u5b9e\u9a8c\u3002 9\uff0e\u5165\u4fb5\u68c0\u6d4b\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5165\u4fb5\u68c0\u6d4b\u7684\u57fa\u672c\u539f\u7406\u3001\u5165\u4fb5\u68c0\u6d4b\u6280\u672f\u53d1\u5c55\u53f2\u3002 10\uff0e\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5e38\u89c1\u5e94\u7528\u7a0b\u5e8f\u914d\u7f6e\u7f3a\u9677\u3001\u5e94\u7528\u9632\u706b\u5899\u914d\u7f6e\u3001WEB\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa\u3002 11\uff0e\u871c\u7f50\u548c\u871c\u7f51\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u871c\u7f50\u548c\u871c\u7f51\u7684\u57fa\u672c\u539f\u7406\u3001\u871c\u7f50\u548c\u871c\u7f51\u53d1\u5c55\u53f2\u3002 12\uff0e\u8ba1\u7b97\u673a\u53d6\u8bc1\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8ba1\u7b97\u673a\u53d6\u8bc1\u7684\u57fa\u672c\u539f\u7406\u3001\u7f51\u7edc\u6d41\u91cf\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u65e5\u5fd7\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u76d1\u63a7\u5de5\u5177\u7684\u53d6\u8bc1\u5e94\u7528\u3002 13\uff0e\u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u793e\u4ea4\u7f51\u7edc\u9493\u9c7c\u3001\u7535\u4fe1\u8bc8\u9a97\u4e0e\u9632\u8303\u3001\u5927\u6570\u636e\u5e94\u7528\u4e0e\u9690\u79c1\u4fdd\u62a4\u3002","title":"\u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d"},{"location":"ns/2023/index.html#_6","text":"\u5728\u7ebf\u8bfe\u672c \u5728\u7ebf\u8bfe\u4ef6 \u6388\u8bfe\u89c6\u9891\u56de\u653e \u671f\u672b\u8bd5\u9898\u6837\u672c.docx","title":"\u5728\u7ebf\u8bfe\u4ef6\u548c\u6388\u8bfe\u89c6\u9891\u56de\u653e"},{"location":"ns/2023/index.html#_7","text":"H1 \u865a\u62df\u7f51\u7edc\u914d\u7f6e\u5b9e\u9a8c\uff1a\u865a\u62df\u673a\u8f6f\u4ef6Virtualbox\u76845\u79cd\u7f51\u7edc\u6a21\u5f0f\u7684\u533a\u522b\u3001\u5e94\u7528\u573a\u666f\uff0c\u591a\u865a\u62df\u7f51\u5361\u7684\u5e94\u7528\uff0c\u65e0\u6cd5\u4f7f\u7528 Virtualbox \u7684\u540c\u5b66\u53ef\u4ee5\u4f7f\u7528\u5176\u4ed6\u865a\u62df\u5316\u6216\u5bb9\u5668\u89e3\u51b3\u65b9\u6848\u3002\uff082\u5b66\u65f6\uff09 H4 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u4f7f\u7528ettercap\u3001tcpdump\u8fdb\u884c\u7f51\u7edc\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H4 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1awireshark\u8fdb\u884c\u7f51\u7edc\u76d1\u542c\u3001\u6d41\u91cf\u5206\u6790\u548c\u6d41\u91cf\u8fd8\u539f\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H5 \u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1a\u4f7f\u7528nmap/scapy\u8fdb\u884c\u4e3b\u673a\u548c\u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H6 \u7f51\u7edc\u6e17\u900f\u5b9e\u9a8c\uff1a\u4fe1\u606f\u6536\u96c6\u5de5\u5177\uff08\u641c\u7d22\u5f15\u64ce\u3001whois\u3001\u793e\u4ea4\u7f51\u7edc\u641c\u7d22\u5de5\u5177\u7b49\uff09\u7684\u4f7f\u7528\uff0c\u4e86\u89e3metasploit\u7684\u57fa\u672c\u4f7f\u7528\uff1b\uff082\u5b66\u65f6\uff09 H7 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u57fa\u4e8eWebGoat\u7b49\u8bad\u7ec3\u5e73\u53f0\uff0c\u8fdb\u884cSQL\u6ce8\u5165\u3001XSS\u7b49WEB\u6f0f\u6d1e\u7684\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 H7 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u57fa\u4e8e\u771f\u5b9eWeb\u5e94\u7528\uff0c\u8fdb\u884c\u6f0f\u6d1e\u6316\u6398\u548c\u6f0f\u6d1e\u5229\u7528\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 H8 \u9632\u706b\u5899\u5b9e\u9a8c\uff1aiptables\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 H9 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1asnort/zeek\u914d\u7f6e\uff1b\uff082\u5b66\u65f6\uff09 H10 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u914d\u7f6e\u4e0e\u52a0\u56fa(fail2ban)\uff1b\uff082\u5b66\u65f6\uff09 H11 \u871c\u7f50\u5b9e\u9a8c\uff1a\u871c\u7f50\u63a2\u7d22\u4f53\u9a8c\u5b9e\u9a8c\uff1b\uff082\u5b66\u65f6\uff09 H12 \u5165\u4fb5\u53d6\u8bc1\u5b9e\u9a8c\uff1a\u7efc\u5408snort/zeek\u3001\u7cfb\u7edf\u65e5\u5fd7\u3001\u5e94\u7528\u7a0b\u5e8f\u65e5\u5fd7\u3001wireshark\u6293\u5305\u7b49\u5de5\u5177\u548c\u65b9\u6cd5\uff0c\u53d1\u73b0\u653b\u51fb\u6e90\u3001\u91cd\u5efa\u653b\u51fb\u573a\u666f\u548c\u8fc7\u7a0b\u3002\uff082\u5b66\u65f6\uff09 H13 \u7f51\u7edc\u5b89\u5168\u7efc\u5408\u5b9e\u9a8c\uff1a\u5f00\u6e90\u4fe1\u606f\u7cfb\u7edf\u642d\u5efa\u3001\u52a0\u56fa\u4e0e\u6f0f\u6d1e\u653b\u9632\uff1b\uff084\u5b66\u65f6\uff09","title":"\u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282"},{"location":"ns/2023/index.html#_8","text":"\u65e0","title":"\u4e94\u3001\u5efa\u8bae\u6559\u6750"},{"location":"ns/2023/index.html#_9","text":"\u52a0\u5dde\u5927\u5b66\u5723\u5730\u4e9a\u54e5\u5206\u6821\u7684\u4fe1\u606f\u5b89\u5168\u8bfe\u7a0b \u65af\u5766\u798f\u5927\u5b66\u7684\u7f51\u7edc\u7a7a\u95f4\u5168\u4e2d\u7684\u6570\u636e\u6316\u6398\uff1aCS 259D Data Mining for Cyber Security Autumn 2014 illinois\u5927\u5b66\u7684\u7f51\u7edc\u5b89\u5168\u8bfe\u7a0b \u504f\u7cfb\u7edf\u548c\u7f51\u7edc\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u89c6\u9891\u8bfe\u7a0b\uff08\u90e8\u5206\u8bfe\u7a0b\u5b8c\u5168\u514d\u8d39\uff09 \u504fWeb\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u8bfe\u7a0b\uff08\u5b9e\u9a8c\u73af\u5883\u53ef\u4e0b\u8f7d\uff09","title":"\u516d\u3001\u53c2\u8003\u8d44\u6599"},{"location":"ns/2023/calendar.html","text":"2023 \u79cb\u6559\u5b66\u65e5\u5386 \u7b2c\u4e00\u6b21\u4e0a\u8bfe\u524d\u51c6\u5907 \u5728\u81ea\u5df1\u7684 Virtualbox \u865a\u62df\u673a\u91cc\u4e0b\u8f7d\u5e76\u5b89\u88c5 \u6700\u65b0\u7248 Kali \u7684\u865a\u62df\u673a\u955c\u50cf\u7248 \u5728\u81ea\u5df1\u7684 Virtualbox \u865a\u62df\u673a\u91cc\u4e0b\u8f7d\u5e76\u5bfc\u5165 Debian 10 \u548c Windows XP SP3 \u7684\u865a\u62df\u786c\u76d8\u6587\u4ef6\u3002 \u5982\u679c\u65e0\u6cd5\u4e0b\u8f7d\u6b64\u5904 2 \u4e2a\u94fe\u63a5\u6216\u94fe\u63a5\u5931\u6548\uff0c\u8bf7\u81ea\u884c\u4e0b\u8f7d\u5bf9\u5e94\u7684\u7cfb\u7edf\u955c\u50cf\u5e76\u81ea\u884c\u5b89\u88c5\u3002\u76ee\u6807 Windows XP SP3 \u955c\u50cf\u7684 SHA1 \u503c\uff1a d142469d0c3953d8e4a6a490a58052ef52837f0f Tip: 6crcc \ud83d\udc36 Debian 10 \u5bf9\u5e94\u7248\u672c\u4ee3\u53f7 Buster \u6821\u5185\u540c\u5b66\u8bf7\u767b\u5f55\u4e2d\u4f20\u4e91\u76d8\u540e\uff0c\u901a\u8fc7\u4ee5\u4e0b\u5206\u4eab\u4fe1\u606f\u8bbf\u95ee\u5230\u4e0a\u8ff0 2 \u4e2a\u865a\u62df\u673a\u865a\u62df\u786c\u76d8\u6587\u4ef6\u3002 \u5206\u4eab\u540d\u79f0\uff1a\u7f51\u7edc\u5b89\u5168-\u8bfe\u7a0b\u516c\u5f00\u5206\u4eab\u5206\u4eab\u94fe\u63a5\uff1ahttps://kod.cuc.edu.cn/#s/8d01XBZA \u8bbf\u95ee\u5bc6\u7801\uff1anG8qk \u6ca1\u6709\u4e2d\u4f20\u4e91\u76d8\u8d26\u53f7\u7684\u540c\u5b66\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u767e\u5ea6\u4e91\u76d8\u5206\u4eab\u94fe\u63a5\u3002 \u94fe\u63a5: https://pan.baidu.com/s/1ziXW94xhC-Pc11uxaZ8CDw?pwd=k3nd \u63d0\u53d6\u7801: k3nd \u4e91\u76d8\u5185\u6587\u4ef6\u7684 SHA256 \u6821\u9a8c\u548c bcc3c70b27fcbcd8ec02d8961c2483676085a833ea32d1989494ad6e43a774b8 Debian10.vdi.zip 27853eb0b0574c367100b950990c6ee623f1315657f41a06e3daa428bed2e503 xp_sp3_base.vdi.zip \u4e91\u76d8\u5185\u6587\u4ef6\u7684 MD5 \u6821\u9a8c\u548c 48358869605300877 d1058da9dcb93d0 Debian10 . vdi . zip 7 a37ef9a1c38c5afe7eaa52ab1ce0090 xp_sp3_base . vdi . zip 2023.09.07 \u7b2c1\u5468 \u7ebf\u4e0b \u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840 \u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff08\u5b9e\u9a8c\uff09 2023.09.14 \u7b2c2\u5468 \u7ebf\u4e0a \u7b2c\u4e8c\u7ae0 \u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528 \u7b2c\u4e09\u7ae0 \u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840 \u5b8c\u6210\u4ece P1 ~ P6 \u5171\u8ba1 6 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 2023.09.21 \u7b2c3\u5468 \u7ebf\u4e0a \u7b2c\u4e09\u7ae0 \u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840 \u5b8c\u6210\u4ece P7 ~ P9 \u5171\u8ba1 3 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u56db\u7ae0 \u7f51\u7edc\u76d1\u542c H1 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 2023.09.28 \u7b2c4\u5468 \u7ebf\u4e0b \u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf \u7b2c\u56db\u7ae0 \u7f51\u7edc\u76d1\u542c\uff08\u5b9e\u9a8c\uff09 2023.10.5 \u7b2c5\u5468 \u7ebf\u4e0a\uff08\u56fd\u5e86\u653e\u5047\u81ea\u5b66\uff09 \u7b2c\u516d\u7ae0 \u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f 2023.10.12 \u7b2c6\u5468 \u7ebf\u4e0b \u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf \uff08\u5b9e\u9a8c\uff09 \u7b2c\u516d\u7ae0 \u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f \uff08\u5b9e\u9a8c) H4 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 2023.10.19 \u7b2c7\u5468 \u7ebf\u4e0a \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e0a\uff09 \u5b8c\u6210\u4ece P1 ~ P12 \u5171\u8ba1 12 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H5 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 2023.10.26 \u7b2c8\u5468 \u7ebf\u4e0b \u5df2\u5b66\u4e60\u5185\u5bb9\u7b54\u7591\u89e3\u60d1 \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e2d\uff09 \u5b8c\u6210\u4ece P13 ~ P25 \u5171\u8ba1 13 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H6 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 2023.11.2 \u7b2c9\u5468 \u7ebf\u4e0a\uff08\u8bfb\u4e66\u5468\uff09 \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e0b\uff09 \u5b8c\u6210\u4ece P26 ~ P40 \u5171\u8ba1 15 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 2023.11.9 \u7b2c10\u5468 \u7ebf\u4e0b \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u5b9e\u9a8c\uff09 2023.11.16 \u7b2c11\u5468 \u7ebf\u4e0a \u7b2c\u516b\u7ae0 \u9632\u706b\u5899 \u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \u5b8c\u6210\u4ece P1 ~ P4 \u5171\u8ba1 4 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H7 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 2023.11.23 \u7b2c12\u5468 \u7ebf\u4e0b \u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \u5b8c\u6210\u4ece P5 ~ P13 \u5171\u8ba1 9 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u516b\u7ae0 \u9632\u706b\u5899 \uff08\u5b9e\u9a8c\uff09 \u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \uff08\u5b9e\u9a8c\uff09 2023.11.30 \u7b2c13\u5468 \u7ebf\u4e0a \u7b2c\u5341\u7ae0 \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \u5b8c\u6210\u4ece P1 ~ P8 \u5171\u8ba1 8 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H8 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 2023.12.7 \u7b2c14\u5468 \u7ebf\u4e0b \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \u5b8c\u6210\u4ece P9 ~ P14 \u5171\u8ba1 6 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u5341\u7ae0 \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa \uff08\u5b9e\u9a8c\uff09 \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \uff08\u5b9e\u9a8c\uff09 H9 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 2023.12.14 \u7b2c15\u5468 \u7ebf\u4e0a \u7b2c\u5341\u4e8c\u7ae0 \u8ba1\u7b97\u673a\u53d6\u8bc1 \u7b2c\u5341\u4e09\u7ae0 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff08\u4e0a\uff09 \u5b8c\u6210\u4ece P1 ~ P8 \u5171\u8ba1 8 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H10 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 2023.12.21 \u7b2c16\u5468 \u7ebf\u4e0b \u7b2c\u5341\u4e09\u7ae0 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff08\u4e0b\uff09 \u5b8c\u6210\u4ece P9 ~ P15 \u5171\u8ba1 7 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u5341\u4e8c\u7ae0 \u8ba1\u7b97\u673a\u53d6\u8bc1 \uff08\u5b9e\u9a8c\uff09 H11 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 H12 \u63d0\u4ea4\u622a\u6b62 2023.12.26 23:59:59 2023.12.28 \u7b2c17\u5468 \u7ebf\u4e0b \u7efc\u5408\u5b9e\u9a8c \u672c\u5b66\u671f\u5b9e\u9a8c\u62a5\u544a\u6279\u6539\u8ba1\u7b97\u6210\u7ee9\u622a\u6b62\u65f6\u95f4\uff1a 2024-01-13 23:59:59 \u3002 \u7545\u8bfe\u5e73\u53f0\u7684\u4f5c\u4e1a\u63d0\u4ea4\u622a\u6b62\u65f6\u95f4 2024-01-19 23:59:00 \u662f\u7528\u4e8e\u5b9e\u9a8c\u62a5\u544a\u6574\u7406\u540e\u6253\u5305\u63d0\u4ea4\u5b58\u6863\u7684\u622a\u6b62\u65f6\u95f4\uff0c\u665a\u4e8e\u4e0a\u8ff0 \u6279\u6539\u8ba1\u7b97\u6210\u7ee9\u622a\u6b62\u65f6\u95f4 \u63d0\u4ea4\u5230 git.cuc.edu.cn \u7684\u5b9e\u9a8c\u62a5\u544a\u5c06\u6309\u7167\u96f6\u5206\u767b\u8bb0\u3002","title":"2023 \u79cb\u6559\u5b66\u65e5\u5386"},{"location":"ns/2023/calendar.html#2023","text":"","title":"2023 \u79cb\u6559\u5b66\u65e5\u5386"},{"location":"ns/2023/calendar.html#_1","text":"\u5728\u81ea\u5df1\u7684 Virtualbox \u865a\u62df\u673a\u91cc\u4e0b\u8f7d\u5e76\u5b89\u88c5 \u6700\u65b0\u7248 Kali \u7684\u865a\u62df\u673a\u955c\u50cf\u7248 \u5728\u81ea\u5df1\u7684 Virtualbox \u865a\u62df\u673a\u91cc\u4e0b\u8f7d\u5e76\u5bfc\u5165 Debian 10 \u548c Windows XP SP3 \u7684\u865a\u62df\u786c\u76d8\u6587\u4ef6\u3002 \u5982\u679c\u65e0\u6cd5\u4e0b\u8f7d\u6b64\u5904 2 \u4e2a\u94fe\u63a5\u6216\u94fe\u63a5\u5931\u6548\uff0c\u8bf7\u81ea\u884c\u4e0b\u8f7d\u5bf9\u5e94\u7684\u7cfb\u7edf\u955c\u50cf\u5e76\u81ea\u884c\u5b89\u88c5\u3002\u76ee\u6807 Windows XP SP3 \u955c\u50cf\u7684 SHA1 \u503c\uff1a d142469d0c3953d8e4a6a490a58052ef52837f0f Tip: 6crcc \ud83d\udc36 Debian 10 \u5bf9\u5e94\u7248\u672c\u4ee3\u53f7 Buster \u6821\u5185\u540c\u5b66\u8bf7\u767b\u5f55\u4e2d\u4f20\u4e91\u76d8\u540e\uff0c\u901a\u8fc7\u4ee5\u4e0b\u5206\u4eab\u4fe1\u606f\u8bbf\u95ee\u5230\u4e0a\u8ff0 2 \u4e2a\u865a\u62df\u673a\u865a\u62df\u786c\u76d8\u6587\u4ef6\u3002 \u5206\u4eab\u540d\u79f0\uff1a\u7f51\u7edc\u5b89\u5168-\u8bfe\u7a0b\u516c\u5f00\u5206\u4eab\u5206\u4eab\u94fe\u63a5\uff1ahttps://kod.cuc.edu.cn/#s/8d01XBZA \u8bbf\u95ee\u5bc6\u7801\uff1anG8qk \u6ca1\u6709\u4e2d\u4f20\u4e91\u76d8\u8d26\u53f7\u7684\u540c\u5b66\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u767e\u5ea6\u4e91\u76d8\u5206\u4eab\u94fe\u63a5\u3002 \u94fe\u63a5: https://pan.baidu.com/s/1ziXW94xhC-Pc11uxaZ8CDw?pwd=k3nd \u63d0\u53d6\u7801: k3nd","title":"\u7b2c\u4e00\u6b21\u4e0a\u8bfe\u524d\u51c6\u5907"},{"location":"ns/2023/calendar.html#sha256","text":"bcc3c70b27fcbcd8ec02d8961c2483676085a833ea32d1989494ad6e43a774b8 Debian10.vdi.zip 27853eb0b0574c367100b950990c6ee623f1315657f41a06e3daa428bed2e503 xp_sp3_base.vdi.zip","title":"\u4e91\u76d8\u5185\u6587\u4ef6\u7684 SHA256 \u6821\u9a8c\u548c"},{"location":"ns/2023/calendar.html#md5","text":"48358869605300877 d1058da9dcb93d0 Debian10 . vdi . zip 7 a37ef9a1c38c5afe7eaa52ab1ce0090 xp_sp3_base . vdi . zip","title":"\u4e91\u76d8\u5185\u6587\u4ef6\u7684 MD5 \u6821\u9a8c\u548c"},{"location":"ns/2023/calendar.html#20230907-1","text":"\u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840 \u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff08\u5b9e\u9a8c\uff09","title":"2023.09.07 \u7b2c1\u5468 \u7ebf\u4e0b"},{"location":"ns/2023/calendar.html#20230914-2","text":"\u7b2c\u4e8c\u7ae0 \u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528 \u7b2c\u4e09\u7ae0 \u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840 \u5b8c\u6210\u4ece P1 ~ P6 \u5171\u8ba1 6 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60","title":"2023.09.14 \u7b2c2\u5468 \u7ebf\u4e0a"},{"location":"ns/2023/calendar.html#20230921-3","text":"\u7b2c\u4e09\u7ae0 \u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840 \u5b8c\u6210\u4ece P7 ~ P9 \u5171\u8ba1 3 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u56db\u7ae0 \u7f51\u7edc\u76d1\u542c H1 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59","title":"2023.09.21 \u7b2c3\u5468 \u7ebf\u4e0a"},{"location":"ns/2023/calendar.html#20230928-4","text":"\u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf \u7b2c\u56db\u7ae0 \u7f51\u7edc\u76d1\u542c\uff08\u5b9e\u9a8c\uff09","title":"2023.09.28 \u7b2c4\u5468 \u7ebf\u4e0b"},{"location":"ns/2023/calendar.html#2023105-5","text":"\u7b2c\u516d\u7ae0 \u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f","title":"2023.10.5 \u7b2c5\u5468 \u7ebf\u4e0a\uff08\u56fd\u5e86\u653e\u5047\u81ea\u5b66\uff09"},{"location":"ns/2023/calendar.html#20231012-6","text":"\u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf \uff08\u5b9e\u9a8c\uff09 \u7b2c\u516d\u7ae0 \u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f \uff08\u5b9e\u9a8c) H4 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59","title":"2023.10.12 \u7b2c6\u5468 \u7ebf\u4e0b"},{"location":"ns/2023/calendar.html#20231019-7","text":"\u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e0a\uff09 \u5b8c\u6210\u4ece P1 ~ P12 \u5171\u8ba1 12 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H5 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59","title":"2023.10.19 \u7b2c7\u5468 \u7ebf\u4e0a"},{"location":"ns/2023/calendar.html#20231026-8","text":"\u5df2\u5b66\u4e60\u5185\u5bb9\u7b54\u7591\u89e3\u60d1 \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e2d\uff09 \u5b8c\u6210\u4ece P13 ~ P25 \u5171\u8ba1 13 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H6 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59","title":"2023.10.26 \u7b2c8\u5468 \u7ebf\u4e0b"},{"location":"ns/2023/calendar.html#2023112-9","text":"\u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u4e0b\uff09 \u5b8c\u6210\u4ece P26 ~ P40 \u5171\u8ba1 15 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60","title":"2023.11.2 \u7b2c9\u5468 \u7ebf\u4e0a\uff08\u8bfb\u4e66\u5468\uff09"},{"location":"ns/2023/calendar.html#2023119-10","text":"\u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u5b9e\u9a8c\uff09","title":"2023.11.9 \u7b2c10\u5468 \u7ebf\u4e0b"},{"location":"ns/2023/calendar.html#20231116-11","text":"\u7b2c\u516b\u7ae0 \u9632\u706b\u5899 \u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \u5b8c\u6210\u4ece P1 ~ P4 \u5171\u8ba1 4 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H7 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59","title":"2023.11.16 \u7b2c11\u5468 \u7ebf\u4e0a"},{"location":"ns/2023/calendar.html#20231123-12","text":"\u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \u5b8c\u6210\u4ece P5 ~ P13 \u5171\u8ba1 9 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u516b\u7ae0 \u9632\u706b\u5899 \uff08\u5b9e\u9a8c\uff09 \u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \uff08\u5b9e\u9a8c\uff09","title":"2023.11.23 \u7b2c12\u5468 \u7ebf\u4e0b"},{"location":"ns/2023/calendar.html#20231130-13","text":"\u7b2c\u5341\u7ae0 \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \u5b8c\u6210\u4ece P1 ~ P8 \u5171\u8ba1 8 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H8 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59","title":"2023.11.30 \u7b2c13\u5468 \u7ebf\u4e0a"},{"location":"ns/2023/calendar.html#2023127-14","text":"\u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \u5b8c\u6210\u4ece P9 ~ P14 \u5171\u8ba1 6 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u5341\u7ae0 \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa \uff08\u5b9e\u9a8c\uff09 \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \uff08\u5b9e\u9a8c\uff09 H9 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59","title":"2023.12.7 \u7b2c14\u5468 \u7ebf\u4e0b"},{"location":"ns/2023/calendar.html#20231214-15","text":"\u7b2c\u5341\u4e8c\u7ae0 \u8ba1\u7b97\u673a\u53d6\u8bc1 \u7b2c\u5341\u4e09\u7ae0 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff08\u4e0a\uff09 \u5b8c\u6210\u4ece P1 ~ P8 \u5171\u8ba1 8 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 H10 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59","title":"2023.12.14 \u7b2c15\u5468 \u7ebf\u4e0a"},{"location":"ns/2023/calendar.html#20231221-16","text":"\u7b2c\u5341\u4e09\u7ae0 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff08\u4e0b\uff09 \u5b8c\u6210\u4ece P9 ~ P15 \u5171\u8ba1 7 \u6bb5\u8bfe\u7a0b\u89c6\u9891\u7684\u5b66\u4e60 \u7b2c\u5341\u4e8c\u7ae0 \u8ba1\u7b97\u673a\u53d6\u8bc1 \uff08\u5b9e\u9a8c\uff09 H11 \u63d0\u4ea4\u622a\u6b62\u4eca\u5929 23:59:59 H12 \u63d0\u4ea4\u622a\u6b62 2023.12.26 23:59:59","title":"2023.12.21 \u7b2c16\u5468 \u7ebf\u4e0b"},{"location":"ns/2023/calendar.html#20231228-17","text":"\u7efc\u5408\u5b9e\u9a8c \u672c\u5b66\u671f\u5b9e\u9a8c\u62a5\u544a\u6279\u6539\u8ba1\u7b97\u6210\u7ee9\u622a\u6b62\u65f6\u95f4\uff1a 2024-01-13 23:59:59 \u3002 \u7545\u8bfe\u5e73\u53f0\u7684\u4f5c\u4e1a\u63d0\u4ea4\u622a\u6b62\u65f6\u95f4 2024-01-19 23:59:00 \u662f\u7528\u4e8e\u5b9e\u9a8c\u62a5\u544a\u6574\u7406\u540e\u6253\u5305\u63d0\u4ea4\u5b58\u6863\u7684\u622a\u6b62\u65f6\u95f4\uff0c\u665a\u4e8e\u4e0a\u8ff0 \u6279\u6539\u8ba1\u7b97\u6210\u7ee9\u622a\u6b62\u65f6\u95f4 \u63d0\u4ea4\u5230 git.cuc.edu.cn \u7684\u5b9e\u9a8c\u62a5\u544a\u5c06\u6309\u7167\u96f6\u5206\u767b\u8bb0\u3002","title":"2023.12.28 \u7b2c17\u5468 \u7ebf\u4e0b"},{"location":"ns/2023/homework.html","text":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219 \u603b\u6210\u7ee9\u6784\u6210 \u7b49\u7ea7\u6210\u7ee9\u7c7b\u578b\uff1a\u767e\u5206\u5236 \u603b\u6210\u7ee9 = \u5e73\u65f6\u6210\u7ee9 \u7cfb\u6570 20% + \u671f\u672b\u6210\u7ee9 \u7cfb\u6570 60% + \u8003\u52e4\u6210\u7ee9 \u7cfb\u6570 10% + \u7ebf\u4e0a\u6210\u7ee9 \u7cfb\u6570 10% \u603b\u6210\u7ee9\u8bc4\u5b9a\u89c4\u5219 \u8be6\u89c1 \u5728\u7ebf\u6210\u7ee9\u8ba1\u7b97\u5668 \u4e2d\u7684\u793a\u4f8b\u6570\u636e\u548c\u5177\u4f53\u5355\u5143\u683c\u7684\u8ba1\u7b97\u516c\u5f0f \u5b9e\u9a8c\u62a5\u544a\u603b\u5206 \u603b\u5206 \u5b9e\u9a8c\u62a5\u544a\u8981\u6c42\u7ee7\u627f\u4e0a\u5b66\u671f \u300aLinux \u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406\u300b\u8bfe\u7a0b\u7684\u5b9e\u9a8c\u62a5\u544a\u8981\u6c42 \u5173\u4e8e\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u7684\u8bf4\u660e \u7531\u4e8e\u5728 GitLab \u4e2d\uff0c\u79c1\u6709\u4ed3\u5e93\u4e0d\u4ee3\u8868\u53ea\u6709\u81ea\u5df1\u4e00\u4e2a\u4eba\u53ef\u4ee5\u8bbf\u95ee\uff0c\u8bf7\u770b\u4ee5\u4e0b\u642c\u8fd0\u81ea GitLab \u521b\u5efa\u65b0\u4ed3\u5e93\u65f6\u5173\u4e8e Private \u5c5e\u6027\u7684\u8bf4\u660e\u6587\u5b57\uff1a Project access must be granted explicitly to each user. If this project is part of a group, access is granted to members of the group. \u7ffb\u8bd1\u5982\u4e0b\uff1a \u5fc5\u987b\u5411\u6bcf\u4e2a\u7528\u6237\u663e\u5f0f\u6388\u4e88\u9879\u76ee\u8bbf\u95ee\u6743\u9650\u3002\u5982\u679c\u6b64\u9879\u76ee\u662f\u7528\u6237\u7ec4\u7684\u4e00\u90e8\u5206\uff0c\u5219\u5411\u7ec4\u6210\u5458\u6388\u4e88\u8bbf\u95ee\u6743\u9650\u3002 \u636e\u6b64\u53ef\u4ee5\u66f4\u597d\u5730\u7406\u89e3\u5728 GitLab \u4e2d\uff0c\u5728\u4e00\u4e2a\u7528\u6237\u7ec4\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u7684 \u79c1\u6709\u4ed3\u5e93 \uff0c\u5bf9\u4e8e\u7ec4\u5185\u7684\u6240\u6709\u7528\u6237\u6765\u8bf4\uff0c\u5b9e\u9645\u4e0a\u662f\u76f8\u4e92\u53ef\u89c1\u3001\u5185\u90e8\u516c\u5f00\u7684\u3002 \u4ee5\u4e0b\u4f5c\u4e1a\u8981\u6c42\u91cc\u63d0\u5230\u7684 \u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u5177\u4f53\u6307\u7684\u662f\uff1a \u4ec5\u9650\u4ed3\u5e93\u521b\u5efa\u8005\u672c\u4eba\u3001\u56db\u540d\u52a9\u6559\u3001\u4efb\u8bfe\u8001\u5e08 \u6709\u6743\u9650\u8bbf\u95ee\u8be5\u4ed3\u5e93\uff0c\u5176\u4ed6\u540c\u5b66\u5373\u4f7f\u77e5\u9053\u8be5\u4ed3\u5e93\u94fe\u63a5\u5730\u5740\u4e5f\u65e0\u6cd5\u8bbf\u95ee\u4ed3\u5e93\u5185\u5bb9\u3002 \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5efa\u8bae\u5982\u4e0b\uff1a \u5728\u81ea\u5df1\u4e2a\u4eba\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u4ed3\u5e93\u3002\u6b64\u5904\u5047\u8bbe\u4e2a\u4eba\u7528\u6237\u540d\u662f zhangsan \uff0c\u521b\u5efa\u7684\u79c1\u6709\u4ed3\u5e93\u540d\u4e3a ns-private \u3002 \u5728\u81ea\u5df1\u4e2a\u4eba\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u7684\u4ed3\u5e93\u91cc\uff0c\u901a\u8fc7\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u7684 Project information - Members \u8fdb\u5165\u4ed3\u5e93\u7528\u6237\u7ba1\u7406\u9875\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 Invite members \uff0c\u901a\u8fc7\u8f93\u5165\u5b9e\u540d\u7684\u65b9\u5f0f\uff0c\u641c\u7d22\u3001\u9009\u4e2d\u641c\u7d22\u7ed3\u679c\uff0c\u9080\u8bf7 4\u540d\u52a9\u6559\u3001\u4efb\u8bfe\u8001\u5e08\uff0c\u6388\u4e88 Maintainer \u89d2\u8272\u3002 \u5728\u81ea\u5df1\u7684\u7ec4\u547d\u540d\u7a7a\u95f4\u4e0b\uff08\u5f53\u524d\u4e3a ccs/ns-2023 \uff09\u7684\u7ec4\u5185\u516c\u5f00\u4ed3\u5e93\u6839\u76ee\u5f55\u4e0b\u7684 README.md \u6dfb\u52a0\u6307\u5411\u4e0a\u8ff0\u79c1\u6709\u4ed3\u5e93\u7684\u8d85\u94fe\u63a5\uff1a zhangsan/ns-private \u3002 \u5e73\u65f6\u6210\u7ee9 \u5e73\u65f6\u6210\u7ee9 \u6ee1\u5206\u6309\u7167 100 \u5206\u8ba1\u7b97\u3002 \u81ea\u884c\u9009\u62e9 \u5728\u7ebf CTF \u5e73\u53f0 \u5b8c\u6210 \u5237\u9898\u767e\u5206 \u6253\u5361\uff0c\u5e76\u64b0\u5199\u914d\u5957 CTF WriteUp \u3002 \u5e73\u65f6\u6210\u7ee9 \u8ba1\u7b97\u622a\u6b62\u65f6\u95f4\u4e3a\u8003\u8bd5\u5468\u524d\u4e00\u5929\u665a\u4e0a 23:59:59 \uff1a 2023-12-31 23:59:59 \u3002 \u6240\u6709 CTF WriteUp \u63d0\u4ea4\u5230 \u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u72ec\u7acb\u76ee\u5f55\u4e0b\uff0c\u6bcf\u9053\u5f97\u5206\u9898\u5747\u9700\u914d\u5957 WriteUp \uff1b\u7f3a\u5c11\u914d\u5957 WriteUp \u5219\u5bf9\u5e94\u9898\u76ee\u5f97\u5206\u53ef\u80fd\u88ab\u89c6\u4e3a\u65e0\u6548\u3002 \u5728\u7ebf CTF \u5e73\u53f0 \u5237\u9898\u767e\u5206 \u63a8\u8350\u5e73\u53f0\u5982\u4e0b\uff0c\u63a8\u8350\u4f18\u5148\u7ea7\u4ece\u9ad8\u5230\u4f4e\u6392\u5217\uff1a CTFHub BUUCTF XCTF \u5b66\u4e60\u548c\u4f53\u9a8c\u7528\u9014\uff0c\u4e0d\u53c2\u4e0e \u5237\u9898\u767e\u5206 \u7684\u5e73\u53f0\u63a8\u8350\u5982\u4e0b\uff1a Bugku hackthebox \u5237\u9898\u767e\u5206 \u96be\u5ea6\u7ea7\u522b \u5206\u503c CTFHub BUUCTF XCTF \u2b50\ufe0f 5 2\u661f\u53ca\u4ee5\u4e0b >=2000\u6b21\u89e3\u51fa 2\u661f\u53ca\u4ee5\u4e0b \u2b50\ufe0f\u2b50\ufe0f 10 3\u661f [1000,2000)\u6b21\u89e3\u51fa 3\u661f \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f 15 4-5\u661f [100,1000)\u6b21\u89e3\u51fa 4-5\u661f \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f 20 6-8\u661f \u5c0f\u4e8e100\u6b21\u89e3\u51fa\u4e14\u5c0f\u4e8e90\u5206 6-8\u661f \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f 50 9-10\u661f >=90\u5206 9-10\u661f \u8865\u5145\u8bf4\u660e\uff1a \u7531\u4e8e\u8fd9\u4e9b\u5e73\u53f0\u7684\u5f00\u653e\u6027\u548c\u5df2\u89e3\u9898\u4eba\u5458\u6570\u91cf\u3001\u96be\u5ea6\u8bc4\u5206\u7684\u52a8\u6001\u6027\uff0c\u9700\u8981\u51fa\u5177\u5305\u542b\u4e0a\u8ff0 \u8bc1\u660e\u4fe1\u606f \u548c\u5e26\u6709 \u65f6\u95f4\u6233 \u7684\u505a\u9898\u65f6\u622a\u56fe\u3002 \u96be\u5ea6\u7ea7\u522b\u8bf7\u5bf9\u7167\u4e0a\u8ff0\u96be\u5ea6\u7ea7\u522b\u8bf4\u660e\u81ea\u8bc4\uff0c\u5e76\u5728 WriteUp \u91cc\u6c47\u603b\u4e00\u4e2a\u300c\u76ee\u5f55\u6e05\u5355\u300d\uff0c\u6bcf\u9053\u9898\u76ee\u7684 WriteUp \u663e\u8457\u4f4d\u7f6e\u6807\u6ce8\u4e0a\u96be\u5ea6\u7ea7\u522b\u3002 \u5982\u53d1\u73b0 PS \u622a\u56fe\u9020\u5047 \u6216 \u96be\u5ea6\u7ea7\u522b\u81ea\u8bc4\u9519\u8bef \uff0c\u5219\u53d6\u6d88\u5bf9\u5e94\u9898\u76ee WriteUp \u7684\u8ba1\u5206\u3002 \u6240\u8c13 \u5237\u9898\u767e\u5206 \u5c31\u662f\u63d0\u4ea4\u7684 WriteUp \u5305\u542b\u7684\u9898\u76ee\u603b\u5206\u503c\u8fbe\u5230\u6216\u8d85\u8fc7 100 \u5206\uff0c\u6b64\u65f6 \u5e73\u65f6\u6210\u7ee9 \u5f97\u5206\u4e3a\u6ee1\u5206\u3002 \u6700\u7ec8\u8ba4\u5b9a\u7684 \u5237\u9898\u767e\u5206 \u603b\u5206\u503c\u5982\u679c\u4e0d\u6ee1 100 \u5206\uff0c\u5219\u6309\u7167\u5b9e\u9645\u5f97\u5206\u8ba1\u5165\u5e73\u65f6\u6210\u7ee9\u3002 WriteUp \u4e2d\u9700\u8981\u5305\u542b \u8bc1\u660e\u81ea\u5df1\u4eb2\u81ea\u52a8\u624b\u5b8c\u6210\u5b9e\u9a8c\u7684\u300c\u7279\u5f81\u6807\u5fd7\u300d \u3002\u4f8b\u5982\uff0c\u4f7f\u7528\u7684 Linux \u7ec8\u7aef\u63d0\u793a\u7b26\u91cc\u5305\u542b\u81ea\u5df1\u59d3\u540d\u62fc\u97f3\u6216\u7b80\u62fc\u6216\u81ea\u5df1\u7684 Github ID \u7b49\u3002\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u540e\u671f\u56fe\u7247\u5904\u7406\u52a0\u4e0a\u7684 \u6c34\u5370 \u6ca1\u6709\u4eb2\u81ea\u52a8\u624b\u5b8c\u6210\u5b9e\u9a8c\u7684\u8bc1\u660e\u529b\u3002 \u65e0\u4e0a\u8ff0 \u8bc1\u660e\u81ea\u5df1\u4eb2\u81ea\u52a8\u624b\u5b8c\u6210\u5b9e\u9a8c\u7684\u300c\u7279\u5f81\u6807\u5fd7\u300d \u7684\u9898\u76ee\u5bf9\u5e94 WriteUp \u4e0d\u4e88\u8ba1\u5206\u3002 \u4e3e\u4f8b\u8bf4\u660e\uff1a \u5f20\u4e09 \u5728 CTFHub \u5e73\u53f0\u4e0a\u5b8c\u6210\u4e86 10 \u9053 \u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \u30012 \u9053 \u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \u30013 \u9053 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \uff0c\u5219\u603b\u5206\u8fbe\u5230 115 \u5206\uff0c\u5e73\u65f6\u6210\u7ee9\u6ee1\u5206\u3002 \u674e\u56db \u5728 CTFHub \u5e73\u53f0\u4e0a\u5b8c\u6210\u4e86 5 \u9053 \u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \u30012 \u9053 \u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \u30013 \u9053 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \uff0c\u5219\u603b\u5206\u8fbe\u5230 90 \u5206\uff0c\u5e73\u65f6\u6210\u7ee9 90 \u5206\u3002 \u671f\u672b\u6210\u7ee9 \u6240\u6709\u5b9e\u9a8c\u62a5\u544a\u5f97\u5206\u4e4b\u548c\u6784\u6210\u671f\u672b\u6210\u7ee9\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e00\uff1a\u7b2c\u4e00\u7ae0\u3001\u7b2c\u4e94\u7ae0\u3001\u7b2c\u4e03\u7ae0\u3001\u7b2c\u5341\u4e00\u7ae0\u8bfe\u540e\u5b9e\u9a8c\u62a5\u544a\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e8c\uff1a\u7b2c\u4e8c\u7ae0\u3001\u7b2c\u4e09\u7ae0\u3001\u7b2c\u56db\u7ae0\u3001\u7b2c\u516b\u7ae0\u3001\u7b2c\u4e5d\u7ae0\u3001\u7b2c\u5341\u7ae0\u548c\u7b2c\u5341\u4e8c\u7ae0\u8bfe\u540e\u5b9e\u9a8c\u62a5\u544a\u81f3\u5c11\u4efb\u9009\u5176\u4e8c\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e00\u5f97\u5206\u5360\u6bd4 80%\uff0c\u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e8c\u5f97\u5206\u5360\u6bd4 20%\u3002 \u9700\u8981\u63d0\u4ea4\u5230 \u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u7684\u5b9e\u9a8c\u62a5\u544a\u662f\uff1a\u7b2c\u4e03\u7ae0\u548c\u7b2c\u5341\u4e00\u7ae0\u3002 \u6ca1\u6709\u7279\u522b\u8bf4\u660e\u7684\u5b9e\u9a8c\u62a5\u544a\u9ed8\u8ba4\u63d0\u4ea4\u5230\u516c\u5f00\u4ed3\u5e93\u3002 \u8003\u52e4\u6210\u7ee9 \u7ebf\u4e0b\u8bfe\u9884\u8ba1\u4e00\u5171 9 \u6b21\uff0c\u6bcf\u6b21\u6b63\u5e38\u8003\u52e4\u8bb0 10 \u5206\uff0c\u5168\u52e4\u52a0 10 \u5206\u3002 \u8fdf\u5230\u534a\u5c0f\u65f6\u4ee5\u5185\u8bb0\u8003\u52e4 8 \u5206\u3002 \u65e9\u9000\u6bcf\u6ee1 10 \u5206\u949f\u6216\u4e0d\u8db3 10 \u5206\u949f\uff0c\u5747\u6263\u8003\u52e4 1 \u5206\u3002\u6263\u5230 0 \u5206\u4e3a\u6b62\u3002 \u7f3a\u52e4\u8bb0 0 \u5206\u3002 \u5982\u679c\u56e0\u4e0d\u53ef\u6297\u529b\u56e0\u7d20\u5bfc\u81f4\u7ebf\u4e0b\u8bfe\u603b\u6b21\u6570\u4e0d\u7b49\u4e8e 9 \u6b21\uff0c\u5219\u4e34\u65f6\u5fae\u8c03\u8003\u52e4\u6210\u7ee9\u8ba1\u7b97\u65b9\u6cd5\u3002 \u7ebf\u4e0a\u6210\u7ee9 \u7545\u8bfe\u5e73\u53f0\u4e0a\u5355\u5143\u6d4b\u8bd5\u6210\u7ee9\u4e4b\u548c\uff0c\u6309\u6ee1\u5206 100 \u5206\u8fdb\u884c\u7b49\u6bd4\u4f8b\u6298\u7b97\u3002","title":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219"},{"location":"ns/2023/homework.html#_1","text":"","title":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219"},{"location":"ns/2023/homework.html#_2","text":"\u7b49\u7ea7\u6210\u7ee9\u7c7b\u578b\uff1a\u767e\u5206\u5236 \u603b\u6210\u7ee9 = \u5e73\u65f6\u6210\u7ee9 \u7cfb\u6570 20% + \u671f\u672b\u6210\u7ee9 \u7cfb\u6570 60% + \u8003\u52e4\u6210\u7ee9 \u7cfb\u6570 10% + \u7ebf\u4e0a\u6210\u7ee9 \u7cfb\u6570 10%","title":"\u603b\u6210\u7ee9\u6784\u6210"},{"location":"ns/2023/homework.html#_3","text":"\u8be6\u89c1 \u5728\u7ebf\u6210\u7ee9\u8ba1\u7b97\u5668 \u4e2d\u7684\u793a\u4f8b\u6570\u636e\u548c\u5177\u4f53\u5355\u5143\u683c\u7684\u8ba1\u7b97\u516c\u5f0f \u5b9e\u9a8c\u62a5\u544a\u603b\u5206 \u603b\u5206 \u5b9e\u9a8c\u62a5\u544a\u8981\u6c42\u7ee7\u627f\u4e0a\u5b66\u671f \u300aLinux \u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406\u300b\u8bfe\u7a0b\u7684\u5b9e\u9a8c\u62a5\u544a\u8981\u6c42","title":"\u603b\u6210\u7ee9\u8bc4\u5b9a\u89c4\u5219"},{"location":"ns/2023/homework.html#_4","text":"\u7531\u4e8e\u5728 GitLab \u4e2d\uff0c\u79c1\u6709\u4ed3\u5e93\u4e0d\u4ee3\u8868\u53ea\u6709\u81ea\u5df1\u4e00\u4e2a\u4eba\u53ef\u4ee5\u8bbf\u95ee\uff0c\u8bf7\u770b\u4ee5\u4e0b\u642c\u8fd0\u81ea GitLab \u521b\u5efa\u65b0\u4ed3\u5e93\u65f6\u5173\u4e8e Private \u5c5e\u6027\u7684\u8bf4\u660e\u6587\u5b57\uff1a Project access must be granted explicitly to each user. If this project is part of a group, access is granted to members of the group. \u7ffb\u8bd1\u5982\u4e0b\uff1a \u5fc5\u987b\u5411\u6bcf\u4e2a\u7528\u6237\u663e\u5f0f\u6388\u4e88\u9879\u76ee\u8bbf\u95ee\u6743\u9650\u3002\u5982\u679c\u6b64\u9879\u76ee\u662f\u7528\u6237\u7ec4\u7684\u4e00\u90e8\u5206\uff0c\u5219\u5411\u7ec4\u6210\u5458\u6388\u4e88\u8bbf\u95ee\u6743\u9650\u3002 \u636e\u6b64\u53ef\u4ee5\u66f4\u597d\u5730\u7406\u89e3\u5728 GitLab \u4e2d\uff0c\u5728\u4e00\u4e2a\u7528\u6237\u7ec4\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u7684 \u79c1\u6709\u4ed3\u5e93 \uff0c\u5bf9\u4e8e\u7ec4\u5185\u7684\u6240\u6709\u7528\u6237\u6765\u8bf4\uff0c\u5b9e\u9645\u4e0a\u662f\u76f8\u4e92\u53ef\u89c1\u3001\u5185\u90e8\u516c\u5f00\u7684\u3002 \u4ee5\u4e0b\u4f5c\u4e1a\u8981\u6c42\u91cc\u63d0\u5230\u7684 \u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u5177\u4f53\u6307\u7684\u662f\uff1a \u4ec5\u9650\u4ed3\u5e93\u521b\u5efa\u8005\u672c\u4eba\u3001\u56db\u540d\u52a9\u6559\u3001\u4efb\u8bfe\u8001\u5e08 \u6709\u6743\u9650\u8bbf\u95ee\u8be5\u4ed3\u5e93\uff0c\u5176\u4ed6\u540c\u5b66\u5373\u4f7f\u77e5\u9053\u8be5\u4ed3\u5e93\u94fe\u63a5\u5730\u5740\u4e5f\u65e0\u6cd5\u8bbf\u95ee\u4ed3\u5e93\u5185\u5bb9\u3002 \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5efa\u8bae\u5982\u4e0b\uff1a \u5728\u81ea\u5df1\u4e2a\u4eba\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u4ed3\u5e93\u3002\u6b64\u5904\u5047\u8bbe\u4e2a\u4eba\u7528\u6237\u540d\u662f zhangsan \uff0c\u521b\u5efa\u7684\u79c1\u6709\u4ed3\u5e93\u540d\u4e3a ns-private \u3002 \u5728\u81ea\u5df1\u4e2a\u4eba\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u7684\u4ed3\u5e93\u91cc\uff0c\u901a\u8fc7\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u7684 Project information - Members \u8fdb\u5165\u4ed3\u5e93\u7528\u6237\u7ba1\u7406\u9875\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 Invite members \uff0c\u901a\u8fc7\u8f93\u5165\u5b9e\u540d\u7684\u65b9\u5f0f\uff0c\u641c\u7d22\u3001\u9009\u4e2d\u641c\u7d22\u7ed3\u679c\uff0c\u9080\u8bf7 4\u540d\u52a9\u6559\u3001\u4efb\u8bfe\u8001\u5e08\uff0c\u6388\u4e88 Maintainer \u89d2\u8272\u3002 \u5728\u81ea\u5df1\u7684\u7ec4\u547d\u540d\u7a7a\u95f4\u4e0b\uff08\u5f53\u524d\u4e3a ccs/ns-2023 \uff09\u7684\u7ec4\u5185\u516c\u5f00\u4ed3\u5e93\u6839\u76ee\u5f55\u4e0b\u7684 README.md \u6dfb\u52a0\u6307\u5411\u4e0a\u8ff0\u79c1\u6709\u4ed3\u5e93\u7684\u8d85\u94fe\u63a5\uff1a zhangsan/ns-private \u3002","title":"\u5173\u4e8e\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u7684\u8bf4\u660e"},{"location":"ns/2023/homework.html#_5","text":"\u5e73\u65f6\u6210\u7ee9 \u6ee1\u5206\u6309\u7167 100 \u5206\u8ba1\u7b97\u3002 \u81ea\u884c\u9009\u62e9 \u5728\u7ebf CTF \u5e73\u53f0 \u5b8c\u6210 \u5237\u9898\u767e\u5206 \u6253\u5361\uff0c\u5e76\u64b0\u5199\u914d\u5957 CTF WriteUp \u3002 \u5e73\u65f6\u6210\u7ee9 \u8ba1\u7b97\u622a\u6b62\u65f6\u95f4\u4e3a\u8003\u8bd5\u5468\u524d\u4e00\u5929\u665a\u4e0a 23:59:59 \uff1a 2023-12-31 23:59:59 \u3002 \u6240\u6709 CTF WriteUp \u63d0\u4ea4\u5230 \u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u72ec\u7acb\u76ee\u5f55\u4e0b\uff0c\u6bcf\u9053\u5f97\u5206\u9898\u5747\u9700\u914d\u5957 WriteUp \uff1b\u7f3a\u5c11\u914d\u5957 WriteUp \u5219\u5bf9\u5e94\u9898\u76ee\u5f97\u5206\u53ef\u80fd\u88ab\u89c6\u4e3a\u65e0\u6548\u3002","title":"\u5e73\u65f6\u6210\u7ee9"},{"location":"ns/2023/homework.html#ctf","text":"\u5237\u9898\u767e\u5206 \u63a8\u8350\u5e73\u53f0\u5982\u4e0b\uff0c\u63a8\u8350\u4f18\u5148\u7ea7\u4ece\u9ad8\u5230\u4f4e\u6392\u5217\uff1a CTFHub BUUCTF XCTF \u5b66\u4e60\u548c\u4f53\u9a8c\u7528\u9014\uff0c\u4e0d\u53c2\u4e0e \u5237\u9898\u767e\u5206 \u7684\u5e73\u53f0\u63a8\u8350\u5982\u4e0b\uff1a Bugku hackthebox","title":"\u5728\u7ebf CTF \u5e73\u53f0"},{"location":"ns/2023/homework.html#_6","text":"\u96be\u5ea6\u7ea7\u522b \u5206\u503c CTFHub BUUCTF XCTF \u2b50\ufe0f 5 2\u661f\u53ca\u4ee5\u4e0b >=2000\u6b21\u89e3\u51fa 2\u661f\u53ca\u4ee5\u4e0b \u2b50\ufe0f\u2b50\ufe0f 10 3\u661f [1000,2000)\u6b21\u89e3\u51fa 3\u661f \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f 15 4-5\u661f [100,1000)\u6b21\u89e3\u51fa 4-5\u661f \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f 20 6-8\u661f \u5c0f\u4e8e100\u6b21\u89e3\u51fa\u4e14\u5c0f\u4e8e90\u5206 6-8\u661f \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f 50 9-10\u661f >=90\u5206 9-10\u661f \u8865\u5145\u8bf4\u660e\uff1a \u7531\u4e8e\u8fd9\u4e9b\u5e73\u53f0\u7684\u5f00\u653e\u6027\u548c\u5df2\u89e3\u9898\u4eba\u5458\u6570\u91cf\u3001\u96be\u5ea6\u8bc4\u5206\u7684\u52a8\u6001\u6027\uff0c\u9700\u8981\u51fa\u5177\u5305\u542b\u4e0a\u8ff0 \u8bc1\u660e\u4fe1\u606f \u548c\u5e26\u6709 \u65f6\u95f4\u6233 \u7684\u505a\u9898\u65f6\u622a\u56fe\u3002 \u96be\u5ea6\u7ea7\u522b\u8bf7\u5bf9\u7167\u4e0a\u8ff0\u96be\u5ea6\u7ea7\u522b\u8bf4\u660e\u81ea\u8bc4\uff0c\u5e76\u5728 WriteUp \u91cc\u6c47\u603b\u4e00\u4e2a\u300c\u76ee\u5f55\u6e05\u5355\u300d\uff0c\u6bcf\u9053\u9898\u76ee\u7684 WriteUp \u663e\u8457\u4f4d\u7f6e\u6807\u6ce8\u4e0a\u96be\u5ea6\u7ea7\u522b\u3002 \u5982\u53d1\u73b0 PS \u622a\u56fe\u9020\u5047 \u6216 \u96be\u5ea6\u7ea7\u522b\u81ea\u8bc4\u9519\u8bef \uff0c\u5219\u53d6\u6d88\u5bf9\u5e94\u9898\u76ee WriteUp \u7684\u8ba1\u5206\u3002 \u6240\u8c13 \u5237\u9898\u767e\u5206 \u5c31\u662f\u63d0\u4ea4\u7684 WriteUp \u5305\u542b\u7684\u9898\u76ee\u603b\u5206\u503c\u8fbe\u5230\u6216\u8d85\u8fc7 100 \u5206\uff0c\u6b64\u65f6 \u5e73\u65f6\u6210\u7ee9 \u5f97\u5206\u4e3a\u6ee1\u5206\u3002 \u6700\u7ec8\u8ba4\u5b9a\u7684 \u5237\u9898\u767e\u5206 \u603b\u5206\u503c\u5982\u679c\u4e0d\u6ee1 100 \u5206\uff0c\u5219\u6309\u7167\u5b9e\u9645\u5f97\u5206\u8ba1\u5165\u5e73\u65f6\u6210\u7ee9\u3002 WriteUp \u4e2d\u9700\u8981\u5305\u542b \u8bc1\u660e\u81ea\u5df1\u4eb2\u81ea\u52a8\u624b\u5b8c\u6210\u5b9e\u9a8c\u7684\u300c\u7279\u5f81\u6807\u5fd7\u300d \u3002\u4f8b\u5982\uff0c\u4f7f\u7528\u7684 Linux \u7ec8\u7aef\u63d0\u793a\u7b26\u91cc\u5305\u542b\u81ea\u5df1\u59d3\u540d\u62fc\u97f3\u6216\u7b80\u62fc\u6216\u81ea\u5df1\u7684 Github ID \u7b49\u3002\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u540e\u671f\u56fe\u7247\u5904\u7406\u52a0\u4e0a\u7684 \u6c34\u5370 \u6ca1\u6709\u4eb2\u81ea\u52a8\u624b\u5b8c\u6210\u5b9e\u9a8c\u7684\u8bc1\u660e\u529b\u3002 \u65e0\u4e0a\u8ff0 \u8bc1\u660e\u81ea\u5df1\u4eb2\u81ea\u52a8\u624b\u5b8c\u6210\u5b9e\u9a8c\u7684\u300c\u7279\u5f81\u6807\u5fd7\u300d \u7684\u9898\u76ee\u5bf9\u5e94 WriteUp \u4e0d\u4e88\u8ba1\u5206\u3002 \u4e3e\u4f8b\u8bf4\u660e\uff1a \u5f20\u4e09 \u5728 CTFHub \u5e73\u53f0\u4e0a\u5b8c\u6210\u4e86 10 \u9053 \u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \u30012 \u9053 \u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \u30013 \u9053 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \uff0c\u5219\u603b\u5206\u8fbe\u5230 115 \u5206\uff0c\u5e73\u65f6\u6210\u7ee9\u6ee1\u5206\u3002 \u674e\u56db \u5728 CTFHub \u5e73\u53f0\u4e0a\u5b8c\u6210\u4e86 5 \u9053 \u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \u30012 \u9053 \u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \u30013 \u9053 \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f \u96be\u5ea6\u9898\u76ee\u7684 WriteUp \uff0c\u5219\u603b\u5206\u8fbe\u5230 90 \u5206\uff0c\u5e73\u65f6\u6210\u7ee9 90 \u5206\u3002","title":"\u5237\u9898\u767e\u5206"},{"location":"ns/2023/homework.html#_7","text":"\u6240\u6709\u5b9e\u9a8c\u62a5\u544a\u5f97\u5206\u4e4b\u548c\u6784\u6210\u671f\u672b\u6210\u7ee9\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e00\uff1a\u7b2c\u4e00\u7ae0\u3001\u7b2c\u4e94\u7ae0\u3001\u7b2c\u4e03\u7ae0\u3001\u7b2c\u5341\u4e00\u7ae0\u8bfe\u540e\u5b9e\u9a8c\u62a5\u544a\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e8c\uff1a\u7b2c\u4e8c\u7ae0\u3001\u7b2c\u4e09\u7ae0\u3001\u7b2c\u56db\u7ae0\u3001\u7b2c\u516b\u7ae0\u3001\u7b2c\u4e5d\u7ae0\u3001\u7b2c\u5341\u7ae0\u548c\u7b2c\u5341\u4e8c\u7ae0\u8bfe\u540e\u5b9e\u9a8c\u62a5\u544a\u81f3\u5c11\u4efb\u9009\u5176\u4e8c\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e00\u5f97\u5206\u5360\u6bd4 80%\uff0c\u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e8c\u5f97\u5206\u5360\u6bd4 20%\u3002 \u9700\u8981\u63d0\u4ea4\u5230 \u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u7684\u5b9e\u9a8c\u62a5\u544a\u662f\uff1a\u7b2c\u4e03\u7ae0\u548c\u7b2c\u5341\u4e00\u7ae0\u3002 \u6ca1\u6709\u7279\u522b\u8bf4\u660e\u7684\u5b9e\u9a8c\u62a5\u544a\u9ed8\u8ba4\u63d0\u4ea4\u5230\u516c\u5f00\u4ed3\u5e93\u3002","title":"\u671f\u672b\u6210\u7ee9"},{"location":"ns/2023/homework.html#_8","text":"\u7ebf\u4e0b\u8bfe\u9884\u8ba1\u4e00\u5171 9 \u6b21\uff0c\u6bcf\u6b21\u6b63\u5e38\u8003\u52e4\u8bb0 10 \u5206\uff0c\u5168\u52e4\u52a0 10 \u5206\u3002 \u8fdf\u5230\u534a\u5c0f\u65f6\u4ee5\u5185\u8bb0\u8003\u52e4 8 \u5206\u3002 \u65e9\u9000\u6bcf\u6ee1 10 \u5206\u949f\u6216\u4e0d\u8db3 10 \u5206\u949f\uff0c\u5747\u6263\u8003\u52e4 1 \u5206\u3002\u6263\u5230 0 \u5206\u4e3a\u6b62\u3002 \u7f3a\u52e4\u8bb0 0 \u5206\u3002 \u5982\u679c\u56e0\u4e0d\u53ef\u6297\u529b\u56e0\u7d20\u5bfc\u81f4\u7ebf\u4e0b\u8bfe\u603b\u6b21\u6570\u4e0d\u7b49\u4e8e 9 \u6b21\uff0c\u5219\u4e34\u65f6\u5fae\u8c03\u8003\u52e4\u6210\u7ee9\u8ba1\u7b97\u65b9\u6cd5\u3002","title":"\u8003\u52e4\u6210\u7ee9"},{"location":"ns/2023/homework.html#_9","text":"\u7545\u8bfe\u5e73\u53f0\u4e0a\u5355\u5143\u6d4b\u8bd5\u6210\u7ee9\u4e4b\u548c\uff0c\u6309\u6ee1\u5206 100 \u5206\u8fdb\u884c\u7b49\u6bd4\u4f8b\u6298\u7b97\u3002","title":"\u7ebf\u4e0a\u6210\u7ee9"},{"location":"ns/2024/index.html","text":"\u7f51\u7edc\u5b89\u5168 \u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f \u8bfe\u7a0b\u7f16\u53f7\uff1a2121030192 \u82f1\u6587\u540d\u79f0\uff1aComputer Network Security \u6388\u8bfe\u5bf9\u8c61\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u4e13\u4e1a \u5f00\u8bfe\u5b66\u671f\uff1a5 \u5b66\u5206/\u5b66\u65f6\uff1a2.5/64\uff082022\u7248\u6559\u5b66\u5927\u7eb2\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u5bfc\u8bba\u3001\u8ba1\u7b97\u673a\u7f51\u7edc\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4\u3001Python\u7f16\u7a0b \u6559\u5b66\u65b9\u5f0f\uff1a\u7ebf\u4e0a\u8bfe\u7a0b\u5b66\u4e60\uff0c\u7ebf\u4e0b\u7b54\u7591\u4e0e\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219 \u8bfe\u7a0b\u7b80\u4ecb \u672c\u8bfe\u7a0b\u9488\u5bf9\u7f51\u7edc\u5b89\u5168\u4e2d\u7684\u5173\u952e\u6280\u672f\uff0c\u4ece\u5e94\u7528\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ecb\u7ecd\u7f51\u7edc\u76d1\u542c\u3001\u626b\u63cf\u3001\u5165\u4fb5\u3001\u540e\u95e8\u3001\u9632\u706b\u5899\u548c\u865a\u62df\u4e13\u7528\u7f51\u7b49\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u5e76\u901a\u8fc7\u5b9e\u4f8b\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u5c06\u5b89\u5168\u7406\u8bba\u3001\u5b89\u5168\u6280\u672f\u548c\u5b89\u5168\u5de5\u5177\u6709\u673a\u7ed3\u5408\u3002 \u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42 \u968f\u7740\u4e92\u8054\u7f51\u7684\u53d1\u5c55\u548c\u4fe1\u606f\u5316\u8fdb\u7a0b\u7684\u6df1\u5165\uff0c\u4e92\u8054\u7f51\u548c\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u5b89\u5168\u95ee\u9898\u5df2\u6210\u4e3a\u5404\u56fd\u653f\u5e9c\u6709\u5173\u90e8\u95e8\u3001\u5404\u5927\u884c\u4e1a\u548c\u4f01\u4e8b\u4e1a\u5173\u6ce8\u7684\u70ed\u70b9\u95ee\u9898\uff0c\u5bf9\u7f51\u7edc\u4e0e\u7cfb\u7edf\u5b89\u5168\u4e13\u95e8\u4eba\u624d\u7684\u9700\u6c42\u4e5f\u65e5\u663e\u7a81\u51fa\u3002\u672c\u8bfe\u7a0b\u5168\u9762\u7cfb\u7edf\u5730\u4ecb\u7ecd\u7f51\u7edc\u5b89\u5168\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u7f51\u7edc\u5b89\u5168\u77e5\u8bc6\u548c\u5173\u952e\u6280\u672f\uff0c\u63d0\u9ad8\u5b89\u5168\u610f\u8bc6\uff0c\u589e\u5f3a\u89e3\u51b3\u4e92\u8054\u7f51\u548c\u6570\u5b57\u4f20\u5a92\u7b49\u884c\u4e1a\u4e2d\u7f51\u7edc\u5b89\u5168\u95ee\u9898\u7684\u80fd\u529b\u3002 \u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d 1\uff0e\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u5a01\u80c1\u6a21\u578b\u3001\u64cd\u4f5c\u7cfb\u7edf\u7684\u5b89\u5168\u673a\u5236\u3001\u878d\u5408\u7f51\u5b89\u5168\u3001\u7b49\u7ea7\u5b89\u5168\u4fdd\u62a4\u6982\u5ff5\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u6cd5\u89c4\u548c\u9ed1\u5ba2\u5b88\u5219\u3002 2\uff0e\u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8bbf\u95ee\u63a7\u5236\u7406\u8bba\u3001CVSS\u7406\u8bba\u3001\u98ce\u9669\u8bc4\u4f30\u6848\u4f8b\u5206\u6790\u3002 3\uff0e\u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4ee3\u7406\u7684\u5206\u7c7b\u3001\u57fa\u672c\u539f\u7406\u548c\u5de5\u5177\u4f7f\u7528\uff0c\u533f\u540d\u901a\u4fe1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u68c0\u6d4b\u65b9\u6cd5\u3002 4\uff0e\u7f51\u7edc\u76d1\u542c\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u76d1\u542c\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u76d1\u542c\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 5\uff0e\u7f51\u7edc\u626b\u63cf\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u626b\u63cf\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u626b\u63cf\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 6\uff0e\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\u7684\u57fa\u672c\u539f\u7406\u548c\u65b9\u6cd5\uff0c\u6e17\u900f\u6d4b\u8bd5\u7684\u65b9\u6cd5\u8bba\uff0c\u6e17\u900f\u6d4b\u8bd5\u4e0e\u7f51\u7edc\u5165\u4fb5\u7684\u533a\u522b\u4e0e\u8054\u7cfb\u3002 7\uff0eWeb \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff083\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1aSQL\u6ce8\u5165\u3001XSS\u3001CSRF\u3001\u53e3\u4ee4\u7834\u89e3\u3001HTTP\u534f\u8bae\u8c03\u8bd5\u65b9\u6cd5\u3002 8\uff0e\u9632\u706b\u5899\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u9632\u706b\u5899\u7684\u57fa\u672c\u539f\u7406\u3001\u9632\u706b\u5899\u6280\u672f\u53d1\u5c55\u53f2\u3001\u5178\u578b\u9632\u706b\u5899\u914d\u7f6e\u5b9e\u9a8c\u3002 9\uff0e\u5165\u4fb5\u68c0\u6d4b\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5165\u4fb5\u68c0\u6d4b\u7684\u57fa\u672c\u539f\u7406\u3001\u5165\u4fb5\u68c0\u6d4b\u6280\u672f\u53d1\u5c55\u53f2\u3002 10\uff0e\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5e38\u89c1\u5e94\u7528\u7a0b\u5e8f\u914d\u7f6e\u7f3a\u9677\u3001\u5e94\u7528\u9632\u706b\u5899\u914d\u7f6e\u3001WEB\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa\u3002 11\uff0e\u871c\u7f50\u548c\u871c\u7f51\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u871c\u7f50\u548c\u871c\u7f51\u7684\u57fa\u672c\u539f\u7406\u3001\u871c\u7f50\u548c\u871c\u7f51\u53d1\u5c55\u53f2\u3002 12\uff0e\u8ba1\u7b97\u673a\u53d6\u8bc1\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8ba1\u7b97\u673a\u53d6\u8bc1\u7684\u57fa\u672c\u539f\u7406\u3001\u7f51\u7edc\u6d41\u91cf\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u65e5\u5fd7\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u76d1\u63a7\u5de5\u5177\u7684\u53d6\u8bc1\u5e94\u7528\u3002 13\uff0e\u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u793e\u4ea4\u7f51\u7edc\u9493\u9c7c\u3001\u7535\u4fe1\u8bc8\u9a97\u4e0e\u9632\u8303\u3001\u5927\u6570\u636e\u5e94\u7528\u4e0e\u9690\u79c1\u4fdd\u62a4\u3002 \u5728\u7ebf\u8bfe\u4ef6\u548c\u6388\u8bfe\u89c6\u9891\u56de\u653e \u5728\u7ebf\u8bfe\u672c \u5728\u7ebf\u8bfe\u4ef6 \u6388\u8bfe\u89c6\u9891\u56de\u653e \u671f\u672b\u8bd5\u9898\u6837\u672c.docx \u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282 H1 \u865a\u62df\u7f51\u7edc\u914d\u7f6e\u5b9e\u9a8c\uff1a\u865a\u62df\u673a\u8f6f\u4ef6Virtualbox\u76845\u79cd\u7f51\u7edc\u6a21\u5f0f\u7684\u533a\u522b\u3001\u5e94\u7528\u573a\u666f\uff0c\u591a\u865a\u62df\u7f51\u5361\u7684\u5e94\u7528\uff0c\u65e0\u6cd5\u4f7f\u7528 Virtualbox \u7684\u540c\u5b66\u53ef\u4ee5\u4f7f\u7528\u5176\u4ed6\u865a\u62df\u5316\u6216\u5bb9\u5668\u89e3\u51b3\u65b9\u6848\u3002\uff087\u5b66\u65f6\uff09 H4 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff1a\u4f7f\u7528ettercap\u3001tcpdump\u8fdb\u884c\u7f51\u7edc\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff1bwireshark\u8fdb\u884c\u7f51\u7edc\u76d1\u542c\u3001\u6d41\u91cf\u5206\u6790\u548c\u6d41\u91cf\u8fd8\u539f\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 H5 \u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1a\u4f7f\u7528nmap/scapy\u8fdb\u884c\u4e3b\u673a\u548c\u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1b\uff087\u5b66\u65f6\uff09 H6 \u7f51\u7edc\u6e17\u900f\u5b9e\u9a8c\uff1a\u4fe1\u606f\u6536\u96c6\u5de5\u5177\uff08\u641c\u7d22\u5f15\u64ce\u3001whois\u3001\u793e\u4ea4\u7f51\u7edc\u641c\u7d22\u5de5\u5177\u7b49\uff09\u7684\u4f7f\u7528\uff0c\u4e86\u89e3metasploit\u7684\u57fa\u672c\u4f7f\u7528\uff1b\uff083\u5b66\u65f6\uff09 H7 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u57fa\u4e8eWebGoat\u7b49\u8bad\u7ec3\u5e73\u53f0\uff0c\u8fdb\u884cSQL\u6ce8\u5165\u3001XSS\u7b49WEB\u6f0f\u6d1e\u7684\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff1b\uff086\u5b66\u65f6\uff09 H7 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u57fa\u4e8e\u771f\u5b9eWeb\u5e94\u7528\uff0c\u8fdb\u884c\u6f0f\u6d1e\u6316\u6398\u548c\u6f0f\u6d1e\u5229\u7528\u5b9e\u9a8c\uff1b\uff083\u5b66\u65f6\uff09 H8 \u9632\u706b\u5899\u5b9e\u9a8c\uff1aiptables\u914d\u7f6e\uff1b\uff083\u5b66\u65f6\uff09 H9 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1asnort/zeek\u914d\u7f6e\uff1b\uff083\u5b66\u65f6\uff09 H10 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u914d\u7f6e\u4e0e\u52a0\u56fa(fail2ban)\uff1b\uff083\u5b66\u65f6\uff09 H11 \u871c\u7f50\u5b9e\u9a8c\uff1a\u871c\u7f50\u63a2\u7d22\u4f53\u9a8c\u5b9e\u9a8c\uff1b\uff086\u5b66\u65f6\uff09 H12 \u5165\u4fb5\u53d6\u8bc1\u5b9e\u9a8c\uff1a\u7efc\u5408snort/zeek\u3001\u7cfb\u7edf\u65e5\u5fd7\u3001\u5e94\u7528\u7a0b\u5e8f\u65e5\u5fd7\u3001wireshark\u6293\u5305\u7b49\u5de5\u5177\u548c\u65b9\u6cd5\uff0c\u53d1\u73b0\u653b\u51fb\u6e90\u3001\u91cd\u5efa\u653b\u51fb\u573a\u666f\u548c\u8fc7\u7a0b\u3002\uff083\u5b66\u65f6\uff09 \u4e94\u3001\u5efa\u8bae\u6559\u6750 \u65e0 \u516d\u3001\u53c2\u8003\u8d44\u6599 \u52a0\u5dde\u5927\u5b66\u5723\u5730\u4e9a\u54e5\u5206\u6821\u7684\u4fe1\u606f\u5b89\u5168\u8bfe\u7a0b \u65af\u5766\u798f\u5927\u5b66\u7684\u7f51\u7edc\u7a7a\u95f4\u5168\u4e2d\u7684\u6570\u636e\u6316\u6398\uff1aCS 259D Data Mining for Cyber Security Autumn 2014 illinois\u5927\u5b66\u7684\u7f51\u7edc\u5b89\u5168\u8bfe\u7a0b \u504f\u7cfb\u7edf\u548c\u7f51\u7edc\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u89c6\u9891\u8bfe\u7a0b\uff08\u90e8\u5206\u8bfe\u7a0b\u5b8c\u5168\u514d\u8d39\uff09 \u504fWeb\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u8bfe\u7a0b\uff08\u5b9e\u9a8c\u73af\u5883\u53ef\u4e0b\u8f7d\uff09","title":"2024\u5e74"},{"location":"ns/2024/index.html#_1","text":"","title":"\u7f51\u7edc\u5b89\u5168"},{"location":"ns/2024/index.html#_2","text":"\u8bfe\u7a0b\u7f16\u53f7\uff1a2121030192 \u82f1\u6587\u540d\u79f0\uff1aComputer Network Security \u6388\u8bfe\u5bf9\u8c61\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u4e13\u4e1a \u5f00\u8bfe\u5b66\u671f\uff1a5 \u5b66\u5206/\u5b66\u65f6\uff1a2.5/64\uff082022\u7248\u6559\u5b66\u5927\u7eb2\uff09 \u5148\u4fee\u8bfe\u7a0b\uff1a\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u5bfc\u8bba\u3001\u8ba1\u7b97\u673a\u7f51\u7edc\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u4e0e\u7ef4\u62a4\u3001Python\u7f16\u7a0b \u6559\u5b66\u65b9\u5f0f\uff1a\u7ebf\u4e0a\u8bfe\u7a0b\u5b66\u4e60\uff0c\u7ebf\u4e0b\u7b54\u7591\u4e0e\u5b9e\u9a8c \u8be6\u7ec6\u6559\u5b66\u65e5\u5386 \u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219","title":"\u4e00\u3001\u8bfe\u7a0b\u57fa\u672c\u4fe1\u606f"},{"location":"ns/2024/index.html#_3","text":"\u672c\u8bfe\u7a0b\u9488\u5bf9\u7f51\u7edc\u5b89\u5168\u4e2d\u7684\u5173\u952e\u6280\u672f\uff0c\u4ece\u5e94\u7528\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ecb\u7ecd\u7f51\u7edc\u76d1\u542c\u3001\u626b\u63cf\u3001\u5165\u4fb5\u3001\u540e\u95e8\u3001\u9632\u706b\u5899\u548c\u865a\u62df\u4e13\u7528\u7f51\u7b49\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u5e76\u901a\u8fc7\u5b9e\u4f8b\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u5c06\u5b89\u5168\u7406\u8bba\u3001\u5b89\u5168\u6280\u672f\u548c\u5b89\u5168\u5de5\u5177\u6709\u673a\u7ed3\u5408\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"ns/2024/index.html#_4","text":"\u968f\u7740\u4e92\u8054\u7f51\u7684\u53d1\u5c55\u548c\u4fe1\u606f\u5316\u8fdb\u7a0b\u7684\u6df1\u5165\uff0c\u4e92\u8054\u7f51\u548c\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u5b89\u5168\u95ee\u9898\u5df2\u6210\u4e3a\u5404\u56fd\u653f\u5e9c\u6709\u5173\u90e8\u95e8\u3001\u5404\u5927\u884c\u4e1a\u548c\u4f01\u4e8b\u4e1a\u5173\u6ce8\u7684\u70ed\u70b9\u95ee\u9898\uff0c\u5bf9\u7f51\u7edc\u4e0e\u7cfb\u7edf\u5b89\u5168\u4e13\u95e8\u4eba\u624d\u7684\u9700\u6c42\u4e5f\u65e5\u663e\u7a81\u51fa\u3002\u672c\u8bfe\u7a0b\u5168\u9762\u7cfb\u7edf\u5730\u4ecb\u7ecd\u7f51\u7edc\u5b89\u5168\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u548c\u6280\u672f\uff0c\u4f7f\u5b66\u751f\u638c\u63e1\u7f51\u7edc\u5b89\u5168\u77e5\u8bc6\u548c\u5173\u952e\u6280\u672f\uff0c\u63d0\u9ad8\u5b89\u5168\u610f\u8bc6\uff0c\u589e\u5f3a\u89e3\u51b3\u4e92\u8054\u7f51\u548c\u6570\u5b57\u4f20\u5a92\u7b49\u884c\u4e1a\u4e2d\u7f51\u7edc\u5b89\u5168\u95ee\u9898\u7684\u80fd\u529b\u3002","title":"\u4e8c\u3001\u8bfe\u7a0b\u6559\u5b66\u76ee\u7684\u548c\u8981\u6c42"},{"location":"ns/2024/index.html#_5","text":"1\uff0e\u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u5a01\u80c1\u6a21\u578b\u3001\u64cd\u4f5c\u7cfb\u7edf\u7684\u5b89\u5168\u673a\u5236\u3001\u878d\u5408\u7f51\u5b89\u5168\u3001\u7b49\u7ea7\u5b89\u5168\u4fdd\u62a4\u6982\u5ff5\u3001\u8ba1\u7b97\u673a\u5b89\u5168\u6cd5\u89c4\u548c\u9ed1\u5ba2\u5b88\u5219\u3002 2\uff0e\u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8bbf\u95ee\u63a7\u5236\u7406\u8bba\u3001CVSS\u7406\u8bba\u3001\u98ce\u9669\u8bc4\u4f30\u6848\u4f8b\u5206\u6790\u3002 3\uff0e\u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4ee3\u7406\u7684\u5206\u7c7b\u3001\u57fa\u672c\u539f\u7406\u548c\u5de5\u5177\u4f7f\u7528\uff0c\u533f\u540d\u901a\u4fe1\u7684\u57fa\u672c\u539f\u7406\u4e0e\u68c0\u6d4b\u65b9\u6cd5\u3002 4\uff0e\u7f51\u7edc\u76d1\u542c\uff082\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u76d1\u542c\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u76d1\u542c\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 5\uff0e\u7f51\u7edc\u626b\u63cf\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u626b\u63cf\u7684\u57fa\u672c\u6982\u5ff5\u3001\u539f\u7406\u3001\u5206\u7c7b\u548c\u9632\u8303\u65b9\u6cd5\uff0c\u5e38\u7528\u7684\u626b\u63cf\u5de5\u5177\u8f6f\u4ef6\u4f7f\u7528\u3002 6\uff0e\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f\u7684\u57fa\u672c\u539f\u7406\u548c\u65b9\u6cd5\uff0c\u6e17\u900f\u6d4b\u8bd5\u7684\u65b9\u6cd5\u8bba\uff0c\u6e17\u900f\u6d4b\u8bd5\u4e0e\u7f51\u7edc\u5165\u4fb5\u7684\u533a\u522b\u4e0e\u8054\u7cfb\u3002 7\uff0eWeb \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff083\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1aSQL\u6ce8\u5165\u3001XSS\u3001CSRF\u3001\u53e3\u4ee4\u7834\u89e3\u3001HTTP\u534f\u8bae\u8c03\u8bd5\u65b9\u6cd5\u3002 8\uff0e\u9632\u706b\u5899\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u9632\u706b\u5899\u7684\u57fa\u672c\u539f\u7406\u3001\u9632\u706b\u5899\u6280\u672f\u53d1\u5c55\u53f2\u3001\u5178\u578b\u9632\u706b\u5899\u914d\u7f6e\u5b9e\u9a8c\u3002 9\uff0e\u5165\u4fb5\u68c0\u6d4b\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5165\u4fb5\u68c0\u6d4b\u7684\u57fa\u672c\u539f\u7406\u3001\u5165\u4fb5\u68c0\u6d4b\u6280\u672f\u53d1\u5c55\u53f2\u3002 10\uff0e\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u5e38\u89c1\u5e94\u7528\u7a0b\u5e8f\u914d\u7f6e\u7f3a\u9677\u3001\u5e94\u7528\u9632\u706b\u5899\u914d\u7f6e\u3001WEB\u670d\u52a1\u5668\u5b89\u5168\u52a0\u56fa\u3002 11\uff0e\u871c\u7f50\u548c\u871c\u7f51\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u871c\u7f50\u548c\u871c\u7f51\u7684\u57fa\u672c\u539f\u7406\u3001\u871c\u7f50\u548c\u871c\u7f51\u53d1\u5c55\u53f2\u3002 12\uff0e\u8ba1\u7b97\u673a\u53d6\u8bc1\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u8ba1\u7b97\u673a\u53d6\u8bc1\u7684\u57fa\u672c\u539f\u7406\u3001\u7f51\u7edc\u6d41\u91cf\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u65e5\u5fd7\u5206\u6790\u4e0e\u53d6\u8bc1\u3001\u7cfb\u7edf\u8fd0\u884c\u65f6\u76d1\u63a7\u5de5\u5177\u7684\u53d6\u8bc1\u5e94\u7528\u3002 13\uff0e\u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168\uff081\u5b66\u65f6\uff09 \u91cd\u70b9\u5185\u5bb9\uff1a\u793e\u4ea4\u7f51\u7edc\u9493\u9c7c\u3001\u7535\u4fe1\u8bc8\u9a97\u4e0e\u9632\u8303\u3001\u5927\u6570\u636e\u5e94\u7528\u4e0e\u9690\u79c1\u4fdd\u62a4\u3002","title":"\u4e09\u3001\u6559\u5b66\u5185\u5bb9\u4e0e\u5b66\u65f6\u5206\u914d"},{"location":"ns/2024/index.html#_6","text":"\u5728\u7ebf\u8bfe\u672c \u5728\u7ebf\u8bfe\u4ef6 \u6388\u8bfe\u89c6\u9891\u56de\u653e \u671f\u672b\u8bd5\u9898\u6837\u672c.docx","title":"\u5728\u7ebf\u8bfe\u4ef6\u548c\u6388\u8bfe\u89c6\u9891\u56de\u653e"},{"location":"ns/2024/index.html#_7","text":"H1 \u865a\u62df\u7f51\u7edc\u914d\u7f6e\u5b9e\u9a8c\uff1a\u865a\u62df\u673a\u8f6f\u4ef6Virtualbox\u76845\u79cd\u7f51\u7edc\u6a21\u5f0f\u7684\u533a\u522b\u3001\u5e94\u7528\u573a\u666f\uff0c\u591a\u865a\u62df\u7f51\u5361\u7684\u5e94\u7528\uff0c\u65e0\u6cd5\u4f7f\u7528 Virtualbox \u7684\u540c\u5b66\u53ef\u4ee5\u4f7f\u7528\u5176\u4ed6\u865a\u62df\u5316\u6216\u5bb9\u5668\u89e3\u51b3\u65b9\u6848\u3002\uff087\u5b66\u65f6\uff09 H4 \u5c40\u57df\u7f51\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff1a\u4f7f\u7528ettercap\u3001tcpdump\u8fdb\u884c\u7f51\u7edc\u4e3b\u52a8\u76d1\u542c\u5b9e\u9a8c\uff1bwireshark\u8fdb\u884c\u7f51\u7edc\u76d1\u542c\u3001\u6d41\u91cf\u5206\u6790\u548c\u6d41\u91cf\u8fd8\u539f\u5b9e\u9a8c\uff1b\uff084\u5b66\u65f6\uff09 H5 \u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1a\u4f7f\u7528nmap/scapy\u8fdb\u884c\u4e3b\u673a\u548c\u7f51\u7edc\u626b\u63cf\u5b9e\u9a8c\uff1b\uff087\u5b66\u65f6\uff09 H6 \u7f51\u7edc\u6e17\u900f\u5b9e\u9a8c\uff1a\u4fe1\u606f\u6536\u96c6\u5de5\u5177\uff08\u641c\u7d22\u5f15\u64ce\u3001whois\u3001\u793e\u4ea4\u7f51\u7edc\u641c\u7d22\u5de5\u5177\u7b49\uff09\u7684\u4f7f\u7528\uff0c\u4e86\u89e3metasploit\u7684\u57fa\u672c\u4f7f\u7528\uff1b\uff083\u5b66\u65f6\uff09 H7 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1a\u57fa\u4e8eWebGoat\u7b49\u8bad\u7ec3\u5e73\u53f0\uff0c\u8fdb\u884cSQL\u6ce8\u5165\u3001XSS\u7b49WEB\u6f0f\u6d1e\u7684\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff1b\uff086\u5b66\u65f6\uff09 H7 WEB\u6f0f\u6d1e\u68c0\u6d4b\u4e0e\u5229\u7528\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u57fa\u4e8e\u771f\u5b9eWeb\u5e94\u7528\uff0c\u8fdb\u884c\u6f0f\u6d1e\u6316\u6398\u548c\u6f0f\u6d1e\u5229\u7528\u5b9e\u9a8c\uff1b\uff083\u5b66\u65f6\uff09 H8 \u9632\u706b\u5899\u5b9e\u9a8c\uff1aiptables\u914d\u7f6e\uff1b\uff083\u5b66\u65f6\uff09 H9 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0a\uff09\uff1asnort/zeek\u914d\u7f6e\uff1b\uff083\u5b66\u65f6\uff09 H10 \u7f51\u7edc\u9632\u5fa1\u5b9e\u9a8c\uff08\u4e0b\uff09\uff1a\u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u914d\u7f6e\u4e0e\u52a0\u56fa(fail2ban)\uff1b\uff083\u5b66\u65f6\uff09 H11 \u871c\u7f50\u5b9e\u9a8c\uff1a\u871c\u7f50\u63a2\u7d22\u4f53\u9a8c\u5b9e\u9a8c\uff1b\uff086\u5b66\u65f6\uff09 H12 \u5165\u4fb5\u53d6\u8bc1\u5b9e\u9a8c\uff1a\u7efc\u5408snort/zeek\u3001\u7cfb\u7edf\u65e5\u5fd7\u3001\u5e94\u7528\u7a0b\u5e8f\u65e5\u5fd7\u3001wireshark\u6293\u5305\u7b49\u5de5\u5177\u548c\u65b9\u6cd5\uff0c\u53d1\u73b0\u653b\u51fb\u6e90\u3001\u91cd\u5efa\u653b\u51fb\u573a\u666f\u548c\u8fc7\u7a0b\u3002\uff083\u5b66\u65f6\uff09","title":"\u56db\u3001\u4f5c\u4e1a\u3001\u5b9e\u8df5\u73af\u8282"},{"location":"ns/2024/index.html#_8","text":"\u65e0","title":"\u4e94\u3001\u5efa\u8bae\u6559\u6750"},{"location":"ns/2024/index.html#_9","text":"\u52a0\u5dde\u5927\u5b66\u5723\u5730\u4e9a\u54e5\u5206\u6821\u7684\u4fe1\u606f\u5b89\u5168\u8bfe\u7a0b \u65af\u5766\u798f\u5927\u5b66\u7684\u7f51\u7edc\u7a7a\u95f4\u5168\u4e2d\u7684\u6570\u636e\u6316\u6398\uff1aCS 259D Data Mining for Cyber Security Autumn 2014 illinois\u5927\u5b66\u7684\u7f51\u7edc\u5b89\u5168\u8bfe\u7a0b \u504f\u7cfb\u7edf\u548c\u7f51\u7edc\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u89c6\u9891\u8bfe\u7a0b\uff08\u90e8\u5206\u8bfe\u7a0b\u5b8c\u5168\u514d\u8d39\uff09 \u504fWeb\u6e17\u900f\u6d4b\u8bd5\u7684\u5728\u7ebf\u8bfe\u7a0b\uff08\u5b9e\u9a8c\u73af\u5883\u53ef\u4e0b\u8f7d\uff09","title":"\u516d\u3001\u53c2\u8003\u8d44\u6599"},{"location":"ns/2024/calendar.html","text":"2024 \u79cb\u6559\u5b66\u65e5\u5386 \u7b2c\u4e00\u6b21\u4e0a\u8bfe\u524d\u51c6\u5907 \u5728\u81ea\u5df1\u7684 Virtualbox \u865a\u62df\u673a\u91cc\u4e0b\u8f7d\u5e76\u5b89\u88c5 \u6700\u65b0\u7248 Kali \u7684\u865a\u62df\u673a\u955c\u50cf\u7248 \u5728\u81ea\u5df1\u7684 Virtualbox \u865a\u62df\u673a\u91cc\u4e0b\u8f7d\u5e76\u5bfc\u5165 Debian 10 \u548c Windows XP SP3 \u7684\u865a\u62df\u786c\u76d8\u6587\u4ef6\u3002 \u5982\u679c\u65e0\u6cd5\u4e0b\u8f7d\u6b64\u5904 2 \u4e2a\u94fe\u63a5\u6216\u94fe\u63a5\u5931\u6548\uff0c\u8bf7\u81ea\u884c\u4e0b\u8f7d\u5bf9\u5e94\u7684\u7cfb\u7edf\u955c\u50cf\u5e76\u81ea\u884c\u5b89\u88c5\u3002\u76ee\u6807 Windows XP SP3 \u955c\u50cf\u7684 SHA1 \u503c\uff1a d142469d0c3953d8e4a6a490a58052ef52837f0f Tip: 6crcc \ud83d\udc36 Debian 10 \u5bf9\u5e94\u7248\u672c\u4ee3\u53f7 Buster \u6821\u5185\u540c\u5b66\u8bf7\u767b\u5f55\u4e2d\u4f20\u4e91\u76d8\u540e\uff0c\u901a\u8fc7\u4ee5\u4e0b\u5206\u4eab\u4fe1\u606f\u8bbf\u95ee\u5230\u4e0a\u8ff0 2 \u4e2a\u865a\u62df\u673a\u865a\u62df\u786c\u76d8\u6587\u4ef6\u3002 \u5206\u4eab\u540d\u79f0\uff1a\u7f51\u7edc\u5b89\u5168-\u8bfe\u7a0b\u516c\u5f00\u5206\u4eab\u5206\u4eab\u94fe\u63a5\uff1ahttps://kod.cuc.edu.cn/#s/8d01XBZA \u8bbf\u95ee\u5bc6\u7801\uff1anG8qk \u6ca1\u6709\u4e2d\u4f20\u4e91\u76d8\u8d26\u53f7\u7684\u540c\u5b66\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u767e\u5ea6\u4e91\u76d8\u5206\u4eab\u94fe\u63a5\u3002 \u94fe\u63a5: https://pan.baidu.com/s/1ziXW94xhC-Pc11uxaZ8CDw?pwd=k3nd \u63d0\u53d6\u7801: k3nd \u4e91\u76d8\u5185\u6587\u4ef6\u7684 SHA256 \u6821\u9a8c\u548c bcc3c70b27fcbcd8ec02d8961c2483676085a833ea32d1989494ad6e43a774b8 Debian10.vdi.zip 27853eb0b0574c367100b950990c6ee623f1315657f41a06e3daa428bed2e503 xp_sp3_base.vdi.zip \u4e91\u76d8\u5185\u6587\u4ef6\u7684 MD5 \u6821\u9a8c\u548c 48358869605300877 d1058da9dcb93d0 Debian10 . vdi . zip 7 a37ef9a1c38c5afe7eaa52ab1ce0090 xp_sp3_base . vdi . zip 2024.09.04 \u7b2c1\u5468 \u7ebf\u4e0b \u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840 \u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff08\u5b9e\u9a8c\uff09 2024.09.11 \u7b2c2\u5468 \u7ebf\u4e0b \u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff08\u5b9e\u9a8c\uff09 2024.09.18 \u7b2c3\u5468 \u7ebf\u4e0b \u7b2c\u4e8c\u7ae0 \u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528 \u7b2c\u4e09\u7ae0 \u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840 \u7b2c\u56db\u7ae0 \u7f51\u7edc\u76d1\u542c 2024.09.25 \u7b2c4\u5468 \u7ebf\u4e0b \u7b2c\u56db\u7ae0 \u7f51\u7edc\u76d1\u542c\uff08\u5b9e\u9a8c\uff09 2024.10.2 \u7b2c5\u5468 \uff08\u56fd\u5e86\u653e\u5047\uff09 \u65e0\u8bfe\u3002 2024.10.9 \u7b2c6\u5468 \u7ebf\u4e0b \u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf \u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf \uff08\u5b9e\u9a8c\uff09 2024.10.16 \u7b2c7\u5468 \u7ebf\u4e0b \u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf \uff08\u5b9e\u9a8c\uff09 2024.10.23 \u7b2c8\u5468 \u7ebf\u4e0b \u7b2c\u516d\u7ae0 \u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f \u7b2c\u516d\u7ae0 \u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f \uff08\u5b9e\u9a8c) 2024.10.30 \u7b2c9\u5468 \u7ebf\u4e0b \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632 \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u5b9e\u9a8c\uff09 2024.11.6 \u7b2c10\u5468 \u7ebf\u4e0b \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u5b9e\u9a8c\uff09 2024.11.13 \u7b2c11\u5468 \u7ebf\u4e0b \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u5b9e\u9a8c\uff09 2024.11.20 \u7b2c12\u5468 \u7ebf\u4e0b \u7b2c\u516b\u7ae0 \u9632\u706b\u5899 \u7b2c\u516b\u7ae0 \u9632\u706b\u5899\uff08\u5b9e\u9a8c\uff09 2024.11.27 \u7b2c13\u5468 \u7ebf\u4e0b \u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b\uff08\u5b9e\u9a8c\uff09 2024.12.4 \u7b2c14\u5468 \u7ebf\u4e0b \u7b2c\u5341\u7ae0 \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa \u7b2c\u5341\u7ae0 \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa\uff08\u5b9e\u9a8c\uff09 2024.12.11 \u7b2c15\u5468 \u7ebf\u4e0b \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51\uff08\u5b9e\u9a8c\uff09 2024.12.18 \u7b2c16\u5468 \u7ebf\u4e0b \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51\uff08\u5b9e\u9a8c\uff09 \u7b2c\u5341\u4e8c\u7ae0 \u8ba1\u7b97\u673a\u53d6\u8bc1 2024.12.25 \u7b2c17\u5468 \u7ebf\u4e0b \u7b2c\u5341\u4e09\u7ae0 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168 \u7b2c\u5341\u4e8c\u7ae0 \u8ba1\u7b97\u673a\u53d6\u8bc1\uff08\u5b9e\u9a8c\uff09 \u6279\u6539\u8ba1\u7b97\u6210\u7ee9\u622a\u6b62\u65f6\u95f4 \u4e3a 2025.01.07 23:59 \u665a\u4e8e\u8fd9\u4e2a\u65f6\u95f4\u8282\u70b9\u63d0\u4ea4\u5230 git.cuc.edu.cn \u7684\u5b9e\u9a8c\u62a5\u544a\u5c06\u6309\u7167\u96f6\u5206\u767b\u8bb0\u3002 \u7545\u8bfe\u5e73\u53f0\u7684\u4f5c\u4e1a\u63d0\u4ea4\u622a\u6b62\u65f6\u95f4 2025.01.10 23:59 \u662f\u7528\u4e8e\u5b9e\u9a8c\u62a5\u544a\u6574\u7406\u540e \u6253\u5305\u63d0\u4ea4\u5b58\u6863\u7684\u622a\u6b62\u65f6\u95f4 \uff0c\u4ec5\u7528\u4e8e git \u4e0a\u5df2\u63d0\u4ea4\u4f5c\u4e1a\u7684\u5b58\u6863\uff0c\u4e0d\u4f1a\u88ab\u6279\u6539\u3002","title":"2024 \u79cb\u6559\u5b66\u65e5\u5386"},{"location":"ns/2024/calendar.html#2024","text":"","title":"2024 \u79cb\u6559\u5b66\u65e5\u5386"},{"location":"ns/2024/calendar.html#_1","text":"\u5728\u81ea\u5df1\u7684 Virtualbox \u865a\u62df\u673a\u91cc\u4e0b\u8f7d\u5e76\u5b89\u88c5 \u6700\u65b0\u7248 Kali \u7684\u865a\u62df\u673a\u955c\u50cf\u7248 \u5728\u81ea\u5df1\u7684 Virtualbox \u865a\u62df\u673a\u91cc\u4e0b\u8f7d\u5e76\u5bfc\u5165 Debian 10 \u548c Windows XP SP3 \u7684\u865a\u62df\u786c\u76d8\u6587\u4ef6\u3002 \u5982\u679c\u65e0\u6cd5\u4e0b\u8f7d\u6b64\u5904 2 \u4e2a\u94fe\u63a5\u6216\u94fe\u63a5\u5931\u6548\uff0c\u8bf7\u81ea\u884c\u4e0b\u8f7d\u5bf9\u5e94\u7684\u7cfb\u7edf\u955c\u50cf\u5e76\u81ea\u884c\u5b89\u88c5\u3002\u76ee\u6807 Windows XP SP3 \u955c\u50cf\u7684 SHA1 \u503c\uff1a d142469d0c3953d8e4a6a490a58052ef52837f0f Tip: 6crcc \ud83d\udc36 Debian 10 \u5bf9\u5e94\u7248\u672c\u4ee3\u53f7 Buster \u6821\u5185\u540c\u5b66\u8bf7\u767b\u5f55\u4e2d\u4f20\u4e91\u76d8\u540e\uff0c\u901a\u8fc7\u4ee5\u4e0b\u5206\u4eab\u4fe1\u606f\u8bbf\u95ee\u5230\u4e0a\u8ff0 2 \u4e2a\u865a\u62df\u673a\u865a\u62df\u786c\u76d8\u6587\u4ef6\u3002 \u5206\u4eab\u540d\u79f0\uff1a\u7f51\u7edc\u5b89\u5168-\u8bfe\u7a0b\u516c\u5f00\u5206\u4eab\u5206\u4eab\u94fe\u63a5\uff1ahttps://kod.cuc.edu.cn/#s/8d01XBZA \u8bbf\u95ee\u5bc6\u7801\uff1anG8qk \u6ca1\u6709\u4e2d\u4f20\u4e91\u76d8\u8d26\u53f7\u7684\u540c\u5b66\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u767e\u5ea6\u4e91\u76d8\u5206\u4eab\u94fe\u63a5\u3002 \u94fe\u63a5: https://pan.baidu.com/s/1ziXW94xhC-Pc11uxaZ8CDw?pwd=k3nd \u63d0\u53d6\u7801: k3nd","title":"\u7b2c\u4e00\u6b21\u4e0a\u8bfe\u524d\u51c6\u5907"},{"location":"ns/2024/calendar.html#sha256","text":"bcc3c70b27fcbcd8ec02d8961c2483676085a833ea32d1989494ad6e43a774b8 Debian10.vdi.zip 27853eb0b0574c367100b950990c6ee623f1315657f41a06e3daa428bed2e503 xp_sp3_base.vdi.zip","title":"\u4e91\u76d8\u5185\u6587\u4ef6\u7684 SHA256 \u6821\u9a8c\u548c"},{"location":"ns/2024/calendar.html#md5","text":"48358869605300877 d1058da9dcb93d0 Debian10 . vdi . zip 7 a37ef9a1c38c5afe7eaa52ab1ce0090 xp_sp3_base . vdi . zip","title":"\u4e91\u76d8\u5185\u6587\u4ef6\u7684 MD5 \u6821\u9a8c\u548c"},{"location":"ns/2024/calendar.html#20240904-1","text":"\u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840 \u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff08\u5b9e\u9a8c\uff09","title":"2024.09.04 \u7b2c1\u5468 \u7ebf\u4e0b"},{"location":"ns/2024/calendar.html#20240911-2","text":"\u7b2c\u4e00\u7ae0 \u7f51\u7edc\u5b89\u5168\u57fa\u7840\uff08\u5b9e\u9a8c\uff09","title":"2024.09.11 \u7b2c2\u5468 \u7ebf\u4e0b"},{"location":"ns/2024/calendar.html#20240918-3","text":"\u7b2c\u4e8c\u7ae0 \u7cfb\u7edf\u5b89\u5168\u3001\u98ce\u9669\u8bc4\u4f30\u7406\u8bba\u4e0e\u5e94\u7528 \u7b2c\u4e09\u7ae0 \u7f51\u7edc\u5b89\u5168\u5e94\u7528\u57fa\u7840 \u7b2c\u56db\u7ae0 \u7f51\u7edc\u76d1\u542c","title":"2024.09.18 \u7b2c3\u5468 \u7ebf\u4e0b"},{"location":"ns/2024/calendar.html#20240925-4","text":"\u7b2c\u56db\u7ae0 \u7f51\u7edc\u76d1\u542c\uff08\u5b9e\u9a8c\uff09","title":"2024.09.25 \u7b2c4\u5468 \u7ebf\u4e0b"},{"location":"ns/2024/calendar.html#2024102-5","text":"\u65e0\u8bfe\u3002","title":"2024.10.2 \u7b2c5\u5468 \uff08\u56fd\u5e86\u653e\u5047\uff09"},{"location":"ns/2024/calendar.html#2024109-6","text":"\u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf \u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf \uff08\u5b9e\u9a8c\uff09","title":"2024.10.9 \u7b2c6\u5468 \u7ebf\u4e0b"},{"location":"ns/2024/calendar.html#20241016-7","text":"\u7b2c\u4e94\u7ae0 \u7f51\u7edc\u626b\u63cf \uff08\u5b9e\u9a8c\uff09","title":"2024.10.16 \u7b2c7\u5468 \u7ebf\u4e0b"},{"location":"ns/2024/calendar.html#20241023-8","text":"\u7b2c\u516d\u7ae0 \u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f \u7b2c\u516d\u7ae0 \u7f51\u7edc\u4e0e\u7cfb\u7edf\u6e17\u900f \uff08\u5b9e\u9a8c)","title":"2024.10.23 \u7b2c8\u5468 \u7ebf\u4e0b"},{"location":"ns/2024/calendar.html#20241030-9","text":"\u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632 \u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u5b9e\u9a8c\uff09","title":"2024.10.30 \u7b2c9\u5468 \u7ebf\u4e0b"},{"location":"ns/2024/calendar.html#2024116-10","text":"\u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u5b9e\u9a8c\uff09","title":"2024.11.6 \u7b2c10\u5468 \u7ebf\u4e0b"},{"location":"ns/2024/calendar.html#20241113-11","text":"\u7b2c\u4e03\u7ae0 Web \u5e94\u7528\u6f0f\u6d1e\u653b\u9632\uff08\u5b9e\u9a8c\uff09","title":"2024.11.13 \u7b2c11\u5468 \u7ebf\u4e0b"},{"location":"ns/2024/calendar.html#20241120-12","text":"\u7b2c\u516b\u7ae0 \u9632\u706b\u5899 \u7b2c\u516b\u7ae0 \u9632\u706b\u5899\uff08\u5b9e\u9a8c\uff09","title":"2024.11.20 \u7b2c12\u5468 \u7ebf\u4e0b"},{"location":"ns/2024/calendar.html#20241127-13","text":"\u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b \u7b2c\u4e5d\u7ae0 \u5165\u4fb5\u68c0\u6d4b\uff08\u5b9e\u9a8c\uff09","title":"2024.11.27 \u7b2c13\u5468 \u7ebf\u4e0b"},{"location":"ns/2024/calendar.html#2024124-14","text":"\u7b2c\u5341\u7ae0 \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa \u7b2c\u5341\u7ae0 \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\u52a0\u56fa\uff08\u5b9e\u9a8c\uff09","title":"2024.12.4 \u7b2c14\u5468 \u7ebf\u4e0b"},{"location":"ns/2024/calendar.html#20241211-15","text":"\u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51 \u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51\uff08\u5b9e\u9a8c\uff09","title":"2024.12.11 \u7b2c15\u5468 \u7ebf\u4e0b"},{"location":"ns/2024/calendar.html#20241218-16","text":"\u7b2c\u5341\u4e00\u7ae0 \u871c\u7f50\u548c\u871c\u7f51\uff08\u5b9e\u9a8c\uff09 \u7b2c\u5341\u4e8c\u7ae0 \u8ba1\u7b97\u673a\u53d6\u8bc1","title":"2024.12.18 \u7b2c16\u5468 \u7ebf\u4e0b"},{"location":"ns/2024/calendar.html#20241225-17","text":"\u7b2c\u5341\u4e09\u7ae0 \u793e\u4f1a\u5316\u7f51\u7edc\u5b89\u5168 \u7b2c\u5341\u4e8c\u7ae0 \u8ba1\u7b97\u673a\u53d6\u8bc1\uff08\u5b9e\u9a8c\uff09 \u6279\u6539\u8ba1\u7b97\u6210\u7ee9\u622a\u6b62\u65f6\u95f4 \u4e3a 2025.01.07 23:59 \u665a\u4e8e\u8fd9\u4e2a\u65f6\u95f4\u8282\u70b9\u63d0\u4ea4\u5230 git.cuc.edu.cn \u7684\u5b9e\u9a8c\u62a5\u544a\u5c06\u6309\u7167\u96f6\u5206\u767b\u8bb0\u3002 \u7545\u8bfe\u5e73\u53f0\u7684\u4f5c\u4e1a\u63d0\u4ea4\u622a\u6b62\u65f6\u95f4 2025.01.10 23:59 \u662f\u7528\u4e8e\u5b9e\u9a8c\u62a5\u544a\u6574\u7406\u540e \u6253\u5305\u63d0\u4ea4\u5b58\u6863\u7684\u622a\u6b62\u65f6\u95f4 \uff0c\u4ec5\u7528\u4e8e git \u4e0a\u5df2\u63d0\u4ea4\u4f5c\u4e1a\u7684\u5b58\u6863\uff0c\u4e0d\u4f1a\u88ab\u6279\u6539\u3002","title":"2024.12.25 \u7b2c17\u5468 \u7ebf\u4e0b"},{"location":"ns/2024/homework.html","text":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219 \u603b\u6210\u7ee9\u6784\u6210 \u7b49\u7ea7\u6210\u7ee9\u7c7b\u578b\uff1a\u767e\u5206\u5236 \u603b\u6210\u7ee9 = \u5e73\u65f6\u6210\u7ee9 \u7cfb\u6570 20% + \u671f\u672b\u6210\u7ee9 \u7cfb\u6570 60% + \u8003\u52e4\u6210\u7ee9 \u7cfb\u6570 10% + \u7ebf\u4e0a\u6210\u7ee9 \u7cfb\u6570 10% \u603b\u6210\u7ee9\u8bc4\u5b9a\u89c4\u5219 \u8be6\u89c1 \u5728\u7ebf\u6210\u7ee9\u8ba1\u7b97\u5668 \u4e2d\u7684\u793a\u4f8b\u6570\u636e\u548c\u5177\u4f53\u5355\u5143\u683c\u7684\u8ba1\u7b97\u516c\u5f0f \u5b9e\u9a8c\u62a5\u544a\u603b\u5206 \u603b\u5206 \u5b9e\u9a8c\u62a5\u544a\u8981\u6c42\u7ee7\u627f\u4e0a\u5b66\u671f \u300aLinux \u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406\u300b\u8bfe\u7a0b\u7684\u5b9e\u9a8c\u62a5\u544a\u8981\u6c42 \u5173\u4e8e\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u7684\u8bf4\u660e \u7531\u4e8e\u5728 GitLab \u4e2d\uff0c\u79c1\u6709\u4ed3\u5e93\u4e0d\u4ee3\u8868\u53ea\u6709\u81ea\u5df1\u4e00\u4e2a\u4eba\u53ef\u4ee5\u8bbf\u95ee\uff0c\u8bf7\u770b\u4ee5\u4e0b\u642c\u8fd0\u81ea GitLab \u521b\u5efa\u65b0\u4ed3\u5e93\u65f6\u5173\u4e8e Private \u5c5e\u6027\u7684\u8bf4\u660e\u6587\u5b57\uff1a Project access must be granted explicitly to each user. If this project is part of a group, access is granted to members of the group. \u7ffb\u8bd1\u5982\u4e0b\uff1a \u5fc5\u987b\u5411\u6bcf\u4e2a\u7528\u6237\u663e\u5f0f\u6388\u4e88\u9879\u76ee\u8bbf\u95ee\u6743\u9650\u3002\u5982\u679c\u6b64\u9879\u76ee\u662f\u7528\u6237\u7ec4\u7684\u4e00\u90e8\u5206\uff0c\u5219\u5411\u7ec4\u6210\u5458\u6388\u4e88\u8bbf\u95ee\u6743\u9650\u3002 \u636e\u6b64\u53ef\u4ee5\u66f4\u597d\u5730\u7406\u89e3\u5728 GitLab \u4e2d\uff0c\u5728\u4e00\u4e2a\u7528\u6237\u7ec4\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u7684 \u79c1\u6709\u4ed3\u5e93 \uff0c\u5bf9\u4e8e\u7ec4\u5185\u7684\u6240\u6709\u7528\u6237\u6765\u8bf4\uff0c\u5b9e\u9645\u4e0a\u662f\u76f8\u4e92\u53ef\u89c1\u3001\u5185\u90e8\u516c\u5f00\u7684\u3002 \u4ee5\u4e0b\u4f5c\u4e1a\u8981\u6c42\u91cc\u63d0\u5230\u7684 \u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u5177\u4f53\u6307\u7684\u662f\uff1a \u4ec5\u9650\u4ed3\u5e93\u521b\u5efa\u8005\u672c\u4eba\u3001\u56db\u540d\u52a9\u6559\u3001\u4efb\u8bfe\u8001\u5e08 \u6709\u6743\u9650\u8bbf\u95ee\u8be5\u4ed3\u5e93\uff0c\u5176\u4ed6\u540c\u5b66\u5373\u4f7f\u77e5\u9053\u8be5\u4ed3\u5e93\u94fe\u63a5\u5730\u5740\u4e5f\u65e0\u6cd5\u8bbf\u95ee\u4ed3\u5e93\u5185\u5bb9\u3002 \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5efa\u8bae\u5982\u4e0b\uff1a \u5728\u81ea\u5df1\u4e2a\u4eba\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u4ed3\u5e93\u3002\u6b64\u5904\u5047\u8bbe\u4e2a\u4eba\u7528\u6237\u540d\u662f zhangsan \uff0c\u521b\u5efa\u7684\u79c1\u6709\u4ed3\u5e93\u540d\u4e3a ns-private \u3002 \u5728\u81ea\u5df1\u4e2a\u4eba\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u7684\u4ed3\u5e93\u91cc\uff0c\u901a\u8fc7\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u7684 Project information - Members \u8fdb\u5165\u4ed3\u5e93\u7528\u6237\u7ba1\u7406\u9875\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 Invite members \uff0c\u901a\u8fc7\u8f93\u5165\u5b9e\u540d\u7684\u65b9\u5f0f\uff0c\u641c\u7d22\u3001\u9009\u4e2d\u641c\u7d22\u7ed3\u679c\uff0c\u9080\u8bf7 4\u540d\u52a9\u6559\u3001\u4efb\u8bfe\u8001\u5e08\uff0c\u6388\u4e88 Maintainer \u89d2\u8272\u3002 \u5728\u81ea\u5df1\u7684\u7ec4\u547d\u540d\u7a7a\u95f4\u4e0b\uff08\u5f53\u524d\u4e3a ccs/ns-2024 \uff09\u7684\u7ec4\u5185\u516c\u5f00\u4ed3\u5e93\u6839\u76ee\u5f55\u4e0b\u7684 README.md \u6dfb\u52a0\u6307\u5411\u4e0a\u8ff0\u79c1\u6709\u4ed3\u5e93\u7684\u8d85\u94fe\u63a5\uff1a zhangsan/ns-private \u3002 \u5e73\u65f6\u6210\u7ee9 \u5e73\u65f6\u6210\u7ee9 \u6ee1\u5206\u6309\u7167 100 \u5206\u8ba1\u7b97\u3002 \u5e73\u65f6\u6210\u7ee9 \u91cd\u70b9\u5173\u6ce8\u540c\u5b66\u4eec\u7684 \u5b66\u4e60\u6001\u5ea6 \u548c \u8bfe\u5802\u8868\u73b0 \u7b49\u7efc\u5408\u8bc4\u4ef7\u3002 \u5b66\u4e60\u6001\u5ea6 \uff1a\u540c\u5b66\u4eec\u5728\u7545\u8bfe\u5e73\u53f0\u4e0a\u7684 \u8ba8\u8bba\u533a \u53d1\u5e16\u6570\u91cf\u548c\u8d28\u91cf\u7684\u7efc\u5408\u8bc4\u4ef7\u3002\u201c\u53d1\u5e16\u201d\u6570\u91cf\u7edf\u8ba1\u5305\u62ec\u201c\u65b0\u53d1\u5e16\u201d\u6570\u91cf\u3001\u201c\u56de\u590d\u53d1\u5e16\u201d\u6570\u91cf\u3002\u8d28\u91cf\u8bc4\u4ef7\u662f\u57fa\u4e8e\u5ba2\u89c2\u4e8b\u5b9e\u7684\u4e3b\u89c2\u8bc4\u4ef7\uff0c\u8bc4\u4ef7\u6807\u51c6\u4e3b\u8981\u5305\u62ec\u5e16\u5b50\u5185\u5bb9\u4e0e\u8bfe\u7a0b\u5185\u5bb9\u7684\u76f8\u5173\u6027\u3001\u5e16\u5b50\u5185\u5bb9\u7684\u539f\u521b\u6027\u3001\u5e16\u5b50\u5185\u5bb9\u7684\u6392\u7248\u8d28\u91cf\u3001\u5e16\u5b50\u5185\u5bb9\u5bf9\u5176\u4ed6\u540c\u5b66\u7684\u6709\u6548\u5e2e\u52a9\u6216\u542f\u53d1\uff08\u70b9\u8d5e\u6570\u91cf\u4f1a\u4f5c\u4e3a\u8f85\u52a9\u8bc4\u4ef7\u6307\u6807\uff09\u7b49\u3002 \u5b66\u4e60\u6001\u5ea6 \u53ca\u683c\u6807\u51c6\u4e3a 1 \u6761\u6709\u6548\u201c\u53d1\u5e16\u201d\uff0c\u6ee1\u5206\u6807\u51c6\u4e3a 5 \u6761\u6709\u6548\u201c\u53d1\u5e16\u201d\u6216 1 \u6761\u9ad8\u8d28\u91cf\u201c\u53d1\u5e16\u201d\u3002 \u8bfe\u5802\u8868\u73b0 \uff1a\u672c\u5b66\u671f\u7684\u6240\u6709\u8bfe\u5802\u5b9e\u9a8c\u73af\u8282\u90fd\u5c06\u7ed9\u540c\u5b66\u4eec\u63d0\u4f9b\u201c\u7ffb\u8f6c\u8bfe\u5802\u201d\u7684\u673a\u4f1a\u3002\u901a\u8fc7\u8bfe\u5802\u4e0a\u968f\u673a\u70b9\u540d\u7684\u65b9\u5f0f\uff0c\u6311\u9009\u540c\u5b66\u4e0a\u8bb2\u53f0\u8fdb\u884c 5~10 \u5206\u949f\u7684\u4e13\u9898\u77e5\u8bc6\u70b9\u3001\u6280\u80fd\u70b9\u5206\u4eab\u3002\u5206\u4eab\u540e\u8fd8\u9700\u8981\u63a5\u53d7\u73b0\u573a\u8001\u5e08\u548c\u53f0\u4e0b\u540c\u5b66\u4eec\u7684\u63d0\u95ee\uff0c\u7531\u8001\u5e08\u6839\u636e\u540c\u5b66\u4eec\u7684\u5206\u4eab\u5185\u5bb9\u8d28\u91cf\u548c\u56de\u7b54\u95ee\u9898\u8d28\u91cf\u8fdb\u884c\u7efc\u5408\u8bc4\u4ef7\u3002\u6bcf\u4e2a\u540c\u5b66\u5728\u4e00\u5b66\u671f\u5185\u6700\u591a\u6709 2 \u6b21\u5206\u4eab\u673a\u4f1a\uff0c\u53d6\u6700\u9ad8\u6210\u7ee9\u8ba1\u5165\u5e73\u65f6\u6210\u7ee9\u3002 \u5e73\u65f6\u6210\u7ee9 = max(\u5b66\u4e60\u6001\u5ea6, \u8bfe\u5802\u8868\u73b0) \u3002 \u671f\u672b\u6210\u7ee9 \u6240\u6709\u5b9e\u9a8c\u62a5\u544a\u5f97\u5206\u4e4b\u548c\u6784\u6210\u671f\u672b\u6210\u7ee9\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e00\uff1a\u7b2c\u4e00\u7ae0\u3001\u7b2c\u4e94\u7ae0\u3001\u7b2c\u5341\u4e00\u7ae0\u8bfe\u540e\u5b9e\u9a8c\u62a5\u544a\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e8c\uff1a\u7b2c\u516b\u7ae0\u3001\u7b2c\u4e5d\u7ae0\u548c\u7b2c\u5341\u4e8c\u7ae0\u8bfe\u540e\u5b9e\u9a8c\u62a5\u544a\u81f3\u5c11\u4efb\u9009\u5176\u4e00\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e00\u5f97\u5206\u5360\u6bd4 80%\uff0c\u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e8c\u5f97\u5206\u5360\u6bd4 20%\u3002 \u9700\u8981\u63d0\u4ea4\u5230 \u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u7684\u5b9e\u9a8c\u62a5\u544a\u662f\uff1a\u7b2c\u5341\u4e00\u7ae0\u3002 \u6ca1\u6709\u7279\u522b\u8bf4\u660e\u7684\u5b9e\u9a8c\u62a5\u544a\u9ed8\u8ba4\u63d0\u4ea4\u5230\u516c\u5f00\u4ed3\u5e93\u3002 \u8003\u52e4\u6210\u7ee9 \u7ebf\u4e0b\u8bfe\u4e00\u5171 16 \u6b21\uff0c\u6bcf\u6b21\u6b63\u5e38\u8003\u52e4\u8bb0 5 \u5206\uff0c\u5168\u52e4\u52a0 20 \u5206\u3002 \u8fdf\u5230\u534a\u5c0f\u65f6\u4ee5\u5185\u8bb0\u8003\u52e4 4 \u5206\u3002 \u65e9\u9000\u6216\u8fdf\u5230\u8d85\u8fc7\u534a\u5c0f\u65f6\u540e\uff0c\u6bcf\u6ee1 10 \u5206\u949f\u6216\u4e0d\u8db3 10 \u5206\u949f\uff0c\u5747\u6263\u8003\u52e4 1 \u5206\u3002\u5982\u6b64\u7d2f\u8fdb\u6263\u5206\uff0c\u6263\u5230 0 \u5206\u4e3a\u6b62\u3002 \u7f3a\u52e4\u8bb0 0 \u5206\u3002 \u6b63\u5e38\u89c4\u8303\u8bf7\u5047\u6309\u6b63\u5e38\u8003\u52e4\u8bb0\u5f55\uff0c\u9700\u63d0\u524d 24 \u5c0f\u65f6\u8bf7\u5047\u3002\u5176\u4ed6\u60c5\u51b5\u914c\u60c5\u6263\u5206\u3002 \u5982\u56e0\u4e0d\u53ef\u6297\u529b\u56e0\u7d20\u5bfc\u81f4\u7ebf\u4e0b\u8bfe\u603b\u6b21\u6570\u4e0d\u7b49\u4e8e 16 \u6b21\uff0c\u5219\u4e34\u65f6\u5fae\u8c03\u8003\u52e4\u6210\u7ee9\u8ba1\u7b97\u65b9\u6cd5\u3002 \u7ebf\u4e0a\u6210\u7ee9 \u7545\u8bfe\u5e73\u53f0\u4e0a\u5355\u5143\u6d4b\u8bd5\u6210\u7ee9\u4e4b\u548c\uff0c\u6309\u6ee1\u5206 100 \u5206\u8fdb\u884c\u7b49\u6bd4\u4f8b\u6298\u7b97\u3002","title":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219"},{"location":"ns/2024/homework.html#_1","text":"","title":"\u672c\u5b66\u671f\u8bfe\u7a0b\u8003\u6838\u89c4\u5219"},{"location":"ns/2024/homework.html#_2","text":"\u7b49\u7ea7\u6210\u7ee9\u7c7b\u578b\uff1a\u767e\u5206\u5236 \u603b\u6210\u7ee9 = \u5e73\u65f6\u6210\u7ee9 \u7cfb\u6570 20% + \u671f\u672b\u6210\u7ee9 \u7cfb\u6570 60% + \u8003\u52e4\u6210\u7ee9 \u7cfb\u6570 10% + \u7ebf\u4e0a\u6210\u7ee9 \u7cfb\u6570 10%","title":"\u603b\u6210\u7ee9\u6784\u6210"},{"location":"ns/2024/homework.html#_3","text":"\u8be6\u89c1 \u5728\u7ebf\u6210\u7ee9\u8ba1\u7b97\u5668 \u4e2d\u7684\u793a\u4f8b\u6570\u636e\u548c\u5177\u4f53\u5355\u5143\u683c\u7684\u8ba1\u7b97\u516c\u5f0f \u5b9e\u9a8c\u62a5\u544a\u603b\u5206 \u603b\u5206 \u5b9e\u9a8c\u62a5\u544a\u8981\u6c42\u7ee7\u627f\u4e0a\u5b66\u671f \u300aLinux \u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406\u300b\u8bfe\u7a0b\u7684\u5b9e\u9a8c\u62a5\u544a\u8981\u6c42","title":"\u603b\u6210\u7ee9\u8bc4\u5b9a\u89c4\u5219"},{"location":"ns/2024/homework.html#_4","text":"\u7531\u4e8e\u5728 GitLab \u4e2d\uff0c\u79c1\u6709\u4ed3\u5e93\u4e0d\u4ee3\u8868\u53ea\u6709\u81ea\u5df1\u4e00\u4e2a\u4eba\u53ef\u4ee5\u8bbf\u95ee\uff0c\u8bf7\u770b\u4ee5\u4e0b\u642c\u8fd0\u81ea GitLab \u521b\u5efa\u65b0\u4ed3\u5e93\u65f6\u5173\u4e8e Private \u5c5e\u6027\u7684\u8bf4\u660e\u6587\u5b57\uff1a Project access must be granted explicitly to each user. If this project is part of a group, access is granted to members of the group. \u7ffb\u8bd1\u5982\u4e0b\uff1a \u5fc5\u987b\u5411\u6bcf\u4e2a\u7528\u6237\u663e\u5f0f\u6388\u4e88\u9879\u76ee\u8bbf\u95ee\u6743\u9650\u3002\u5982\u679c\u6b64\u9879\u76ee\u662f\u7528\u6237\u7ec4\u7684\u4e00\u90e8\u5206\uff0c\u5219\u5411\u7ec4\u6210\u5458\u6388\u4e88\u8bbf\u95ee\u6743\u9650\u3002 \u636e\u6b64\u53ef\u4ee5\u66f4\u597d\u5730\u7406\u89e3\u5728 GitLab \u4e2d\uff0c\u5728\u4e00\u4e2a\u7528\u6237\u7ec4\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u7684 \u79c1\u6709\u4ed3\u5e93 \uff0c\u5bf9\u4e8e\u7ec4\u5185\u7684\u6240\u6709\u7528\u6237\u6765\u8bf4\uff0c\u5b9e\u9645\u4e0a\u662f\u76f8\u4e92\u53ef\u89c1\u3001\u5185\u90e8\u516c\u5f00\u7684\u3002 \u4ee5\u4e0b\u4f5c\u4e1a\u8981\u6c42\u91cc\u63d0\u5230\u7684 \u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u5177\u4f53\u6307\u7684\u662f\uff1a \u4ec5\u9650\u4ed3\u5e93\u521b\u5efa\u8005\u672c\u4eba\u3001\u56db\u540d\u52a9\u6559\u3001\u4efb\u8bfe\u8001\u5e08 \u6709\u6743\u9650\u8bbf\u95ee\u8be5\u4ed3\u5e93\uff0c\u5176\u4ed6\u540c\u5b66\u5373\u4f7f\u77e5\u9053\u8be5\u4ed3\u5e93\u94fe\u63a5\u5730\u5740\u4e5f\u65e0\u6cd5\u8bbf\u95ee\u4ed3\u5e93\u5185\u5bb9\u3002 \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5efa\u8bae\u5982\u4e0b\uff1a \u5728\u81ea\u5df1\u4e2a\u4eba\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u4ed3\u5e93\u3002\u6b64\u5904\u5047\u8bbe\u4e2a\u4eba\u7528\u6237\u540d\u662f zhangsan \uff0c\u521b\u5efa\u7684\u79c1\u6709\u4ed3\u5e93\u540d\u4e3a ns-private \u3002 \u5728\u81ea\u5df1\u4e2a\u4eba\u547d\u540d\u7a7a\u95f4\u4e0b\u521b\u5efa\u7684\u4ed3\u5e93\u91cc\uff0c\u901a\u8fc7\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u7684 Project information - Members \u8fdb\u5165\u4ed3\u5e93\u7528\u6237\u7ba1\u7406\u9875\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 Invite members \uff0c\u901a\u8fc7\u8f93\u5165\u5b9e\u540d\u7684\u65b9\u5f0f\uff0c\u641c\u7d22\u3001\u9009\u4e2d\u641c\u7d22\u7ed3\u679c\uff0c\u9080\u8bf7 4\u540d\u52a9\u6559\u3001\u4efb\u8bfe\u8001\u5e08\uff0c\u6388\u4e88 Maintainer \u89d2\u8272\u3002 \u5728\u81ea\u5df1\u7684\u7ec4\u547d\u540d\u7a7a\u95f4\u4e0b\uff08\u5f53\u524d\u4e3a ccs/ns-2024 \uff09\u7684\u7ec4\u5185\u516c\u5f00\u4ed3\u5e93\u6839\u76ee\u5f55\u4e0b\u7684 README.md \u6dfb\u52a0\u6307\u5411\u4e0a\u8ff0\u79c1\u6709\u4ed3\u5e93\u7684\u8d85\u94fe\u63a5\uff1a zhangsan/ns-private \u3002","title":"\u5173\u4e8e\u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93\u7684\u8bf4\u660e"},{"location":"ns/2024/homework.html#_5","text":"\u5e73\u65f6\u6210\u7ee9 \u6ee1\u5206\u6309\u7167 100 \u5206\u8ba1\u7b97\u3002 \u5e73\u65f6\u6210\u7ee9 \u91cd\u70b9\u5173\u6ce8\u540c\u5b66\u4eec\u7684 \u5b66\u4e60\u6001\u5ea6 \u548c \u8bfe\u5802\u8868\u73b0 \u7b49\u7efc\u5408\u8bc4\u4ef7\u3002 \u5b66\u4e60\u6001\u5ea6 \uff1a\u540c\u5b66\u4eec\u5728\u7545\u8bfe\u5e73\u53f0\u4e0a\u7684 \u8ba8\u8bba\u533a \u53d1\u5e16\u6570\u91cf\u548c\u8d28\u91cf\u7684\u7efc\u5408\u8bc4\u4ef7\u3002\u201c\u53d1\u5e16\u201d\u6570\u91cf\u7edf\u8ba1\u5305\u62ec\u201c\u65b0\u53d1\u5e16\u201d\u6570\u91cf\u3001\u201c\u56de\u590d\u53d1\u5e16\u201d\u6570\u91cf\u3002\u8d28\u91cf\u8bc4\u4ef7\u662f\u57fa\u4e8e\u5ba2\u89c2\u4e8b\u5b9e\u7684\u4e3b\u89c2\u8bc4\u4ef7\uff0c\u8bc4\u4ef7\u6807\u51c6\u4e3b\u8981\u5305\u62ec\u5e16\u5b50\u5185\u5bb9\u4e0e\u8bfe\u7a0b\u5185\u5bb9\u7684\u76f8\u5173\u6027\u3001\u5e16\u5b50\u5185\u5bb9\u7684\u539f\u521b\u6027\u3001\u5e16\u5b50\u5185\u5bb9\u7684\u6392\u7248\u8d28\u91cf\u3001\u5e16\u5b50\u5185\u5bb9\u5bf9\u5176\u4ed6\u540c\u5b66\u7684\u6709\u6548\u5e2e\u52a9\u6216\u542f\u53d1\uff08\u70b9\u8d5e\u6570\u91cf\u4f1a\u4f5c\u4e3a\u8f85\u52a9\u8bc4\u4ef7\u6307\u6807\uff09\u7b49\u3002 \u5b66\u4e60\u6001\u5ea6 \u53ca\u683c\u6807\u51c6\u4e3a 1 \u6761\u6709\u6548\u201c\u53d1\u5e16\u201d\uff0c\u6ee1\u5206\u6807\u51c6\u4e3a 5 \u6761\u6709\u6548\u201c\u53d1\u5e16\u201d\u6216 1 \u6761\u9ad8\u8d28\u91cf\u201c\u53d1\u5e16\u201d\u3002 \u8bfe\u5802\u8868\u73b0 \uff1a\u672c\u5b66\u671f\u7684\u6240\u6709\u8bfe\u5802\u5b9e\u9a8c\u73af\u8282\u90fd\u5c06\u7ed9\u540c\u5b66\u4eec\u63d0\u4f9b\u201c\u7ffb\u8f6c\u8bfe\u5802\u201d\u7684\u673a\u4f1a\u3002\u901a\u8fc7\u8bfe\u5802\u4e0a\u968f\u673a\u70b9\u540d\u7684\u65b9\u5f0f\uff0c\u6311\u9009\u540c\u5b66\u4e0a\u8bb2\u53f0\u8fdb\u884c 5~10 \u5206\u949f\u7684\u4e13\u9898\u77e5\u8bc6\u70b9\u3001\u6280\u80fd\u70b9\u5206\u4eab\u3002\u5206\u4eab\u540e\u8fd8\u9700\u8981\u63a5\u53d7\u73b0\u573a\u8001\u5e08\u548c\u53f0\u4e0b\u540c\u5b66\u4eec\u7684\u63d0\u95ee\uff0c\u7531\u8001\u5e08\u6839\u636e\u540c\u5b66\u4eec\u7684\u5206\u4eab\u5185\u5bb9\u8d28\u91cf\u548c\u56de\u7b54\u95ee\u9898\u8d28\u91cf\u8fdb\u884c\u7efc\u5408\u8bc4\u4ef7\u3002\u6bcf\u4e2a\u540c\u5b66\u5728\u4e00\u5b66\u671f\u5185\u6700\u591a\u6709 2 \u6b21\u5206\u4eab\u673a\u4f1a\uff0c\u53d6\u6700\u9ad8\u6210\u7ee9\u8ba1\u5165\u5e73\u65f6\u6210\u7ee9\u3002 \u5e73\u65f6\u6210\u7ee9 = max(\u5b66\u4e60\u6001\u5ea6, \u8bfe\u5802\u8868\u73b0) \u3002","title":"\u5e73\u65f6\u6210\u7ee9"},{"location":"ns/2024/homework.html#_6","text":"\u6240\u6709\u5b9e\u9a8c\u62a5\u544a\u5f97\u5206\u4e4b\u548c\u6784\u6210\u671f\u672b\u6210\u7ee9\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e00\uff1a\u7b2c\u4e00\u7ae0\u3001\u7b2c\u4e94\u7ae0\u3001\u7b2c\u5341\u4e00\u7ae0\u8bfe\u540e\u5b9e\u9a8c\u62a5\u544a\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e8c\uff1a\u7b2c\u516b\u7ae0\u3001\u7b2c\u4e5d\u7ae0\u548c\u7b2c\u5341\u4e8c\u7ae0\u8bfe\u540e\u5b9e\u9a8c\u62a5\u544a\u81f3\u5c11\u4efb\u9009\u5176\u4e00\u3002 \u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e00\u5f97\u5206\u5360\u6bd4 80%\uff0c\u5b9e\u9a8c\u62a5\u544a\u9898\u76ee\u4e8c\u5f97\u5206\u5360\u6bd4 20%\u3002 \u9700\u8981\u63d0\u4ea4\u5230 \u79c1\u6709\u4f5c\u4e1a\u4ed3\u5e93 \u7684\u5b9e\u9a8c\u62a5\u544a\u662f\uff1a\u7b2c\u5341\u4e00\u7ae0\u3002 \u6ca1\u6709\u7279\u522b\u8bf4\u660e\u7684\u5b9e\u9a8c\u62a5\u544a\u9ed8\u8ba4\u63d0\u4ea4\u5230\u516c\u5f00\u4ed3\u5e93\u3002","title":"\u671f\u672b\u6210\u7ee9"},{"location":"ns/2024/homework.html#_7","text":"\u7ebf\u4e0b\u8bfe\u4e00\u5171 16 \u6b21\uff0c\u6bcf\u6b21\u6b63\u5e38\u8003\u52e4\u8bb0 5 \u5206\uff0c\u5168\u52e4\u52a0 20 \u5206\u3002 \u8fdf\u5230\u534a\u5c0f\u65f6\u4ee5\u5185\u8bb0\u8003\u52e4 4 \u5206\u3002 \u65e9\u9000\u6216\u8fdf\u5230\u8d85\u8fc7\u534a\u5c0f\u65f6\u540e\uff0c\u6bcf\u6ee1 10 \u5206\u949f\u6216\u4e0d\u8db3 10 \u5206\u949f\uff0c\u5747\u6263\u8003\u52e4 1 \u5206\u3002\u5982\u6b64\u7d2f\u8fdb\u6263\u5206\uff0c\u6263\u5230 0 \u5206\u4e3a\u6b62\u3002 \u7f3a\u52e4\u8bb0 0 \u5206\u3002 \u6b63\u5e38\u89c4\u8303\u8bf7\u5047\u6309\u6b63\u5e38\u8003\u52e4\u8bb0\u5f55\uff0c\u9700\u63d0\u524d 24 \u5c0f\u65f6\u8bf7\u5047\u3002\u5176\u4ed6\u60c5\u51b5\u914c\u60c5\u6263\u5206\u3002 \u5982\u56e0\u4e0d\u53ef\u6297\u529b\u56e0\u7d20\u5bfc\u81f4\u7ebf\u4e0b\u8bfe\u603b\u6b21\u6570\u4e0d\u7b49\u4e8e 16 \u6b21\uff0c\u5219\u4e34\u65f6\u5fae\u8c03\u8003\u52e4\u6210\u7ee9\u8ba1\u7b97\u65b9\u6cd5\u3002","title":"\u8003\u52e4\u6210\u7ee9"},{"location":"ns/2024/homework.html#_8","text":"\u7545\u8bfe\u5e73\u53f0\u4e0a\u5355\u5143\u6d4b\u8bd5\u6210\u7ee9\u4e4b\u548c\uff0c\u6309\u6ee1\u5206 100 \u5206\u8fdb\u884c\u7b49\u6bd4\u4f8b\u6298\u7b97\u3002","title":"\u7ebf\u4e0a\u6210\u7ee9"}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 00000000..666ed346 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,298 @@ + + + + https://c4pr1c3.github.io/cuc-wiki/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ac.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/cp.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ds.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/mis.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/movies.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ns.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ac/2019/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ac/2021/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ac/2022/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ac/2023/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/cp/assessment.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/cp/2019/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/cp/2021/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/cp/2022/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/cp/2023/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/cp/2024/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/cp/2025/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ds/2017/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2019/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2020/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2020/calendar.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2021/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2021/calendar.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2022/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2022/calendar.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2022/homework.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2023/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2023/calendar.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2023/gitlab.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2023/homework.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2024/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2024/calendar.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2024/gitlab.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2024/homework.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2025/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2025/calendar.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2025/gitlab.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/linux/2025/homework.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/mis/2019/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/mis/2021/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/mis/2021/calendar.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/mis/2021/homework.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ns/2019/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ns/2020/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ns/2020/calendar.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ns/2021/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ns/2021/calendar.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ns/2021/homework.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ns/2022/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ns/2022/calendar.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ns/2022/homework.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ns/2023/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ns/2023/calendar.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ns/2023/homework.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ns/2024/index.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ns/2024/calendar.html + 2025-02-09 + daily + + + https://c4pr1c3.github.io/cuc-wiki/ns/2024/homework.html + 2025-02-09 + daily + + \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz new file mode 100644 index 00000000..22f58600 Binary files /dev/null and b/sitemap.xml.gz differ diff --git a/stylesheets/extra.css b/stylesheets/extra.css new file mode 100644 index 00000000..45e3ae57 --- /dev/null +++ b/stylesheets/extra.css @@ -0,0 +1,15 @@ +@media only screen and (min-width: 76.25em) { + .md-main__inner { + max-width: none; + } + .md-sidebar--primary { + left: 0; + } + .md-sidebar--secondary { + right: 0; + margin-left: 0; + -webkit-transform: none; + transform: none; + } +} +