I'm starting to provide Chinese / English versions of some articles, switch with the Language menu above. 我开始提供部分文章的中文、英文翻译,请使用顶部语言菜单切换。
插图

未雨绸缪:使用后量子时代的加密算法

现代互联网上,绝大多数网站都已经支持 HTTPS,其使用的 SSL/TLS 加密协议会将用户的请求数据与网站的响应进行加密,以防止信息被路径上的恶意用户窃取或篡改。而 SSL/TLS 协议中的一个重要组成部分是 RSA、ECDSA 等非对称加密算法,这些算法的密钥分为公钥、私钥两份,公钥可以公开,而私钥则要妥善保管。在访问 HTTPS 网站时,会经过以下的流程:网站会将它的公钥(以证书形式)发送给浏览器。浏览器会校验公钥的有效性,防止中间人篡改公钥,从而拦截或监听通信。浏览器(或操作系统)内置了一组可信任的证书颁发机构(CA)的公钥,通过密码学方法可以确认这份公钥是其中某个颁发机构生成的。证书颁发机构则会通过一系列方法(多级证书链,物理隔绝的密钥保存设备)来保护他们自己的私钥安全,防止有人窃取他们的私钥来随意生成被信任的证书信息。浏览器会与证书颁发机构的服务器联系,查询 “证书吊销列表”(Certificate Revocation List)。...

自建 DNS 根服务器

随着近期中美对抗的不断升级,国内的部分社交平台上出现了一种担忧,担心美国切断 DNS 系统的根服务器到中国大陆的网络连接,或者在 DNS 根服务器中删除中国的域名记录,从而破坏中国的互联网。目前已经有很多分析,说明这种情况不太可能出现,大都从以下两种观点出发:DNS 根服务器使用 Anycast 来广播 IP,中国大陆境内实际上是有根服务器的,不会受到关停影响;从经济 / 政治上,美国切断 DNS 根服务器对他们自己的弊大于利。而今天我会从另一种观点出发:你可以在短时间内自己搭建一个 DNS 根服务器,并且让你的递归 DNS 使用它。是的,要自己搭建的 DNS 根服务器和目前作为互联网基础服务的 DNS 根服务器在功能上是等同的。本文更新日志 ¶2020-10-01:处理根 DNS 记录时,把 DS 记录也保留,以更好支持开启了 DNSSEC 的递归解析服务器。2020-09-05:初始版本。DNS 解析原理 ¶我们首先回顾下 DNS 解析的流程:你打开电脑,输入 https://www.lantian.pub,...
插图

如何引爆 DN42 网络(2020-08-28 更新)

DN42 是一个测试网络,所有人都在帮助所有人。即使你不小心搞砸了,也没有人会指责你。你可以在 DN42 的 IRC 频道,邮件列表或者非官方 Telegram 群组寻求帮助。由于 DN42 是一个实验用网络,其中也有很多新手、小白参与,因此时不时会有新手配置出现错误,而对整个 DN42 网络造成影响,甚至炸掉整个网络。现在,作为一名长者(x),我将教各位小白如何操作才能炸掉 DN42,以及如果你作为小白的邻居(指 Peer 关系),应该如何防止他炸到你。注意:你不应该在 DN42 网络中实际执行这些操作,你应该更加注重对破坏的防御。恶意破坏会导致你被踢出 DN42 网络。本文信息根据 Telegram 群及 IRC 中的真实惨案改编。更新记录 ¶2020-08-27:格式修改,添加完整 IRC 日志,部分内容的中文翻译,添加另一段地址掩码填错的内容,以及 ASN 少了一位的内容。2020-07-13:添加 Registry IPv6 地址段掩码填错的内容,和 Bird 不同协议左右互博的内容。2020-05-30:第一版,...

友华 PT926G 光猫破解

