1.处理zone文件

A.先格式化区文件数据,去掉不需要的数据,生成新的文件 com.zone.sample

cat com.zone |grep -P IN'\t'NS|awk -F '\t' '{print $1","$4}' >> com.zone.sample

格式如下:

waiyuren.com.,ns6.ctrlcache.com.
jmtcq.com.,ns5.myhostadmin.net.

B.获取到所有的ns数据,并且去重,并生成新的文件/home/cnzone/com_sort.zone

cat com.zone |grep -P IN'\t'NS|awk -F '\t' '{print $4}'|sort|uniq >> com_sort.zone

格式如下:

zyd1.dnspod.net.
zyd.dnspod.net.
zz.baidu.com.

C.如果com_sort.zone文件比较大,最好按行分成多分文件,同时运行脚本

详见:[linux 查看某几行内容与文件分割] (https://www.cnblogs.com/wt11/p/9351021.html)

2.批量dig ns,获取支持ipv6的ns

[root@localhost home]# cat dns.py
import sh
import json ns = {}
def validation_ipv6(domain):
ns = {}
num = 0
try:
dig = sh.dig(domain, "AAAA", "+short")
num = sh.wc(dig, "-l")
print(domain +'-----------------------'+ str(int(num)))
except:
with open('unreachd_domain.txt', 'a+', encoding='utf8') as f2:
f2.write(domain + '\n')
if int(num) > 0:
ns[domain] = int(num)
#print(ns)
datas = json.dumps(ns, ensure_ascii=False, indent=4)
with open('ipv6_ns.txt', 'a+', encoding='utf8', buffering=1) as ff:
ff.write(datas+',')
def save():
with open('cn.ns.sort', 'r', encoding='utf8') as f:
for i in f:
i = i.strip()
validation_ipv6(i) if __name__ == '__main__':
save()

3.根据对应的ns,获取支持ipv6的网站

[root@localhost home]# cat get_v6.py
import json alls = {} def ana():
with open('ipv6_ns.txt', 'r', encoding='utf8') as f:
data = json.load(f)
for item in data:
for key in item:
alls[key] = item[key] def gets():
n = 0
with open('com.zone.sample', 'r', encoding='utf8') as ff:
for line in ff:
line = line.strip()
key = line.split(',')[1]
num = alls.get(key, 0)
print(str(n) + '-------------->'+ line +'------------>' + key + '>>>>>>>' + str(num))
n = n + 1
if num > 0:
with open('support_ipv6_site.txt', 'a+', encoding='utf8') as fc:
fc.write(line.split(',')[0] + '\n') if __name__ == '__main__':
ana()
gets()

dns dig 查看支持ipv6网站的更多相关文章

  1. iOS应用支持IPV6,就那点事儿

    原文连接   果然是苹果打个哈欠,iOS行业内就得起一次风暴呀.自从5月初Apple明文规定所有开发者在6月1号以后提交新版本需要支持IPV6-Only的网络,大家便开始热火朝天的研究如何支持IPV6 ...

  2. iOS应用支持IPV6

    一.IPV6-Only支持是啥? 首先IPV6,是对IPV4地址空间的扩充.目前当我们用iOS设备连接上Wifi.4G.3G等网络时,设备被分配的地址均是IPV4地址,但是随着运营商和企业逐渐部署IP ...

  3. 阿里云公共DNS正式发布支持IPv6的版本

    在10月23日召开的GNTC 2019全球网络技术大会IPv6分论坛上,阿里云高级技术专家张先国宣布支持阿里公共DNS的IPv6版本正式发布,即阿里公共DNS在保持IPv4 稳定解析服务的基础上(An ...

  4. iOS 支持 IPv6

    苹果的规定:2016年6月1日提交到App Store必须支持IPv6-only网络. 官方文档:https://developer.apple.com/library/mac/documentati ...

  5. iOS 上线因iPv6被拒,查询服务器是否支持iPv6,mac设置iPv6网络,手机测试iPv6

    一. iOS----如何检查域名是否支持ipv6 iOS----------如何检查域名是否支持ipv6 1.检查你所用到的库,像af 3.0以上什么的(不用改),其他的库自己去搜下是否支持ipv6吧 ...

  6. [dig]使用dig查看当前网络连通情况

    1. dig domain, 通过server可以查到该域名被哪个server给解析了 2. dig @dns domain 不走/etc/resolve.conf,直接走指定的dns ------- ...

  7. 配置阿里云ECS支持IPv6,解决苹果app审核失败问题

    前几天iOS的App提交给苹果审核没通过,给出的原因是:该应用在 IPv6 的环境下无法使用.检查发现:阿里云优化过的系统没有启用IPv6协议,需要配置启用一下,但是只单独启用IPv6也是无法直接提供 ...

  8. iOS----------如何检查域名是否支持ipv6

    http://ipv6-test.com/validate.php  这个地址  也可以检测到! 1.检查你所用到的库,像af 3.0以上什么的(不用改),其他的库自己去搜下是否支持ipv6吧. 2. ...

  9. 阿里云ECS centos7 支持IPv6

    1.编辑 /etc/sysctl.conf 文件,将其中三条禁用IPv6的设置更改为: net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.default ...

随机推荐

  1. C#设计模式--工厂模式和抽象工厂模式

    话说有三大潮牌公司一直相互PK,有一天举办了一个活动让这三大公司来一个PK,我们来看看哪家公司的上衣做出来好看穿得舒服 现在我们有一个上衣的抽象产品让三大公司来做 //抽象产品 public inte ...

  2. WPF判断当前窗体是否为模态

    WPF判断当前窗体是否为模态   1.使用System.Windows.Interop.ComponentDispatcher.IsThreadModal来判断 参照:https://social.m ...

  3. 徒手CPR心脏复苏

    CPR 缩写于cardiopulmonary resuscitation. 在危难时刻,能救人救命,意义极其重大,赶紧学起来 成人的CPR 第一步:检查意识 靠近其耳朵,在两耳旁交替大声喊:「你怎么了 ...

  4. 在一台服务器上搭建相对高可用HiveServer实践

    本文来自网易云社区 作者:刘杰 问题及原因 组里之前搭建了一个hiveserver提供给猛犸上的ETL程序调用,hiveserver隔三差五地挂掉重启,网上查了些资料,也咨询了猛犸那边维护hivese ...

  5. 爬虫开发3.requests模块

    requests模块 - 基于如下5点展开requests模块的学习 什么是requests模块 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求.功能 ...

  6. 4.client、offset、scroll系列

    client.offset.scroll系列 他们的作用主要与计算盒模型.盒子的偏移量和滚动有关 clientTop 内容区域到边框顶部的距离 ,说白了,就是边框的高度 clientLeft 内容区域 ...

  7. [ActionScript 3.0] 简单倒计时

    import flash.utils.Timer; import flash.events.TimerEvent; import flash.text.TextField; var text:Text ...

  8. [Objective-C语言教程]循环语句(9)

    当需要多次执行同一代码块时,可以使用循环来解决. 通常,语句按顺序执行:首先执行函数中的第一个语句,然后执行第二个语句,依此类推. 编程语言提供各种控制结构,允许更复杂的执行路径.循环语句可用于多次执 ...

  9. 1,Thread 概念以及Thread 的6个状态

    Thread 有6个状态 , NEW, RUNNABLE , BLOCKED, WATTING, TIMED WAITING, TERMINATED 1.NEW至今尚未启动的线程的状态.2.RUNNA ...

  10. Codeforces Round #556 (Div. 2) - D. Three Religions(动态规划)

    Problem  Codeforces Round #556 (Div. 2) - D. Three Religions Time Limit: 3000 mSec Problem Descripti ...