希望做个检测工具,部署国内节点作为检测用途
让公众查询域名或 IP 是不是被 Qiang
因为这玩意这么多年实在太不透明了,然后提供个 API,做监控服务
这样一些极端情况下,调用监控可以更换 DNS 解析的 IP,保证服务在国内的高可用性
这个工具理想状态下 是这样工作的
用户输入域名 点击检测
国外检测节点 = CURL 直接读取 URL 一般都返回 200=>500 的正常状态码
国内检测节点 = CURL 不现实 因为被 Rest 的链接 CURL 是直接返回错误的
无法做准确的判断,到底是被 Rest 来还是对方服务器不通还是其他原因
而且在一个时间段,这个 IP 在请求所有国外 IP 都是 Rest (N 分钟后才会恢复)
那么问题来了 是不是有一个有效的方式 在网络底层做数据包的校队或者验证?
比如 国内检测节点 查询域名
1. DNS 层检测 判断被污染或者挟持 返回结果
这个我的想法是 同时 dig any 结果缓存 然后分别 dig 国内服务器 和国外服务器 进行比对结果
因为考虑到有些使用 CDN 和多 IP, 所以看看国外和国内的返回 IP 是不是都存在于缓存的 ANY 结果内
如果存在 代表 OK,如果不存在 代表异常,如果返回的 IP 是 DNS 区域 IP 代表被挟持了
2. DNS 层正常 检测发送的请求 数据包校队 返回结果
这个是个问题,底层的问题 底层的问题 底层的问题 老衲真不知道啊......
等等 组成一个逻辑 ......
后续可以增加一些邮件订阅 提交后订阅
在一个时间周期 重新检查一次 来判断是临时被 Qiang 还是永久被 Qiang
还可以检测是域名被墙还是 IP 被 Qiang
等等
如果有什么 github 的项目 相关的
或者有什么想法 都可以谈谈
讨论收集 WALL 的 IP 然后屏蔽的 就免开尊口了
旁路设备发送的数据包 IP 是网关随机的 不现实
让公众查询域名或 IP 是不是被 Qiang
因为这玩意这么多年实在太不透明了,然后提供个 API,做监控服务
这样一些极端情况下,调用监控可以更换 DNS 解析的 IP,保证服务在国内的高可用性
这个工具理想状态下 是这样工作的
用户输入域名 点击检测
国外检测节点 = CURL 直接读取 URL 一般都返回 200=>500 的正常状态码
国内检测节点 = CURL 不现实 因为被 Rest 的链接 CURL 是直接返回错误的
无法做准确的判断,到底是被 Rest 来还是对方服务器不通还是其他原因
而且在一个时间段,这个 IP 在请求所有国外 IP 都是 Rest (N 分钟后才会恢复)
那么问题来了 是不是有一个有效的方式 在网络底层做数据包的校队或者验证?
比如 国内检测节点 查询域名
1. DNS 层检测 判断被污染或者挟持 返回结果
这个我的想法是 同时 dig any 结果缓存 然后分别 dig 国内服务器 和国外服务器 进行比对结果
因为考虑到有些使用 CDN 和多 IP, 所以看看国外和国内的返回 IP 是不是都存在于缓存的 ANY 结果内
如果存在 代表 OK,如果不存在 代表异常,如果返回的 IP 是 DNS 区域 IP 代表被挟持了
2. DNS 层正常 检测发送的请求 数据包校队 返回结果
这个是个问题,底层的问题 底层的问题 底层的问题 老衲真不知道啊......
等等 组成一个逻辑 ......
后续可以增加一些邮件订阅 提交后订阅
在一个时间周期 重新检查一次 来判断是临时被 Qiang 还是永久被 Qiang
还可以检测是域名被墙还是 IP 被 Qiang
等等
如果有什么 github 的项目 相关的
或者有什么想法 都可以谈谈
讨论收集 WALL 的 IP 然后屏蔽的 就免开尊口了
旁路设备发送的数据包 IP 是网关随机的 不现实