DNS、ARP

目录

DNS以及它的用途

DNS的解析方式

DNS的查询方式

DNS使用TCP/UDP

DNS劫持

常见的DNS劫持现象

DNS劫持与HTTP劫持的不同

处理DNS劫持

DNS缓存

DNS实现负载均衡

ARP以及他的工作原理


DNS以及它的用途

DNS是域名解析服务器,用来将域名解析成IP。DNS工作在网络层

  • 正向域名解析:域名--> IP  ---A记录
  • 反向域名解析:IP-->域名  ---PTR记录

DNS的解析方式

  • 分布式域名解析:客户端在本地hosts文件中查找相对应的IP/域名映射关系,随着网络规模的越来越大,分布式分辨率越来越低
  • 集中式域名解析:会有多台DNS服务器管理维护存放IP/域名映射关系的数据库,客户端去到指定的服务器查询,如果指定的服务器查询不到就会在网络中递归查询,获取其他服务器上的地址信息。

DNS的查询方式

  • 递归查询:客户端到指定的服务器查询,如果此服务器中查询不到,服务器就会到网络中询问其他服务器,最后将DNS信息返回给客户端。只需要发送一次请求,我们就可以拿到结果。
  • 迭代查询:当客户机查询的服务器没有相关DNS信息,DNS服务器返回其他服务器的地址,客户端重新发起新的请求,知道查询到信息。每一次发送请求,都会相应结果,然后拿到结果后,再次发送请求,就是迭代查询。

DNS使用TCP/UDP

区域传输时用TCP

辅域名服务器会定时向主域名服务器进行查询,以便了解数据是否有变动。如有变动,会执行一次区域传送,进行数据同步。

  1. 可靠连接,保证了数据的准确性;
  2. 一般同步时,数据量比较大(UDP传输限制在512字节);
  3. 请求量少,但每次请求数据量较大;

域名解析时用UDP

客户端向DNS服务器查询域名,一般返回的内容都不超过512字节,用UDP传输即可。不三次握手省下的时间不容小觑。

  1. 非可靠连接,因为传输的数据量小,但不用建立连接,提高查询效率;
  2. 请求量多,但每次请求返回的数据包小;

DNS劫持

指攻击者利用其他攻击手段,篡改了某个域名的解析结果,使得指向该域名的IP变成了另一个IP,导致对相应网址的访问被劫持到另一个不可达的或者假冒的网址,从而实现非法窃取用户信息或者破坏正常网络服务的目的。

常见的DNS劫持现象

  • 广告劫持:用户正常页面指向到广告页面。
  • 恶意劫持:域名指向IP被改变,将用户访问流量引到挂马,盗号等对用户有害页面的劫持。

DNS劫持与HTTP劫持的不同

  • DNS劫持:在DNS服务器中,将某个域名对应的IP地址进行了篡改,你解析出来的域名对应的IP,在劫持前后不一样,访问的是另外一个网站。
  • HTTP劫持:你DNS解析的域名的IP地址不变,在和网站交互过程中的劫持了你的请求。比如当你正常访问一个无广告的页面时,页面上出现广告弹窗,那么可能是运营商劫持了HTTP。

处理DNS劫持

设置一个可靠的DNS服务器往往就可以解决问题但是还是困难会有解析不成功的可能,主要因为DNS污染:

  • 黑客攻击国外根服务器造成国内服务器域名解析遭到污染
  • 由于数据传输过程中网络节点较多,节点也可能成为攻击目标
  • 黑客在攻击单个网站的时候,因为节点较多,导致节点污染从而影响了全网

DNS缓存

当某一个DNS服务器接受到一个DNS响应时,此时就会缓存到本地存储器中。返回的资源的报文中TTL表示可以缓存的时间。

DNS实现负载均衡

如果存在一个大型的网站,此时可能存在多台服务器来提供服务,此时存在一个域名对应着多个服务器的ip地址,此时当用户请求DNS解析时,此时会请求到多个ip地址,在每一个请求中会循环的将这些ip地址排序,然后取出第一个返回给用户。由此将用户分配到请求不同服务器上,进而达到负载均衡。

ARP以及他的工作原理

arp协议在TCP/IP模型中属于IP层(网络层),在OSI模型中属于链路层

