为Windows添加dig等DNS工具

Linux中进行DNS测试时候有着好用的dig,而Windows里面我们只能用nslookup,虽然nslookup也不是不好用,但是两者风格差别比较大,而且也习惯了dig了,用nslookup总是不太顺。不过不用担心,dig的Windows版本自然是有的。我们利用BIND所带的DNS工具包,包含了dig,arpaname,host,nslookup等工具。

首先,下载BIND,我传到百度网盘了,版本为BIND 9.10,有32位和64位版本,请根据自己系统选取。

http://pan.baidu.com/s/1qWscKLe

上面网盘的分享,在你看到的时候可能已经不是最新版了,这时候你可以去官网下载,页面拉倒下方,点BIND就可以看到了:

http://www.isc.org/downloads/

下载完毕后,解压,然后管理员身份运行BINDInstall.exe,安装界面如下,根据需要修改目录。

因为我们只是需要BIND里面的DNS工具,故勾选”Tools Only”,直接点击Install即可完成安装。

bind

最后,需要把BIND的目录添加到PATH中以方便命令行中调用dig等工具。

右击我的电脑,属性,高级系统设置,点击“环境变量”:

settings

找到”Path”并双击,在末尾处加一个半角的分号(;)后,在加上BIND的bin目录:

假如BIND的安装目录为:C:\Program Files\ISC BIND 9\

那么此处加上的bin目录就是:C:\Program Files\ISC BIND 9\bin

如下图:

path

连续点击确定后保存设置。

 

最后,打开命令行测试:

不过因为编码问题还是有一部分乱码掉了,不过也不影响正常使用

14 条评论

  1. 引用: 改善DNS解析- OpenWRT安装配置pdnsd教程 - 飞羽博客

  2. 引用: Shadowsocks+ChinaDNS实现OpenWRT路由器自动翻墙 - 飞羽博客

  3. 海涛 回复

    我操作到最后:最后,打开命令行测试:
    C:Userscokebar>dig @208.67.222.222 -p 5353 cokebar.info

    给的提示:’dig’ 不是内部或者外部命令,也不是可运行的程序或批处理文件。

    系统是win7 64位操作系统

    帮忙看一下,谢谢。

    不会这步操作:然后排查DNS问题,公司网络可能会封杀外部DNS;此时可以通过dig来排查,查看国内DNS和国外DNS的解析情况。

    1. cokebar 文章作者 回复

      你下错版本了,64位系统下载64位版本。或者说PATH没设置对。设置完PATH,cmd要新开启的才能生效。

    2. cokebar 文章作者 回复

      请自己补充一下DNS相关的网络知识,我不可能在这里跟你讲,会讲成长篇大论,而且我也不可能比那些教材、wiki说的好,说的全面,说的精确。

      1. 海涛 回复

        终于看懂环境变量的设置了,但是我之前已经删除Path了,重装了64位的程序后,在环境变量中找不到Path呀,我安装的路径是C:Program FilesISC BIND 9 ,如果新增Path的话,该怎么写?

        1. cokebar 文章作者

          我去 你不是把整个path删掉了吧 做大死啊 你全删了的话 系统软件运行出问题别找我啊
          你要有之前PATH里面的备份就赶紧填回去吧 要不就系统还原 要不就重做系统
          比如说Win7的Path至少包含如下内容,而且一些软件也会往里加东西,你删了,这些软件可能就运行不正常了
          %SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;%SYSTEMROOT%System32WindowsPowerShellv1.0;
          比如说NV显卡的PhysX驱动会添加:
          C:Program Files (x86)NVIDIA CorporationPhysXCommon;

  4. 海涛 回复

    没事,准备让同事帮忙一键还原系统,下星期再试一下。

  5. feet 回复

    谢谢博主,今天装了这个程序,但想用实现dig支持edns-client-subnet测试,
    看了http://www.tuicool.com/articles/FV7VRnY 中的介绍,
    “将支持edns-client-subnet的dig path打进bind,编译出dig进行测试”
    这些好像都是linux的东西,在windows怎么弄?

    1. cokebar 文章作者 回复

      dig -h 中可以看到:
      +subnet=addr (Set edns-client-subnet option)

  6. Rex 回复

    输入: dig @192.168.1.1 http://www.youtube.com
    输出: connection timed out; no servers could be reached。
    我下一步应该做什么?

  7. 晓南晚风 回复

    博主为什么支持tcp查询的dns,不能查询?现在只能用google的dns

  8. 引用: 加速OpenWRT路由器的DNS解析 – pdnsd代替dnsmasq – 蜗牛小站

  9. 引用: Shadowsocks + ChnRoute 实现 OpenWRT / LEDE 路由器自动翻墙 – abc123

发表评论

电子邮件地址不会被公开。 必填项已用*标注

请输入验证码 * 请输入正确的验证码