第1关:nslookup 域名解析

  • 任务描述
  • 相关知识
    • 域名结构
    • 域名服务器
    • 域名解析
    • 域名解析与 nslookup
    • 使用git将本地文件推送到远程仓库永久保存
  • 操作要求
  • 测试说明

任务描述

本关任务:使用 nslookup 实现 IP 地址与域名转换解析。

相关知识

为了完成本关任务,你需要掌握:

  1. DNS 系统的工作机制;
  2. 如何获取域名对应的 IP 地址。

域名结构

IP 地址是网络中面向应用的计算机主机的标志,而域名则是互联网中面向用户的主机的标志。为了保证域名的唯一性,域名系统采用层次结构。如下图所示:

  1. 每一个域名(只讨论英文域名)都是一个标号序列(labels),用字母(A-Z,a-z,大小写等价)、数字(0-9)和连接符(-)组成;
  2. 标号序列总长度不能超过 255 个字符,它由点号分割成一个个的标号(label);
  3. 每个标号应该在 63 个字符之内,每个标号都可以看成一个层次的域名;
  4. 级别最低的域名写在左边,级别最高的域名写在右边,如www.baidu.com
  5. com: 一级域名。表示这是一个企业域名。同级的还有 “net”(网络提供商), “org”(非盈利组织) 等;
  6. baidu: 二级域名,指公司名;
  7. www: 表示该公司的 WEB 服务器对应的主机。

域名服务器

域名需要由遍及全世界的域名服务器去解析,域名服务器实际上就是装有域名及其 IP 地址数据库的主机。

域名服务器由高向低进行层次划分,可分为以下几大类:

  1. 根域名服务器:最高层次的域名服务器,本地域名服务器解析不了的域名就会向其求助;
  2. 顶级域名服务器:负责管理在该顶级域名服务器下注册的二级域名;
  3. 权限域名服务器:负责一个区的域名解析工作;
  4. 本地域名服务器:当一个主机发出 DNS 查询请求时,这个查询请求首先发给本地域名服务器。

    注:一个域名服务器所负责的范围,或者说有管理权限的范围,就称为区。

我们需要注意的是:

  1. 每个层的域名上都有自己的域名服务器,最顶层的是根域名服务器;
  2. 每一级域名服务器都知道下级域名服务器的 IP 地址;
  3. 为了容灾,每一级至少设置两个或以上的域名服务器。

域名解析

域名解析主要是将主机名(例如www.example.com)转换为计算机友好的 IP 地址(例如192.168.1.1) 域名解析的基本过程: (1) 输入域名后,先查找自己主机对应的域名服务器,域名服务器先查找自己的数据库中的数据; (2) 如果没有, 就向上级域名服务器进行查找, 依次类推; (3) 最多回溯到根域名服务器,肯定能找到这个域名的 IP 地址; (4) 域名服务器自身也会进行一些缓存, 把曾经访问过的域名和对应的 IP 地址缓存起来,可以加速查找过程。

简单的域名对应的 IP 地址查询,也可以使用 ping 命令来完成。

域名解析与 nslookup

nslookup 是一种网络管理命令行工具,可用于查询 DNS 域名和 IP 地址。无论是 linux 或者是 window 下都有这个工具,用好它对平常的域名解析情况,或者对域名服务器的维护都有帮助。 语法: nslookup [ -Option … ] [ Host ] [ -NameServer ] nslookup 命令以两种方式查询域名服务器: 交互模式: 当没有给出操作参数时进入,操作对象和操作方式可以通过相应交互命令来告诉。 命令模式: 在一个命令行中将操作对象和操作方式告知命令,nslookup 将执行结果返回。实际使用中,采用这种方式比较多。

下面列举几种主要用法:

  1. 直接查询 查询一个域名的 A 记录,使用默认的 DNS 服务器,语法为:nslookup domain  例如: nslookup baidu.com

从中可以看出: (1)baidu.com 的域名解析所使用的 DNS 服务器地址172.21.0.10; (2)baidu.com 域名对应的主机有几个IP地址。

  1. 指定域名服务器查询 nslookup domain dns-server 将查询请求发送到 DNS 服务器 bitsy.mit.edu ,而不是默认的 DNS 服务器。 如: nslookup baidu.com 172.21.0.10

  2. 查询其他记录,语法格式如下: nslookup -type=type domain

通过指定 -type 参数的具体类型,执行其他类型的查询。常用类型说明:

  • MX:邮件服务器记录;
  • NS:名字服务器记录;
  • PTR:反向记录。

如查询baidu.com对应的名字服务器记录: nslookup -type=NS baidu.com 结果如图:

查询 IP 地址172.11.4.107对应的域名(反向查询): nslookup -type=PTR 172.11.4.107 结果如图:

使用git将本地文件推送到远程仓库永久保存

评测通关后,需要推送文件到远程仓库,请在评测通关后,执行以下操作:

  • 在桌面空白处点击鼠标右键,点击“在此打开终端”,通过代码cd /data/workspace/myshixun/,进入到实训代码仓库;

  • 执行 git 命令:

    1. git pull --unshallow origin master
    2. git add .
    3. git commit -m "Fisrt commit"
    4. git push origin master

    “Fisrt commit”相当于备注,可以是其它内容。这里需要输入 educoder 的用户名和密码,用户名输入 educoder 平台的登录用户名、手机号或者邮箱,密码输入 educoder 平台的登录密码,按照提示输入即可。

注意:密码输入过程中 Shell 窗口并不会显示输入的字符,正常输入后回车即可,注意不能使用退格键。

操作要求

双击打开桌面上的工作区文件夹”workspace”,再打开实训文件夹”myshixun”,将查询的信息保存在文件message-1.txt。具体要求如下:

(1)在桌面空白处右击,打开终端; (2)查询本网站www.educoder.net服务器域名对应 DNS 服务器 IP 及域名www.educoder.net的 IP,记录到文件中; (3)查询本网站www.educoder.net服务器域名对应的名字服务记录结果中 origin 值,将其记录到文件中; (4)反向查询 IP 地址172.21.0.10对应的域名,将其写到文件中; (5)保存文件并使用 git 将文件 message-1.txt 推送到远程仓库,此步骤不影响评测。

  • 任务描述
  • 相关知识
    • 域名结构
    • 域名服务器
    • 域名解析
    • 域名解析与 nslookup
    • 使用git将本地文件推送到远程仓库永久保存
  • 操作要求
  • 测试说明

任务描述

本关任务:使用 nslookup 实现 IP 地址与域名转换解析。

相关知识

为了完成本关任务,你需要掌握:

  1. DNS 系统的工作机制;
  2. 如何获取域名对应的 IP 地址。

域名结构

IP 地址是网络中面向应用的计算机主机的标志,而域名则是互联网中面向用户的主机的标志。为了保证域名的唯一性,域名系统采用层次结构。如下图所示:

  1. 每一个域名(只讨论英文域名)都是一个标号序列(labels),用字母(A-Z,a-z,大小写等价)、数字(0-9)和连接符(-)组成;
  2. 标号序列总长度不能超过 255 个字符,它由点号分割成一个个的标号(label);
  3. 每个标号应该在 63 个字符之内,每个标号都可以看成一个层次的域名;
  4. 级别最低的域名写在左边,级别最高的域名写在右边,如www.baidu.com
  5. com: 一级域名。表示这是一个企业域名。同级的还有 “net”(网络提供商), “org”(非盈利组织) 等;
  6. baidu: 二级域名,指公司名;
  7. www: 表示该公司的 WEB 服务器对应的主机。

域名服务器

域名需要由遍及全世界的域名服务器去解析,域名服务器实际上就是装有域名及其 IP 地址数据库的主机。

域名服务器由高向低进行层次划分,可分为以下几大类:

  1. 根域名服务器:最高层次的域名服务器,本地域名服务器解析不了的域名就会向其求助;
  2. 顶级域名服务器:负责管理在该顶级域名服务器下注册的二级域名;
  3. 权限域名服务器:负责一个区的域名解析工作;
  4. 本地域名服务器:当一个主机发出 DNS 查询请求时,这个查询请求首先发给本地域名服务器。

    注:一个域名服务器所负责的范围,或者说有管理权限的范围,就称为区。

我们需要注意的是:

  1. 每个层的域名上都有自己的域名服务器,最顶层的是根域名服务器;
  2. 每一级域名服务器都知道下级域名服务器的 IP 地址;
  3. 为了容灾,每一级至少设置两个或以上的域名服务器。

域名解析

域名解析主要是将主机名(例如www.example.com)转换为计算机友好的 IP 地址(例如192.168.1.1) 域名解析的基本过程: (1) 输入域名后,先查找自己主机对应的域名服务器,域名服务器先查找自己的数据库中的数据; (2) 如果没有, 就向上级域名服务器进行查找, 依次类推; (3) 最多回溯到根域名服务器,肯定能找到这个域名的 IP 地址; (4) 域名服务器自身也会进行一些缓存, 把曾经访问过的域名和对应的 IP 地址缓存起来,可以加速查找过程。

简单的域名对应的 IP 地址查询,也可以使用 ping 命令来完成。

域名解析与 nslookup

nslookup 是一种网络管理命令行工具,可用于查询 DNS 域名和 IP 地址。无论是 linux 或者是 window 下都有这个工具,用好它对平常的域名解析情况,或者对域名服务器的维护都有帮助。 语法: nslookup [ -Option … ] [ Host ] [ -NameServer ] nslookup 命令以两种方式查询域名服务器: 交互模式: 当没有给出操作参数时进入,操作对象和操作方式可以通过相应交互命令来告诉。 命令模式: 在一个命令行中将操作对象和操作方式告知命令,nslookup 将执行结果返回。实际使用中,采用这种方式比较多。

下面列举几种主要用法:

  1. 直接查询 查询一个域名的 A 记录,使用默认的 DNS 服务器,语法为:nslookup domain  例如: nslookup baidu.com

从中可以看出: (1)baidu.com 的域名解析所使用的 DNS 服务器地址172.21.0.10; (2)baidu.com 域名对应的主机有几个IP地址。

  1. 指定域名服务器查询 nslookup domain dns-server 将查询请求发送到 DNS 服务器 bitsy.mit.edu ,而不是默认的 DNS 服务器。 如: nslookup baidu.com 172.21.0.10

  2. 查询其他记录,语法格式如下: nslookup -type=type domain

通过指定 -type 参数的具体类型,执行其他类型的查询。常用类型说明:

  • MX:邮件服务器记录;
  • NS:名字服务器记录;
  • PTR:反向记录。

如查询baidu.com对应的名字服务器记录: nslookup -type=NS baidu.com 结果如图:

查询 IP 地址172.11.4.107对应的域名(反向查询): nslookup -type=PTR 172.11.4.107 结果如图:

使用git将本地文件推送到远程仓库永久保存

评测通关后,需要推送文件到远程仓库,请在评测通关后,执行以下操作:

  • 在桌面空白处点击鼠标右键,点击“在此打开终端”,通过代码cd /data/workspace/myshixun/,进入到实训代码仓库;

  • 执行 git 命令:

    1. git pull --unshallow origin master
    2. git add .
    3. git commit -m "Fisrt commit"
    4. git push origin master

    “Fisrt commit”相当于备注,可以是其它内容。这里需要输入 educoder 的用户名和密码,用户名输入 educoder 平台的登录用户名、手机号或者邮箱,密码输入 educoder 平台的登录密码,按照提示输入即可。

注意:密码输入过程中 Shell 窗口并不会显示输入的字符,正常输入后回车即可,注意不能使用退格键。

操作要求

双击打开桌面上的工作区文件夹”workspace”,再打开实训文件夹”myshixun”,将查询的信息保存在文件message-1.txt。具体要求如下:

(1)在桌面空白处右击,打开终端; (2)查询本网站www.educoder.net服务器域名对应 DNS 服务器 IP 及域名www.educoder.net的 IP,记录到文件中; (3)查询本网站www.educoder.net服务器域名对应的名字服务记录结果中 origin 值,将其记录到文件中; (4)反向查询 IP 地址172.21.0.10对应的域名,将其写到文件中; (5)保存文件并使用 git 将文件 message-1.txt 推送到远程仓库,此步骤不影响评测。

第2关:查看与设置 DNS 服务器操作

  • 任务描述
  • 相关知识
    • 如何查看网卡默认的 DNS 服务器
    • 如何修改网卡默认的 DNS 服务器
    • 使用git将本地文件推送到远程仓库永久保存
  • 操作要求
  • 测试说明

任务描述

本关任务:查看和设定默认的 DNS 服务器。

相关知识

为了完成本关任务,你需要掌握:

  1. 如何查看系统的 DNS 服务器;
  2. 如何设定默认 DNS 服务器。

如何查看网卡默认的 DNS 服务器

在我们使用的 Linux 操作系统里面,DNS 服务器的配置信息在/etc/resolv.conf文件里面。查看该文件的命令如下: cat /etc/resolv.conf

该文件内容如下图所示:

可以看出,默认的 DNS 服务器 IP 是:172.21.0.10

如何修改网卡默认的 DNS 服务器

可以直接修改resolv.conf文件,方法如下: vim /etc/resolv.conf //打开resolv.conf 文件 改为如下内容:

  1. nameserver 114.114.114.114 #修改成你的主DNS
  2. nameserver 8.8.8.8 #修改成你的备用DNS

配置完成后,需重启网络服务才生效,重启网络服务的语句为: service networking restart

使用git将本地文件推送到远程仓库永久保存

评测通关后,需要推送文件到远程仓库,请在评测通关后,执行以下操作:

  • 在桌面空白处点击鼠标右键,点击“在此打开终端”,通过代码cd /data/workspace/myshixun/,进入到实训代码仓库;

  • 执行 git 命令:

    1. git add .
    2. git commit -m "Fisrt commit"
    3. git push origin master

    “Fisrt commit”相当于备注,可以是其它内容。这里需要输入 educoder 的用户名和密码,用户名输入 educoder 平台的登录用户名、手机号或者邮箱,密码输入 educoder 平台的登录密码,按照提示输入即可。

注意:密码输入过程中 Shell 窗口并不会显示输入的字符,正常输入后回车即可,注意不能使用退格键。

操作要求

双击打开桌面上的工作区文件夹”workspace”,再打开实训文件夹”myshixun”,将查询的信息保存到文件message-2.txt。然后进行如下操作:

(1)在桌面空白处右击,打开终端; (2)使用 cat 命令查看本机默认的 DNS 服务器,将其 IP 地址写入文件中; (3)使用 vim 命令修改本机默认的 DNS 服务器 IP 地址为114.114.114.114; (4)使用 cat 命令查看本机默认的 DNS 服务器,将其IP地址写入文件中; (5)保存文件并使用 git 将文件 message-2.txt 推送到远程仓库,此步骤不影响评测。

第3关:DNS 报文分析

  • 任务描述
  • 相关知识
    • DNS 域名解析过程
    • 域名解析协议
    • 使用git将本地文件推送到远程仓库永久保存
  • 操作要求
  • 测试说明

任务描述

本关任务:DNS 系统解析过程的具体分析。

相关知识

为了完成本关任务,你需要掌握:

  1. 如何实现 DNS 域名解析协议,
  2. 如何查看 DNS 的请求报文与响应报文。

DNS 域名解析过程

DNS 协议属于应用层,使用客户端-服务器模式运行在通信的端系统之间。在通信的端系统之间通过端到端传输输协议( UDP 协议,通常使用 53 号端口)来传送 DNS 报文。

DNS 系统解析过程如下图所示:

DNS 客户需要访问 WEB 服务器www.abc.xyz.com,则客户机可以访问本地的 hosts 文件,看能否知道主机名称对应的 IP 地址,如果 hosts 文件不能解析该主机名称,则只能通过向客户机所设定的 DNS 服务器进行查询。查询过程如下: (1)DNS 客户机向本地域名服务器发送查询请求,查找域名www.abx.xyz.com的 IP 地址。本地域名服务器查询本地的缓存,如果有这个地址,则将地址返回给 DNS 客户机; (2)如果本地域名服务器缓存没有这个地址,则发送查询请求到根域名服务器,询问www.abx.xyz.com的地址,根域名服务器会将子域 com 的域名服务器的地址返回给本地域名服务器; (3)本地域名服务器再向 com 域发送查询请求,com 域服务器无法提供地址,但会把下一级的域名服务器 xyz.com 的地址发送给本地域名服务器; (4)重复(2)、(3)的过程,最后 xyz.com 域名服务器把abc.xyz.com域名服务器地址发送给本地域名服务器; (5)本地域名服务器再向abc.xyz.com域名服务器发送地址查询请求abc.xyz.com,找到了www.abc.xyz.com的地址,就将这个地址发送给本地域名服务器; (6)本地域名服务器把地址保存到缓存,同时返回给 DNS 客户机。 有两种查询方式,分别是:

  1. 递归查询:主机向本地域名服务器的查询一般都是采用递归查询;
  2. 迭代查询:本地域名服务器向根域名服务器的查询通常采用迭代查询。只是通常,也有的采用递归查询。

域名解析协议

域名解析的实现是依靠 DNS 协议来完成。有两种 DNS 报文——查询报文和响应报文,分别来实现 DNS 的查询请求和响应请求。

DNS 协议报文格式如下:

1.头部 (1)会话标识( 2 字节) DNS 报文的 ID 标识,对于请求报文和其对应的应答报文,这个字段是相同的,通过它可以区分 DNS 应答报文是哪个请求的响应。 (2)标志( 2 字节) 各字段定义如下:

  • QR( 1 bit) 查询/响应标志,0 为查询,1 为响应
  • opcode( 4 bit) 0 表示标准查询,1 表示反向查询,2 表示服务器状态请求
  • AA( 1 bit) 表示授权回答
  • TC( 1 bit) 表示可截断的
  • RD( 1 bit) 表示期望递归
  • RA( 1 bit) 表示可用递归
  • rcode( 4 bit) 表示返回码,0 表示没有差错,3 表示名字差错,2 表示服务器错误(Server Failure)

(3)数量字段(总共 8 字节): 各自表示后面的四个区域的数目。

  • Questions 表示查询问题区域节的数量
  • Answers 表示回答区域的数量
  • Authoritative nameservers 表示授权区域的数量
  • Additional recoreds 表示附加区域的数量

2.正文 正文部分由查询区域和资源记录区域组成。 (1)查询区域

查询名:长度不固定,且不使用填充字节,一般该字段表示的就是需要查询的域名(如果是反向查询,则为 IP ,反向查询即由 IP 地址反查域名)。其构成如下:

查询类型:规定如下

注:查询类通常为 1 ,表明是 Internet 数据。

(2)资源记录 (RR) 区域(包括回答区域、授权区域和附加区域)

这三个区域分别是:回答区域,授权区域和附加区域,其格式都是一样的。

  1. 域名( 2 字节或不定长):格式和 Queries 区域的查询名字字段是一样的;
  2. 查询类型:表明资源纪录的类型,与查询类型表格相同;
  3. 查询类:对于 Internet 信息,总是 IN ;
  4. 生存时间(TTL):以秒为单位,表示的是资源记录的生命周期;
  5. 资源数据:可变长字段,表示按照查询段的要求返回的相关资源记录的数据。

使用git将本地文件推送到远程仓库永久保存

评测通关后,需要推送文件到远程仓库,请在评测通关后,执行以下操作:

  • 在桌面空白处点击鼠标右键,点击“在此打开终端”,通过代码cd /data/workspace/myshixun/,进入到实训代码仓库;

  • 执行 git 命令:

    1. git add .
    2. git commit -m "Fisrt commit"
    3. git push origin master

    “Fisrt commit”相当于备注,可以是其它内容。这里需要输入 educoder 的用户名和密码,用户名输入 educoder 平台的登录用户名、手机号或者邮箱,密码输入 educoder 平台的登录密码,按照提示输入即可。

注意:密码输入过程中 Shell 窗口并不会显示输入的字符,正常输入后回车即可,注意不能使用退格键。

操作要求

双击打开桌面上的工作区文件夹”workspace”,再打开实训文件夹”myshixun”,将查询的信息保存到文件message-3.txt。具体要求如下:

(1)打开 Wireshark ,并在过滤器中输入 DNS 。筛选出 DNS 协议报文,并开始捕获报文。然后打开终端,输入命令并执行nslookup www.baidu.com,在 Wireshark 中停止捕获报文; (2)查看报文列表,将 DNS 查询-响应的次数写入文件中; (3)展开最后一轮查询报文,分析协议字段中各字段的值,将 Queries Name 的值写入文件中; (4)展开最后一轮响应报文,分析协议字段中各字段的值,将 Answers Cname 的值写入文件中; (5)展开最后一轮响应报文,将 Answers 中的两个 IP 值写入文件中(两个 IP 地址用”;”隔开); (6)保存文件并使用 git 将文件 message-3.txt 推送到远程仓库,此步骤不影响评测。

第4关:NS 类型的 DNS 解析报文分析

  • 任务描述
  • 相关知识
    • 如何捕获 NS 类型的 DNS 报文
    • 解析 DNS 请求报文
    • 传输层协议使用 TCP 还是 UDP ?
    • 解析 DNS 应答报文
    • 使用git将本地文件推送到远程仓库永久保存
  • 操作要求
  • 测试说明

任务描述

本关任务:分析 NS 类型的 DNS 报文 Type 字段及其请求与响应内容。

相关知识

为了完成本关任务,你需要掌握:

  1. 如何捕获 NS 类型的 DNS 报文;
  2. 如何解析 DNS 报文中的 Type 字段及应答字段。

如何捕获 NS 类型的 DNS 报文

DNS 中 NS 记录 NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个 DNS 服务器来进行解析。 在注册域名时,总有默认的 DNS 服务器,每个注册的域名都是由一个 DNS 域名服务器来进行解析的,DNS 服务器 NS 记录地址一般以以下的形式出现: ns1.domain.com、ns2.domain.com等。 简单的说,NS 记录是指定由哪个 DNS 服务器解析你的域名。

在执行 nslookup 时,可以通过指定参数 -type=NS 来查询指定域名对应的域名服务器。如下图所示。

解析 DNS 请求报文

通过 Wireshark 可以抓取执行上述操作报文列表。筛选 DNS 协议的报文,找到查询请求报文,展开如下图所示。 可以看出,请求查询报文的的 Type 字段为 NS ,即 Authorizative Name Server 。即希望得到权威的名字服务。 该请求报文是通过 UDP 协议进行传输的,端口号为 53 。

传输层协议使用 TCP 还是 UDP ?

DNS 可以使用 UDP/53 ,也可以使用 TCP/53 。当响应报文的长度小于 512B 时,就使用 UDP (因为 UDP 的最大报文长度为 512B );若响应报文的长度超过 512B ,则选用 TCP 。DNS 协议关于 UDP 和 TCP 的选择通常为以下两种情况: (1)若 DNS 客户程序事先知道响应报文的长度超过 512B ,则应当使用 TCP 连接;

注意:主域名服务器与辅助域名服务器在进行区域传送时,通常数据量都比较大,所以 DNS 规定,区域传送使用 TCP 协议。

(2)若解析程序不知道响应报文的长度,它一般使用 UDP 协议发送 DNS 查询报文,若 DNS 响应报文的长度大于 512B ,服务器就截断响应报文,并把 TC(truncated) 置为 1 。在这种情况下,DNS 客户程序通常使用 TCP 重发原来的查询请求,从而它将来能够从 DNS 服务器中收到完整的响应。

解析 DNS 应答报文

查看随后的响应报文,可以看到有多个响应报文。这些报文就是在进行解析baidu.com域名对应的权威服务器过程中响应的报文。展开这些报文,可以看到第一个响应报文如下图所示。

该报文应答部分有多个服务器地址,其第一个地址类型为 SOA(start of a zone of an authority),即权威区域的开始。其后的服务器地址类型为 SRV(Server selection),即服务器选择。 随后的多个报文都是对查询报文的响应。

由于前述响应报文长度大于 512B ,随后再次出现了一个查询请求报文,查看其传输层协议,可以看到换用了 TCP 协议。 同样有多个应答报文进行响应。查看这些报文的应答类型,有些是 SRV ,有些是 A(Address,内容是具体的 IP 地址)。 查看最后一个应答报文,如下图所示。

可以看出,其权威 DNS 服务器的名称为:ns.dns.cluster.local

使用git将本地文件推送到远程仓库永久保存

评测通关后,需要推送文件到远程仓库,请在评测通关后,执行以下操作:

  • 在桌面空白处点击鼠标右键,点击“在此打开终端”,通过代码cd /data/workspace/myshixun/,进入到实训代码仓库;

  • 执行 git 命令:

    1. git add .
    2. git commit -m "Fisrt commit"
    3. git push origin master

    “Fisrt commit”相当于备注,可以是其它内容。这里需要输入 educoder 的用户名和密码,用户名输入 educoder 平台的登录用户名、手机号或者邮箱,密码输入 educoder 平台的登录密码,按照提示输入即可。

注意:密码输入过程中 Shell 窗口并不会显示输入的字符,正常输入后回车即可,注意不能使用退格键。

操作要求

双击打开桌面上的工作区文件夹”workspace”,再打开实训文件夹”myshixun”中的项目文件夹,将查询的信息保存到文件message-4.txt。然后进行如下操作:

(1)打开 Wireshark ,并在过滤器中输入 DNS 。筛选出 DNS 协议报文,并开始捕获报文。然后打开终端,输入命令并执行nslookup -type=NS baidu.com,在 Wireshark 中停止捕获报文; (2)查看报文列表,将 DNS 查询消息的目标 IP 地址,写入文件中; (3)查看查询请求报文,将该报文的 Type 值写入文件中; (4)查看响应报文,查找baidu.com的权威 DNS 服务器,将其名字写入文件中; (5)查看上述响应报文,查找其 Type ,将其值写入文件中; (6)保存文件并使用 git 将文件 message-4.txt 推送到远程仓库,此步骤不影响评测。

第5关:反向 DNS 解析

  • 任务描述
  • 相关知识
    • 反向解析
    • 反向解析查询报文
    • 反向解析响应报文
    • 使用git将本地文件推送到远程仓库永久保存
  • 操作要求
  • 测试说明

任务描述

本关任务:分析 DNS 反向解析报文中的字段特征。

相关知识

为了完成本关任务,你需要掌握:

  1. 如何分析反向解析查询报文;
  2. 如何分析反向查询响应报文。

反向解析

在 nslookup 中,类型参数设为 PTR 表示反向解析。反向解析是用于将一个 IP 地址映射到对应的域名,也可以看成是 A 记录的反向,IP 地址的反向解析。下图演示了反向解析 IP 地址39.156.69.79的操作。

注意:反向解析时IP地址的顺序也是反的。

反向解析查询报文

下图是 Wireshark 抓获的查询报文。

展开 Query 段,可以看到,此报文的 Type 为 PTR ,即反向解析。反向解析的 name 是 IP 地址再加了in-addr.arpa这部分。

反向解析响应报文

下图是 Wireshark 抓获的反向解析应答报文。

展开该报文的 Answers 部分,可以看到该段的 Type 是 PTR ,查询的 name 是 IP 地址加in-addr.arpa部分,而响应的 Domain Name 的值为:79-69-156-39.dynamic.dsl.as9105.com

使用git将本地文件推送到远程仓库永久保存

评测通关后,需要推送文件到远程仓库,请在评测通关后,执行以下操作:

  • 在桌面空白处点击鼠标右键,点击“在此打开终端”,通过代码cd /data/workspace/myshixun/,进入到实训代码仓库;

  • 执行 git 命令:

    1. git add .
    2. git commit -m "Fisrt commit"
    3. git push origin master

    “Fisrt commit”相当于备注,可以是其它内容。这里需要输入 educoder 的用户名和密码,用户名输入 educoder 平台的登录用户名、手机号或者邮箱,密码输入 educoder 平台的登录密码,按照提示输入即可。

注意:密码输入过程中 Shell 窗口并不会显示输入的字符,正常输入后回车即可,注意不能使用退格键。

操作要求

双击打开桌面上的工作区文件夹”workspace”,再打开实训文件夹”myshixun”,将查询的信息保存到文件message-5.txt。然后进行如下操作:

(1)打开 Wireshark ,并在过滤器中输入 DNS 。筛选出 DNS 协议报文,并开始捕获报文。然后打开终端,输入命令并执行nslookup -type=PTR 79.69.156.39,在 Wireshark 中停止捕获报文; (2)查看报文列表,查看查询报文,将 Query 部分的 Type 值写入文件中; (3)查看查询报文,将 Query 部分的 name 值写入文件中; (4)查看应答报文,将 Answers 部分的 Type 值写入文件中; (5)展开最后一轮响应报文,分析协议字段中各字段的值,将 Answers 部分的 Domain Name 的值写入文件中; (6)保存文件并使用 git 将文件 message-5.txt 推送到远程仓库,此步骤不影响评测。

第6关:指定服务器的DNS报文分析

  • 任务描述
  • 相关知识
    • 指定 DNS 服务器的域名解析过程
    • 使用git将本地文件推送到远程仓库永久保存
  • 操作要求

任务描述

本关任务:分析指定服务器进行 DNS 解析的报文。

相关知识

为了完成本关任务,你需要掌握:

  1. 指定 DNS 服务器时 DNS 解析过程;
  2. 分析指定 DNS 服务器解析的查询与响应报文。

指定 DNS 服务器的域名解析过程

下图使用 Wireshark 抓取了使用114.114.114.114域名服务器解析baidu.com的 DNS 报文。

从报文列表可以看出,经历了多次查询与应答,在最后一轮才得到了baidu.com的 A 地址。查询的百度域名依次为: baidu.com.default.svc.cluster.local baidu.com.svc.cluster.local baidu.com.cluster.local baidu.com

依次查看其应答报文,可以看出,前几次的应答都是 Authoritative Nameserver ,类型为 SOA ,即域名分区,没有得到真正的 IP 地址;只有最后一次才得到 Answers ,其类型 Type 为 A ,其 IP 地址为220.181.38.148,39.156.69.79

使用git将本地文件推送到远程仓库永久保存

评测通关后,需要推送文件到远程仓库,请在评测通关后,执行以下操作:

  • 在桌面空白处点击鼠标右键,点击“在此打开终端”,通过代码cd /data/workspace/myshixun/,进入到实训代码仓库;

  • 执行 git 命令:

    1. git add .
    2. git commit -m "Fisrt commit"
    3. git push origin master

    “Fisrt commit”相当于备注,可以是其它内容。这里需要输入 educoder 的用户名和密码,用户名输入 educoder 平台的登录用户名、手机号或者邮箱,密码输入 educoder 平台的登录密码,按照提示输入即可。

注意:密码输入过程中 Shell 窗口并不会显示输入的字符,正常输入后回车即可,注意不能使用退格键。

操作要求

双击打开桌面上的工作区文件夹”workspace”,再打开实训文件夹”myshixun”,将查询的信息保存到文件message-6.txt。具体要求如下:

(1)打开 Wireshark ,并在过滤器中输入 DNS 。筛选出 DNS 协议报文,并开始捕获报文。然后打开终端,输入命令并执行nslookup baidu.com 114.114.114.114,在 Wireshark 中停止捕获报文; (2)查看查询报文,将该报文的目标 IP 地址写入文件中,并回答该地址是否是默认 DNS 服务器地址(填写”是”或”否”); (3)依次查看查询报文的 Query 内容,将其 Name 的值写入文件中(以”;”隔开); (4)依次查看前几个响应报文,将应答的 Type 值写入文件中,将应答的 Name 写入文件中(不用写<>括号); (5)查看最后一个响应报文,将应答的 Type 值写入文件中,将应答的 address 依次写入文件中(两个地址以”;”隔开); (6)保存文件并使用 git 将文件 message-6.txt 推送到远程仓库,此步骤不影响评测。

EduCoder 计算机网络实验 DNS协议分析相关推荐

  1. 计算机网络实验arp协议分析,计算机网络ARP地址协议解析实验报告

    计算机网络ARP地址协议解析实验报告 (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 计算机网络实验报告.实验目的:1. 掌握ARP协议 ...

  2. 计算机网络实验二抓包协议分析,计算机网络实验-使用Wireshark分析TCP和UDP协议...

    <计算机网络实验-使用Wireshark分析TCP和UDP协议>由会员分享,可在线阅读,更多相关<计算机网络实验-使用Wireshark分析TCP和UDP协议(6页珍藏版)>请 ...

  3. 计算机网络实验5以太网链路帧实验,计算机网络实验-使用Wireshark分析以太网帧与ARP协议.docx...

    编号:_______________ 本资料为word版本,可以直接编辑和打印,感谢您的下载 计算机网络实验-使用Wireshark分析以太网帧与ARP协议 计算机网络实验-使用Wireshark分析 ...

  4. 计算机网络协议分析dns,DNS协议分析

    一直有一个愿望,能把知道的东西的原理搞明白:计算机网络.操作系统等等等等.今天好好研究了研究DNS协议. DNS协议是应用层协议,一般是基于UDP协议,不过我看了Golangnet 包里相关源码用的是 ...

  5. 实验十一 DNS 协议分析实验

    实验十一 DNS 协议分析实验 1.DNS 协议简介 DNS 是域名系统 (Domain Name System)的缩写,是一种分层次的.基于域的命名方案, 主要用来将主机名和电子邮件目标地址映射成I ...

  6. WireShark实战笔记之DNS协议分析

    DNS协议分析 DNS协议概述 DNS工作机理概述 dns报文 WireSahrk分析DNS协议 查看第一个包: 查看第四个包(响应包) DNS协议概述 DNS协议也可以称为DNS服务,全称是Doma ...

  7. 计算机网络实验以太网帧分析,实验二 用Ethereal捕获并分析以太网帧格式

    <计算机网络>实验报告 – 实验二 指导老师:李旭宏 ------------------------------------------------------------------- ...

  8. 头歌 DNS协议分析 第4关 NS 类型的 DNS 解析报文分析

    任务描述 相关知识 如何捕获 NS 类型的 DNS 报文 解析 DNS 请求报文 传输层协议使用 TCP 还是 UDP ? 解析 DNS 应答报文 操作要求 测试说明 任务描述 本关任务:分析 NS ...

  9. 计算机网络实验生成树协议,软件学院《计算机网络实验报告》4_生成树协议.pdf...

    计算机网络实验报告 1.实验报告如有雷同,雷同各方当次实验成绩均以 0 分计. 警示 2.当次小组成员成绩只计学号.姓名登录在下表中的. 3.在规定时间内未上交实验报告的,不得以其他方式补交,当次成绩 ...

最新文章

  1. 【哈佛商学院和斯坦福要求学生必看的20部电影】中/英字幕
  2. mysql常用命令,mysql语法,mysql登陆、创建数据库、创建用户、更改密码、为用户授权...
  3. 用prop还是attr
  4. 重庆三峡学院计算机应用技术,重庆三峡学院 数学与计算机学院 刘福明老师简介 联系方式 手机电话 邮箱...
  5. Scala语言整理(一)
  6. margin-top绑架父节点问题的分析
  7. 2021农村电商发展趋势报告
  8. 10.11 Linux网络相关 10.12 firewalld和netfilter 10.13 ne
  9. 随时发生的网络攻击怎么防?这是一场网络安全的全民保卫战!
  10. x64位游戏call代码测试注入器
  11. appcms手机端点击按钮返回顶部
  12. 文字转语音合成器哪个好?这些文字转语音软件值得收藏
  13. 第十二章:email-mailbox:管理email归档-imaplib:IMAP4客户库-邮箱状态
  14. Serv-U 安装配置以及外网访问使用
  15. Linux过滤关键字写入另一个文件
  16. 设置inline-block布局造成的幺蛾子事
  17. 麒麟960鸿蒙,麒麟710和麒麟960对比
  18. 进程4G虚拟内存空间的分配
  19. 基于SSM开发校园外卖零食购物商城系统
  20. 12306抢票 JAVA客户端

热门文章

  1. 【快速入门并掌握shell脚本编程】
  2. java星空屏幕_[Java教程]窗口设置_星空网
  3. 《Contrast Limited Adaptive Histogram Equalization》自译
  4. Maven私有仓库上传及使用
  5. JDK8新特性应用实践
  6. Cardboard虚拟现实开发初步(一)
  7. 前后端分离前端部署方案是什么?
  8. C语言排序之选择法排序
  9. 再来一个高仿开眼的短视频APP
  10. 【Java】浅谈关于代码的耦合性