利用nslookup和dig了解dns请求过程

nslookup 这个命令大家用的很多  细节不多说 直接上图讲解吧  。。。

 

大家可能对dns 数据包格式不是 很清楚

看到上面的图 大家应该可以猜到一点点

dns 的所有数据包 一般 包括

首部 (就是图的HEADER部分) 这里主要是请求查询  还有 notify 跟update 区域查询哟 (当然这个nslookup 就搞不了啦)

查询 (QUESTIONS部分)   请求域名  请求数据类型

回答(ANWSERS)   回答的资源记录

权威 (AUTHORITY)  授权信息(上面没有)

额外(ADDITIONAL) 额外的一些信息 (上面没有)

再看看 dig 命令的一些信息吧

这里在header flags  跟nslookup 有些不同

1.dig的时候 权威解析 你懂的  因为我本地就是授权   所以他又 aa这个标记   nslookup没有

2. nslookup 跟dig 都有 ra 这个   ra就是 recursion avail   我本地跟nslookup 那个dns 都支持递归

3. 因为 默认情况下  nslookup 跟dig 的发起请求  都会 带rd 这个标记(期望递归请求)

如果 服务器支持递归  就会 在响应包里面 添加ra标记  如果不支持递归 则会把请求包里面的 rd 标记 复制到响应包中  ,到时候你也会看到rd标记的。。

 

下面详细说下DNS 数据包

1.格式上面已经说了

Header

Question

Answer

Anthority

Additional

5段组成

 

下面分别看下 这5个段

Header

 

 

Question

 

 

 

 

其他3个  Answer  Authority  Additional 都是一样的数据格式

 



http://www.shencan.net/index.php/2014/04/10/%E5%88%A9%E7%94%A8nslookup-%E5%92%8C-dig-%E4%BA%86%E8%A7%A3-dns%E8%AF%B7%E6%B1%82%E8%BF%87%E7%A8%8B/

你可能感兴趣的:(总结,网络)