EduCoder 计算机网络实验 DNS协议分析

第1关:nslookup 域名解析


任务描述

本关任务:使用 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 推送到远程仓库,此步骤不影响评测。

  • 18
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_735754647

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值