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. map的回调函数

    问题:--js   (['1','2','3']).map(parseInt) 第一眼看到这个题目的时候,脑海跳出的答案是 [1, 2, 3],但是真正的答案是[1, NaN, NaN]. 首先让我们 ...

  2. UVA 10881

    题目就不再写了,直接开始 [分析]蚂蚁碰撞掉头,其实不用考虑掉头问题,直接让“掉头”等价于“对穿而过”, 然后调换它们的状态(感觉像是障眼法hhh),只要分清楚“谁是谁”.因为“掉头”,所以蚂蚁 的相 ...

  3. APIO2012 派遣dispatching | 左偏树

    题目链接:戳我 就是尽可能地选取排名小的,加起来就可以了.然后我们考虑利用一个大根堆,一个一个合并,如果超过派遣的钱,我们就把费用最大的那个忍者丢出队列. 左偏树,作为一个十分优秀的可并堆,我们这道题 ...

  4. POJ - 2421 Constructing Roads (最小生成树)

    There are N villages, which are numbered from 1 to N, and you should build some roads such that ever ...

  5. dict字典;dict的操作

    一.字典: 1. 字典 dict 用{}来表示 键值对数据 {key:value} 唯一性 键   都必须是可哈希的 不可变的数据类型就可以当做字典中的键 值   没有任何限制 1.1  字典的创建: ...

  6. 二,php的错误处理

    php处理错误的三种方式: 简单的die()语句: 自定义错误和错误触发器:错误日志: 1,简单的die()语句 if(!file_exists("aaa.txt")){ die( ...

  7. [ActionScript 3.0] 处理xml内容换行时行间距较大问题的一种简单方法

    我们一定遇到过这种情况,在读取xml里的文章内容时,一旦有换行的位置在flash里显示出来的行间距会比较大,而并非我们想要的效果,解决这个问题的方法除了使用正则表达式以外,这里介绍一种比较简单的方法, ...

  8. [Swift]Swift的常用内置函数

    内置函数:在Swift中不需要导入任何模块(如UIKit等)或者引用任何类就可以使用的函数.Swift预先定义的函数//快捷键Control+⌘+Space来开启Emoji字符输入 1.断言asser ...

  9. ssh访问流程

    SSH是英文Secure Shell的简写形式.通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗.使用S ...

  10. TX2 内核编译

    准备工作 版本:jetpack3.1,R28.1,TX2 虚拟机:ubuntu14.04 参考文档.编译工具链.源码下载 编译 主要步骤记载如下: export CROSS_COMPILE=<c ...