ARP是用于将 IP 地址映射到 MAC 地址的网络协议,它实现了将一种地址转换为另一种地址的功能,是局域网通信中必不可少的组成部分。其工作过程如下:

  1. 主机 A 需要向局域网中另一个主机 B 发送数据,但只知道目标主机的 IP 地址。
  2. 主机 A 先检查自己的 ARP 缓存表中是否有目标主机的 IP 对应的 MAC 地址,如果有,则直接发起通信请求。
  3. 如果 ARP 缓存表中没有所需信息,则主机 A 向它所在的子网内发送一个 ARP 请求广播包(Broadcast),其中包含目标IP地址和源MAC地址和源IP等信息。
  4. 局域网上的所有主机都会接收到 ARP 请求并接受目标IP地址,但只有目标主机(B)会解析该请求并将自己的 MAC 地址回复给主机 A。(非目标主机收到ARP包不会回应)
  5. 主机 A 接收到目标主机的 ARP 回复消息后,将该回复包中的 MAC 地址记录在自己的 ARP 缓存表中,并利用该地址生成传输数据的帧头开始进行数据传输。
  6. 简单来说,ARP 协议通过发送广播请求,让局域网内的每个主机都能获取到目标主机的 IP 地址,进而向目标主机请求其 MAC 地址。通过这个过程,主机 A 能够成功地将 IP 地址映射到 MAC 地址并开始网络通信。

需要注意的是,ARP 缓存表中存储了 IP 地址与 MAC 地址之间的映射关系,为避免 ARP 缓存被恶意攻击修改,通常需要启用 ARP 防护措施,如静态 ARP 表、动态 ARP 检测等技术。
 

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

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

相关文章

金九银十面试题之《JUC》

🐮🐮🐮 辛苦牛,掌握主流技术栈,包括前端后端,已经7年时间,曾在税务机关从事开发工作,目前在国企任职。希望通过自己的不断分享,可以帮助各位想或者已经走在这条路上的朋友…

Linux | Ubuntu18.04安装RTX 4060显卡驱动完整教程

文章目录 概述一、定义介绍二、操作教程(一)、前期准备1.进入终端界面2.关闭界面显示器3.禁用其他显卡驱动4.卸载残余显卡驱动5.下载驱动(二)、安装驱动1.给驱动程序赋予权限2.安装驱动3.检查结果(三)、后续问题1.黑屏问题概述 本节详细介绍了如何在ubuntu18系统安装4060显卡的…

pnpm的高级使用

我整理了一些pnpm的高级使用: 并行安装:pnpm通过并行安装依赖项来提高安装速度。默认情况下,它会使用计算机的最大线程数来并行安装依赖项。你也可以使用--recursive选项来并行安装所有子项目的依赖项。 冻结依赖:pnpm支持将依赖…

06微服务间的通信方式

一句话导读 微服务设计的一个挑战就是服务间的通信问题,服务间通信理论上可以归结为进程间通信,进程可以是同一个机器上的,也可以是不同机器的。服务可以使用同步请求响应机制通信,也可以使用异步的基于消息中间件间的通信机制。同…

【云原生|Kubernetes】14-DaemonSet资源控制器详解

【云原生|Kubernetes】14-DaemonSet资源控制器详解 文章目录 【云原生|Kubernetes】14-DaemonSet资源控制器详解简介典型用法DaemonSet语法规则Pod模板Pod 选择算符在选定的节点上运行 Pod DaemonSet的 Pods 是如何被调度的污点和容忍度DaemonSet更新和回滚DaemonSet更新策略执…

MySQL登录成功后密码修改

场景 最近想通过CLI登录一台远古MySQL,结果遇到CLI密码不对,但是,GUI程序之前自动记住密码能够正常登录使用。 思路 通过GUI方式登录,修改密码后,再让新密码生效后,重新使用CLI方式登录MySQL 解决 通过…

Vue2-简介、模板语法、数据绑定、MVVM、数据代理、事件处理