本文介绍如何在不拆光猫、不使用串口转换器的情况下,破解友华 PT926G 光猫的以下权限:管理面板的超级管理员用户(telecomadmin)Telnet 的 root 用户访问 FTP坐标深圳电信。登录超级管理员界面 ¶如果你直接访问光猫的 IP(http://192.168.1.1),你会看到以下的智能网关登录界面:在这个界面你可以用 useradmin 账户和光猫背后标记的密码登录,但进去之后没什么功能,只有一个 Wi-Fi 的设置是有用的。但 nmap 扫描显示事情并不简单:$ nmap -v 192.168.1.1# 省略一些输出PORT STATE SERVICE21/tcp filtered ftp22/tcp filtered ssh23/tcp filtered telnet53/tcp filtered domain80/tcp open http445/tcp open microsoft-ds8080/tcp open http-proxy10001/tcp open scp-config32768/tcp open filenet-tms有一个 8080 端口,我们访问一下(http://192.168.1.1:8080):嗯,熟悉的味道,...

制作一个优雅的平安经生成器

由于本文内容与所用语言有关,中文、英文版内容有少许差异。《平安经》简介 ¶《平安经》由(前)吉林公安厅党委副书记、常务副厅长贺电所作,书中内容只是句式 “XXX 平安” 的简单重复,但书籍售价很高。因此公众质疑本书的出版和出售有索贿嫌疑。《平安经》的内容格式如下:(来自维基百科)“眼平安,耳平安,鼻平安”“上海港平安、深圳港平安、宁波舟山港平安、广州港平安”“初生平安、满月平安、百天平安、1 岁平安、2 岁平安、3 岁平安”“孟加拉湾平安、墨西哥湾平安、几内亚湾平安”我一看到这个格式,就发现它很适合做标签云。那么就让我们开始吧!最简单的版本 ¶我用的是 Hexo 静态网站系统,只要在主题的 layout 文件夹下新建一个 ping-an-jing.ejs 模板文件,然后在合适的地方插入如下代码:<% site.tags.forEach(tag => { %> <a href="<%- url_for(tag.path) %>"><%= tag.name %></a>平安、<% })...
插图

笔记本 Optimus MUXless 下的 Intel 和 NVIDIA 虚拟机显卡直通

摘要(剧透) ¶我成功在联想 R720 游戏本上把 Intel 核显的 GVT-g 虚拟显卡,以及 NVIDIA 独显本身直通进了虚拟机。但是由于受到架构本身的限制,这套方案有非常大的局限,例如很多游戏无法调用独显、操作麻烦、显示性能仍然较低等。因此,现阶段可以为了折腾而尝试,但不建议用于实用用途。为什么要这么做 ¶我平常浏览网页、写代码等操作都在 Arch Linux 系统下完成,很少使用 Windows 双系统。但是有的时候我想和同学联机游戏,就不得不重启到 Windows 系统。虽然已经有了 Wine、Proton 兼容层来运行 Windows 应用,还有 DXVK 来转译 DirectX 命令到 Vulkan 来提升性能,但是还是有很多游戏无法在 Wine 环境下正常运行,例如自带 DRM 或者反作弊保护的游戏,以及调用了奇怪 API 的游戏。但双系统意味着需要维护两套系统,包括分别的系统更新、数据的共享和同步等等。例如我为了在 Windows 下正常访问自己的文件,不得不开了台 Hyper-V 虚拟机装上 Linux,...
插图

愿者上钩(指美国签证)

附取消邮件内容:自 2020 年 2 月 3 日起,美国驻北京大使馆和美国驻成都,广州,上海和沈阳总领事馆暂停普通签证业务的办理。因此,美国驻华使领馆将取消 6 月 29 日至 7 月 10 日的移民和非移民签证预约。鉴于新型冠状病毒情况的持续变化,美国驻华使领馆仅维持非常有限的人员,因此无法提供常规的签证问询服务。虽然我们会提供少量的紧急面谈,但有计划赴美的申请人应留意 2 月 2 日(周日)发布的总统声明,规定在入境美国之前的 14 天内,去过中国(香港和澳门特别行政区除外)的外国旅客将被禁止入境。更多关于总统声明的信息可从我们网站上获得 https://travel.state.gov/content/travel/en/traveladvisories/ea/Presidential-Proclamation-Coronavirus.html。 在此期间,如果您有紧急的赴美需要并且认为是属于声明以内的豁免情况,请按照 https://ustraveldocs.com/cn/index.html 上指引提出申请紧急预约。请注意,...
插图

毕业设计 - 传感器网络开发踩坑记录

欢迎来到踩坑系列的第三篇。之前两篇中我分别介绍了我 RoboMaster 机器人竞赛和 FPGA 课程大作业中踩的坑。这次踩坑的是我的毕业设计,三人小组合作的空气质量传感器网络。整个项目的设计如下:从安装的传感器模块中读取数据并上传到服务器上的 InfluxDB 数据库我们使用的传感器如下:MiCS6814,测量 NO2,CO,NH3模拟输出 BME680,测量温湿度气压及 TVOCI2C 接口输出 PMS5003,测量可吸入颗粒物(PM)UART 串口输出额外加上了这些模块:ATGM336H,GPS + 北斗双模定位模块UART 串口输出 ESP8266,使用非常广泛的 Wi-Fi 模块UART 串口输出 MH-CD42,电源管理模块输出?不存在的,供电就行了需要足够节能,能用电池坚持一周左右也需要能够监测电池电量以计划电池更换一定程度的防雨能力网页显示,短时间预测教授已经有一个可以测量风力的气象站了这篇文章记录了我们在实现这些功能时踩的坑。...

Bird 配置 BGP Confederation,及模拟 Confederation(2020-06-07 更新)

更新记录 ¶2020-10-01:添加警告,模拟 Confederation 时不能在内网滤掉内部 ASN2020-06-07:添加 Bird Confederation 的局限,及模拟 Confederation 方法 2020-05-17:最初版本ISP 内部 BGP 互联方案比较 ¶互联网中各个 ISP(互联网服务提供商)绝大多数都使用 BGP 协议互相交换自己的路由信息。每个 ISP 都会从所在区域的网络信息中心(NIC,例如 APNIC,RIPE)获得一个 ASN(自治域编号),例如中国电信的 ASN 是 4134。然后 ISP 之间通过物理连接(铜缆,光纤,卫星网络等)连接各自的边界路由器,然后在边界路由器上配置 BGP 协议,告诉对方:“我是 AS4134,我这里可以访问到 202.101.0.0/18 这个 IP 段”。与中国电信相连的 ISP 的路由器会接力把这条消息广播下去:“我是 ASXXXX,我距离 202.101.0.0/18 有一格距离”,以此类推。各个 ISP 的路由器就会根据到目标的距离等参数,把数据包发送到对这个路由器来说最优的目标。(注:以上内容经过简化,...

x32 ABI 及相应 Docker 容器使用

x32 架构是怎么回事呢?x86、x86_64 架构相信大家都很熟悉,但是 x32 是怎么回事呢,下面就让小编带大家一起了解吧。x32 架构,其实就是 x86 和 x86_64 架构拼在一起,大家可能会很惊讶 x86 和 x86_64 架构怎么会拼在一起呢?但事实就是这样,小编也感到非常惊讶。x86 及 x86_64 的历史,以及 x32 ABI ¶我们现在使用的个人计算机及服务器绝大多数都使用 x86_64 架构,该架构由 AMD 于 2000 年发布规范,2003 年发布第一块处理器。x86_64 是一个 64 位的架构,意味着在 x86_64 中,CPU 的每个寄存器都能保存 64 bit 的数据(即 8 个字节)。在 x86_64 流行之前,多数电脑都使用 Intel 处理器以及相应的 x86 架构 / 指令集,这是一个 32 位的架构,每个寄存器可以保存 32 bit 的数据(即 4 个字节)。64 位架构的一个显著好处是内存寻址能力的提升。计算机在访问内存时通常按照这样一个流程:将要访问的内存地址写入寄存器,...