目  录

1、实验目的

2、实验环境

3、实验内容

3.1 查看和配置本机的DNS系统

3.2 DNS信息测量

3.3 DNS协议分析

4、实验结果与分析

4.1 查看和配置本机的DNS系统

4.2 DNS信息测量

4.3 DNS协议分析

5、实验小结

5.1 问题与解决办法:

5.2 心得体会:


1、实验目的

        1、了解互联网的域名结构、域名系统DNS及其域名服务器的基本概念

        2、熟悉DNS协议及其报文基本组成、DNS域名解析原理

        3、掌握常用DNS测量工具dig使用方法和DNS测量的基本技术


2、实验环境

        1、硬件要求:阿里云云主机ECS 一台、笔记本电脑一台

        2、软件要求:Linux/ Windows 操作系统


3、实验内容

3.1 查看和配置本机的DNS系统

        首先查看本机DNS服务器配置情况,其次增加一个DNS服务器:114.114.114.114或者8.8.8.8。

3.2 DNS信息测量

        dig是著名的DNS软件Bind提供的DNS分析和测量工具。Dig可以查询DNS包括NS记录,A记录,MX记录等相关信息的工具,利用它可以进行DNS测量和分析。

        安装dig命令并进行以下查询和测量

dig www.xju.edu.cn

dig aaaa www.xju.edu.cn

dig cname www.sohu.com

dig www.xju.edu.cn @8.8.8.8

dig mx xju.edu.cn

dig ns xju.edu.cn @8.8.8.8

dig www.xju.edu.cn +trace 重要

dig edu.cn +dnssec @8.8.8.8 重要

dig edu.cn +dnssec @114.114.114.114 //解释RRSIG作用

        参考文献:

https://www.isc.org/bind/

https://www.cnblogs.com/machangwei-8/p/10353216.html

yum install bind-utils

3.3 DNS协议分析

        使用tcpdump抓取DNS查询网络通信数据包,利用wireshark分析UDP和DNS协议数据。


4、实验结果与分析

4.1 查看和配置本机的DNS系统

        1. 打开命令提示符后在搜索框中输入“cmd”,右键选择“以管理员身份运行”,然后输入如下命令查看当前连接的网络适配器的详细信息,包括DNS服务器的配置情况。

ipconfig /all

        2. 添加一个114.114.114.114的DNS服务器时输入如下命令即可完成添加。

netsh interface ip add dns "本地连接" address=114.114.114.114

        3. 添加一个8.8.8.8的DNS服务器时输入如下命令即可完成添加。

netsh interface ip add dns "本地连接" address=8.8.8.8

        4. 添加DNS服务器后,使用如下命令清除本地DNS缓存,以便立即使更改生效。

ipconfig /flushdns

4.2 DNS信息测量

        1. 使用如下命令进行dig操作命令的下载,其中dig命令是在bind-utils里面的。

yum -y install bind-utils

        2. 使用如下命令查询www.xju.edu.cn的IP地址记录(A记录)以及其他相关信息。

dig www.xju.edu.cn

        3. 使用如下命令查询www.xju.edu.cn的IPv6地址记录(AAAA记录)以及相关信息。

dig aaaa www.xju.edu.cn

        4. 使用如下命令查询www.sohu.com的别名(CNAME记录)以及相关信息。

dig cname www.sohu.com

        5. 使用如下命令查询www.xju.edu.cn的IP地址记录(A记录)以及其他相关信息,在此期间用GoogleDNS服务器(8.8.8.8)而不是本地DNS服务器进行查询。

dig www.xju.edu.cn @8.8.8.8

        6. 使用如下命令查询xju.edu.cn域名的邮件交换器(MX记录)以及相关信息。

dig mx xju.edu.cn

        7. 使用如下命令查询xju.edu.cn域名的名称服务器(NS记录)以及相关信息,并使用Google DNS服务器进行查询。

dig ns xju.edu.cn @8.8.8.8

        8. 使用如下命令显示DNS解析www.xju.edu.cn的完整路径。

