dig - 发送域名查询信息包到域名服务器
SYNOPSIS(总览)
dig [@ server ] domain [Aq query-type ] [Aq query-class ] [+ Aq query-option ] [-Aq dig-option ] [%comment ]
DESCRIPTION(描述)
Dig (domain information groper 域名信息搜索)是一个灵活的命令行工具, 它可以用来从域名系统服务器中收集信息. Dig 有两种模式:简单交互模式用于简单的查询,而批处理模式则可以对包含多个查询条目的列表执行查询. 所有查询选项都可以从命令行输入.
通常简单的 dig 用法为下列格式:
dig @ server domain query-type query-class
这里:
- server
- 可为域名或者以点分隔的Internet地址. 如果省略该可选字段, dig 会尝试使用你机器的默认域名服务器.
注意: 如果指定了一个域名,那么将使用域名系统解析程序 (即BIND)来进行解析. 如果你的系统不支持DNS,那么可能 必须 指定一个以点分隔的地址.另外一种选择是, 如果在你配置的某个地方有一台这样的服务器, 那么你所要做的就是建立 /etc/resolv.conf 并在其中指明默认域名服务器的位置,这样 server 自身就可以解析了.参看 resolver(5) 以获得 /etc/resolv.conf 相关的信息. 警告: 修改 /etc/resolv.conf 同样会对标准的解析程序库产生影响,而 (潜在地) 某些程序会要用到它. 作为一种选择,用户可设置环境变量 LOCALRES 为指定的文件,这将用来取代 /etc/resolv.conf Po Ns Ev LOCALRES 是特定针对 dig 解析程序的,并不会牵涉到标准解析程序 Pc . 如果 LOCALRES 变量未设置或者指定的文件不能读,那么就使用 /etc/resolf.conf
- domain
- 是指一个你请求信息的域名. 参看 -x 选项(在该部分的 Sx OTHER OPTIONS 节中有介绍)以获知指定反向地址查询的便捷方法.
- query-type
- 是指你所请求的信息类型(DNS查询类型). 如果省略,默认为 ``a '' (T_A = address ) 以下类型是可识别的:
- a T_A
- 网络地址
- any T_ANY
- 所有/任何与指定域相关的信息
- mx T_MX
- 该域的邮件网关
- ns T_NS
- 域名服务器
- soa T_SOA
- 区域的授权记录
- hinfo T_HINFO
- 主机信息
- axfr T_AXFR
- 区域传输记录(必须是询问一台授权的服务器)
- txt T_TXT
- 任意的字符串信息
(参看RFC 1035以获得完整的列表.)
- query-class
- 是指在查询中请求的网络等级.如果省略,默认为 ``in '' (C_IN = Internet ) 以下的等级是可识别的:
- in C_IN
- Internet等级的域
- any C_ANY
- 所有/任何等级的信息
(参看RFC 1035以获得完整的列表.)
注意: ``Any '' 可以用来指定一个 等级 和/或查询的一种 类型 Dig 会将第一次出现的 ``any '' 解释为 query-type = T_ANY 为了指明 query-class = C_ANY 你必须或者指定 ``any'' 两次,或者使用 -c 选项(见下面)设置 query-class
OTHER OPTIONS(其它选项)
- % ignored-comment
- ``%'' 用来引用一个不用作解释的参数. 如果正以批处理的模式运行 dig 这可能很有用. 因为不用对一组查询中的每个 @server-domain-name 进行解析,你就可以避免这样做的额外开销, 并且仍然能够在命令行上以域名作为参数. 例如:
dig @128.9.0.32 %venera.isi.edu mx isi.edu
- -Aq dig option
- ``- '' 用来指定一个影响 dig 操作的选项. 当前可用的选项有(尽管不能保证都有用):
- -x dot-notation-address
- 这是指定反向地址映射的便捷的方法. 不用写 ``dig 32.0.9.128.in-addr.arpa , '' 你可以简单地写成 ``dig -x 128.9.0.32 ''
- -f file
- dig 批处理模式的文件.该文件包含了一组查询清单 ( dig 命令行),它们将一个接一个地执行.以 `; ,' `#' 或 `\n' 开头的行将忽略.其它选项仍然可以在命令行上出现,而且对每个批处理查询都有效.
- -T time
- 当运行于批处理模式下时,两次接着的查询之间的时间间隔,以秒计. 可以用来保持两个或多个批处理 dig 命令大致同步运行.默认为零.
- -p port
- 端口号.通过监听非标准端口号来查询域名服务器.默认为53.
- -P Bq ping-string
- 在查询返回之后,执行一次 ping(8) 命令以获得响应时间的对照关系.这在调用shell上显得不那么自然. 该命令显示的最后三行统计信息为:
ping -s server_name 56 3
如果可选的 ``ping_string '' 存在,那么会覆盖shell命令中的 ``ping -s ''
- -t query-type
- 指定查询类型.可以指定为一个将包含在类型字段中的整数值,也可以使用上面讨论的缩写助记符(即 mx = T_MX
- -c query-class
- 指定查询等级.可以指定为一个将包含在等级字段中的整数值,也可以使用上面讨论的缩写助记符(即in = C_IN).
- -k keydir:keyname
- 用TSIG密钥指定的的密钥名来签署这次查询, 该密钥名在目录keydir下.
- -envsav
- 该标识指定 dig 的环境变量 (默认的,显示选项,等等.),在所有参数都解释了之后, 应保存它们到一个文件中以使之成为默认的环境变量. 如果你不喜欢默认的标准设置而又不想在每次使用 dig 时带大量的选项,那么这很有用. 环境变量包括解析程序状态变量标识,超时和重试次数以及详细控制 dig 输出的标识(见下面). 如果shell环境变量 LOCALDEF 设置为一个文件的名字,那么此即为默认的 dig 环境变量所保存的地方.如果没有,那么会在当前工作目录下创建 ``DiG.env ''
注意: LOCALDEF 是特定针对 dig 解析程序, 而它不会影响标准解析程序库的操作.
每当 dig 执行时,它会查找 ``./DiG.env '' 或者在shell环境变量 LOCALDEF 中指定的文件. 如果这样的文件存在而且可读,那么在解释任何参数之前, 先从该文件中恢复环境变量.
- -envset
- 该标识只影响批处理查询的运行.当在 dig 的批处理文件一行上指定了 ``-envset '' 时,在参数之后的 dig 环境变量会被解释为批处理文件执行期间默认的环境变量, 或者直到指定了 ``-envset '' 的下一行为止.
- -[no ] cm stick
- 该标识只影响批处理查询的运行. 它指定 dig 环境变量(通过 ``-envset '' 开关变量初始化读入或设置)会在 dig 批处理文件每次查询(行)之前重建. 默认的 ``-nostick '' 表示 dig 环境变量不是固定的,因而在 dig 批处理文件中单行上指定的选项将对剩余的行继续产生作用(也即,它们不会恢复成 ``sticky(固定的)'' 默认值).
- + Aq query-option
- ``+'' 用来指定一个在查询信息包中需修改的或者需用来修改 dig 输出细节的选项.这些选项中的许多与 nslookup(8) 所承认的参数相同. 如果一个选项需带参数,那么格式如下:
+ keyword [= value ]
绝大多数关键字可简写. ``+'' 选项的解释是非常直白的 --- 值与它的关键字之间千万不能用空格分隔. 当前可用的关键字有:
- Keyword Abbrev. Meaning [default]
(关键字) (缩写) (含义) [默认值]
- [no ] debug (deb )
- 打开/关闭调试模式 Bq Cm deb
- [no ] d2
- 打开/关闭特殊的调试模式 Bq Cm nod2
- [no ] recurse (rec )
- 使用/不使用递归查询 Bq Cm rec
- retry= file ... (ret )
- 设置重试次数为# Bq 4
- time= file ... (ti )
- 设置超时长度为#秒 Bq 4
- [no ] ko
- 保留公开的选项(keep open options)(隐含vc) Bq Cm noko
- [no ] vc
- 使用/不使用虚拟电路 Bq Cm novc
- [no ] defname (def )
- 使用/不使用默认的域名 Bq Cm def
- [no ] search (sea )
- 使用/不使用域搜索列表 Bq Cm sea
- domain= NAME (do )
- 设置默认的域名为 NAME
- [no ] ignore (i )
- 忽略/不忽略截断(trunc.)错误 Bq Cm noi
- [no ] primary (pr )
- 使用/不使用主服务器 Bq Cm nopr
- [no ] aaonly (aa )
- 表示只包含授权查询的标识 Bq Cm noaa
- [no ] cmd
- 重复(echo)解释的参数 Bq Cm cmd
- [no ] stats (st )
- 显示查询统计信息 Bq Cm st
- [no ] Header (H )
- 显示基本的包头 Bq Cm H
- [no ] header (he )
- 显示包头的标识 Bq Cm he
- [no ] ttlid (tt )
- 显示TTLs(Time to Live) Bq Cm tt
- [no ] cl
- 显示等级信息 Bq Cm nocl
- [no ] qr
- 显示向外的查询 Bq Cm noqr
- [no ] reply (rep )
- 显示响应信息 Bq Cm rep
- [no ] ques (qu )
- 显示询问部分 Bq Cm qu
- [no ] answer (an )
- 显示应答部分 Bq Cm an
- [no ] author (au )
- 显示授权的部分 Bq Cm au
- [no ] addit (ad )
- 显示附加的部分 Bq Cm ad
- pfdef
- 设置为默认显示位
- pfmin
- 设置为最小的默认显示位
- pfset= #
- 设置显示位为# (#可以为十六进制/八进制/十进制)
- pfand= file ...
- 位和显示位设为#(bitwise and print flags with #)
- pfor= file ...
- 位或显示位设为#(bitwise or print flags with #)
当发送数据报查询时, retry 和 time 选项会影响解析程序库的重传策略.其算法如下:
- for i = 0 to retry - 1 for j = 1 to num_servers send_query wait((time * (2**i)) / num_servers) end end
-
(注意: dig 通常取 ``num_servers '' 的值为1 . )
DETAILS(细节)
Dig 以前要求BIND的 resolver(3) 库的版本作一些细微的修改. 从BIND 4.9起,BIND的解析程序已经修补好并可以正常地与 dig 一起工作. 实质上, dig 在解释参数和设置适合的参数时是直来直去的 (虽然并不巧妙) Dig 会用到 resolver(3) 的例程 Fn res_init , Fn res_mkquery , Fn res_send 以及访问 Ft _res 结构.
ENVIRONMENT(环境变量)
- LOCALRES
- 用来替换Pa /etc/resolv.conf的文件
- LOCALDEF
- 默认的环境变量文件
另见上面对 -envsav -envset 和 -[no ] stick 选项的说明.
FILES(相关文件)
- /etc/resolv.conf
- 初始化的域名和域名服务器地址
- ./DiG.env
- 默认的保存默认选项的文件
dig - 发送域名查询信息包到域名服务器的更多相关文章
- 10.19 dig:域名查询工具
dig命令 是常用的域名查询工具,可以用于测试域名系统的工作是否正常. dig命令的参数选项及说明 @<DNS服务器地址> 指定进行城名解析的域名服务器.当不希望使用本机默认的DN ...
- dig 常用的域名查询工具
dig 命令是常用的域名查询工具,可以用来测试域名系统工作是否正常. 语法: dig (选项) (参数) 选项: @<服务器地址>: 指定进行域名解析的域名服务器: -b: 当主机具有多个 ...
- nslookup详解(name server lookup)( 域名查询)
nslookup详解(name server lookup)( 域名查询) 一.总结 1.爬虫倒是很方便拿到页面数据:a.网页的页面源码我们可以轻松获得 b.比如cnsd博客,文章的正文内容全部放在 ...
- 插入光盘,创建挂载点,挂载设备,安装rpm包,升级rpm包,卸载rpm包,查询rpm包是否安装,查询rpm包信息、安装位置,查询系统文件名属于哪个安装包
插入光盘: 创建挂载点: 创建挂载点. 挂载设备:或者mount /dev/sr0 /mnt/cdrom 安装rpm包: [root@localhost Packages]# rpm -ivh mys ...
- 使用dig进行DNS查询
dig全称Domain Information Groper,是一个DNS域名信息查询的工具,可以使用来查看域名解析的过程. dig是linux下自带的工具,如果要在windows下使用需要自行下载和 ...
- 10.18 nslookup:域名查询工具
功能说明 nslookup命令是常用的域名解析查询工具. 如果系统没有nslookup命令,则需要安装下面的软件包: yum-y inatall bind-otil9 语法格式 nslookup ...
- nslookup域名查询命令查询ip
一.nslookup(name server lookup ) nslookup可以指定查询的类型,可以查到DNS记录的生存时间还可以指定使用哪个DNS服务器进行解释.在已安装TCP/IP协议的电脑上 ...
- GDPR或使全球域名whois信息被隐藏
什么是GDPR? GDPR 全称为 General Data Protection Regulation,是欧盟 2016 年 4 月通过的一项通用数据保护条例(或称“一般数据保护法案”),是 199 ...
- linux命令 host-常用的分析域名查询工具
博主推荐:更多网络测试相关命令关注 网络测试 收藏linux命令大全 host命令是常用的分析域名查询工具,可以用来测试域名系统工作是否正常. 语法 host(选项)(参数) 选项 -a:显示详细的 ...
随机推荐
- MyBatis缓存设计
和大多数ORM框架一样,为了尽可能减少数据库的访问,MyBatis设计支持缓存功能.设计上通过Cache接口提供SPI(服务提供接口),可以让第三方缓存提供具体的缓存实现,比如使用ehcache.Re ...
- JAVA interrupte中断线程的真正用途
Java线程之中,一个线程的生命周期分为:初始.就绪.运行.阻塞以及结束.当然,其中也可以有四种状态,初始.就绪.运行以及结束. 一般而言,可能有三种原因引起阻塞:等待阻塞.同步阻塞以及其他阻塞(睡眠 ...
- asp.net MVC 单选按钮的使用
单选按钮的标准的html 语法 <form><input type="radio" name="sex" value="male&q ...
- 关于serviceComb中的swagger抛出NullPointerException
在使用serviceComb时, 如果抛出以下异常: org.apache.servicecomb.serviceregistry.consumer.MicroserviceVersions > ...
- k8s-存储卷1-十二
因为pod是有生命周期的,pod一重启,里面的数据就没有了.所以我们需要数据持久化存储. 在k8s中,存储卷不属于容器,而是属于pod.也就是说同一个pod中的容器可以共享一个存储卷. 存储卷可以是宿 ...
- poj 1733 Parity game【hash+带权并查集】
hash一下然后用带权并查集做模2下的前缀和 #include<iostream> #include<cstdio> #include<map> #include& ...
- Codeforces 1000 (A~E)
A Codehorses T-shirts 相同长度之间互相转化即可 #include<iostream> #include<cstdio> #include<cstri ...
- PJzhang:左耳朵耗子-陈皓
猫宁!!! 参考链接:https://coolshell.cn/haoel 左耳朵耗子原名陈皓,那个是他的网络ID,在我眼中是个值得尊敬的程序员,虽然我对他真人没什么了解. 这是他博客的自我介绍: 2 ...
- hdu 2189 悼念512汶川大地震遇难同胞——来生一起走 基础母函数
#include <iostream> #include <algorithm> #include <cstring> using namespace std; ] ...
- android 百度地图
展示当前位置地图 参考百度定位demo (LocationDemo) 实现此功能,运行发现 BDLocationListener 的onReceiveLocation方法无法执行,原因是 Androi ...