httpdns service accuracy evaluator
调度精确性检测包含如下模块:
config.py
待对比测试的域名及其权威DNS信息
待对比测试的终端IP样本及其对应的运营商,地域信息
evaluator.py
检测脚本,针对所有的待检测域名,分别采用EDNS权威,HTTPDNS,DNSPOD D+,Google DoH四种方式,携带终端IP样本进行解析,对比HTTPDNS、DNSPOD D+、Google DoH与权威EDNS解析的差异,并给出有差异的解析数据及最终的差异统计信息。
samples.py
待检测的IP采样点集合,覆盖不同地域与运营商,目前只包括中国与东南亚地区,如果需要更多地区的探测点,请到阿里云HTTPDNS 提交工单。
sudo pip2.7 install -r requirements.txt
python2.7 evaluator.py
按照以下步骤,比较阿里云HTTPDNS与友商的解析精度。
登录阿里云官网开通 阿里云HTTPDNS ,HTTPDNS为每个账户提供150万次解析/月的免费测试额度。
HTTPDNS_URL = "http://47.74.222.190/{HTTPDNS账号ID}/d?host=%s&ip=%s"
bash config_helper.sh
登录HTTPDNS控制台,把HOSTS第一列中的域名添加到HTTPDNS域名白名单
确保HTTPDNS解析配置生效后,执行以下命令比较解析精度
python2.7 evaluator.py
如果出现本提示,是指某次DNS查询超时了,正在重试,由于评估过程中会发送大量UDP包,所以较为常见
请调节THREAD_POOL = ThreadPoolExecutor(max_workers=30) 中的并发数量
curl "https://dns.google/resolve?name=www.aliyun.com&type=a&edns_client_subnet=202.97.96.0"