技术教程
深入理解各种开发工具背后的技术原理:编码、加密、哈希、正则表达式……没有废话,全是内功。
目前已收录 72 篇教程
Tcpdump 由浅入深:从抓第一个包到企业实战排障
从一次线上连接超时的排查讲起,搞懂 tcpdump 的安装与基本命令、输出每一列的含义、BPF 表达式怎么写,手把手演示拿到一段原始抓包输出如何逐字段分析,并系统总结企业中 tcpdump 在故障排查、性能分析、安全自查与容器网络里的真实用法
Wireshark 实战:从抓第一个包到追踪完整数据流
从一次接口偶发 504 的排查讲起,搞懂 Wireshark 的三窗格界面、捕获过滤器与显示过滤器的区别,手把手演示拿到一个原始数据包怎么逐层分析、怎么用 Follow Stream 追踪完整数据流,以及企业里它到底用在哪些场景
Firewalld 入门:概念、原理与常用命令实战
从一次真实翻车讲起,搞懂 firewalld 的区域(Zone)、运行时与永久配置、数据包匹配流程与端口转发原理,并附配合站内 Firewalld 命令生成器可直接复制的常用命令
iptables 入门:原理、常用命令与和 firewalld 的关系
从一次"改了规则却连不上"的翻车讲起,搞懂 iptables 的 netfilter 五链四表、规则匹配与 NAT 原理,并附配合站内 Iptables 命令生成器可直接复制的常用命令,以及与 firewalld 的底层关系对照
HTTP 与 HTTPS 详解:从三次握手到 TLS 1.3 的完整链路
从输入 URL 到页面渲染的完整链路讲起,拆解 TCP 三次握手与四次挥手、HTTP 报文结构、HTTP/1.1 到 HTTP/3 的演进,以及 HTTPS 的 TLS 1.2 与 1.3 握手全流程
Google Hacking 语法与实战:资产暴露面自查
理解 Google Hacking(GHDB)常用运算符与工作逻辑,掌握 site/inurl/intitle/filetype 等限定组合,并用常见 dork 对自有资产做暴露面自查,及时收敛泄露
sqlmap 常用命令与参数详解
从零理解 sqlmap 的工作流程,掌握目标指定、注入技术、检测等级与风险、绕过 WAF、数据库枚举与拖库、OS 命令执行等核心参数,并能组合出实战命令
Nmap 命令详解:扫描类型、参数与实战用法
从零理解 nmap 的核心扫描类型(SYN/全连接/UDP/主机发现)、服务版本与 OS 探测、NSE 脚本、端口范围与速率调优,并掌握组合出实战命令的方法
区块链地址校验:别把 0x4e… 抄成 0x4E… 就敢转账
从一个把 ETH 地址里字母大小写改错、差点转丢资产的真实案例讲起,搞懂以太坊 EIP-55 校验和、比特币 Base58Check 双重 SHA256 校验、波场与 Solana 地址各自怎么验,以及为什么「格式合法」不等于「地址有人」
BIP39 助记词:你的私钥其实就藏在那 12 个英文单词里
从一次把助记词抄错一个字母、钱包死活导不出来的真实惊吓讲起,搞懂 BIP39 助记词是怎么由熵生成、怎么用校验和防抄错、又怎么派生出那串 64 字节种子的,以及「第 25 个词」密码到底意味着什么
WCAG 对比度:别让用户眯着眼才能看清你的按钮
从一个"灰色小字看不清被投诉"的真实场景讲起,搞懂 WCAG 对比度比值怎么算、AA 和 AAA 到底要求多少、普通文本和大文本为什么门槛不同,以及配色不达标时怎么快速救回来
JWT 原理全解:JWS、JWK、JKU、KID 与签名验证
从 JWS 紧凑序列化讲起,搞懂 JWT 的三段结构、Base64Url 编码、HS256 与 RS256 签名、JWK/JWK Set 如何用 JSON 表达密钥、jku/jwk/kid 如何定位验证密钥,以及算法混淆攻击与防御,并配可播放原理图
日期差计算:别再掰着手指头数"还有多少天过年"
从一次把项目周期算少一个月的汇报事故讲起,搞懂两个日期相差多少天/周/月/年、工作日怎么数、为什么"含结束当天"会多一天,以及日期加减小技巧
时区转换:为什么"北京时间加 8 小时"在夏令时会翻车
从一次跨国会议"我到了你没来"的尴尬讲起,搞懂 IANA 时区、UTC 偏移、夏令时,以及为什么时区转换不能简单加减固定小时,附全球主要城市时差速查
HTML 格式化:把一团乱麻的标签理顺,或压成一行带走
从一次"从网页复制下来的 HTML 缩进全乱"的崩溃讲起,彻底搞懂 HTML 美化(缩进、折叠空白、标签名小写)和压缩(去掉换行与多余空格、可选保留注释)到底在做什么,以及为什么前端上线前要把 HTML 压一遍
SQL 格式化:把一行挤死人的查询,拆成能喘气的样子
从一次"两百行的 WHERE 条件全挤在一行"的代码评审讲起,彻底搞懂 SQL 美化(关键字大写、子句换行、JOIN 与条件缩进)和压缩到底在做什么,以及 MySQL、PostgreSQL、SQL Server 在格式化上需要注意的兼容差异
Cron 表达式:那串看似神秘、实则讲道理的定时密码
从一次线上定时任务"莫名不触发"的事故讲起,彻底搞懂 Cron 表达式的 5 段格式、* , - / 四个符号、日期与星期的"或"逻辑、Quartz 与 Linux crontab 的字段差异,以及时区和闰年给调度埋下的坑
Bcrypt 哈希详解:为什么存密码绝不能用 MD5
深入理解 Bcrypt 密码哈希的工作原理、cost factor 的作用,以及它为什么比 MD5/SHA 更适合存用户密码
X.509 证书解析详解:HTTPS 背后那张证书在说什么
深入理解 X.509 证书的结构、PEM/DER 编码、证书链与信任模型,以及如何看懂证书里的关键字段
颜色转换详解:HEX/RGB/HSL/CMYK 背后的颜色空间
深入理解 HEX、RGB、HSL、CMYK 四种颜色表示的本质区别:加色与减色、设备相关与感知均匀,以及什么时候该用哪个
CSS 渐变详解:linear-gradient 背后的插值原理
深入理解 CSS 线性/径向/圆锥渐变的工作原理、色标插值方式、角度计算,以及为什么渐变颜色有时发灰
模拟数据生成详解:假数据为什么也要「真」
深入理解模拟数据生成的意义、本地化与格式约束、真实感与隐私的平衡,以及 mock 数据在开发流程中的角色
图片 Base64 互转详解:Data URI 的取舍
深入理解图片与 Base64 Data URI 的转换原理、体积膨胀代价,以及什么时候该内嵌、什么时候反而更慢
图片压缩详解:有损与无损的权衡之道
深入理解图片压缩的原理:有损 vs 无损、DCT 变换、色彩抽样,以及如何在体积和画质之间找到平衡
图片格式转换详解:选对格式比压参数更重要
深入理解 PNG/JPG/WebP/GIF/BMP 各格式的特性、有损无损的转换限制,以及为什么有些转换是单向不可逆的
IP 地址查询详解:一个 IP 能暴露多少信息
深入理解 IP 归属地查询、ASN、反向 DNS、代理/VPN/数据中心检测的原理,以及为什么 IP 定位不可能精确到家门
JS 在线运行详解:浏览器里的执行环境与沙箱
深入理解 JavaScript 的运行环境、REPL 执行模型、浏览器沙箱隔离,以及在线运行器背后的 console 重定向原理
IP 子网计算详解:CIDR 和子网掩码到底在算什么
深入理解 IP 子网划分、CIDR 表示法、子网掩码、网络地址与广播地址的计算原理,搞懂 /24 /16 到底意味着什么
JSON 转 TypeScript 详解:从数据反推类型
深入理解从 JSON 反推 TypeScript 接口定义的原理、类型推断的合并策略、联合类型与可选字段,以及它的局限
Markdown 预览详解:从纯文本到富文本的渲染
深入理解 Markdown 的设计哲学、常见方言差异、CommonMark 标准化,以及为什么不同平台渲染结果不一样
多地 Ping 详解:从全球测延迟意味着什么
深入理解 Ping 和 ICMP 协议、RTT 延迟的构成、为什么不同地区延迟差很大,以及 CDN 如何用多地视角来优化
密码生成器详解:什么样的密码才算强
深入理解随机密码的熵、字符集与长度的权衡,为什么密码长度比复杂度更重要,以及如何生成真正随机的密码
密码强度检测详解:强度条到底在算什么
深入理解密码强度检测的原理:熵估算、字典匹配、模式识别,以及为什么 zxcvbn 比简单规则更靠谱
二维码生成详解:QR 码为什么能扫还能纠错
深入理解 QR 码的结构、定位图案、纠错机制 Reed-Solomon,以及版本/容量/纠错等级如何影响能存多少数据
反弹 Shell 详解:原理、用法与防御
深入理解反弹 Shell 的工作原理、与正向 Shell 的区别、各语言实现思路,以及作为防御者如何检测和拦截它
SEO 综合查询详解:搜索引擎到底看什么
深入理解 SEO 检测的各个维度:Meta 标签、Open Graph、结构化数据、页面性能,以及为什么 SEO 评分只是参考不是圣旨
SM4 加密详解:国密对称加密标准
深入理解国密 SM4 算法的工作原理、与 AES 的异同,以及为什么国内政务、金融、等保 2.0 场景必须使用它
中文处理详解:简繁转换与拼音背后的编码学问
深入理解简繁体中文转换的字对字 vs 词对字问题、拼音标注的声调规则,以及 Unicode 对中文的处理方式
TOTP 详解:两步验证背后的时间密码
深入理解 TOTP/HOTP 一次性密码的工作原理:为什么 30 秒一变、它和 HMAC 的关系、以及为什么离线验证器能算出和服务器一样的码
URL 解析详解:一个网址里藏着多少组件
深入理解 URL 的标准结构:协议、主机、端口、路径、查询参数、锚点,以及 WHATWG URL 标准如何处理边界情况
UUID 详解:全局唯一标识的原理与版本之争
深入理解 UUID 各版本(v1/v3/v4/v5/v7)的生成原理、冲突概率、为何 v4 最常用,以及 v7 为何是新趋势
AES 加密详解:对称加密的工业标准
深入理解 AES 加密算法的工作原理、分组模式和填充方案,以及为什么它能成为全球加密标准,替代老旧的 DES
什么是 Base64?深入理解 Base64 编码原理与应用
从零理解 Base64 编码的原理:为什么需要它、如何工作、URL-safe 变体是什么,以及在 JWT、Data URI 等场景的实际应用
二进制编码基础:理解计算机如何表示文本
从二进制的最基本概念出发,理解计算机如何用 0 和 1 表示文字、数字和一切数据,掌握位运算的基本思维,以及 ASCII、字节与比特的关系
字符编码转换:彻底告别乱码问题
彻底搞懂字符编码转换的底层逻辑:GBK vs UTF-8 vs ISO-8859 的关系、乱码产生的根本原因、以及如何正确地做编码检测和转换来避免生产事故
DES 加密:一个时代的落幕与启示
回顾 DES 加密算法的兴衰历程:56 位密钥为何从国家机密变成 24 小时就能暴力破解、Feistel 网络结构的精妙设计、以及从 DES 到 3DES 再到 AES 的进化之路带给我们的工程启示
哈希算法全家桶:一文看懂 MD5 到 SHA-3 的演进
梳理哈希算法家族的完整演进图谱:从 MD5 到 SHA-3 的设计迭代、每个算法的安全状态和适用场景、以及一个简单的决策框架帮你选对哈希算法
十六进制编码:为什么程序员离不开 Hex
全面理解十六进制:从二进制与十六进制的完美映射、Hex 在哈希、调试和颜色中的无处不在、以及 hex dump 如何帮你读懂任何二进制文件
HMAC 消息认证码:如何确保数据没被篡改
搞懂 HMAC(Hash-based Message Authentication Code)的核心原理:为什么单纯的哈希不够用、ipad 和 opad 两个魔术常数的作用、以及 HMAC 在 JWT、AWS API 签名和 Webhook 验证中的关键应用
HTML 实体编码:防止 XSS 的第一道防线
深入理解 HTML 实体编码机制:从 < 到 & 的完整解码原理、HTML 实体在 XSS 防御中的关键作用、以及现代 Web 开发中的最佳实践
JSON 格式化:结构化数据的通用语言
理解 JSON 作为数据交换标准的方方面面:从 Douglas Crockford 的一页纸规范到全球 API 的通用语言、JSON.stringify 的隐藏陷阱、以及它如何取代 XML 成为 Web 数据格式的王者
JSON 与 XML 的转换:两种数据格式的世纪之争
回顾 JSON 与 XML 的格式之争:两者如何在 Web 发展史中交替领跑、XML Schema 和命名空间的独特优势、以及金融和政府系统为何至今仍坚守 XML 阵地
JSON 与 YAML 互转:配置文件格式的选择之道
掌握 JSON 与 YAML 的互转原理:YAML 如何解决 JSON 对人类不友好的问题、缩进敏感性的代价、挪威问题(Norway Problem)等经典 YAML 陷阱、以及为什么 DevOps 工具偏爱 YAML
JWT 深度解析:Token 里的三个部分分别藏着什么
深度剖析 JWT(JSON Web Token)的结构:Header、Payload 和 Signature 各部分的含义与解码、Base64URL 编码在 JWT 中的应用、以及 JWT 不等于加密这个常被误解的事实
MD5 哈希:曾经的安全明星,如今的教训
回顾 MD5 哈希算法的兴衰:从互联网早期的安全基石到被王小云教授的碰撞攻击击溃、MD5 现在还能用来做什么(和绝对不能做什么)、以及它给密码学留下的宝贵教训
进制转换的本质:为什么计算机用二进制而人类用十进制
从进制转换的本质出发:二进制、八进制、十进制、十六进制各自的应用场景、parseInt 的 radix 参数为什么应该是必填的、以及 Unix 文件权限的八进制表示背后的设计逻辑
正则表达式实战:从入门到不再恐惧
攻克正则表达式的心魔:从元字符到捕获组的系统化学习路径、三次回溯灾难的真实案例、以及那些写出来自己都看不懂的正则到底该怎么维护
RSA 加密原理:从大数分解到 HTTPS 的基石
从数学直觉理解 RSA 非对称加密的核心原理:为什么两个大素数相乘容易、分解难、公钥与私钥的数学关系、RSA 签名与加密的区别、以及在 HTTPS 和 SSH 中的应用
RSA 密钥对生成:从数学原理到实战操作
掌握 RSA 密钥对生成的完整流程:如何选择模长、生成大素数、推导公钥指数 e 和私钥 d、以及 PEM/DER 格式的区别和 openssl 命令行实战操作
SHA-1 的黄昏:从 Git 到碰撞攻击
见证 SHA-1 的终结:Google SHAttered 攻击如何用两个不同 PDF 生成相同 SHA-1 哈希值、Git 从 SHA-1 到 SHA-256 的艰难迁移之路、以及为什么任何系统都不应再信任 SHA-1
SHA-256 哈希详解:区块链和 TLS 背后的功臣
深入理解 SHA-256 哈希算法:从消息填充到压缩函数的完整加密流程,以及在比特币挖矿、TLS 证书、Git 等场景中的核心角色
SHA-3 (Keccak):密码学哈希的新一代标准
探索 SHA-3(Keccak)的创新之处:海绵结构如何从根本上不同于 SHA-2、为什么 NIST 选择了它作为备用标准、以及 SHA-3 在抗量子攻击和长度扩展攻击方面的天然优势
SHA-512:当你需要比 SHA-256 更强的保障
深入理解 SHA-512:为什么它的 64 位内部运算在 64 位 CPU 上反而比 SHA-256 更快、SHA-512/256 截断变体的精妙之处、以及在 Linux 密码存储等高安全场景的实战应用
国密 SM3 哈希:中国密码法背后的算法
了解中国国家密码标准 SM3 哈希算法:SM3 与 SHA-256 的设计差异、在金融和政务系统中的强制应用场景、以及《密码法》对国内密码技术选型的影响
文本大小写转换:命名规范的幕后逻辑
理解文本大小写转换的工程意义:camelCase vs snake_case 的意识形态之争、为什么土耳其语的 İ 能搞崩你的代码、以及 Unicode 大小写折叠远比 .toUpperCase() 复杂的原因
字数统计背后的字符编码陷阱
揭开字数统计的复杂性:为什么一个 emoji 在 JavaScript 里长度可能是 7、中英文混排时如何正确统计、以及 Twitter 的 280 字限制在不同语言下到底怎么算的
文本差异对比算法:Myers Diff 的精妙之处
深入文本差异对比(Diff)的算法内核:从 Myers Diff 的编辑图最短路径思路到 Git 实际使用的 Histogram Diff、LCS(最长公共子序列)的求法、以及为什么大文件 Diff 会这么慢
Unix 时间戳:那个从 1970 年开始计数的数字
彻底搞懂 Unix 时间戳:为什么从 1970 年 1 月 1 日开始计数、32 位溢出导致的 2038 年问题、时间戳 vs ISO 8601 的选型建议、以及时区给时间戳计算埋下的那些坑
Unicode 编码入门:从 \uXXXX 到字符集的完整图景
从零理解 Unicode 字符编码体系:UTF-8 vs UTF-16 vs UTF-32 的区别、码点与字符的关系、以及你为什么会遇到乱码和如何彻底解决
URL 编码完全指南:为什么你的链接里全是百分号
彻底理解 URL 编码(百分号编码)的原理:为什么 URL 里不能有空格和中文字符、哪些字符需要编码、encodeURI vs encodeURIComponent 的区别及常见陷阱
YAML 解析陷阱:那些让你踩坑的缩进和类型推断
揭开 YAML 解析中的常见陷阱:YAML 的隐式类型推断如何把字符串变成布尔值、多行字符串的 | 与 > 操作符区别、以及从 YAML 安全转换到 JSON 的最佳实践
XML 解析实战:从 SOAP 到现代 API 的迁移
掌握 XML 到 JSON 的转换挑战:属性 vs 子元素的映射困境、命名空间的丢失问题、CDATA 的处理方式、以及为什么说 XML 到 JSON 的转换永远不是无损的