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 #)

当发送数据报查询时, retrytime 选项会影响解析程序库的重传策略.其算法如下:

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
默认的保存默认选项的文件 

原文地址:https://www.cnblogs.com/fanweisheng/p/11080786.html

时间: 2024-10-31 18:43:03

dig - 发送域名查询信息包到域名服务器的相关文章

Linux命令(37):dig命令-域名查询工具

dig命令 功能说明 dig和nslookup一样,也是域名查询工具,用来测试域名系统是否正常工作.这二个命令都在bind-utils包下,dig用起来比nslookup方便.用法如下: dig [参数] [选项] 常用参数 选项 说明 @server 如果不想以/etc/resolv.conf来作为dns主机,则可以在此填入其他的IP -t(type) 指定查询类型 -x 逆向查询 +short 提供一个简短的回复,默认是长的 示例                     域名解析为IP地址

dig 常用的域名查询工具

dig 命令是常用的域名查询工具,可以用来测试域名系统工作是否正常. 语法: dig (选项) (参数) 选项: @<服务器地址>: 指定进行域名解析的域名服务器: -b: 当主机具有多个IP地址,指定使用本机的哪个IP地址向域名服务器发送域名查询请求: -f<文件名称>: 指定dig以批处理的方式运行,指定的文件中保存着需要批处理查询的DNS任务信息: -P: 指定域名服务器所使用端口号: -t<类型>: 指定要查询的DNS数据类型: -x: 执行逆向域名查询: -4

nslookup详解( 域名查询)

一.总结 1.爬虫很方便拿到页面数据: a.网页的页面源码我们可以轻松获得     b.比如cnsd博客,文章的正文内容全部放在<article></article>当中,所以非常好获取,此时我们获取的是html的页面     c.html的数据自带格式,所以直接放到数据库即可,因为数据库里面存的也就是html数据,要显示的话直接把这部分数据放到页面上面来即可 2.nslookup:(name server lookup)( 域名查询) 二.nslookup详解(name serv

kali信息收集之域名查询

一:域名查询工具DMitry DMitry工具是用来查询IP或域名WHOIS信息的. WHOIS是用来查询域名是否已经被注册及已经注册域名的详细信息的数据库(如域名所有人和域名注册商) . 使用该工具可以查到域名的注册商和过期时间等,是一个一体化的信息收集工具. 它可以用来收集以下信息: 1. 端口扫描 2. whois主机IP和域名信息 3. 从Netcraft.com获取主机信息 4. 针对目标主机查询子域名 5. 目标主机域名中包含的邮件地址 使用: 列出帮助信息:dmitry –help

rpm 查询服务包的信息

1 概述 工作中,可能需要看到服务包的信息,决定安装或者卸载.一般可以通过以下语句进行查看 which ifconfig   查看命令的执行文件放在哪里 rpm -qf /sbin/ifconfig rpm -q --whatprovides /sbin/ifconfig    两条命令一样的效果通过执行文件完整路径查看是由哪个服务包提供的 结果得到包    net-tools-1.60-110.el6_2.i686 rpm -qi net-tools   //查看服务包的信息 rpm -qc

Linux命令(36):nslookup命令-域名查询工具

nslookup命令 功能说明 nslookup命令,在Windows.Linux下常用的网络命令,可用来查询或诊断域名系统(DNS)的信息. linux下域名查询的工具有nsloouup.dig.host Centos7,由于使用最小安装,默认没有带该命令,下面是安装命令演示: [[email protected] ~]# nslookup                         #提示没有找到命令 -bash: nslookup: 未找到命令 [[email protected] ~

Linux命令(38):host命令-域名查询工具

host命令 功能说明 host命令是常用的域名查询工具,和nslookup.dig功能基本相同,用法如下: host [参数] [选项] 常用参数 选项 说明 -a 查询DNS详细信息相当于-v -t -c(type) 指定查询类型,默认为IN -r 禁用递归处理 -t(type) 指定查询类型 包括a.all.mx.ns  示例                     查询jd.com信息 [[email protected] ~]# host jd.com jd.com has addre

让BIND9对任意域名查询都返回固定的IP地址

如何配置BIND9,使得向它发起的所有DNS请求都返回固定的IP地址?通过一些小技巧,可以实现. 下面是一个配置示例: 首先是主配置文件named.conf的配置: zone "." { type master; file "/etc/named.fakeroot"; }; 其中上面的zone "."是指任何不在named.conf中定义的zone,都可以走这个zone.这个zone配置本来是这么用的:当该域名服务器解析不到该DNS请求时,它会想

万网域名查询接口(API)的说明

1.域名查询接口采用HTTP,POST,GET协议:调用URL:http://panda.www.net.cn/cgi-bin/check.cgi参数名称:area_domain 值为标准域名,例:hichina.com调用举例:http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=teapic.com 返回XML: <?xml version="1.0" encoding="gb2312"?> &l