[原创]bind DNS IP列表的精确获取_a13393665983的博客-CSDN博客


本站和网页 https://blog.csdn.net/a13393665983/article/details/102189744 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

[原创]bind DNS IP列表的精确获取_a13393665983的博客-CSDN博客
[原创]bind DNS IP列表的精确获取
a13393665983
于 2012-02-22 00:16:00 发布
115
收藏
文章标签:
运维
数据库
人工智能
原文链接:http://www.cnblogs.com/lexus/archive/2012/02/22/2362399.html
版权
[原创]bind DNS IP列表的精确获取
[原创]bind DNS IP列表的精确获取 - LSX - 博客园
[原创]bind DNS IP列表的精确获取Posted on 2012-02-19 21:43
LSX 阅读(661)
评论(1)
编辑
收藏
公司准备自己实施CDN的项目:
这里有个关键的问题:
如何来实现智能化判断,智能化程度到市级别,当然精确度及考虑实用性,经过仔细的揣摩,改省级别,也就是智能DNS可以判断出来用户的访问是从那过来,具体到省的级别,其他公司的智能DNS最多也就能判断是:电信还是 网通 还是铁通,这只是线路的判断,今天所说的是更具体的识别方式,在网上找了几家做DNS的发现,他们都无法误别,我当时在想一些做CDN的如何来判断的呢,我百思不得其解,当然我的技术圈也不大,没有这方面的高人指点,所以只能根据自己的网络知识来做相关的技术分析,当然中间遇到很多问题,但最终还是成功了,这时我才明白,原来没有高人指点,也可以搞的定。
大家都知道关键的问题是IP的列表问题如何解决,当然这个问题,也是让我头痛了许久的问题,当时因为判断失误,我是到各个网站去查找相关的资料,到APNIC官网,下载相关的IP分配信息,当然APNIC的官网IP分配信息库也是挺大的,要一时的整理出来每一个IP是那个地区,更是一个体力话,当然也看到网上有通过相关代码实现IP归属地的方法,但识别的级别也只能到电信网通 各个ISP运营商之间,要想识别到省的级别那误差就相当大了,和没有误别差不了多少,最后我还是放弃了这条路,于是呼,开始到网上查相关的DNS列表,下载,当时想着,应该会有这方面的资料,毕竟CDN还是很多人用的,总要有人共享一下吧,可现实打击了我幼小的心灵,没有找到,郁闷。
经过头痛式的思考,我想到了纯真IP库,这东西引导我进入了一个正确方向,打开发现IP信息很多,准确度也相当的高,不定期的更新,总算看到太阳了,很美,开始想如何把这些列表都提取出来,归类,当然不可能手动一个一个复制,那就让计算机搞定吧,开始拿出来百年不用的MFC和C# 功底,头痛式的编程,程序搞定后那就开始提取列表了,很快,很舒服。
用户访问网址的原理:
用户请求DNS--DNS服务器查找本机如果没有则会转发请求让另外的DNS服务器来应答,一直到查到,最后查找到则DNS服务器会返回记录,当时我理解错误,以为是用户的本机IP会请求DNS,这里不要搞错,DNS的请求机制,要控制用户访问的服务器,还要从DNS入手,DNS服务器的IP很重要,有列表,犹如令牌。
本文章分为二个部分
第一部分为根据纯真IP库对全国地方包括港奥台地区所属IP进行格式转换,这部分是12年整理的。
第二部分是针对BIND的访问日志里面的记录进行整理获取的列表,这部分为10年整理的。
关于如何安装,配置,不在本文的讨论范围内(网上资料多的很)
第一部分
基本上这部分都是软件的使用说明
1、 下载纯真IP库
http://www.crsky.com/soft/2611.html
如何下载安装不在本文章讨论范围之内如果不会请问度娘(百度)
在非凡软件站下载并安装然后更新到最新版本界面如图
2、 解压IP库到文本文件
3、 用EiditPlus打开这个文本拖动到最后几行,删除多余的东西
删除尾部的这些就行了
上图是删除后的效果,记得保存
4、 导入到Access数据库
我用的是Access2010版本,其它的版本原理一样,选择外部数据,点文本文件,然后出来一框框,浏览我们刚才导出的那个文本文件即可。
5、 然后点确定进入下图
点击过确定会出现如图的情况,然后点高级,把字段3的那个宽度调整的大一点,因为这一列是地区信息,比较长,然后点确定,然后再点下一步,进入下图
再点下一步
再点下一步
选择,不要主键,再点下一步
这一步,点完成,等一会,导入完成,如图所示
会发现多了一个表,这个表名,记得一定要是ip这个名字,因为时间比较急,所以不是太友好,记得保存,还要记得保存成2003的格式。
保存即可,2010的另存为成2003的地方还真不好找。
上面的是几个文件
第一个是转换程序
第二个是纯真IP库程序
第三个是导出的IP库转换成Access的数据库
第四个是IP库的文本文件
第五个是纯真IP库的专用数据格式
第六个是我写的这个文章的文件
其中我们只需要二个文件
第一个和第三个其它你可以删除
6、 下面是程序转换使用
这是程序运行界面
生成方式:
全自动,会生成34个省份,四条线路的信息
自定义:就是自己选择要生成的地区,或者线路
其它的我想就不用我解释了,一看就知道了
第一步
确认生成方式,这里我选择全自动
然后选择数据库文件就是刚才我们导出的那个2003格式的数据库
然后点生成即可
生成中的图,采用多线程,所以界面不会卡死
然后会在这个程序的当前目录生成一个ACL的目录里面就是各地区的IP信息了,一个文件一个地区,一个文件里面会包含四个线路。
上图就是生成后的各个省份的文件
下图是打开一个最少的地区文件看一下结构,澳门地区的
然后大家就可以根据这些文件导入到bind里面了,如果这再不会,我就真没有办法了,不过另外要说的是,这是我最新的研究生成结果,还没有来得急测试,bind引入几M的文件会不会查询速度慢,或者启动慢,当我想,bind因为是加载到内存里面的,我想速度上面不会有太大差距,大家快快测试引入吧,一个精确的智能DNS就是这么的简单。
第二部分
以下内容,是对以上内容的初充,如果你在运行一段时间发现IP库还不全,就可以用以下方法,分析 DNS的日志来补充和生成这些列表信息
步骤如下:
一:从DNS日志里面提取other(就是没有识别出来的IP) 生成列表
#!/bin/bash cp /etc/named/log/dns-query.log ~/ cat ~/dns-query.log|grep other|cut -f4 -d':'|cut -f1 -d'#'|cut -f3 -d' '>./DnsList.txt cat /dev/null >/etc/named/log/dns-query.log cat /dev/null >/etc/named/log/dns-alllogs cat /dev/null >/etc/named/log/dns-logs cat /dev/null >/etc/named/log/dns-warning rm ~/dns-query.log
解释如下:
第一行#!/bin/bash  我想不用说大家都知道
第二行复制日志到用户目录
第三行生成列表,这一句话是最关键的
第四、五、六、七、行清空日志
第八行移除用户目录日志文件因为这时我们不需它了
最后生成的列表样子如下:
1.1.1.1
2.2.2.2
3.3.3.3
4.4.4.4
文件名:DnsList.txt
这是下载到WINDOWS下面用UltraEdit打开的效果
只有是这样的格式,下面的程序才可以进行处理
代码可能冗余,当然也很简单,大家可以看看原理
这时我们已经有了无法识别的IP了,现在就要做这些IP列表进行分类了,拿出我的杀手剑:MFC处理程序
二:处理IP列表
这是程序运行的界面
原理:http://www.ip138.com/ips.asp?ip=查询IP&action=2对这个地址进行提交然后在返回的数据里面程序搜索相关的位置信息归类保存
当然这个东西对于高手而言,是很低级的东西,今天我也是冒死一分享
自己整的不好看了,功能有就行了,看点文档编写程序,我是够菜的了,因为没时间看线程方面的东西,所以就没有采用线程方式处理文件,在处理文件时可能界面会假死,只要不管它就行了,运行完自动停止
运行第一步:
第二步:点击开始
第三步:处理中 假死,,正常现象
处理完成:
生成三个文件夹:
文件夹里面是按地区进行归类的文本文件
里面内容如下
当然这些列表都是DNS服务器的地址,可以手动添加到bind的acl里面
我的ACL的格式如下:
每个省一个文件
文件里面的格式如下:
识别三个运营商
当然这个HeNan.acl的文件我以前都是手动创建的,最近感觉这样太傻冒了,于是升级了一下,用shell脚本自动化创建文件,效果非常不错。
虽然没有达到一键OK但这个效果我还是比较满意的
下面我们继续谈如何生成acl 文件
三:
1、创建data文件夹(这个文件夹和脚本有关系) 把cnc telcom tietong  三个文件夹放到里面用7-zip 压缩data文件夹,文件名为:data.tar
上传到LINUX服务器
这是我上传的
红字是压缩包,tar xvf data.tar  解压到目录
里面的
0mysql.opt是操作数据库的
1list.create 是创建DnsList.txt的脚本
2db.import 是把IP列表存到数据库时面,这些都是贵重资源啊
3acl.create 这个就是创建acl的脚本
这些文件同样我也会一并上传,倡导:开源,开源,再开源,免费,免费,再免费
data 目录就是存放的按地区分类的文本文件了,可以称为数据源
./2db.import 执行
这时脚本会自动读取data文件夹下面的数据,并写入到数据库里面这是写入
./3acl.create 执行
这时脚本会自动读取数据库里面的数据,并保存为acl
note:有人会问,你为什么要多一步了,写到数据库里面,一来呢,我要保存以备以后使用,二来呢,我要靠数据库的unique约束来避免有重复的IP
这几步一执行就OK了,基本上是不用干体力活了。只是操作,操作流程
注意:
这里的数据库的生成脚本我也会一并上传,如果有什么地方不理解的大家也可以提问,如果那里写的比较低级的,大家不要骂我,我也是初级玩家,总要给我点机会改过吧,到此结束。
附件下载地址:
http://blog.lishixin.net/linux/468.html
posted on
2012-02-22 00:16 
lexus 阅读(
...) 评论(
...)
编辑
收藏
转载于:https://www.cnblogs.com/lexus/archive/2012/02/22/2362399.html
a13393665983
关注
关注
点赞
收藏
评论
[原创]bind DNS IP列表的精确获取
[原创]bind DNS IP列表的精确获取 [原创]bind DNS IP列表的精确获取 - LSX - 博客园[原创]bind DNS IP列表的精确获取Posted on 2012-02-19 21:43 LSX 阅读(661) 评论(1) 编辑 收藏 公司准...
复制链接
扫一扫
用bind9构架自动根据来源ip动态解析的智能主、辅DNS
Ananias的学习日记
04-29
2620
用bind9构架自动根据来源ip动态解析的智能主、辅DNS由于各运营商之间网络连接的瓶颈问题,使得处于某一网络的用户在访问位于其他网络的服务器时,速度慢的令人难以忍受,不得已我们采取了在不同运营商处分别放置服务器的方式来解决,原来已经介绍过,可以通过cache来比较方便的解决不同服务器内容同步问题,这次主要介绍如何通过动态智能DNS,来将用户自动导向速度快的服务器。 以下我们通过一个实例
在 DHCP 状态下,获取 LicheePI Zero 的本机 IP 地址和 DNS
最新发布
Tomcat0130 - 代码生涯
09-06
602
记录在 LicheePI zero 开发过程中使用 udhcpc 获得 IP 地址和 DNS
参与评论
您还未登录,请先
登录
后发表或查看评论
DNS BIND 搭建域名智能解析DNS服务器之IP地址归类(ACL)
任何技能都是从模仿开始,逐步升华。
04-20
5868
bind的是通过ACL+View实现域名的智能解析,实现流程即:客户端发送dns解析请求,bind通过acl过滤客户端Ip到对应view,然后查询该view下的配置zone解析出域名地址返回给客户端。所以智能解析的准确性很大程度取决于IP地址划分的准确性。目前IP地址信息获取途径主要通过apnic、cnnic、IP138等地址库获取。
动态ACL
weixin_33911824的博客
03-19
91
BIND9做自己的公网DNS服务器详解
cnbird's blog
01-31
9962
环境: slackware10.1/kernel 2.4.29/pIII550/64m/10g 使用slackware10.1的BIND包默认安装公网网卡eth0 地址211.137.217.251前提:理解 DNS 的授权模式 ? 是怎样进行的? 理解 DNS 正解和反解 ?理解 DNS 的查询模式 ? 查询过程是怎样的? 如果您对于以上问题还不了解,那么我建议您到这里看看http://
BIND9配置详解
Marking的专栏
02-27
4500
ISC的bind一直以来基本上都是DNS的工业标准,不过BIND一直是漏洞不断,直到出了BIND9,isc的开发人员对bind9进行了重写,才相对好了一点.BIND9的安装就不用多说了,这里使用最新版本9,.2.3,说白了也就是需要named这个可执行文件就可以了,其他的配置文件完全可以自己来写.如果需要进行服务的控制的话,则需要rndc这个文件了.named大约有4M多,strip一下也就1M多
DNS:BIND高级应用、子域授权、区域转发、全局转发
二十四桥明月夜
02-18
677
BIND:子域授权
子域授权是完成分布式数据库的主要手段,DNS对全球解析的量太大了不能使用集中一台服务器进行解析,最后使用把整个区域库分成N部分,授权给不同服务器,自顶到下分成N级结构【最多有128级,每一级的字符到255个字符】
正向解析区域子域方法:
ops.node3.com. IN NS ns1.ops.node3.com.
ops.ndoe3.com. IN NS n...
多活主备选择性DNS解析(一个域名对应多个IP)
追逐丶的博客
04-24
6815
多活主备选择性DNS问题背景知识背景DNS解析存在多级缓存(此处仅列举到DNS服务器层;后续流程不涉及)DNS一对多域名的解析随机性DNS 域名解析负载均衡缺点:可能方案方案一、dns解析层面控制DNS解析结果1.1 通过内置DNS服务器控制IP解析(伪造DNS)1.2、让备机nginx的状态能够影响DNS服务器解析方案二、在DNS解析到备机后,提供备机跳转解决方案2.1 、在访问到备站点后,前端使用脚本/在备机nginx层进行域名重定向2.1.1 nginx层控制2.1.2 备机页面脚本层控制2.1.3
DNS服务及BIND基础应用
achuDk的博客
05-31
376
DNS服务及BIND基础应用
DNS :Domain Name Service,一种重要的网络基础服务协议,采用C/S架构,属于应用层协议
BIND :Berkerley Internet Name Domain,ISC组织负责维护,是DNS协议的一种实现,监听于53/tcp端口,53/udp端口,named是bind程序的运行的服务进程名DNS协议是基于两个更基础的协议,使用情况为:
运维之DNS域名解析服务基础概念与Bind9安装
WeiyiGeek 唯一极客IT知识分享
04-27
1421
​0x00 前言简述
基础概念
基础术语
记录类型
0x01 DNS服务介绍
原理流程
实验目标
0x02 DNS服务之Bind9
Ubuntu 安装
CentOS 安装
Docker 容器
1) 源码编译安装
2) APT仓库安装
Bind9 基础介绍
Bind9 安装方式
WeiyiGe..
建立内部动态DNS服务器
码场老农的博客
11-30
2381
因为各种不同的原因,企业内部往往会有多台DHCP服务器,负责分发IP地址,给内部网络管理带来不便。本文将介绍如何在企业内部用BIND9建立内部DDNS服务,解决网络管理不便的问题。
Linux学习第十六课 、Linux就该这么学,使用Bind提供域名解析服务、DHCP动态主机地址管理协议
shirunfa的博客
03-20
497
DNS域名解析服务
相较于由数字构成的IP地址,域名更容易被理解和记忆,所以我们通常更习惯通过域名的方式来访问网络中的资源。但是,网络中的计算机之间只能基于IP地址来相互识别对方的身份,而且要想在互联网中传输数据,也必须基于外网的IP地址来完成。
为了降低用户访问网络资源的门槛,DNS(Domain Name System,域名系统)技术应运而生。这是一项用于管理和解析域名与IP地址对应关系的技术...
DNS 和 BIND 详解
weixin_44983653的博客
07-31
1354
DNS 和 bind 详解DNSDNS 相关概念DNSFQDNTLDDNS 查询类型DNS名称解析方式域 和 主机DNS服务器类型一次完整的DNS查询请求经过的流程解析答案主-辅DNS服务器区域(zone)和域(domain)区域数据库文件资源记录资源记录的定义格式SOANSMXAAAAAPTRCNAME注意:
DNS
两个主机之间的通信,其实就是进程之间的通信,进程之间的通信又是基于 sock...
使用BIND安装智能DNS服务器 添加view和acl配置
aly1989的专栏
04-12
3983
转载至:http://www.lxway.com/822698081.htm
智能DNS的配置主要修改named.conf文件,利用view和acl来实现。
acl文件内容,这里只列出一部分,具体详细的可以参考这个网址
纯真IP库,给出了十分详细的IP地址,下载安装后,打开软件,点击解压就可以获取到txt文本格式的IP地址
http://www.crsky.co
MongoDB bindIp 与 bindIpAll
weixin_30329623的博客
08-16
500
Linux服务器上安装MongoDB后,允许其它客户端IP访问MongoDB服务器。阿里云服务器需要设置入站规则,可参见使用外网访问阿里云服务器ZooKeeper
1.允许所有地址访问
NOTE:net.bindIp and net.bindIpAll are mutually exclusive. That is, you can specify one or the othe...
前端获取自己所在的ip_我是如何获取到前端用户的IP,并根据IP来获取地理定位的...
weixin_39761696的博客
12-22
1396
大家好,我是冰茶,容我开场先讲个故事。故事的经过是这样的:有一天,产品同学突发奇想,他想获取到下单用户的地理位置分布,以便来统计用户群的分布,进而为后期的按地区精确推广活动来做准备。me:这个简单啊,下单的时候,给个地理定位的请求,来获取用户所在位置就行啊,这样的话还准确......产品兄:这个方案需要考虑下,如果要是请求用户的定位信息,首先呢,可能会引起用户的反感,毕竟咱们这个产品,从头到尾都没...
DNS之BIND使用小结(Forward转发)
answan的博客
04-22
783
DNS之BIND使用小结(Forward转发)
2018-08-01阅读 1.6K0
之前详细介绍了DNS及其在linux下的部署过程,今天再说下DNS的BIND高级特性-forwarder转发功能。比如下面一个案例:
1)已经在测试环境下部署了两台内网DNS环境,DNS的zone域名为kevin.cn:http://www.cnblogs.com/kevingrace/p/5570312.htm...
CentOS通过bind配置DNS服务器
weixin_33995481的博客
11-06
56
一、创建DNS主服务器1、安装bind并配置主配置文件主服务器为CentOS 7,主服务地址为172.16.11.55安装bind[root@xinfeng~]#yuminstallbind安装完成后查看是否存在/var/named/named.ca这个文件包含了互联网上根服务器对应的名字和地址备份一下/etc/named.conf配置主配置文件/etc/named....
dns(bind)配置详解(三)
08-07
3746
7.server语句
服务器(server)语句的定义和使用:
server ip_addr {
[ bogus yes_or_no ; ]
[ provide-ixfr yes_or_no ; ]
[ request-ixfr yes_or_no ; ]
[ edns yes_or_no ; ]
[ transfers number ; ]
[ t
Ubuntu Linux DNS服务器 BIND9配置文件命令介绍
Fllowone的博客
12-11
414
BIND9配置方法
转载▼
配置语法
named.conf
acl
定义访问控制列表
controls
定义rndc命令使用的控制通道,若省略,则只允许经过rndc.key认证的127.0.0.1的rndc控制
include
包含其他文件到配置文件
key
定义用于TSIG的授权密钥
logging
日志记录
lwres...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:大白
设计师:CSDN官方博客
返回首页
a13393665983
CSDN认证博客专家
CSDN认证企业博客
码龄9年
暂无认证
原创
周排名
100万+
总排名
148万+
访问
等级
3677
积分
53
粉丝
55
获赞
评论
365
收藏
私信
关注
热门文章
【男人必看十大经典】[经典合集][DVD-Rmvb/7.70GB] 【原音中文字幕】已测
51175
丁香园 (http://www.dxy.cn)这个名字听着
38288
小向まな美
28865
【开源访谈】AVPlayer 作者王功铭访谈实录
23637
偷偷想你-许秋怡_在线视频观看_土豆网视频 偷偷想你 许秋怡 怀旧金曲
21319
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
flutter RN taro选型思考
浙江省 教师资格证 岗前培训考试 浙江高培中心报名系统
antv g6
2019年2篇
2018年3篇
2017年509篇
2016年622篇
2015年274篇
2014年967篇
2013年2386篇
2012年4447篇
2011年1467篇
2010年1296篇
2009年74篇
2008年115篇
2007年70篇
2006年1篇
2005年10篇
目录
目录
最新文章
flutter RN taro选型思考
浙江省 教师资格证 岗前培训考试 浙江高培中心报名系统
antv g6
2019年2篇
2018年3篇
2017年509篇
2016年622篇
2015年274篇
2014年967篇
2013年2386篇
2012年4447篇
2011年1467篇
2010年1296篇
2009年74篇
2008年115篇
2007年70篇
2006年1篇
2005年10篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值