Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104314
  • 博文数量: 22
  • 博客积分: 45
  • 博客等级: 民兵
  • 技术积分: 225
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-27 17:53
文章分类
文章存档

2017年(1)

2016年(8)

2015年(11)

2014年(1)

2013年(1)

我的朋友

分类: LINUX

2015-12-22 11:23:40

dns造subnet_opt的包:
dig @127.0.0.1  +subnet=192.168.5.66/24 +edns=0


如何知道某dns是否支持tcp查询?

Win系统下,在cmd里运行下面的命令
nslookup -vc 8.8.8.8

Linux系统下,运行下面的命令
dig +tcp @8.8.8.8 -p 53

把8.8.8.8,替换成你要测试的目标dns地址,53替换成目前dns端口,如果返回记录正常,就说明目标dns支持TCP查询应答。

不过需要注意的是某些DNS的TCP是使用的额外端口

如果是非标准端口,直接使用udp查询就可以,**目前还不会污染非标端口的DNS查询。
tcp现在也不行了……,现在感觉chinadns和dnscrypt-proxy都不好用了,只有pdnsd还行,占内存也忍了。


---------------------------------------------------------------

一般来说linux下查询域名解析有两种选择,nslookup或者dig,而在使用上我觉得dig更加方便顺手。
如果是在debian下的话,只要装上dnsutils这个包就可以使用dig命令了。

最基本的使用方式就是

dig

即查询域名的A记录,查询的dns服务器将采用系统配置的服务器,即/etc/resovle.conf 中的。

如果要查询其他类型的记录,比如MX,CNAME,NS,PTR等,只需将类型加在命令后面即可

dig mx
dig ns

此外,如果你是一个系统管理员,部署好了一台dns服务器之后想对它进行解析测试,就必须要显式指定待测试的dns服务器地址了,例如

dig @202.106.0.20 a

默认情况下dig将采用udp协议进行查询,如果要采用tcp方式,可以加上 +tcp参数

dig a +tcp

另外一个重要的功能是+trace参数,使用这个参数之后将显示从根域逐级查询的过程

dig a +trace

比如,对本站域名 A记录的trace查询可以看到根域.,顶级域.cn,以及linuxers.cn的域名权威服务器的地址及其各自的返回结果,这样对于追踪dns解析中的问题有很大的帮助。

leconte@localhost:~$ dig  a +trace
 
; <<>> DiG 9.5.1-P3 <<>>  a +trace ;; global options:  printcmd
. 215857 IN      NS      E.ROOT-SERVERS.NET.
. 215857 IN      NS      B.ROOT-SERVERS.NET.
. 215857 IN      NS      J.ROOT-SERVERS.NET.
. 215857 IN      NS      K.ROOT-SERVERS.NET.
. 215857 IN      NS      L.ROOT-SERVERS.NET.
. 215857 IN      NS      F.ROOT-SERVERS.NET.
. 215857 IN      NS      G.ROOT-SERVERS.NET.
. 215857 IN      NS      I.ROOT-SERVERS.NET.
. 215857 IN      NS      M.ROOT-SERVERS.NET.
. 215857 IN      NS      A.ROOT-SERVERS.NET.
. 215857 IN      NS      C.ROOT-SERVERS.NET.
. 215857 IN      NS      H.ROOT-SERVERS.NET.
. 215857 IN      NS      D.ROOT-SERVERS.NET. ;; Received 228 bytes from 192.168.127.2#53(192.168.127.2) in 12 ms  
cn. 172800 IN      NS      a.dns.cn.
cn. 172800 IN      NS      b.dns.cn.
cn. 172800 IN      NS      c.dns.cn.
cn. 172800 IN      NS      d.dns.cn.
cn. 172800 IN      NS      e.dns.cn.
cn. 172800 IN      NS      ns.cernet.net. ;; Received 298 bytes from 199.7.83.42#53(L.ROOT-SERVERS.NET) in 496 ms  
linuxers.cn. 21600 IN      NS      ns1.dnspood.net.
linuxers.cn. 21600 IN      NS      ns2.dnspood.net. ;; Received 80 bytes from 202.112.0.44#53(ns.cernet.net) in 12 ms  
. 600 IN      A       218.240.42.72 ;; Received 49 bytes from 222.186.26.115#53(ns2.dnspood.net) in 1132 ms 
今天刚好是百度出问题时候。 

关于dig的更进一步的使用方式请参考





阅读(2825) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~