用 dig 挖 DNS
目标
用dig按记录类型查询,读取TTL和负缓存,getent哇dig亲自制造出答案分歧的点。
为什么重要
dig输出是status哇flags必须从开始读。NXDOMAIN(没有名字本身)和NOERROR + ANSWER 0(虽然有名字,但只有那种类型)是完全不同的情况,应对方式也不同。aa如果没有标志,是来自缓存的答案,所以TTL会减少。还有dig是/etc/hosts因为没有看,所以关于同一个名字getent我们可以给出不同的答案——差异正是原因的位置。
阶段
/root/dns创建目录,/etc/resolv.conf从nameserver只是以为是从开始/root/dns/nameserver.txt请保存为。example.com只有的A记录值/root/dns/a.txt请保存为。文件中必须至少有一行IPv4地址。google.com的MX,NS,TXT分别/root/dns/mx.txt,/root/dns/ns.txt,/root/dns/txt.txt请保存为。所有三个文件都不可以为空。example.com只输出回答部分/root/dns/ttl1.txt保存为,等待5秒以上后用同样的方法/root/dns/ttl2.txt请制作。第二个TTL不能比第一个大。8.8.8.8的逆向查询结果/root/dns/ptr.txt请保存为。labhub-does-not-exist-9137.example.com查询后输出全部内容/root/dns/nxdomain.txt请保存为。在文件中status: NXDOMAIN必须包含所有SOA记录。/etc/hosts在10.77.0.1 www.example.com添加后,getent hosts www.example.com结果/root/dns/getent-www.txt罗,dig +short www.example.com结果/root/dns/dig-www.txt请保存。两个结果必须不同。/root/dns/report.txt请用以下5行组成。NAMESERVERS=<1번 파일의 줄 수>/A_COUNT=<2번 파일의 줄 수>/PTR=<5번에서 얻은 이름, 끝의 점 제외>/HOSTS_WINS=<7번 getent 결과의 IP>/DNS_SAYS=<7번 dig 결과의 첫 번째 IP>
参考
dig +short,dig +noall +answer,dig -x <IP>,dig -t MX <이름>组合后,这个实训的大部分就结束了。- 在第4个中,TTL是
+noall +answer这是输出的第二列。 - 在第6条中,SOA出现在AUTHORITY部分。
+noall +authority也可以单独看。 - 常见错误1:如果在7号中输入的hosts中的IP与实际的DNS响应相同,则该步骤毫无意义。请使用专用域名。
- 常见的错误2:
dig如果结果为空,则表示没有该类型的记录。status请确认并区分NXDOMAIN或NOERROR。
读取解析器设置
/root/dns创建目录,/etc/resolv.conf从nameserver只是以为是从开始/root/dns/nameserver.txt请保存为。
只需要在resolv.conf中开始以nameserver开头的行。可以有多条。
正向查询
example.com只有的A记录值/root/dns/a.txt请保存为。文件中必须至少有一行IPv4地址。
如果只需要价格,就有短输出选项。A记录必须是IPv4地址格式。
按唱片类型查询
google.com的MX,NS,TXT分别/root/dns/mx.txt,/root/dns/ns.txt,/root/dns/txt.txt请保存为。所有三个文件都不可以为空。
dig可以指定类型为-t,也可以在名称后面直接粘贴类型。MX值是优先级数字和主机名称的对。
观察TTL减少
example.com只输出回答部分/root/dns/ttl1.txt保存为,等待5秒以上后用同样的方法/root/dns/ttl2.txt请制作。第二个TTL不能比第一个大。
只输出answer部分的话,TTL会在第二列出现。请间隔一段时间重复两次同样的问题。
反向查询
8.8.8.8的逆向查询结果/root/dns/ptr.txt请保存为。
在dig中,输入IP后,有一个专门的选项可以找到PTR。结果是以点结尾的名字。
没有的名字和负现金
labhub-does-not-exist-9137.example.com查询后输出全部内容/root/dns/nxdomain.txt请保存为。在文件中status: NXDOMAIN必须包含所有SOA记录。
status在头行中,SOA在AUTHORITY部分,最后一个数字是MINIMUM。
getent和dig分叉的地点
/etc/hosts在10.77.0.1 www.example.com添加后,getent hosts www.example.com结果/root/dns/getent-www.txt罗,dig +short www.example.com结果/root/dns/dig-www.txt请保存。两个结果必须不同。
在hosts中输入的IP和DNS提供的IP必须不同,这样才能有这个阶段的意义。请分别保存两个结果。
有一个陷阱。getent hosts <이름>首先用IPv6询问,如果没有答案,再用IPv4重新询问。但是,hosts中只能放一个IPv4,如果那个名字有AAAA记录,v6查询就会绕过hosts,直接去DNS,**IPv6地址先出来。**虽然hosts看起来被忽略了,但实际上不是——getent ahostsv4 <이름>只要问v4系列,hosts值就会直接出来。在这个阶段,请使用那个。
查询综合报告
/root/dns/report.txt请用以下5行组成。
NAMESERVERS=<1번 파일의 줄 수>/A_COUNT=<2번 파일의 줄 수>/PTR=<5번에서 얻은 이름, 끝의 점 제외>/HOSTS_WINS=<7번 getent 결과의 IP>/DNS_SAYS=<7번 dig 결과의 첫 번째 IP>
将前一步的结果用键=值收集就可以了。计数项目只要按行数计数即可。