Chris Siebenmann Blog

Chris Siebenmann 的技术博客,来自多伦多大学。

NFS诞生前,早期SunOS如何实现无盘工作站

回顾SunOS在NFS普及前,使用名为“nd”的网络块设备驱动实现无盘工作站的技术细节。nd协议直接基于IP数据报且无校验和,依赖服务器端手动划分磁盘扇区子分区,缺乏完整性检查,极易导致数据损坏。这对理解早期Unix网络存储架构演进及NFS引入的必要性提供了极佳的工程视角和历史补充。
评论点赞收藏33 天前

让你的DHCP服务器动态IP耗尽的一种不寻常方式

一台故障设备响应所有IP的Ping包,导致ISC DHCP服务器误判地址池耗尽,拒绝分配新IP。这是典型的“尖叫主机”故障场景。排查关键在于观察DHCP日志中的ICMP Echo reply记录,并结合ARP表追踪MAC地址。这对维护复杂网络环境的运维人员极具参考价值,提供了具体的故障定位思路。
评论点赞收藏36 天前

su 如何取代 login 成为 Unix 下切换用户的默认方式

从《创:战纪》电影中一句 login -n root 命令切入,作者追溯了 Unix 系统中 su 和 login 两命令切换用户功能的演化史。早期 Unix(V7及之前)要获得干净的登录环境需从 shell 直接运行 login(setuid root),而 su 只继承当前环境。System III 为 su 增加了 login shell 选项,同时禁用了 login 从普通 shell 调用的能力;BSD 分支则在 4.3BSD 跟进 su 改进但保留了 login 的传统用法。文章列举了 Linux/FreeBSD/NetBSD/OpenBSD/Illumos 五条现代分支的处理差异,还附带了 su 从 V1 仅限 root 到 V7 支持任意用户的早期历史。细节扎实,全部引用原始 man 页和 Unix 档案源码,适合对 Unix 历史或命令行机制感兴趣的读者。
评论点赞收藏72 天前

使用类型提示在Python中会导致不同形式的代码

本文主要讨论了使用类型提示(type hints)在Python中如何影响生成的代码,并解释了为何不一致的Sec-CH-UA-* HTTP头可能触发反爬虫措施。作者还详细列举了可能导致浏览器被怀疑为爬虫的问题,包括缺失或不匹配的Sec-CH-UA头、版本号不匹配等。文章提供了具体的排查建议,并提醒读者注意隐私扩展工具对头的影响。
评论点赞收藏80 天前

关于礼貌获取网站个人副本的说明

本文详细解释了网站采取的反爬虫措施,特别是针对滥用伪造User-Agent值的高流量爬虫(用于LLM训练)。作者指出,由于Sec-CH-UA头信息不一致,浏览器或客户端库会被视为可疑。文章列出了可能导致问题的Sec-CH-UA头异常情况,并建议用户通过联系作者并提供详细信息来解决误拦截问题。整体内容技术性强,对理解现代网页反爬策略有一定价值。
评论点赞收藏85 天前

Unix 一直在变,但我没看到的地方

本文作者探讨了 Unix 系统的悄然变化,指出许多方面并未如预期般明显改变。文章特别提到了由于反爬虫措施导致的浏览器兼容性问题,并解释了 Sec-CH-UA-* HTTP请求头不一致的问题。作者还列举了可能导致可疑问题的几种情况,如缺失的 Sec-CH-UA 头、不匹配的平台版本号等。整篇文章以技术细节为主,适合对 Unix 系统和网络爬虫有兴趣的读者。
评论点赞收藏87 天前

关于使用Python邮件包读取消息的笔记

本文是一篇关于使用Python邮件包时遇到的反爬虫问题的技术说明。作者解释了由于Sec-CH-UA-* HTTP请求头不一致,导致访问博客或维基被误认为爬虫的问题,并详细说明了可能引发问题的几种情况,如缺失的Sec-CH-UA头、不匹配的平台版本号等。文章还提供了如果用户遇到错误该如何联系作者的建议,强调了对于伪装成浏览器的爬虫软件的不支持态度。全文主要面向技术人员,提供了一些实用的排查和解决方法。
评论点赞收藏88 天前

Python代码(格式化)难题与启发式方法

本文详细探讨了因浏览器发送不一致的Sec-CH-UA-* HTTP请求头导致的反爬虫预防措施问题,并针对可能存在的问题提供了解决方案。作者解释了常见的不一致情况,如缺失的Sec-CH-UA头、不匹配的平台版本号等,并建议用户通过Chrome的开发者工具检查其发送的请求头。文章还强调了当前大量使用伪造User-Agent值的爬虫行为,特别是用于LLM训练的情况,并提醒读者不要对这类软件给予豁免。
评论点赞收藏95 天前

从 GNU Emacs 的 lsp-mode 切换到 Eglot

本文作者详细探讨了从 GNU Emacs 的 lsp-mode 切换到 Eglot 的过程,重点介绍了在切换过程中遇到的与反爬虫措施和用户代理头相关的挑战及解决方案。文章涉及浏览器用户代理头的验证问题,以及如何处理因伪造用户代理值导致的高流量爬虫问题。作者还列举了可疑的 Sec-CH-UA 头问题,并提供了相应的解决建议。
评论点赞收藏96 天前

关于在异常 shell 环境中使用 GNU Emacs Tramp 系统的笔记

这篇文章主要讨论了在异常 shell 环境下使用 GNU Emacs Tramp 系统时遇到的访问问题,尤其是由于浏览器或客户端库发送不一致的 Sec-CH-UA-* HTTP请求头触发了反爬虫机制。文章详细列举了可能导致问题的 Sec-CH-UA 头情况,如缺失、不匹配的版本信息以及声称是 headless Chrome 等,并建议用户通过 Chrome 的开发者工具验证这些请求头。此外,文章还提供了与作者联系以解决错误的途径,强调了对于伪装成浏览器的爬虫软件的拒绝态度。
评论点赞收藏98 天前

学习我的教训:Python虚拟环境并非总是可移动的

本文作者分享了在管理Python虚拟环境时遇到的问题,指出并非所有情况下虚拟环境均可移动。同时,文章还讨论了由于浏览器Sec-CH-UA-* HTTP头信息不一致导致的反爬虫预防措施问题,并列举了可能导致可疑行为的几种情况,如缺少必要的Sec-CH-UA头、平台值不匹配等。作者还提供了如何验证浏览器发送的Sec-CH-UA头的建议。
评论点赞收藏106 天前

备份MX将受到各种人的访问

这篇文章解释了为什么某些浏览器或客户端库在访问博客和维基时会被认为是可疑的,主要是因为它们发送不一致的Sec-CH-UA-* HTTP请求头信息。作者指出,由于滥用高流量爬虫使用伪造的用户代理值,尤其是用于LLM训练的数据收集,这种组合不被接受。文章列出了可能导致问题的具体Sec-CH-UA头问题,并建议用户联系作者以解决误判情况。
评论点赞收藏114 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。