【在Linux世界中追寻伟大的One Piece】DNS与ICMP

news2024/10/9 22:45:09

目录

1 -> DNS(Domain Name System)

1.1 -> DNS背景

2 -> 域名简介

2.1 -> 域名解析过程

3 -> 使用dig工具分析DNS

4 -> ICMP协议

4.1 -> ICMP功能

4.2 -> ICMP报文格式

4.3 -> Ping命令

4.4 -> traceroute命令


1 -> DNS(Domain Name System)

DNS是一整套从域名映射到IP的系统。

1.1 -> DNS背景

TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序。但是IP地址不方便记忆。

于是人们发明了一种叫主机名的东西,是一个字符串,并且使用hosts文件来描述主机名和IP地址的关系。

最初,通过互连网信息中心(SRI-NIC)来管理这个hosts文件的。

  • 如果一个新计算机要接入网络,或者某个计算机IP变更,都需要到信息中心申请变更hosts文件。
  • 其他计算机也需要定期下载更新新版本的hosts文件才能正确上网。

这样就太麻烦了,于是产生了DNS系统。

  • 一个组织的系统管理机构,维护系统内的每个主机的IP和主机名的对应关系。
  • 如果新计算机接入网络,将这个信息注册到数据库中。
  • 用户输入域名的时候,会自动查询DNS服务器,由DNS服务器检索数据库, 得到对应的IP地址。

至今,我们的计算机上仍然保留了hosts文件。在域名解析的过程中仍然会优先查找hosts文件的内容。

cat /etc/hosts

2 -> 域名简介

主域名是用来识别主机名称和主机所属的组织机构的一种分层结构的名称。

例如:www.baidu.com

域名使用 . 连接

  • com:一级域名。表示这是一个企业域名。同级的还有"net"(网络提供商),"org"(非盈利组织)等。
  • baidu:二级域名,公司名。
  • www:只是一种习惯用法。之前人们在使用域名时,往往命名成类似于ftp.xxx.xxx/www.xxx.xxx这样的格式,来表示主机支持的协议。

2.1 -> 域名解析过程

如上图所示,域名结构是树状结构,树的最顶端代表根服务器,根的下一层就是由我们所熟知的.com、.net、.cn等通用域和.cn、.uk等国家域组成,称为顶级域。网上注册的域名基本都是二级域名,比如http://baidu.com、http://taobao.com等等二级域名,它们基本上是归企业和运维人员管理。接下来是三级或者四级域名。

3 -> 使用dig工具分析DNS

 安装dig工具

yum install bind-utils

之后就可以使用dig指令查看域名解析过程了。

dig www.baidu.com

结果:

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7_5.1 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41628、
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL:
0
;; QUESTION SECTION:
;www.baidu.com.
IN A
;; ANSWER SECTION:
www.baidu.com.
1057
IN
CNAME
www.a.shifen.com.
www.a.shifen.com.
40
IN
A
115.239.210.27
www.a.shifen.com.
40
IN
A
115.239.211.112
;; Query time: 0 msec
;; SERVER: 100.100.2.136#53(100.100.2.136)
;; WHEN: Wed Sep 26 00:05:25 CST 2018
;; MSG SIZE rcvd: 90

结果解释:

  1. 开头位置是dig指令的版本号。
  2. 第二部分是服务器返回的详情,重要的是status参数,NOERROR表示查询成功。
  3. QUESTION SECTION表示要查询的域名是什么。
  4. ANSWER SECTION表示查询结果是什么。这个结果先将www.baidu.com查询成了www.a.shifen.com,再将www.a.shifen.com查询成了两个ip地址。
  5. 最下面是一些结果统计,包含查询时间和DNS服务器的地址等。

4 -> ICMP协议

ICMP协议是一个网络层协议

一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通;但是IP协议并不提供可靠传输。如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因。

4.1 -> ICMP功能

ICMP正是提供这种功能的协议;ICMP主要功能包括:

  • 确认IP包是否成功到达目标地址。
  • 通知在发送过程中IP包被丢弃的原因。
  • ICMP也是基于IP协议工作的。但是它并不是传输层的功能, 因此人们仍然把它归结为网络层协议。
  • ICMP只能搭配IPv4使用。如果是IPv6的情况下,需要使用ICMPv6。

