(1) /etc/hosts :记录hostname对应的ip地址

  /etc/resolv.conf :设置DNS服务器的ip地址

  /etc/host.conf :指定域名解析的顺序(是从本地的hosts文件解析还是从DNS解析)

(2) DNS的查询指令:host、nslookup、dig,host 语法:

host命令是常用的分析域名查询工具,可以用来测试域名系统工作是否正常。

host(选项)(参数)

-a:显示详细的DNS信息;

-c<类型>:指定查询类型,默认值为“IN“;

-C:查询指定主机的完整的SOA记录;

-r:在查询域名时,不使用递归的查询方式;

-t<类型>:指定查询的域名信息类型;

-v:显示指令执行的详细信息;

-w:如果域名服务器没有给出应答信息,则总是等待,直到域名服务器给出应答;

-W<时间>:指定域名查询的最长时间,如果在指定时间内域名服务器没有给出应答信息,则退出指令;

-4:使用IPv4;

-6:使用IPv6.

 [root@localhost ~]# host www.linuxde.net 
www.linuxde.net is an alias for host..linuxde.net. host..linuxde.net has address 100.42.212.8
[root@localhost ~]# host -a www.linuxde.net Trying "www.linuxde.net" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ;; flags: qr rd ra; QUERY: , ANSWER: , AUTHORITY: , ADDITIONAL: ;; QUESTION SECTION: ;www.linuxde.net. IN ANY ;; ANSWER SECTION: www.linuxde.net. IN CNAME host..linuxde.net. Received bytes from 202.96.104.15# in ms

(3) Nslookup 语法:

Nslookup [FQDN] [server]

Nslookup

参数说明:

可以直接在nslookup后加上待查询的主机名称或者ip,【server】可有可无。

如果在nslookup后面没有加上任何主机名称或ip,那将进入nslookup的查询功能。在nslookup的查询功能当中,可以输入其他参数来进行特殊查询,例如:

Set type=any    :列出所有的信息

Set type=mx    :列出与mx相关的信息

(4) Dig 语法:

Dig [@server] [FQDN] [type]

参数说明:

@server :如果不想以/etc/resolv.conf来作为dns主机,则可以在此填入其他的ip

Type :预设是查询A记录,你可以在这里写入其他的记录,如:MX,NS等。

此功能亦可使用[-t type]来处理。

下面是 dig 的一些比较常用的命令:

# dig 最基本的用法

 dig @server sina.com.cn.

# 用 dig 查看 zone 数据传输

 dig @server zx.xmgd.com. AXFR

# 用 dig 查看 zone 数据的增量传输

 dig @server zx.xmgd.com. IXFR=N

# 用 dig 查看反向解析

 dig -x 210.52.83.228 @server

# 查找一个域的授权 dns 服务器

 dig xmgd.com. +nssearch

# 从根服务器开始追踪一个域名的解析过程

 dig xmgd.com +trace

# 查看你使用的是哪个 F root dns server

 dig +norec @F.ROOT-SERVERS.NET HOSTNAME.BIND CHAOS TXT

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

 dig www.baidu.com

即查询域名的A记录,查询的dns服务器将采用系统配置的服务器,即/etc/resovle.conf 中的,如果要查询其他类型的记录,比如MX,CNAME,NS,PTR等,只需将类型加在命令后面即可

 dig www.baidu.com mx
dig www.baidu.com ns

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

 dig @180.97.33.107 www.baidu.com a

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

 dig www.baidu.com a +tcp

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

 dig www.baidu.com a +trace

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

 

