【计算机网络】DNS命令练习与抓包分析实验

一:实验目的

1:掌握DNS缓存的清除方法,了解DNS缓存的作用和影响。

2:熟悉nslookup和dig等DNS查询工具的使用,理解DNS查询的基本原理和过程。

3:通过抓包和分析,深入了解DNS查询和响应消息的格式、内容以及传输方式,增强网络协议和网络安全的理解。

4:了解DNS劫持和污染的概念和危害,提高网络安全意识。

5:掌握常用免费DNS的使用方法,了解DNS服务的选择和配置对网络性能和安全的影响。

二:实验仪器设备及软件

硬件:Windows操作系统的计算机等。

软件:命令提示符、记事本、wireshark等。

三:实验方案

在cmd窗口下执行相关的DNS命令,同时在wireshark中进行抓包操作,最后分析实验结果。

四:实验步骤

【1】DNS命令联系

1:清除windows的dns缓存。

执行命令:ipconfig/flushdns,运行结果如下图所示。

2:通过nslookup,解析www.tsinghua.edu.cn。

执行命令:nslookup www.tsinghua.edu.cn,运行结果如下图所示。

3:使用-type=NS 选项解析www.tsinghua.edu.cn,使用其中一个已获得的 DNS 服务器,来查询北京科技大学邮箱的邮件服务器,它的IP地址是什么?(递归查询)。

执行命令:nslookup -type=NS www.tsinghua.edu.cn,运行结果如下图所示。

可以发现,已获得的DNS服务器为:dns2.edu.cn。通过该DNS服务器查询北京科技大学邮箱的邮件服务器,需要执行命令:nslookup mail.ustb.edu.cn dns2.edu.cn,运行结果如下图所示。

可以发现,北京科技大学邮箱的邮件服务器有3个,分别是dns.ustb.edu.cn、dns2.ustb.edu.cn、dns4.ustb.edu.cn。

4:使用-type=NS选项解析ox.ac.uk,使用其中一个已获得的 DNS 服务器,来查询sina邮箱的邮件服务器,它的IP地址是什么?查不到的话换一个DNS 服务器。(递归查询)

执行命令:nslookup -type=NS ox.ac.uk,运行结果如下图所示。

可以发现,已获得的DNS服务器有6个,分别是auth4.dns.ox.ac.uk、auth6.dns.ox.ac.uk、dns1.dns.ox.ac.uk、auth5.dns.ox.ac.uk、dns0.dns.ox.ac.uk、dns2.dns.ox.ac.uk。

执行命令:nslookup [xxx] mail.sina.com.cn,可以查询sina邮箱的邮件服务器。其中,[xxx]为上述已获得的DNS服务器。

使用第一个DNS服务器进行查询,运行结果如下图所示。

可以发现,sina邮箱的邮件服务器为:202.108.0.139。

【2】DNS抓包与分析

1:启动抓包软件,然后用命令“dig +trace 网址”,追踪DNS解析过程并回答下列问题。(windows下的dig命令需下载)

执行命令:dig trace baidu.com,通过wireshark所抓包的内容如下图所示。

1)找到DNS查询和响应消息。它们是否通过UDP或TCP发送?

DNS查询消息,如下图所示。

DNS响应消息,如下图所示。

由上图可知,DNS查询和响应消息通过UDP发送。

2)DNS查询消息的目标端口是什么?DNS响应消息的源端口是什么?

DNS查询消息的目标端口是53。

DNS响应消息的源端口是53。

3)DNS查询消息发送到哪个IP地址?使用ipconfig来确定本地DNS服务器的IP地址。这两个IP地址是否相同?

DNS查询消息发送到202.205.80.132的IP地址。

本地DNS服务器的IP地址和DNS查询消息的目的IP地址不相同,但是和DNS查询消息的源IP地址相同。

4)检查DNS查询消息。DNS查询是什么"Type"的?查询消息是否包含任何"answers"?

DNS查询消息的Type为A,如下图所示。

DNS查询消息不包含任何answers。

5)检查 DNS 响应消息。提供了多少个"answers"?这些答案具体包含什么?

DNS响应消息提供了1个answer,如下图所示。

 answer具体包含的内容如下:

  1. 域名:safebrowsing.googleapis.com
  2. 类型:A(表明是一个IPv4地址)
  3. 类别:IN(Internet类别)
  4. TTL(生存时间):170秒
  5. 数据长度:4字节
  6. 地址:114.250.67.33

五:实验结果及分析

1:本地域名服务器宕机了,如果还需使用域名访问互联网上的目的主机,应采取什么措施?怎么理解DNS劫持和污染?