4.2 -> ICMP报文格式

ICMP大概分为两类报文:

  • 一类是通知出错原因。
  • 一类是用于诊断查询。
类型(十进制数)内容
0会送应答(Echo Reply)
3目标不可达(Destination Unreachable)
4原点抑制(Source Quench)
5重定向或改变路由(Redirect)
8回送请求(Echo Request)
9路由器公告(Router Advertisement)
10路由器请求(Router Solicitation)
11超时(Time Exceeded)
17地址子网请求(Address Mask Request)
18地址子网应答(Address Mask Reply)

4.3 -> Ping命令

  • 注意,此处ping的是域名,而不是url!一个域名可以通过DNS解析成IP地址。
  • ping命令不光能验证网络的连通性,同时也会统计响应时间和TTL(IP包中的Time To Live,生存周期)。
  • ping命令会先发送一个ICMP Echo Request给对端。
  • 对端接收到之后,会返回一个ICMP Echo Reply。

4.4 -> traceroute命令

也是基于ICMP协议实现, 能够打印出可执行程序主机,一直到目标主机之前经历多少路由器。


感谢各位大佬支持!!!

互三啦!!!

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

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

相关文章

【JS】判断快乐数

思路 这里主要是需要熟悉对取值各个位数上的单数操作&#xff0c;也就是数字拆分方法&#xff1a; 转化为字符串&#xff0c;使用split方法 // 将数字转换为字符串&#xff0c;以便拆分为单个数字 let arr ( (totalCount || n)).split(); 使用数学运算符 let sum 0; // 初始…

hgkhjhkj

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文由 JohnKi 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f4e2;未来很长&#…

Android Media3 1.4.0 新特性解析

Android Media3 1.4.0 新特性解析 Media3 1.4.0 的发布为 Android 开发者带来了众多重要的新特性和增强功能,进一步提升了媒体播放体验。本文将详细介绍该版本中的关键更新,涵盖 ExoPlayer 预载工具、HDR 支持的改进、字幕处理优化、PlayerView 中的图像支持,以及 MediaSes…

GAMES104:16 游戏引擎的玩法系统:基础AI-学习笔记

文章目录 一&#xff0c;寻路/导航系统Navigation1.1 Walkable Area1.1.1 Waypoint Network1.1.2 Grid1.1.3 Navigation Mesh1.1.4 Sparse Voxel Octree 1.2 Path Finding1.2.1 Dijkstra Algorithm迪杰斯特拉算法1.2.2 A Star&#xff08;A*算法&#xff09; 1.3 Path Smoothin…

Docsify搭建个人博客

前提&#xff1a;电脑安装了Node.js 安装到本地 CMD命令下输入node -v查看是否已经安装了Node.js 安装docsify-cli工具&#xff1a;npm i docsify-cli -g 使用git下载docsify-Plus项目&#xff0c;Gitee地址&#xff1a;https://gitee.com/librarycodes/docsify-plus cd…

基于SpringBoot的国家基础信息管理功能的设计与实现

目录 前言 一、标准信息参考 1、信息来源 二、后台基础信息的维护管理 1、实体类和Mapper类 2、业务层和控制层设计 3、前端界面实现 三、管理页面效果 1、列表管理界面 2、国家信息调整 四、总结 前言 在之前的博客中&#xff0c;我们基于GeoTools工具实现了全球各个…

Base64字符串转图片在线工具

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 基本原理 Base64编码&#xff0c;作为一种将二进制数据转换为文本格式的方法&#xff0c;其核心在于利用64个可打印字符来表征任意的二进制信息。这一编码方式的出现&#…

应急响应:DHCP$DNS劫持实战

目录 DHCP DHCP安全性&#xff1a; DHCP常见的攻击手段&#xff1a; DNS DNS常见的攻击方式&#xff1a; DNS&DHCP攻击实战演练&#xff1a; 环境配置&#xff1a; 利用&#xff1a; 排查&#xff1a; 防御&#xff1a; DHCP 介绍&#xff1a; DHCP&#xff08;…

【Redis】Set类型的常用命令与应用场景

