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. Ubuntu16.04以root身份登入!

    首先以非root用户身份登入系统. 1,修改root密码:启动shell,随后在shell里面输入命令: sudo passwd root 最后输入root要使用的密码,需要输入两次,这样root密码 ...

  2. day05.1-文件处理

    1. 文件处理流程 打开文件,得到文件句柄并赋值给一个变量: 通过句柄对文件进行操作: 关闭文件 with open("filename","r",encodi ...

  3. code::blocks学习

    code::block不能调试问题 今天在codeblock不能进行调试,百度总结如下: 1 进行调试的必须是一个project而不能是一个单一的cpp文件. 2 project的路径不能包含中文,尽 ...

  4. JQuery easyui里面的自动完成autocomplete插件

    默认功能 当您在输入域中输入时,自动完成(Autocomplete)部件提供相应的建议.在本实例中,提供了编程语言的建议选项,您可以输入 "ja" 尝试一下,可以得到 Java 或 ...

  5. PHP初步:在Mac OS X Yosemite下搭建Apache+PHP+Mysql

    Mac OS X是基于unix的操作系统,很多软件都集成在系统中.所以,对于配置PHP的开发环境相对于windows和Linux更简单. 1. 启动Apache服务器 打开终端(terminal),查 ...

  6. [转] iOS 在UILabel显示不同的字体和颜色

    在项目开发中,我们经常会遇到在这样一种情形:在一个UILabel 使用不同的颜色或不同的字体来体现字符串,在iOS 6 以后我们可以很轻松的实现这一点,官方的API 为我们提供了UILabel类的at ...

  7. Sklearn,TensorFlow,keras模型保存与读取

    一.sklearn模型保存与读取 1.保存 from sklearn.externals import joblib from sklearn import svm X = [[0, 0], [1, ...

  8. 小蒟蒻的垃圾emacs配置

    (global-set-key [f9] 'compile-file) (global-set-key [f10] 'gud-gdb) (global-set-key (kbd "C-s&q ...

  9. 项目中git的使用

    通常一个项目的开发周期相对较长,为了便于对过程中的项目版本进行管理,以及方便多人合作进行开发,常需要使用到版本管理控制软件,本篇介绍常用的版本控制器git,记之共享. 一.git是什么?有何特点? 用 ...

  10. JavaScript 流程控制器

    已知有流程step1.step2.step3.step4.step5 , 如何控制输出下面过程 例如: 1:step1.step2.step3.step2.step3.step4.step5 2:st ...