nslookup与dig
nslookup与dig
一、nslookup
1、什么是nslookup
nslookup是一种网络管理命令行工具,可在许多计算机操作系统中使用,用于查询域名系统(DNS)以获得域名或 IP 地址映射或其他DNS记录。名称“nslookup”表示“名称服务器查找”。nslookup有交互和非交互两种使用模式。
2、交互模式
在命令提示符下直接输入nslookup然后按回车键则进入nslookup程序的交互模式,在交互模式中:
①默认使用的DNS为PC机网络配置中的DNS
②直接输入某域名然后回车,默认查询的是该域名的A和AAAA记录
在交互模式下,可以通过 set 命令设置nslookup option的方式控制nslookup的行为,通过set all命令可以查看当前的option设置,option参数详细说明如下:
type:请求的记录类型,默认为A+AAAA,非交互模式下可使用-qt简写代替
port:设置dns server的服务端口,默认是53
[no]recurse:设置请求的递归标志位,默认为递归请求
[no]vc:控制是否使用tcp协议发送dns请求,默认不使用
timeout:设置请求的超时时间,默认2秒
retry:重试次数,默认1次
[no]debug:控制是否打印debug信息,默认不打印,非交互模式下可使用-d简写代替
3.非交互模式
①直接查询
nslookup domain [dns-server]
//如果没有指定dns服务器,就采用系统默认的dns服务器。
②查询其他记录
nslookup -qt = type domain [dns-server]type:
A—>地址记录
AAAA—>地址记录
AFSDB Andrew—>文件系统数据库服务器记录
ATMA—>ATM地址记录
CNAME—>别名记录
HINHO—>硬件配置记录,包括CPU、操作系统信息
ISDN—>域名对应的ISDN号码
MB—>存放指定邮箱的服务器
MG—>邮件组记录
MINFO—>邮件组和邮箱的信息记录
MR—>改名的邮箱记录
MX—>邮件服务器记录
NS—>名字服务器记录
PTR—>反向记录
RP—>负责人记录
RT—>路由穿透记录
SRV—>TCP服务器信息记录
TXT—>域名对应的文本信息
X25—>域名对应的X.25地址记录
③查询更具体的信息
nslookup -d [其他参数] domain [dns-server]
//只要在查询的时候,加上-d参数,即可查询域名的缓存
4、注意事项
nslookup每次请求时会尝试发现解析所使用的dns server地址所对应的域名,即解析dns server ip的PTR记录,如果解析不到则会显示 Unknown,解析失败有可能会显示timeout,此处的UnKnown或Timeout可忽略,应答部分才是我们需要的。
nslookup 默认会同时请求 A 记录和 AAAA 记录,建议设置只请求需要的记录类型,避免干扰。
nslookup 模拟的请求不会进入系统 dns 缓存,原因是 nslookup 工具直接向 dns server 发的请求报文,未经过系统解析器。
二、dig
1、什么是dig
dig是用于查询DNS名称服务器的灵活工具。它执行DNS查找,并显示从查询的名称服务器返回的答案。大多数DNS管理员使用它来解决DNS问题,因为dig灵活性,易用性以及输出清晰。与其他的DNS工具相比,功能更丰富。
2、使用方法
命令格式:
dig name type [opt …]
dig @server name type [opt …]
-b:指定请求使用的源地址,示例:dig www.qq.com -b 192.168.134.111
-p:指定dns server的服务端口,默认为53,示例:dig @192.168.134.11 www.qq.com -p 5353
-u:改变输出的时间单位为纳秒,默认为毫秒
-x:用于快速查询一个ip对应的域名,即PTR记录,示例:dig -x 114.114.114.114
-y:设置请求的tsig key,多用在测试多视图时debug,示例:dig @192.168.134.11 www.test.com -y view1:8tExWNndNylRc32cqjT0UQ==
+short:仅打印简化的解析结果,默认打印完整的解析结果
+tcp:使用tcp协议进行dns请求
+trace:模拟一次完整的迭代解析过程
+tries:指定请求的重试次数,默认为3
+timeout:指定一次请求的超时时间,默认为5秒
+norecurse:设置请求的递归标志位,默认为递归请求
+subnet:设置Edns Client Subnet option值,示例:dig www.qq.com +subnet=192.168.134.11/24
+yaml:改变输出格式为yaml