插图

优雅地在 Traceroute 里膜 拜大佬

Traceroute 是常用的检查网络状况的工具之一,会显示你操作的电脑到指定服务器的网络路径上经过的每一个路由器的 IP 地址,类似于这样:可以看到后两跳的 IP 显示出了对应的域名,这个域名就是 IP 的反向解析记录。反向解析记录在 DNS 服务器中以类似 4.3.2.1.in-addr.arpa 域名的 PTR 记录形式存在。更多的信息可以参考《在 DN42 中设置 IP 反向解析》这篇文章。自然,Traceroute 里能显示字,也就能显示一篇文章。两年前我为了达到这个目的,开了一堆 Docker 容器,修改它们的路由表让它们连成一长串,来做出显示文章需要的路径。但是开一堆容器不够优雅,而且也不方便管理,尤其是路径过长的时候。更好的方法是用一个程序创建一张虚拟网卡,直接根据进入的 Traceroute 请求回复相应的数据包。这样不仅节省了一大堆容器的系统资源和管理负担,而且也容易根据需要实现复杂的功能。于是我就写了这样一个程序,在 https://github....

友华 PT926G 关闭 TR069

本文介绍如何关闭友华 PT926G 光猫的 TR069 功能,防止电信推送配置 / 固件更新,导致你自己改的桥接、端口转发等失效。这台光猫的 WAN 设置里,TR069 连接是无法修改或者删除的。但是我们只要对光猫后台的代码做一点小小的修改,就可以破解这个限制。首先你需要按照我的《友华 PT926G 光猫破解》这篇文章获取 Telnet 管理员密码。然后 Telnet 进去,执行 su 并输入密码进入 Root Shell。进入后命令行应该会显示 #。然后依次执行以下操作:输入 cp /home/httpd/web/net_eth_links.asp /var/,回车运行。我们准备修改这个文件,但这个文件放在一个只读的分区上,所以先把它复制一份到可以读写的地方。输入 vi /var/net_eth_links.asp 编辑这个文件。vi 是著名的非常难用的编辑器,因此我们一步步来:输入 /is_configurable 然后回车,也就是查找 is_configurable 这个字符串。光标应该会跳转到这个位置:12345678//If connection type is TR069 return false,...
插图

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

现代互联网上,绝大多数网站都已经支持 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,...

友华 PT926G 光猫破解

本文介绍如何在不拆光猫、不使用串口转换器的情况下,破解友华 PT926G 光猫的以下权限:管理面板的超级管理员用户(telecomadmin)Telnet 的 root 用户访问 FTP坐标深圳电信。登录超级管理员界面如果你直接访问光猫的 IP(http://192.168.1.1),你会看到以下的智能网关登录界面:在这个界面你可以用 useradmin 账户和光猫背后标记的密码登录,但进去之后没什么功能,只有一个 Wi-Fi 的设置是有用的。但 nmap 扫描显示事情并不简单:123456789101112$ 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 模板文件,然后在合适的地方插入如下代码:123<% site.tags.forEach(tag => { %> <a href="<%- url_for(tag.path) %>"><%= tag.name %></a>平安、<% })...
插图

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

更新记录2022-07-21:补充 GVT-g 开机自启,感谢 Owsmyf 提醒。2022-01-22:根据 NVIDIA 驱动更新、评论区反馈更新内容。我在新电脑上成功完成了 Optimus MUXed 显卡直通。摘要(剧透)我成功在联想 R720 游戏本上把 Intel 核显的 GVT-g 虚拟显卡,以及 NVIDIA 独显本身直通进了虚拟机。但是由于受到架构本身的限制,这套方案有非常大的局限,例如很多游戏无法调用独显、操作麻烦、显示性能仍然较低等。因此,现阶段可以为了折腾而尝试,但不建议用于实用用途。为什么要这么做我平常浏览网页、写代码等操作都在 Arch Linux 系统下完成,很少使用 Windows 双系统。但是有的时候我想和同学联机游戏,就不得不重启到 Windows 系统。虽然已经有了 Wine、Proton 兼容层来运行 Windows 应用,还有 DXVK 来转译 DirectX 命令到 Vulkan 来提升性能,但是还是有很多游戏无法在 Wine 环境下正常运行,例如自带 DRM 或者反作弊保护的游戏,以及调用了奇怪 API 的游戏。...
插图

愿者上钩(指美国签证)

附取消邮件内容:自 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 的路由器就会根据到目标的距离等参数,把数据包发送到对这个路由器来说最优的目标。(注:以上内容经过简化,...