🥔:成功之后就能光明正大地回望所有苦难 VUE-Day1 Vue简介1、Vue是什么?2、谁开发的? 发展历程?3、Vue的特点4、容器和实例、实例中的el和data总结 Vue模板语法插值语法指令语法 数据绑定1.单向数据绑定(v-…

51单片机学习--DS18B20温度读取温度报警器

需要先编写OneWire模块,再在DS18B20模块中调用OneWire模块的函数 先根据原理图做好端口的声明: sbit OneWire_DQ P3^7;接下来像之前一样把时序结构用代码模拟出来: unsigned char OneWire_Init(void) {unsigned char i;unsigned char Ac…

opencv基础49-图像轮廓02-矩特征cv2.moments()->(形状分析、物体检测、图像识别、匹配)

矩特征(Moments Features)是用于图像分析和模式识别的一种特征表示方法,用来描述图像的形状、几何特征和统计信息。矩特征可以用于识别图像中的对象、检测形状以及进行图像分类等任务。 矩特征通过计算图像像素的高阶矩来提取特征。这些矩可以…

Towards Open World Object Detection【论文解析】

Towards Open World Object Detection 摘要1 介绍2 相关研究3 开放世界目标检测4 ORE:开放世界目标检测器4.1 对比聚类4.2 RPN自动标注未知类别4.3 基于能量的未知标识4.4 减少遗忘 5 实验5.1开放世界评估协议5.2 实现细节5.3 开放世界目标检测结果5.4 增量目标检测结果 6 讨论…

javaweb监听器和juery技术

监听servlet创建 package com.hspedu.listener;import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener;/*** 老韩解读* 1. 当一个类实现了 ServletContextListener* 2. 该类就是一个监听器* 3. 该类可…

VoxWeekly|The Sandbox 生态周报|20230807

欢迎来到由 The Sandbox 发布的《VoxWeekly》。我们会在每周发布,对上一周 The Sandbox 生态系统所发生的事情进行总结。 如果你喜欢我们内容,欢迎与朋友和家人分享。请订阅我们的 Medium 、关注我们的 Twitter,并加入 Discord 社区&#xf…

OpenCV和PIL图像对象转换

OpenCV和PIL(Python Imaging Library)都是常用的Python图像处理库。它们都有自己的图像对象类型,因此在使用它们时需要进行相应的转换。 下面是OpenCV图像对象和PIL图像对象之间的转换方法: 将OpenCV图像对象转换为PIL图像对象&…

npm发包中一些操作备忘

1、npm发布相关命令 发布 npm publish 发布beta版 npm publish --tag beta 取消发布 npm unpublish --force 2、lerna发布相关命令 发布 lerna publish 其他的的官方文档里面比较全 lerna中文文档

【Vue3】keep-alive 缓存组件

当在 Vue.js 中使用 <keep-alive> 组件时&#xff0c;它将会缓存动态组件&#xff0c;而不是每次渲染都销毁和重新创建它们。这对于需要在组件间快速切换并且保持组件状态的情况非常有用。 <keep-alive> 只能包含&#xff08;或者说只能渲染&#xff09;一个子组件…

CANoe通过Frame Histogram窗口统计报文周期(方便快捷)

文章目录 效果展示1.插入Frame Histogram窗口2.Activate3.运行CANoe&#xff0c;停止后查看write窗口 效果展示 统计报文周期信息输出在write窗口。 1.插入Frame Histogram窗口 2.Activate 3.运行CANoe&#xff0c;停止后查看write窗口 统计报文周期信息输出在write窗口。

安卓开发上位机基于Qt qwidget第一次一些事

话说为什么要用Qt搞安卓&#xff0c;那肯定是因为熟悉Qt啊&#xff0c;总不能能在学java那一套东西吧&#xff0c;我相信Qt搞出来的性能上会好很多…… 目录 1、是开发环境搭建 2、关文件读写权限问题 3、关于调试 4、AP热点模式IP地址不是固定的 5、比较顺利的点 1…

04-2_Qt 5.9 C++开发指南_SpinBox使用

文章目录 1. SpinBox简介2. SpinBox使用2.1 可视化UI设计2.2 widget.h2.3 widget.cpp 1. SpinBox简介 QSpinBox 用于整数的显示和输入&#xff0c;一般显示十进制数&#xff0c;也可以显示二进制、十六进制的数&#xff0c;而且可以在显示框中增加前缀或后缀。 QDoubleSpinBox…

Shell编程基础(十三)正则表达式

正则表达式 正则表达式元数据普通元字符扩展元字符 总结^ 和 \< 的区别 以及 $ 和 \> 的区别* ? {}的区别 正则表达式 格式&#xff1a;^ 表达式 $ 在不同的场景下&#xff0c;定义是一样&#xff0c;但使用要按照具体的命令去调用&#xff0c;中间的表达式都是通用的…

机器学习笔记:李宏毅ChatGPT课程1:刨析ChatGPT

ChatGPT——Chat Generative Pre-trained Transformer 1 文字接龙 每次输出一个概率分布&#xff0c;根据概率sample一个答案 ——>因为是根据概率采样&#xff0c;所以ChatGPT每次的答案是不一样的&#xff08;把生成式学习拆分成多个分类问题&#xff09;将生成的答案加到…