dig www.xju.edu.cn +trace

        9. 使用如下命令查询edu.cn域名是否启用DNSSEC(DNS安全扩展),以及使用Google DNS服务器进行查询。

dig edu.cn +dnssec @8.8.8.8

        10. 使用如下命令查询edu.cn域名是否启用DNSSEC(DNS安全扩展),以及使用114.114.114.114的DNS服务器进行查询。

dig edu.cn +dnssec @114.114.114.114

4.3 DNS协议分析

        1. 使用tcpdump命令抓取DNS查询网络的通信数据包,并通过如下命令将其保存到dns_query.pcap文件中。

sudo tcpdump -i eth0 port 53 -vvv -w dns_query.pcap

        2. 使用wireshark打开保存的dns_query.pcap文件,并对数据包进行相关的操作。

        3. 使用过滤器得到DNS数据包时在应用显示过滤器输入以下语句。

dns

        4. 利用wireshark对抓取的DNS数据包的UDP协议数据进行分析,相关内容分析结果如下。

        5. 利用wireshark对抓取的DNS数据包的DNS协议数据进行分析,相关内容分析结果如下。


5、实验小结

5.1 问题与解决办法:

        1. 问题一:使用tcpdump进行数据包的抓取时出现如下提示此命令未找到:

解决方法:由于命令输入错误导致,数据包的抓取命令为tcpdump,而不是tcpdnmp,将对应命令进行更改后错误消失。

        2. 问题二:对指定网络接口的数据包进行抓取时出现如下提示语法错误:

解决方法:由于命令键入不完整所导致,指定网络接口所需要的参数是-i,在eth0前方添加-i后错误消失。

        3. 问题三:使用tcpdump抓取所有的数据包时一直在抓取,不能够自动停止抓包:

解决方法:使用Ctrl+c就可以终止运行的命令,进而就可以停止抓包。

        4. 问题四:使用Wireshark对抓取的数据包进行过滤时出现如下提示输入框出现红色:

解决方法:由于过滤命令输入错误,在过滤地址时使用ip.addr,将输入内容中的id.addr改为ip.addr后红色报错消失。

        5. 问题五:使用Wireshark对抓取的数据包进行多个条件同时成立过滤时出现如下提示输入框出现红色:

解决方法:由于多个条件同时成立时需要使用and进行连接,但是输入命令时并没有使用and进行连接所导致,在输入内容中加入and后红色报错消失。

        6. 问题六:使用Wireshark对抓取的数据包进行过滤时出现如下提示输入框出现红色:

解决方法:由于过滤命令对大小写敏感导致输入错误,在过滤DNS时使用DNS,将输入内容中的DNS改为dns后红色报错消失。

        7. 问题七:使用dig命令时出现如下提示此命令未找到:

解决方法:由于系统中没有dig命令所导致,需要在使用此命令前通过 yum install dnf 以及 dnf install bind-utils 命令进行安装。