应该采取以下措施之一:

  1. 使用备用DNS服务器。配置系统或路由器使用备用的公共DNS服务器,例如Google DNS(8.8.8.8,8.8.4.4)或Cloudflare DNS(1.1.1.1)。
  2. 配置Hosts文件。临时将目标主机的IP地址与域名映射写入本地的hosts文件,这样系统会直接使用这些映射而不需要查询DNS。
  3. 使用VPN。VPN服务提供自己的DNS解析服务,可以绕过本地域名服务器的问题。

DNS劫持是指攻击者通过非法手段篡改DNS解析结果,将用户请求的域名指向错误的IP地址。这样用户在访问某个网站时,实际上被重定向到另一个由攻击者控制的恶意网站。

DNS劫持通常通过以下方式进行:(1)路由器或DNS服务器被攻破:攻击者直接控制路由器或DNS服务器,篡改DNS解析记录。(2)DNS缓存中毒:攻击者向DNS服务器发送伪造的DNS响应,将错误的IP地址缓存到DNS服务器中。

DNS污染也称为DNS缓存中毒,是一种通过在DNS服务器中注入虚假数据来伪装某个域名解析结果的攻击手段。DNS污染通常是由网络管理员或ISP(互联网服务提供商)执行的,用于阻止用户访问某些网站。

DNS污染的特点如下:(1)拦截和篡改DNS请求:ISP或网络管理员截获用户的DNS请求,并返回错误的IP地址,导致用户无法访问某些网站。(2)攻击者伪造DNS响应包,使得DNS服务器缓存虚假的IP地址,从而影响用户的访问。

2:举例说明有哪些常用的免费DNS?

  1. 谷歌DNS。主DNS地址:8.8.8.8,备用DNS地址:8.8.4.4。
  2. Cloudflare DNS。主DNS地址:1.1.1.1,备用DNS地址:1.0.0.1。
  3. OpenDNS。主DNS地址:208.67.222.222,备用DNS地址:208.67.220.220。
  4. Quad9 DNS。主DNS地址:9.9.9.9,备用DNS地址:149.112.112.112。

六:实验总结及体会

1:在DNS查询中,-type=NS和-type=MX是用于查询不同类型DNS记录的选项。NS记录用于指定域名的权威DNS服务器,MX记录用于指定处理域名邮件的邮件服务器。

2:通过查询NS记录,可以找到负责解析某个域名的权威DNS服务器。通过查询MX记录,可以找到一个域名的邮件服务器,了解邮件应该发送到哪台服务器。

3:为了避免DNS劫持和污染,可以采取使用加密的DNS协议、使用可信的DNS服务、定期检查和更新路由器固件、监控和检测DNS流量等措施。

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

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

相关文章

html+css 实现悬浮按钮

前言:哈喽,大家好,今天给大家分享htmlcss 绚丽效果!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 文…

Python+Flask+MySQL+日线指数与情感指数预测的股票信息查询系统【附源码,运行简单】

PythonFlaskMySQL日线指数与情感指数预测的股票信息查询系统【附源码,运行简单】 总览 1、《股票信息查询系统》1.1 方案设计说明书设计目标工具列表 2、详细设计2.1 登录2.2 程序主页面2.3 个人中心界面2.4 基金详情界面2.5 其他功能贴图 3、下载 总览 自己做的项…

pytorch 源码阅读(3)——torch.fx

