计算机自顶向下 Wireshark labs——DNS

news2024/11/25 2:19:52

如本文第2.4节所述,域名系统(DNS)将主机名转换为IP地址,在互联网基础设施中发挥着关键作用。在本实验中,我们将仔细研究DNS的客户端。回想一下,客户端在DNS中的角色相对简单—客户端向其本地DNS服务器发送查询,并收到响应。如教科书中的图2.19和图2.20所示,很多事情可以“隐藏”进行,对DNS客户端是不可见的,因为分层DNS服务器相互通信,以递归或迭代地解析客户端的DNS查询。然而,从DNS客户机的角度来看,该协议非常简单——向本地DNS服务器制定查询,然后从该服务器接收响应。

在开始本实验之前,您可能希望通过阅读本文第2.4节来复习DNS。特别是,您可能希望查看有关本地DNS服务器、DNS缓存、DNS记录和消息以及DNS记录中的TYPE字段的资料。

1. 网路资讯查询

在本实验中,我们将广泛使用nslookup工具,该工具目前在大多数Linux/Unix和Microsoft平台上都可以使用。要在Linux/Unix中运行nslookup,只需在命令行中键入nslookup命令。要在Windows中运行它,打开命令提示符并在命令行上运行nslookup。

nslookup工具在其最基本的操作中,允许运行该工具的主机在指定的DNS服务器上查询一条DNS记录。查询的DNS服务器可以是根DNS服务器、顶级域DNS服务器、权威DNS服务器或中间DNS服务器(这些术语的定义参见教科书)。为了完成此任务,nslookup向指定的DNS服务器发送DNS查询,并从同一DNS服务器接收DNS应答,并显示结果。

image-20240204115630634

上面的屏幕截图显示了三个独立的nslookup命令的结果(显示在Windows命令提示符中)。在本例中,客户端主机位于布鲁克林理工大学的校园内,其中默认的本地DNS服务器是DNS -prime.poly.edu。当运行nslookup时,如果没有指定DNS服务器,则nslookup将查询发送到默认的DNS服务器,在本例中是dnsprime.poly.edu。考虑第一个命令:

nslookup www.mit.edu

换句话说,这个命令的意思是“请给我发送主机www.mit.edu的IP地址”。如截图所示,该命令的响应提供了两条信息:(1)提供应答的DNS服务器的名称和IP地址;(2)答案本身,即www.mit.edu的主机名和IP地址。虽然响应来自理工大学的本地DNS服务器,但很有可能这个本地DNS服务器迭代地联系了其他几个DNS服务器来获得答案,如教科书第2.4节所述。

现在考虑第二个命令:

nslookup –type=NS mit.edu

在本例中,我们提供了选项“type=NS”和域“mit.edu”。这会导致nslookup向默认的本地DNS服务器发送type-NS记录的查询。换句话说,这个查询说,“请把mit。edu的权威DNS主机名发给我”。(当不使用type选项时,nslookup使用默认值,即查询A类记录。)在上面的屏幕截图中显示的答案首先指示了提供答案的DNS服务器(这是默认的本地DNS服务器)以及三个MIT名称服务器。每个服务器都是MIT校园主机的权威DNS服务器。然而,nslookup还表明答案是“非权威的”,这意味着该答案来自某些服务器的缓存,而不是来自权威的MIT DNS服务器。最后,答案还包括MIT权威DNS服务器的IP地址。(尽管nslookup生成的type-NS查询没有明确要求IP地址,但本地DNS服务器会“免费”返回这些地址,nslookup会显示结果。)

现在最后考虑第三个命令:

nslookup www.aiit.or.kr bitsy.mit.edu

在本例中,我们希望将查询发送到 DNS 服务器 bitsy.mit.edu 而不是默认 DNS 服务器 (dns-prime.poly.edu)。因此,查询 和回复事务直接发生在查询主机和 bitsy.mit.edu 之间。在 本例中,DNS 服务器 bitsy.mit.edu 提供了主机 的 IP 地址。www.aiit.or.kr 的 IP 地址,它是韩国信息技术高级研究所的网络服务器。技术高级研究所(位于韩国)的网络服务器。

现在我们已经看了一些说明性的例子,您可能想知道nslookup命令的一般语法。语法是:

nslookup –option1 –option2 host-to-find dns-server

通常,nslookup可以使用零个、一个、两个或多个选项运行。正如我们在上面的例子中看到的,dns服务器也是可选的;如果没有提供,查询将被发送到默认的本地DNS服务器。

现在我们已经提供了nslookup的概述,现在是您自己测试驱动它的时候了。做以下事情(并写下结果):

  1. 执行nslookup获取亚洲的Web服务器的IP地址。服务器的IP地址是什么?

