有什么有效的姿势 来判断域名或 IP 被 Qiang? [集思广益]

2016-08-02 17:32:01 +08:00
 notgod
希望做个检测工具,部署国内节点作为检测用途
让公众查询域名或 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 是网关随机的 不现实
4156 次点击
所在节点    问与答
23 条回复
SuperFashi
2016-08-02 20:31:56 +08:00
这样还怎么向别人询问问题啊,我用安卓回帖又不代表我用手机测试。

首先说 ping :

https://superfashi.b0.upaiyun.com/wp-content/uploads/2016/08/sp160802_200604.png

我说过了,对于 ip 来说看 ping ,也就是说对于那个 ip 来说,没有被墙,可以正常访问,事实上确实如此,访问 ip 会被 301 到 Google ,然后挂掉 。但是从截图来看,只在北京可以 ping 通(?)。对于网站有着另外的处理方法,目前来看就是解析。

再说你说的那个临时的问题:

https://superfashi.b0.upaiyun.com/wp-content/uploads/2016/08/sp160802_201717.png

https://superfashi.b0.upaiyun.com/wp-content/uploads/2016/08/sp160802_201748.png

我的结果截然不同,先是连接,然后默认一分钟返回 timeout ,接着访问正常资源,没有问题。

难道我们的墙不是一个版本的?
notgod
2016-08-03 01:32:26 +08:00
@SuperFashi

拿 Qiang 外的机器测试
你可能拿国内的机器 你自己的机器到反向代理的 120 国内机器 因为是国内到国内 这段握手根本不过 Qiang
所以返回 504 超时的错误
非常明显的就已经不对了

Ping 的问题
北京电信和联通一致 非 301 Redirect 到 www.google.com 导致的 rest
Google 是 ASN 下所有 IP 被污染了 非漏网 IP 导致的可 Ping
因为 Qiang 并不会判断你是北京联通访问的这个 IP 还是南京电信访问的这个 IP
一视同仁的污染目标 IP
SuperFashi
2016-08-03 07:59:32 +08:00
@notgod
504 超时我猜是因为反代机器也是国内机器,连接不上从而导致的超时。

ping 不行就拿 tcpping 呗,不太清楚墙什么机制,为啥北京能够 ping 通。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/296621

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX