avatar
Articles
119
Tags
61
Categories
8

Home
Archives
Tags
Categories
About
Yuchen You
Search
Home
Archives
Tags
Categories
About

Yuchen You

3. 网络层
Updated2026-03-26|cybersecurity|network
网络层基础 核心功能: 寻址(Addressing) 转发(Forwarding): 将数据包定向到正确接口(基于本地转发表); 路由(Routing): 全局计算转发表(通过路由协议); 架构分层: 数据平面(Data Plane): 处理单个数据包的转发(快速, 本地决策); 控制平面(Control Plane): 计算转发表的分布式算法(全局, 慢速); IP协议核心设计 IP数据包结构: Header: 字段名 位数 功能 版本号(Version) 4 标识IP版本(如IPv4=4); 头部长度(IHL) 4 以32位word为单位的头部长度(如无选项时为5, 对应20字节, 最长 60B 因为 IHL 最长 4bit 即 0xF word = 60B); 服务类型(ToS/DSCP) 8 定义优先级或拥塞通知(如ECN); 总长度(Total Length) 16 整个IP包的总字节数(最大65535字节); 生存时间(TTL) 8 防环路, 每经过一跳减1, 归零时丢弃包; 协议(Protocol) 8 标识 ...
John the Ripper
Updated2026-03-26|cybersecurity|cyber_security
简介和背景 由于Linux是Internet最流行的服务器操作系统,因此它的安全性备受关注,这种安全主要靠口令实现 Linux使用一个单向函数 crypt() 来加密用户口令;单向函数 crypt() 从数学原理上保证了从加密的密文得到加密前的明文是不可能的或是非常困难的; 当用户登录系统时,系统并不是去解密已加密的口令, 而是将输入的口令明文字符串传给加密函数, 将加密函数的输出与 /etc/passwd 文件中该用户的PASSWORD域进行比较,若匹配成功,则允许用户登录系统; John-the-Ripper 是一款免费,开源的暴力密码破解器,它有多平台版本,支持目前大多数的加密算法,如DES, MD4, MD5等;该软件破解密码方式简单而粗暴,理论上只要时间上面允许,该软件可以破译绝大多数用户密码; 用法 在 macOS 上面安装 John-the-Ripper: 1brew install john-jumbo 简单的使用方式是 john --wordlist=/path/to/wordlist.txt /path/to/passwords.txt, 其中 john 会基于你提 ...
4. Network 基础
Updated2026-03-26|cybersecurity|cyber_security
物理层攻击 数据链路层攻击 Ethernet 以太网(Ethernet) 是最常见的数据链路层协议, 用于在本地网络中传输数据: • 通过 MAC 地址寻址(而不是 IP 地址); • 传输单位是帧(Frame), 而不是 IP 包; • 可以在有线(RJ45)或无线(Wi-Fi)网络上运行; • 每个以太网帧大约 1500 字节 MAC 每个网卡(NIC)都有一个唯一的 48-bit MAC 地址 格式: xx:xx:xx:xx:xx:xx(如 e8:39:35:2d:3e:18),前 3 个字节(OUI)标识制造商(如 Intel, Cisco),后 3 个字节是设备的唯一编号; 但 MAC 地址可以被用户伪造! 使用 ifconfig 或 ip link set 命令可以更改 MAC 地址,攻击者可以使用 MAC 欺骗进行 ARP 欺骗(ARP Spoofing)攻击 网络层攻击 IP 地址 一个 IP 地址(IPv4, 如 192.168.1.100)由两部分组成: Network Prefix(网络前缀) • 类似于邮政编码(ZIP Code), 用于标识一个网络(LAN ...
4. 死锁 Deadlock
Updated2026-03-26|cs_basic|operating_system
死锁简介 (Introduction to Deadlock) 定义 (Definition): 线程因循环等待资源 (Cyclical Resource Waiting) 而无限期阻塞的状态. 为了确保程序合理运行的必要条件: 安全性 (Safety): 所有操作必须正确 (避免非法交错). 活性 (Liveness): 操作必须持续进行; 死锁违反活性. [!Fix Attempts] Ignore: 1. 0S会自己完成的; 2. 这个方法占用cpu时间为0; Detect and Fix: Kill the deadlock threads:会导致一定!的 invariant条件破裂 Rollback actions and then try again:某些指令如 output 并不能 roll back Prevent: 得知道有哪些造成 deadlock 的必要条件 💡 等待图 (Wait-for Graph): 顶点 (Vertices): 线程和资源. 边 (Edges): 线程 → 资源 (线程等待资源) ...
3. 信号量 Semaphore
Updated2026-03-26|cs_basic|operating_system
信号量基础 (Semaphore Basics) 定义 (Definition): 一种抽象的整数计数器 (Integer Counter), 用于控制多线程对共享资源的访问. 核心操作 (Core Operations): down() (或 P()/wait()): 原子性地减少计数器值; 若值为0则阻塞线程. up() (或 V()/signal()): 原子性地增加计数器值; 唤醒等待的线程. 类型 (Types): 二进制信号量 (Binary Semaphore): 值仅0或1, 初始化为 1 的情况下等效于锁 (Lock). 计数信号量 (Counting Semaphore): 值可为任意非负整数, 表示资源的可用数量. 信号量的应用场景 (Applications of Semaphores) 互斥 (Mutual Exclusion): 1234semaphore sem(1);sem.down();// 临界区 (Critical Section)sem.up(); 顺序约束 (Ordering Constraints): 例如确保线 ...
3. HTTP 攻击防御
Updated2026-03-26|cybersecurity|cyber_security
TLS Transport Layer Security 在传输层中 tcp 协议并不能保证信息的 confidentiality, integrity, authenticity 因此在 传输层和应用层之间加了一层专门用来保护安全的协议 tls 协议假设用户端和服务器端是安全的,而沟通信道 network 是危险的 (malicious) 并且在网络上有两种攻击模式: passive: only eavesdrops active: can see inject modify or block TLS 功能 confidentiality and integrity protection for app data client 可以确保服务器的身份 (authenticate) 无法做到 用户端/服务器内病毒 应用软件本身脆弱性 社会工程学等信息泄漏 浏览记录、网页元数据分析 Denial of Service (DoS) 攻击 发展历史 现代 tls 拥有超过 30 年的研制历史 TLS 握手机制 用户端向服务器提供可以使用的安全算法, 服务器选择一个并且返回 客 ...
2. Web 攻击与防御
Updated2026-03-26|cybersecurity|cyber_security
Web平台安全知识点大纲 1. Web安全目标与攻击模型 1.1 核心目标 用户保护: 防范恶意网站和网络攻击; 站点隔离: 确保不同站点间数据隔离; 完整性: 站点A无法篡改站点B的用户会话; 机密性: 站点A无法窃取站点B的用户数据; 1.2 攻击模型 恶意网站: 通过钓鱼或注入攻击危害用户; 恶意外部资源: 第三方脚本/广告携带攻击载荷; 网络攻击者: 窃听或篡改HTTP流量; 恶意软件攻击者: 控制用户设备或浏览器; 2. Web基础技术 2.1 HTML与安全转义 HTML结构: 通过标签定义文档结构与内容; 转义规则: 特殊字符需转义为实体(如<→&lt;); 示例漏洞: 未转义的用户输入可能导致XSS攻击; 2.2 JavaScript与DOM 动态交互: JavaScript可修改DOM内容; 示例代码: 1234567<script> function addTodo(text) { var newitem = document.createElement("li"); ...
2. 传输层
Updated2026-03-26|cybersecurity|network
传输层的目的是将从 终端-终端通信的 ip 协议转变为 app-app 的通信 IP 是一种弱连接服务模型, 数据包有可能损坏, 延迟, 丢包, 重复等, 以及物理线路流量问题(例如流量大的时候如何明智的选择时机发送包), 处理这些问题也可以让应用层避免考虑这些棘手的问题 多项选择与去选择 Mux: 发送端将不同软件的数据汇集到一起发送到网络层 Demux: 将汇总的数据发送到接收端不同的 socket 传输层的功能 事实上的通信是在 process 之间进行的, 通过 ports 进行实现收发 帮助软件层实现 end-to-end 服务, 要求可靠, 配送速度均匀 发送太快会占满带宽 发送太慢会导致低效 udp 是一种 最小运输协议 只提供 mux/demux 功能 socket 类型是 SOCK_DGRAM tcp 是一种可靠的, 有序的 byte stream abstraction socket 类型是 SOCK_STREAM 拥有拥塞控制 (Congestion Control) Socket 是一种软件的抽象, 作为 app process 与系统 (transmi ...
2. 线程调度的实现
Updated2026-03-26|cs_basic|operating_system
Resource Acquisition Is Initialization (RAII) Resource 资源 定义: 持有价值昂贵的,可以被获取和释放的对象为资源,常见的有 Memory, Mutex, File Lifetime 生命周期 一个变量通过调用构造函数来实现 introduction 和 initialization 在退出 {} 的时候,系统会按照与定义相反的方向进行析构函数 RAII 定义: 利用变量的生命周期来实现资源的构造和析构管理 优点 资源可以实现自动析构在退出定义域的时候,尤其是 return 和 throw 的情况下 对于一些底层的代码实现,例如根 root 线程对象的销毁处理,如果手动销毁,就会在结束前提前释放 stack 从而导致无法继续执行,而利用析构函数自动销毁就可以实现 不用担心手动释放资源 对于一个 mutex 结构如果在入口处进行一次 lock 而在每一种退出处 (return, throw) 都必须执行 unlock ,就会导致上锁解锁的不对称性,容易忘记且效果不好, 这时候应该依赖在对象的析构函数来进行解锁(构造函数实现上锁 ...
1. 多线程同步机制
Updated2026-03-26|operating_system
OS 抽象机制 OS 是一种对硬件功能映射到软件层的抽象机制 cpu -> process/thread ram -> address space disk -> files 进程属性 进程 process 是一个在执行中的程序, program 是一个静态 static 的实体,有能执行的潜能 每个线程拥有所有程序运行所需要的状态和属性 address space (memory) code (text) data (global -> heap) stack (运行状态) PC 表示程序运行进度 通用reg 通用 OS 资源如网络连接等 进程之间互相 isolate 即不可访问其他线程 线程属性 线程表示的是一系列执行流 execution stream 定义了 PC, SP, register, 没有定义单独的 address space, general process attributes (PID, open files…) 每个线程只能归属于一个 process, 一个进程可以有多个线程 同进程线程共享 进程内表示状态的资源: re ...
1…789…12
avatar
Yuchen You (Wesley)
Articles
119
Tags
61
Categories
8
Follow Me
Announcement
This is my Blog
Recent Post
Mem0 - Building Production-Ready AI Agents with Scalable Long-Term Memory2026-06-26
ZooKeeper: 不发钥匙, 改立公告板的协调服务2026-06-20
Effective context engineering for AI agents2026-06-16
0. 分布式系统编年史: 2000-20202026-06-11
Google Chubby: 解耦控制数据平面的分布式锁系统2026-06-10
Categories
  • agentsys8
  • cs_basic25
  • cybersecurity12
  • eecs2817
  • math9
  • mlsys4
  • network1
  • os1
Tags
reinforcement_learning gc mcts search cyber_security Chubby ml_training context_engineering go history kubernetes algorithm llm_agent agentsys mlsys container system_failure tool_use Consensus gpu pl database prompt_engineering etcd rca structure icmp cloud_native computer_composition os distributed_sys reflection unix self_improvement chaos_system kernel agentic_search operating_system docker planning
Archives
  • June 20266
  • May 202612
  • April 20263
  • March 20262
  • January 20261
  • December 20254
  • November 20253
  • October 20255
Info
Article :
119
UV :
PV :
Last Update :
©2020 - 2026 By Yuchen You (Wesley)
Framework Hexo|Theme Butterfly
welcome to my blog!
Search
Loading the Database