我这里用的linux测试baidu.com的IP地址。

百度的IP的地址为 39.156.66.10 和 110.242.68.66

image-20240204121138281

  1. 运行nslookup命令确定欧洲某大学的权威DNS服务器。

image-20240204122050832

  1. 运行nslookup,以便在问题2中获得的一个DNS服务器上查询Yahoo!邮件。它的IP地址是什么?

    最开始linux中nslookup mail.yahoo.com use5.akam.net查询不到结果。
    后面那本地windows的结果。

image-20240204151226968

2.ipconfig

ipconfig(适用于Windows)和ifconfig(适用于Linux/Unix)是主机中最有用的小实用程序,特别是用于调试网络问题。这里我们只进行描述ipconfig,尽管Linux/Unix的ifconfig非常相似。ipconfig可以用来显示当前的TCP/IP信息,包括地址、DNS服务器地址、适配器类型等等。例如,如果您要获取所有关于主机的信息,只需输入

ipconfig /all

输入命令提示符,如下面的截图所示。

image-20240204132455397

ipconfig对于管理存储在主机中的DNS信息也非常有用。在2.5节中,我们了解到主机可以缓存它最近获得的DNS记录。要查看这些缓存的记录,在提示符C:>之后提供以下命令:

ipconfig /dispalydns

每个条目以秒为单位显示剩余的生存时间(TTL)。清空缓存,输入

ipconfig /flushdns

刷新DNS缓存将清除所有条目,并重新加载hosts文件中的条目。

3. 使用Wireshark跟踪DNS

现在我们已经熟悉了nslookup和ipconfig,我们准备开始一些严肃的工作。让我们首先捕获由普通网络冲浪活动生成的DNS数据包。

  • 使用ipconfig清空主机中的DNS缓存。
  • 打开浏览器并清空浏览器缓存。(使用ie浏览器,进入“工具”菜单,选择“Internet选项”;然后在常规选项卡中选择删除文件。)
  • 打开Wireshark,输入“ip”。addr == your_IP_address”输入过滤器,通过ipconfig获取your_IP_address。此过滤器将删除所有既不是发送也不是发送到您的主机的数据包。
  • 启动Wireshark抓包。
  • 使用浏览器访问Web页面:http://www.ietf.org
  • 停止抓包。

如果您无法在实时网络连接上运行Wireshark,您可以下载在作者的一台计算机上执行上述步骤时捕获的数据包跟踪文件。回答以下问题。只要有可能,在回答下面的问题时,你应该在你回答问题的过程中提交一份打印出来的包。在打印出来的材料上加上注释来解释你的答案。要打印数据包,请使用文件 - >打印,选择仅选定数据包,选择数据包摘要行,然后选择回答问题所需的最小数据包详细信息量。

  1. 定位DNS查询和响应消息。然后通过UDP或TCP发送?

UDP

image-20240204134533012

  1. DNS查询消息的目的端口是什么?DNS响应消息的源端口是什么?

目的端口和响应端口都是53

image-20240204134829377

image-20240204134842568

  1. DNS查询报文发送到哪个IP地址?使用ipconfig来确定本地DNS服务器的IP地址。这两个IP地址是一样的吗?

DNS查询报文发送到IP为114.114.114.114。

与本地DNS服务器IP地址一样

  1. 检查DNS查询消息。DNS查询的“Type”是什么?查询消息是否包含任何“answers”?

Type = A 没有任何 answers
image-20240204135740208

  1. 检查DNS响应消息。提供了多少“答案”?这些答案都包含了什么?

两个 Answers。
image-20240204135955394

  1. 考虑主机发送的后续TCP SYN包。SYN报文的目的IP地址与DNS响应消息中提供的IP地址是否对应?

我这里做了几次确实没有后续的TCP SYN包,我不知道为什么。

  1. 这个网页包含图片。在检索每个映像之前,您的主机是否发出新的DNS查询?

没有。

现在我们来看看nslookup。

  • 开始抓包。
  • 对www.mit.edu进行nslookup
  • 停止抓包。

您应该得到如下所示的跟踪:image-20240204143741646

从上面的截图中我们可以看到nslookup实际上发送了三个DNS查询并收到了三个DNS响应。出于本任务的目的,在回答以下问题时,请忽略前两组查询/响应,因为它们特定于nslookup,通常不是由标准Internet应用程序生成的。相反,您应该关注最后的查询和响应消息。

  1. DNS查询消息的目的端口是什么?DNS响应消息的源端口是什么?

目的端口和响应的源端口都是53

image-20240204144351860

  1. DNS查询报文发送到哪个IP地址?这是您的默认本地DNS服务器的IP地址吗?

发送到114.114.114.114

我本地的默认DNS服务器IP地址

image-20240204144810509

  1. 检查DNS查询消息。DNS查询的“类型”是什么?查询消息是否包含任何“答案”?
    Type 是 A。 没有任何answers

  2. 检查DNS响应消息。提供了多少“答案”?这些答案都包含了什么?
    提供了3个answersimage-20240204145002768

  3. 提供截图。

现在重复前面的实验,但是发出命令:

nslookup –type=NS mit.edu

回答以下问题:

  1. DNS查询报文发送到哪个IP地址?这是您的默认本地DNS服务器的IP地址吗?

发送到114.114.114.114和8.8.8.8(我查了下8.8.8.8 - 这是Google提供的公共DNS服务。)

这两个都是我本地的DNS服务器IP地址。

image-20240204145434532

  1. 检查DNS查询消息。DNS查询的“类型”是什么?查询消息是否包含任何“答案”?
    Type = A 没有answers

image-20240204145546680

  1. 检查DNS响应消息。响应消息提供了哪些MIT名称服务器?此响应消息是否也提供MIT命名者的IP地址?

提供了use5.akam.net等很多个名称服务器。

没有提供MIT命名者的IP地址。

image-20240204145732814

  1. 提供截图。

现在重复前面的实验,但是发出命令:

nslookup www.aiit.or.kr bitsy.mit.edu

回答以下问题:

  1. DNS查询报文发送到哪个IP地址?这是您的默认本地DNS服务器的IP地址吗?如果不是,IP地址对应什么?

image-20240204150142150

不是,IP地址为18.0.72.3.应该是bitsy.mit.edu的IP地址。

  1. 检查DNS查询消息。DNS查询的“类型”是什么?查询消息是否包含任何“答案”?

没有answers

image-20240204150334751

  1. 检查DNS响应消息。提供了多少“答案”?这些答案都包含了什么?

看到包含了应该是aiit.or.kr的IP地址

image-20240204150348185

  1. 提供截图。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1433916.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何理解SVPWM中的马鞍波?相电压和线电压,FOC中的电机控制,相电压是马鞍波,线电压正旋波

如何理解SVPWM中的马鞍波? 马鞍波本质是正弦波叠加了基波三倍频率三角波得到的波形。叠加三角波的本质原因是为了提高电压的利用率,当相电压整体较大时,叠加一个负电压让整体下移,当相电压整体较小时,叠加一个正电压让…

[Vulnhub靶机] DriftingBlues: 4

[Vulnhub靶机] DriftingBlues: 4靶机渗透思路及方法(个人分享) 靶机下载地址: https://download.vulnhub.com/driftingblues/driftingblues4_vh.ova 靶机地址:192.168.67.23 攻击机地址:192.168.67.3 一、信息收集 …

二、编译内核及内核开发的特点

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

istio 限流

#详细参数看官网&#xff0c;我参数就不解释https://istio.io/latest/docs/reference/config/networking/destination-rule/cat << EOF > dr.yaml apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata:name: my-testnamespace: demon spec:hos…

【优先级队列(大顶堆 小顶堆)】【遍历哈希表键值对】Leetcode 347 前K个高频元素

【优先级队列&#xff08;大顶堆 小顶堆&#xff09;】【排序】Leetcode 347 前K个高频元素 1.不同排序法归纳2.大顶堆和小顶堆3.PriorityQueue操作4.PriorityQueue的升序&#xff08;默认&#xff09;与降序5.问题解决&#xff1a;找前K个最大的元素 &#xff1a;踢走最小的&…

【JavaSE篇】——抽象类和接口

目录 &#x1f393;抽象类 &#x1f388;抽象类语法 &#x1f388;抽象类特性 &#x1f388;抽象类的作用 &#x1f393;接口 &#x1f388;语法规则 &#x1f388;接口特性 &#x1f388;接口使用(实现USB接口&#xff09; &#x1f388;实现多个接口 &#x1f388;…

深度学习系列57: 清华大模型MiniCPM上手

MiniCPM 是面壁智能与清华大学自然语言处理实验室共同开源的系列端侧大模型&#xff0c;主体语言模型 MiniCPM-2B 仅有 24亿&#xff08;2.4B&#xff09;的非词嵌入参数量 1. 上手对比测试 mps比cpu大概快了9倍左右。 也可以在modelspore上测试&#xff1a;

【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题

目录 1、题目介绍 2、解题思路 2.1、暴力破解法 2.2、经典Next Greater Number问题解法 1、题目介绍 原题链接&#xff1a;496. 下一个更大元素 I - 力扣&#xff08;LeetCode&#xff09; 示例1&#xff1a; 输入&#xff1a;nums1 [4,1,2], nums2 [1,3,4,2].输出&…

AMH面板如何安装与公网远程访问本地面板界面

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

html2Canvas截取百度地图问题整理及解决方案

目录 一、截图地图打点出不来二、截图报错Uncaught (in promise)html2Canvas属性大全 一、截图地图打点出不来 1.开启foreignObjectRendering 原因是地图打点中含有svg var canvas await html2canvas(obj, {useCORS: true, foreignObjectRendering: true})2.页面图片转base6…

Multi ElasticSearch Head插件基本操作

Multi ElasticSearch Head插件安装好之后我们可以进行一些基本的操作。 1、复合查询 因为ES提供了一些Restful风格的接口&#xff0c;可以让任何语言去调用&#xff0c;因此我们可以将之前的请求地址粘贴到Multi ElasticSearch Head插件里面&#xff0c;选择GET请求方式&#x…

WordPress主题YIA如何将首页的置顶小工具改为站长推荐小工具?

YIA主题有“置顶推荐”小工具&#xff0c;首页文章列表页有置顶功能&#xff0c;可在YIA主题设置 >> 列表 >> 首页-最新发布 >> 显示置顶文章中开启或关闭。如果将“置顶推荐”小工具添加到“首页顶栏”&#xff0c;同时也开启首页最新发布的“显示置顶文章”…

Java使用规范

1.关键字 定义&#xff1a;被Java语言赋予了特殊含义&#xff0c;用做专门用途的字符串(单词) 特点&#xff1a;关键字中的所有字母都是小写 2.保留字 java保留字&#xff1a;现有Java版本尚未使用&#xff0c;但以后的版本可能会作为关键字使用。命名标识符时要避免使用这些…

C# wpf 字体图标预览,html字符与unicode转换

在进行wpf 开发工作过程中遇到字体图标无法预览的问题&#xff0c;特此记录。 1、把需要预览的字体文件上传到网站上进行转换 Create Your Own font-face Kits Font Squirrel2、下载文件后进行解压。 3、找到 Glyph Chart 查看字体html字符编码4、在wpf中直接使用即可 <…

C#,河豚算法(Blowfish Algorithm)的加密、解密源代码

Bruce Schneier 1 河豚算法&#xff08;Blowfish Algorithm&#xff09; 河豚算法&#xff08;Blowfish Algorithm&#xff09;是1993年11月由Bruce Schneier设计的一个完全开源的算法。 Blowfish算法是一个分组长度为64位、密钥长度可变的对称分组密码算法。 Blowfish算法具…

Redis 持久化对性能有何影响?

Redis 持久化对性能的影响 Redis 是一个高性能的内存数据存储系统&#xff0c;通常被用于缓存、消息队列和数据存储等方面。由于 Redis 是基于内存的&#xff0c;因此它的读写速度非常快&#xff0c;可以满足高并发、低延迟的应用需求。但是&#xff0c;当 Redis 需要持久化数…

Git的一些基本操作

初始git 我们给出下面的一个场景&#xff0c;在大学里&#xff0c;一些老师在我们做完实验之后喜欢让我们交实验报告&#xff0c;假设我们有一个比较追求完美的老师和一个勤奋的学生&#xff0c;这个学生叫做小帅&#xff0c;那天小帅桑勤奋的完成实验报告&#xff0c;在第二天…

L1-016 查验身份证-java

输入样例1&#xff1a; 4 320124198808240056 12010X198901011234 110108196711301866 37070419881216001X输出样例1&#xff1a; 12010X198901011234 110108196711301866 37070419881216001X输入样例2&#xff1a; 2 320124198808240056 110108196711301862输出样例2&#…

银行数据仓库体系实践(18)--数据应用之信用风险建模

信用风险 银行的经营风险的机构&#xff0c;那在第15节也提到了巴塞尔新资本协议对于银行风险的计量和监管要求&#xff0c;其中信用风险是银行经营的主要风险之一&#xff0c;它的管理好坏直接影响到银行的经营利润和稳定经营。信用风险是指交易对手未能履行约定契约中的义务而…

【AIGC核心技术剖析】DreamCraft3D一种层次化的3D内容生成方法

DreamCraft3D是一种用于生成高保真、连贯3D对象的层次化3D内容生成方法。它利用2D参考图像引导几何塑造和纹理增强阶段&#xff0c;通过视角相关扩散模型执行得分蒸馏采样&#xff0c;解决了现有方法中存在的一致性问题。使用Bootstrapped Score Distillation来提高纹理&#x…