0 概述 FX 是一个供开发者用来转换 nn.Module 实例的工具包。FX 包含三个主要组件:符号跟踪器(symbolic_traced)、中间表示(intermediate representation,IR)和Python 代码生成(Code generatio…

【iOS】——属性关键字

属性关键字的类型 在iOS中属性关键字分为四种类型: 可访问性: readonly ,readwrite原子性 : atomic ,nonatomic内存管理 : retain/strong/copy, assign/unsafe_unretained,weak方法命名:sette…

W3C XML Schema 活动

关于《W3C XML Schema 活动》的信息,我找到了一些相关资料。XML Schema 是一种基于 XML 的DTD(文档类型定义)替代物,它提供了对应用程序、文档结构、属性和数据类型的更好支持。XML 1.0 版本支持可定义文档结构的DTD,而…

Linux 动静态库

一、动静态库 1、库的理解 库其实是给我们提供方法的实现,如上面的对于printf函数的实现就是在库中实现的,而这个库也就是c标准库,本质也是文件,也有对应的路径 2、区别 静态库是指编译链接时,把库文件的代码全部加入…

前端canvas——赛贝尔曲线

曲线之美,不在于曲线本身,而在于用的人。 所以就有了这期赛贝尔曲线。 新规矩,先上个GIT。 效果图 开局一张图,代码全靠编。 代码 画骨 先想着怎么画一个心形吧,等你想好了,就知道怎么画了。 首先就还…

ES(Elasticsearch)常用的函数有哪些?

【电子书大全】内含上千本顶级编程书籍,是程序员必备的电子书资源包,并且会不断地更新,助你在编程的道路上更上一层楼! 链接: https://pan.baidu.com/s/1yhPJ9LmS_z5TdgIgxs9NvQ?pwdyyds > 提取码: yyds Elasticsearch&#x…

Cyberchef基础概念之-循环语句操作-Jump/Label

在本专栏的前面的文章介绍了fork,merge,subsection,register等多种概念来解决实际场景的问题。本文将介绍的Jump/Label的操作类似于编程语言中的for和while的功能,相信在学会使用jump操作后,将有助于解决更为复杂的数据处理问题。 本文将详细的介绍该操…

Matplotlib : Python 的绘图库

Matplotlib 是一个 Python 的绘图库,广泛用于生成各种静态、动态、交互式的图表。它基于 NumPy,一个用于科学计算的 Python 库。Matplotlib 可以用于生成出版质量级别的图表,并且提供了丰富的定制选项,以适应不同用户的需求。以下…

linux对标画图板的软件

而不是对标photoshop sudo apt-get install kolourpaint

渗透测试 - 攻击思路与手段、工具分享

导语: 我在CSDN活跃已有6年,这是国内最优秀的IT学习平台之一。尽管有人对其持批评态度,我个人认为它拥有独特的优势。 最近我参加了一场网络安全工作的面试,在广州与面试官深入交流了半个多小时。尽管未能通过面试,但这…

每日OJ_力扣+牛客_另类加法_不用加号的加法

目录 力扣面试题 17.01. 不用加号的加法 解析代码 牛客另类加法 解析代码 力扣面试题 17.01. 不用加号的加法 面试题 17.01. 不用加号的加法 设计一个函数把两个数字相加。不得使用 或者其他算术运算符。 示例: 输入: a 1, b 1 输出: 2提示: a, b 均可能…

心跳机制详解

1、什么是心跳机制? 心跳机制出现在TCP长连接中,客户端和服务端之间定时发送一种特殊的数据包通知对方还在线,以确保TCP连接地可靠性,有可能TCP连接由于某些原因(例如网线被拔了,突然断电)导致…

iOS中的KVO(Key-Value Observing)详解

iOS中的KVO(Key-Value Observing)详解 一、KVO概述 KVO(Key-Value Observing),即键值观察/监听,是苹果提供的一套事件通知机制。它允许一个对象(观察者)观察/监听另一个对象&#…

【网络安全】文件上传基础及过滤方式

文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,导致用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这些文件可以是木马、病毒、恶意脚本或者WebShell等。“文件上传”本身没有问题,有问题的是文件上传后&#xf…

OpenSSL学习笔记及在项目中的使用

OpenSSL官方命令手册:OpenSSL commands - OpenSSL Documentation 参考教程: 操作:OpenSSL的基本使用教程(一)_openssl.exe使用教程-CSDN博客 操作:Linux和Shell回炉复习系列文章总目录 - 骏马金龙 - 博客园 (cnblog…

SAP主生产计划流程

流程概述 生产计划,在系统中体现为计划独立需求该数据元素,是SAP系统组织生产计划/运行MPS主生产计划(是平衡供需的支点)或MRP物料需求计划的源头数据,本流程描述了生产单位在ERP系统中生产计划管理流程。企业的主生产计划员通常以正式销售订单或备货订单为主要依据编制最…

【MR】现代机器人学-时间最优时间缩放

MR章节目录 第2章 配置空间 第3章 刚体运动 第4章 正向运动学 第5章 速度运动学与静力学 第6章 逆向运动学 第7章 闭链运动学 第8章 开链动力学 第9章 轨迹生成 9.1 定义 9.2 点到点轨迹 9.3 多项式通过点轨迹 9.4 时间最优时间缩放 第10章 运动规划 第11章 机器人控制 第12章 …

20 Python常用内置函数——eval()

内置函数 eval() 函数用来计算字符串的值,在有些场合也可以用来实现类型转换的功能。除此之外,eval() 也可以对字节串进行求值,还可以执行内置函数 compile() 编译生成的代码对象。 print(eval(b35)) print([eval(8), type(eval(8))]) # 把…