下面是小编给大家带来关于JDNS 一个简单的DNS实现(共含8篇),一起来看看吧,希望对您有所帮助。同时,但愿您也能像本文投稿人“沈面面”一样,积极向本站投稿分享好文章。
JDNS是一个简单的DNS实现,可以执行任何记录类型(尤其是SRV)的正常查询,还有Multicast DNS查询,
为了获得最大的灵活性,JDNS采用C开发。
特性:
DNS客户端“stub”解析
可获取的任何记录类型,为许多已知类型提供了方便的解码: A, AAAA, SRV, MX, TXT等.
执行重试,缓存/到期和 CNAME 跟随
改编自Q3Dns的算法逻辑
Multicast查询
项目主页:www.open-open.com/lib/view/home/134927414
use Net::DNS; my $res = Net::DNS::Resolver-new; my $query = $res-search(www.baidu.com); if ($query) { foreach my $rr ($query-answer) { next unless $rr-type eq A; print $rr-address, \n; } } else { warn query failed: , $res-errorstring, \n;
一、子域
在服务器上操作
1、创建子域
在区域luwenju.com上右击,选择“新建域”
在请键入新的DNS域名中输入:bj
2、在子域中创建资源记录
在子域bj上右击,选择“新建主机”
在对话框中输入主机记录的名称和IP地址,如下图
现在一个子域就创建好了,如下图所示
在客户端上测试
二、委派
试验环境如下
1、新建委派
首先要在DNS服务器luwenju.com中新建主机记录
名称:所受委派的计算机名 IP:所受委派计算机的IP地址
新建委派
在区域luwenju.com上右击,选择“新建委派”
单击下一步
指定委派的DNS名称
名称服务器:单击“添加”
指定受委派的服务器,然后单击确定
单击下一步
在所委派出去的区域中只有一条NS记录,如下图所示
2、在被委派DNS服务器上创建区域
在正向查找区域上右击,选择“新建区域”
单击下一步
区域类型:选择“主要区域”单击下一步
区域名称:输入域名sh.luwenju.com,单击下一步
选择默认,单击下一步
选择“允许非安全和安全动态更新”,单击下一步
3、新建资源记录
在sh.luwenju.com区域上右击,选择“新建主机”
A记录内容如下
我们在客户机上测试一下
DNS指向DNS服务器器时(指向192.168.1.100)
DNS指向被委派的DNS服务器时(192.168.1.101)
PDNS默认不支持bind view功能,通过PowerDNS Recursor加载Lua脚本判断再递归查询PowerDNS实现智能DNS,
#关闭数据包缓存,测试时开启查询时直接读缓存不经过lua preresolve
代码如下复制代码disable-packetcache=yesforward-zones=com=108.61.242.102
local-address=0.0.0.0
lua-dns-script=/tmp/b.lua
#转发所有域到pdns server
forward-zones=.=127.0.0.1:54
lua:
代码如下复制代码function preresolve ( remoteip, domain, qtype )
pdnslog(“a test message.. received query ”..domain..“ from ”..remoteip..“ on ”..getlocaladdress());
ret={}
if qtype ~= pdns.A then return -1, ret end --非A记录查询跳过,后端查询
local ips = {“192.168.1.1/32”, “10.1.0.0/16”, “127.0.0.0/24”}
if matchnetmask(remoteip, ips) and domain == “www.example.com.”
then
ret[1]= {qtype=pdns.A, content=“85.17.220.215”, ttl=86400}
setvariable()
return 0, ret
else
setvariable()
return -1, ret
end
end
-06-06pycharm 使用心得(六)进行简单的数据库管理
-11-11使用Python下载Bing图片(代码)
2014-03-03Python 分析Nginx访问日志并保存到MySQL数据库实例
2014-01-01python中getattr函数使用方法 getattr实现工厂模式
-09-09Python字符转换
2014-06-06测试、预发布后用python检测网页是否有日常链接
2013-11-11python计算程序开始到程序结束的运行时间和程序运行的CPU时间
2013-04-04python批量下载图片的三种方法
2014-04-04python中精确输出JSON浮点数的方法
-07-07python self,cls,decorator的理解
python抓取京东商城手机列表url实例代码
python网络编程学习笔记(五):socket的一
理解python多线程(python多线程简明教程
pyqt4教程之widget使用示例分享
python操作xml文件示例
打印出python 当前全局变量和入口参数的所
python操作MySQL数据库具体方法
使用python统计文件行数示例分享
Python中用Ctrl+C终止多线程程序的问题解
python实现的一只从百度开始不断搜索的小
Python入门教程 超详细1小时学会
python 中文乱码问题深入分析
比较详细Python正则表达式操作指
Python字符串的encode与decode研
Python open读写文件实现脚本
Python enumerate遍历数组示例应
Python 深入理解yield
Python+Django在windows下的开发
python 文件和路径操作函数小结
python 字符串split的用法分享
DNS的一个配置例子,正式俺需要的,先记录下地址,稍后再慢慢研究,
blog.chinaunix.net/article.php?articleId=46605&blogId=9575
原文转自:www.ltesting.net
这篇文章主要介绍了vbs脚本实现修改DNS和清空IE临时文件功能,本文直接给出实现两种功能的脚本代码,需要的朋友可以参考下
今早接到山青院电话,说需要一个修改DNS为校内DNS,并且清空IE临时文件的脚本,想都没想,用批处理写了一个:
代码如下:
rem programed by Kaisir
@echo off
echo 本脚本的作用为修改您的DNS为山东青年政治学院专用DNS 222.194.76.2 同时帮您清除了电脑中的临时文件,若有疑问,请致电网络中心。
pause
echo 修改DNS中...
netsh interface ip set dns “本地连接” source=static addr=222.194.76.2
echo DNS已经修改成功,接下来将开始清空ie临时文件...
pause
echo 清除临时文件中...
del /f /s /q “%userprofile%Local SettingsTemporary Internet Files*.*”
del /f /s /q “%userprofile%AppDataLocalMicrosoftWindowsTemporary Internet Files*.*”
echo 全部操作已成功完成!感谢您的使用。
pause
你瞧,思路很简单,用netsh把dns改了就是了,因为要适应Win7跟Xp临时目录的不同,于是删除语句写了两遍。
但是,仔细想想,这个脚本有很多问题,
1)若用户有多块网卡,这个脚本只会修改“本地连接”的那一个,
2)若用户自己手动修改了临时文件的位置,则这个脚本也无能为力。
于是,有了下面这个vbs版的脚本。
代码如下:
‘删除目录下的所有文件及文件夹
Const DeleteReadOnly = True
Set bjFSO = CreateObject(“Scripting.FileSystemObject”)
objFSO.DeleteFile(net_temp&“*.*”), DeleteReadOnly
strComputer = “.”
Set bjWMIService = GetObject(“winmgmts:” & strComputer & “rootcimv2”)
Set colSubfolders2 = objWMIService.ExecQuery _
(“Associators of {Win32_Directory.Name=‘” & net_temp & “‘} ” _
& “Where AssocClass = Win32_Subdirectory ” _
& “ResultRole = PartComponent”)
For Each objFolder2 in colSubfolders2
objFSO.deleteFolder objFolder2.name , DeleteReadOnly
Next
MsgBox(“所有操作已成功执行!”)
else
end if
这个就比较智能了,通过winmgmts获取系统中的网卡列表,然后遍历启用的网卡,然后进行修改。而临时文件部分,也是通过读取注册表“HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerShell Folderscache”项的键值来获取文件夹位置。之后通过创建的fso对象的相应方法给他干掉~
★ 简单内存池实现