5.2 心得体会:

        1、DNS是互联网基础设施中非常重要的一组协议之一。

        2、DNS的作用是将主机名映射到IP地址,是互联网上所有网站能够正常访问的基础。

        3、在实际应用中,DNS数据过程的时间、可靠性和安全性都非常重要。

        4、DNS缓存时间的设置可以影响到客户端的响应时间。

        5、DNS的可靠性问题可能会导致无法访问某个网站。

        6、DNS劫持则会对互联网的安全性产生威胁。

        7、DNS数据过程中的一些概念和术语,如域名、查询类型、记录类型等等,这些都需要了解并掌握。掌握好这些基础知识,对于理解DNS数据过程的原理和实现方式会有很大的帮助。

        8、Transaction ID:标识一个DNS请求/响应事务,通常由客户端分配。在请求被响应时,该字段将被响应包中使用。

        9、Flags:用于控制DNS消息的行为,包括查询(Query)或响应(Response),以及递归查询的支持状态等。

        10、Response:指明该消息是否是响应消息,1表示是响应消息,0表示是请求消息。

        11、Opcode:指定DNS消息的操作类型,例如查询,更新,通知等。

        12、Truncated:指示响应消息是否被截断,1表示被截断,0表示未被截断。

        13、Recursion Desired:指定发出该请求的客户端是否希望DNS服务器递归查询以获取响应,1表示希望递归查询,0表示不希望。

        14、Non-Authoritative Data:指示响应是否来自授权DNS服务器(Authoritative)还是缓存DNS服务器,1表示来自缓存DNS服务器,0表示来自授权DNS服务器。

        15、Questions:指定DNS查询请求中包含的问题数(即查询的域名数量)。

        16、Answer RRs:指定响应消息中包含的DNS资源记录(Resource Record)的数量,这些资源记录包含查询结果的信息。

        17、Authority RRs:指定响应消息中包含的DNS授权资源记录的数量,这些记录指示了下一个DNS服务器,以便完成查询操作。

        18、Additional RRs:指定响应消息中包含的额外资源记录数,这些记录中包含了有用的信息(如,DNS服务器的IP地址)。

        19、Name:指Querys包含的域名(即DNS主机名或IP地址)。

        20、Type:指DNS查询请求中所使用的查询类型,如,A、AAAA、MX、CNAME等。

        21、Class:指DNS查询请求中所使用的查询类别,通常为Internet类别(即IN)。

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

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

相关文章

Python工厂方法模式详解:从理论到实战

一、工厂方法模式核心概念 工厂方法模式(Factory Method Pattern)是一种创建型设计模式,属于经典23种设计模式之一。其核心思想是:定义一个创建对象的接口,但将具体对象的实例化过程延迟到子类中实现。这种模式通过引入…

python爬虫获取PDF

【前提:菜鸟学习的记录过程,如果有不足之处,还请各位大佬大神们指教(感谢)】 1.方法一:网站找到目标数据【单篇PDF】 https://bidding.sinopec.com/tpfront/xxgg/004005/ 按F12,----检查------…

IFN影视官网入口 - 4K影视在线看网站|网页|打不开|下载

IFN影视是一个专注于影视内容的网站,提供电影、电视剧、综艺等各类影视资源的在线观看服务。该网站以用户需求为导向,致力于为用户提供高清、流畅的观影体验,并不断更新内容以满足不同用户的观看习惯和偏好。IFN影视的特色在于其内容丰富、分…

《计算机网络》实验报告四 TCP协议分析

目 录 1、实验目的 2、实验环境 3、实验内容 3.1 利用wget下载新疆大学主页 3.2 使用wireshark分析TCP报文结构 3.3 使用wireshark分析建立连接的三次握手 3.4 使用wireshark分析释放连接的四次挥手 4、实验结果与分析 4.1 利用wget下载新疆大学主页 4.2 使用wiresh…

知识 IP 的突围:从 “靠感觉” 到 “系统 + AI” 的变现跃迁

越来越多的知识付费从业者陷入 “努力无成果” 的困局:做了内容、上了课程,却没人看、没人买。核心问题不在于能力不足,而在于仍在用 “靠感觉” 的原始方式打造 IP。在流量内卷、节奏加快的当下,“内容情怀” 已撑不起一门生意&a…

4.Java创建对象有几种方式?

1.使用 new 关键字(最常用)通过调用类的构造函数直接实例化对象Person person new Person(); // 调用无参构造 Person person new Person("Alice", 25); // 调用有参构造2.反射机制(动态创建)利用Java反射 API 在运行…

【好题】洛谷 P1600 [NOIP 2016 提高组] 天天爱跑步(倍增LCA+桶)

前言没做出来,看了很多篇题解后AC了,感觉大部分题解讲得不清楚。题目思路结果有两种求法模拟跑步过程,统计每个节点能观察到的人数考虑每条路径会对哪些节点作出贡献(当前路径的玩家能被观察到)尝试第一种求法必须遍历…

valkey之网络管理架构深度解析

一、连接类型实现体系 valkey通过ConnectionType结构体构建了灵活的网络连接抽象,支持多种连接类型的统一管理。每种连接类型都通过填充该结构体的函数指针来实现特定功能,形成了面向接口的设计模式。1.1 socket连接 Socket连接提供了最基础的TCP/IP通信…

【解码文本世界的“隐形分界线”:Windows与Linux回车换行之谜】

在计算机的文本世界里,回车(Carriage Return,CR)和换行(Line Feed,LF)是两个看似简单却意义非凡的字符。它们如同文本中的“隐形分界线”,默默地划分着段落与行,影响着文…

【Project】ELK 7.17.16 日志分析系统部署

ELK 日志分析系统集群部署 本文档基于 Rocky Linux 9.4 系统,部署 ELK 7.17.16(长期支持版)集群 案例准备 1. 节点规划IP主机名部署组件角色说明192.168.100.150kafka01Elasticsearch、Kibana主节点(master) 可视化192…

分布式定时任务系列13:死循环是任务触发的银弹?

传送门 分布式定时任务系列1:XXL-job安装 分布式定时任务系列2:XXL-job使用 分布式定时任务系列3:任务执行引擎设计 分布式定时任务系列4:任务执行引擎设计续 分布式定时任务系列5:XXL-job中blockingQueue的应用 …

Flutter基础(前端教程①③-单例)

现实类比:公司打印机假设你们公司有一台共享打印机:非单例(重复创建):每个员工都自己买一台打印机放在工位上结果:浪费钱,占空间,难维护单例(唯一实例)&#…

力扣刷题 -- 965.单值二叉树

题目示例: 思路分析代码实现 bool isUnivalTree(struct TreeNode* root) {if(rootNULL){return true;}if(root->left && root->val ! root->left->val){return false;}if(root->right && root->val ! root->right->val){re…

uni-api交互反馈组件(showToast)的用法

欢迎来到我的UniApp技术专栏!🎉 在这里,我将与大家分享关于UniApp开发的实用技巧、最佳实践和项目经验。 专栏特色: 📱 跨平台开发一站式解决方案 🚀 从入门到精通的完整学习路径 💡 实战项目经…

借助它,在Web3投资赛道抢占先机

随着互联网技术的飞速发展,Web3的概念逐渐成为科技圈和投资界的热门话题。Web3代表着下一代互联网的发展方向,它强调去中心化、用户主权和数据隐私保护。在这一新兴领域,如何借助Web3技术抢占投资先机,成为许多投资者关注的焦点。…

验证大语言模型不会算数但可以编写算数的程序

摘要:本文通过几个实例测试了大语言模型在数学计算、排序、统计等方面的能力。结果显示,对于简单字符统计、排序等任务,大模型能正确生成实现代码,但当数据区分度降低时容易出错。在计算学生分数排名任务中,大模型生成…

概率论与数理统计(八)

参数估计 通过取样本,并用样本构造函数,达成估计分布函数参数的目的 矩估计法 本质:用样本的各阶矩代替总体的各阶矩,即取: E(X)X‾1n∑iXiE(X2)1n∑iXi2E(X)\overline{X}\dfrac{1}{n}\sum_i X_i\\ E(X^2)\dfrac{1}…

服务器后台崩溃的原因

当我们双十一活动零点拼命刷新却卡在支付完页面,游戏页面等不进去,公司系统瘫痪全体员工干瞪眼,服务器崩溃绝对是数字时代中的酷刑!那服务器为什么会说崩就崩,用户对于这种情况该如何进行避雷呢?服务器主要…

线程池与ThreadPoolExecutor源码解析(上)

一、线程池线程池(ThreadPool)是一种线程复用的机制。它维护着若干个线程,任务来了就复用这些线程去执行,任务做完线程不会销毁,而是回到池中等待下一个任务。为什么要用线程池?降低资源消耗:避…

Linux内核IP分片重组机制剖析:高效与安全的艺术

在IP网络通信中,当数据包超过MTU限制时,路由器会将其拆分为多个分片。这些分片到达目标主机后,内核必须高效、安全地重组原始数据包。Linux内核的net/ipv4/inet_fragment.c实现了一套精妙的分片管理框架,完美平衡了性能和安全性需求。本文将深入剖析其设计哲学与关键技术。…