Linux学习之域名解析命令的更多相关文章

  1. Linux学习新篇——常用命令和快捷键总结

    最近刚接触Linux,整理了一些常用的命令和快捷键 Tab补全命令 当命令记不清了,输入记得的前几个用Tab就可以将该命令自动补全. 启动tomcat服务用$startup.sh 停止tomcat服务 ...

  2. Linux 学习 (七) 挂载命令 & 用户登陆查看

    Linux达人养成计划 I 学习笔记 挂载命令 mount:查询系统中已经挂载的设备 mount -a:根据配置文件 /etc/fstab 的内容,自动挂载 mount [-t 文件系统] [-o 特 ...

  3. Linux 学习 (四) 帮助命令

    Linux达人养成计划 I 学习笔记 man 命令 获取指定命令的帮助 man的级别 1:查看命令的帮助 2:查看可被内核调用的函数的帮助 3:查看函数和函数库的帮助 4:查看特殊文件的帮助(主要是/ ...

  4. linux学习笔记——基础命令

    最近看了一些老男孩linux运维视频,挺不错的,特此记录一下 linux组成 gun组件 shell等 linux内核 其他软件 linux主要内核: linux kernel2.2 linux ke ...

  5. linux 学习2 常用命令

    1.显示日期的指令: date 2.   [Tab]按键---具有『命令补全』不『档案补齐』的功能 3:  su和 sudo  su用于用户之间的切换.  su在不加任何参数,默认为切换到root用户 ...

  6. Linux学习之telnet命令

    telnet命令通常用来远程登录,telnet程序是基于TELNET协议的远程登录客户端程序,Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式,它为用户 ...

  7. Linux学习之traceroute命令

    通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径.当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一 ...

  8. Linux学习之sudo命令

    在学习Linux用户管理时,我们不得不需要了解一个命令,那就是sudo.sudo的作用是切换身份,以其他身份来执行命令. 那么为什么在Linux系统中我们需要来切换身份呢?原因有以下几个方面 1.养成 ...

  9. Linux学习之三--scp命令

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

随机推荐

  1. 使用HTML5/CSS3制作便签贴

    利用HTML5/CSS3,仅用5步就可以制作便签贴效果的HTML页面,效果图如下: (注:图里的文字纯属杜撰,搞笑目的,如有雷同,纯属巧合,谢谢!) 注:该效果可以在Safari, Chrome,Fi ...

  2. UVA 806 Spatial Structures

    题意: 如果某一大区域所有色块颜色是相同的,那么这一个大区域就算作一块,如果不同,则将其划分成四个小区域,然后重复上述步骤递归进行直到所有区域的颜色相同为止.然后根据上面划分的区域建树,小区域作为大区 ...

  3. Win手机安卓程序初体验

    老大说快看博客园,Windows手机可以装安卓程序了. 啊,真的么?可以在我的撸妹1520上愉快的玩COC了么?我还可以愉快的看小说,不对,是听小说,哈哈,安卓君的三千万程序兵,等着老夫来一一临幸你们 ...

  4. Kurskal算法(克鲁斯卡尔算法)

    特点:适用于稀疏图,边比较少的图.如果顶点较少,且为稠密图,则用Prim算法.跟Prim算法的用途相同.时间复杂度为O(e*loge),其中e为边数. 代码: #include <stdio.h ...

  5. ubuntu14.04中mysql的安裝及utf8编码集配置

    mysql的安裝使用sudo apt-get install mysql-server即可安裝,我安裝的是5.6版.安装过程中会要求输入root账户的密码,按提示输入即可. Mysql Workben ...

  6. 【JQ成长笔记】关于$(this).index与$.each的使用

    本人菜鸟入门,小庙容不下大神的 O(∩_∩)O~~轻喷~ 工作当中响应某个需求,切换选项卡的一个效果,根据每个选项下的内容元素的总数不同而进行不同的html变化(如果选项卡下的内容为空就等于XXX,否 ...

  7. Flink Program Guide (5) -- 预定义的Timestamp Extractor / Watermark Emitter (DataStream API编程指导 -- For Java)

    本文翻译自Pre-defined Timestamp Extractors / Watermark Emitter ------------------------------------------ ...

  8. Amazon MWS 上传数据 (一) 设置服务

    Amazon 上传数据的流程为: 通过 SubmitFeed 操作.加密标头和所有必需的元数据(包括 FeedType 的值在内),来提交 XML 或文本型数据文件.正如亚马逊 MWS的所有提交内容一 ...

  9. jQuery背景跟随鼠标移动的网页导航

    首页 PSD模板 CSS模板 特效插件 源码下载 酷站欣赏 建站资源 建站教程 心境之旅 在线留言 设为首页 加入收藏 我要投稿 联系站长 Search     首页 PSD模板 CSS模板 特效插件 ...

  10. centos安装qt开发环境