Chinaunix首页 | 论坛 | 博客
  • 博客访问: 470125
  • 博文数量: 135
  • 博客积分: 1860
  • 博客等级: 上尉
  • 技术积分: 1441
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-05 20:39
文章分类
文章存档

2012年(2)

2011年(130)

2009年(2)

2008年(1)

我的朋友

分类: LINUX

2009-08-03 10:56:47

一个/etc/resolv.conf文件内容如下:
; generated by /sbin/dhclient-script
nameserver 202.96.31.126
search baidu.com google.com
options ndots:3
 
执行如下命令:
# ping
抓包发现resolver发出了下面一系列dns查询报文:
1.  (respone:none answer)
2. (respone:none answer)
3. (respone:none answer)
4. (respone:none answer)
5. (respone: ok get answer)
 
而执行
# ping
则发现只发出了一个查询报文:
1. (respone:none answer)
 
执行
# ping .
也只是发出一个查询报文
 
现象解析:
关键字`search'与`options ndots:${n}'配合工作,指示resolver在解析域名的时候是否要在用户传入的名称后面添加域名信息,以及添加什么信息。详细规则如下:
1. 如果用户传入的域名是`绝对'域名,即域名以`.'结尾(如上面的.),则查询的仅是该域名。
2. 如果传入的域名是`相对'域名,且该域名中包含的`.'的数目大于或等于option ndots:${n}命令指定的数,则查询的仅是该域名。
3. 如果不是绝对域名,且传入的域名包含的`.'的数目少于option ndots:${n}命令指定的数,则resolver会依次往传入的域名后追加search列表中的后缀,直到解析出ip地址,或者解析完列表中所有后缀才会停止。
 
搜索列表利弊?
由上分析可见,如果search列表较长并且查询了不存在的域名的话,网络上的dns查询报文量会急剧增加,并且可能引发dos攻击。但是搜索列表的一个好处是对于一些常用的域,我们只要输入主机名就可以了,不用每次都输入后面的域名,这在有些时候是挺简洁的(比如在内网中经常要访问不同的机器,search列表便可省很多事)
 
p.s. options ndots:${n}默认值为1
阅读(8751) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~