目录 1.命令小结 2.命令解析 3.编码方式与应用场景 1.命令小结 &#xff08;1&#xff09;set的特点 1&#xff09;set中存放的数据也都是String类型 2&#xff09;set集合中的元素是无须的 3&#xff09;set集合中的元素是唯一的&#xff0c;不可重复 &#xff08;2&a…

苦瓜检测系统源码分享

苦瓜检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision 研究…

以光塑形:光固化3D打印机原理图文解析

公众号端&#xff1a; 光固化打印机介绍https://mp.weixin.qq.com/s?__bizMzkwMjc0MTE3Mw&mid2247484073&idx1&sn0d0fd026b373b06cd7c340ec8f56a006&chksmc0a1af73f7d62665a632baebbde4e5e00ffb9c6bd31bf547b4a86855d5524535619a6175a428#rd 光固化打印机…

linux如何与网络时间对齐(雪花算法ID重复)

文章目录 前言一、可能引发什么问题&#xff1f;二、调整步骤1.查看当前系统时间2.修改为中国时区3.同步网络时间4. 雪花id重复 总结 前言 linux服务器是部署服务的不二之选,有个小问题不可忽略&#xff1a; 会发现默认的服务器时间并非中国时区,时间也是相差八小时,中国时区…

python全栈学习记录(二十四)元类、异常处理

元类、异常处理 文章目录 元类、异常处理一、元类1.元类控制类的实例化2.属性/方法的查找顺序3.单例 二、异常处理 一、元类 1.元类控制类的实例化 类的__call__方法会在产生的对象被调用时自动触发&#xff0c;args和kwargs就是调用实例时传入的参数&#xff0c;返回值是调用…

Hotspot是什么?

Hotspot 简单来说&#xff0c;JVM的一种。 一、HotSpot 的官方定义 HotSpot 是 Oracle 公司开发的一个高性能的 Java 虚拟机&#xff08;JVM&#xff09;。它通过一系列先进的技术和优化手段&#xff0c;为 Java 应用程序提供高效的运行环境&#xff0c;实现了跨平台的代码执行…

文献下载/影响因子查询/文献检索/文献翻译平台推荐

文献下载平台 科研通 文献互助平台 - 科研通(AbleSci.com) 每天签到可领10积分&#xff0c;右上角求助文献&#xff0c;一篇10积分&#xff0c;基本实现免费下载。 尽量输入doi&#xff08;类似文献id&#xff09;&#xff0c;如果没有doi则输入标题作者摘要等信息&#xff0…

SpringBoot 整合JPA

spring data jpa JPA(java persistence api) JPA是Java Persistence API的简称&#xff0c;中文名Java持久层API&#xff0c;是JDK 5.0注解或XML描述对象&#xff0d;关系表的映射关系&#xff0c;并将运行期的实体对象持久化到数据库中。 [1] Sun引入新的JPA ORM规范出于两…

链表Set_LinkList(建立)

用单链保存集合元素&#xff0c;元素由键盘输入。输入以-1结束&#xff0c;将所建链表打印输出。 链表结构如下图所示&#xff1a; 提示&#xff1a; 1.链表中数据元素为整型&#xff0c;typedef int ElemType; 2.用结构体自定义链表结构Set_LinkList &#xff1b; 3.初始化链表…

【每日刷题】Day135

【每日刷题】Day135 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. LCR 011. 连续数组 - 力扣&#xff08;LeetCode&#xff09; 2. 【模板】二维前缀和_牛客题霸_牛客…

基于SSM的共享读书网站

文未可获取一份本项目的java源码和数据库参考。 1.1 题目背景 进入新时代&#xff0c;中国的经济建设和社会发展需要与之相适应的人力资源相匹配。如何提升人力资源的素养&#xff0c;是新时代中国持续发展亟待解决的问题[1]。阅读不失为其中一个有效的手段。有效有益的阅读能…

【每日一题 | 24.10.6】确定字符串是否包含唯一字符

1. 题目2. 解题思路3. 代码实现&#xff08;AC_Code&#xff09; 个人主页&#xff1a;C_GUIQU 归属专栏&#xff1a;每日一题 1. 题目 确定字符串是否包含唯一字符 2. 解题思路 题目要求&#xff1a;判断输入的字符串是否唯一&#xff0c;这里想到可以借助布尔数组。 第一…