当前位置: 首页 > news >正文

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 检测等技术。
 

相关文章:

DNS、ARP

目录 DNS以及它的用途 DNS的解析方式 DNS的查询方式 DNS使用TCP/UDP DNS劫持 常见的DNS劫持现象 DNS劫持与HTTP劫持的不同 处理DNS劫持 DNS缓存 DNS实现负载均衡 ARP以及他的工作原理 DNS以及它的用途 DNS是域名解析服务器,用来将域名解析成IP。DNS工作在…...

uniapp 微信小程序 echarts地图 点击显示类目

效果如图: 在tooltip内axisPointer内添加 label:{show:true} 即可显示“请求离婚”的标题...

速刷算法#Day-02

有序数组的平方 方法一&#xff1a;暴力求解 排序 暴力先求平方&#xff0c;然后NT直接用sort这个方法首先对数组中的每个元素求平方&#xff0c;然后进行排序。下面是对应的C代码&#xff1a; class Solution { public:vector<int> SortedSquare(vector<int>&…...

Java怎么手动将对象注入到springboot

在Java中&#xff0c;可以使用Spring的ApplicationContext来手动将对象注入到Spring Boot中。 1. 首先&#xff0c;确保你已经在Spring Boot应用程序中引入了Spring的依赖&#xff0c;比如 spring-boot-starter 。 2. 在你的类中注入ApplicationContext对象&#xff1a; Autowi…...

twisted 18.7.0 requires PyHamcrest>=1.9.0 解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

电脑关机程序

//关机程序 1、电脑运行起来后&#xff0c;1分钟内关机。 2、如果输入&#xff1a;我是猪。就取消关机。 #include<stdio.h> #include<string.h> int main() { char input[20] { 0 }; system("shutdown -s -t 60"); again: printf(&quo…...

构建之法 - 软工教学:每天都向前推进一点点

作者&#xff1a;福州⼤学 汪璟玢⽼师 汪老师&#xff1a;每次都向前推进一点点&#xff0c;哪怕只有一点点&#xff0c;也好过什么都不做。 ​邹老师&#xff1a;对&#xff0c;几个学期下来&#xff0c;就已经超过那些“空想”的团队很远了。坚持下去&#xff01; 汪老师&…...

基于Qlearning强化学习的路径规划算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 Q值更新规则 4.2 基于Q-learning的路径规划算法设计 4.3 Q-learning路径规划流程 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022A 3.部分核心程序 ..…...

ASL国产CS5213 转VGA信号输出音频 替代AG6200安格芯片 HDMI to VGA(带音频)方案设计原理图

CS5213功能&#xff1a;HDMI转VGA带音频输出&#xff0c;专注于设计HDMI转VGA带音频输出。可替代AG6200 AG6201。 CS5213芯片是一个HDMI&#xff08;高清多媒体接口&#xff09;到VGA桥接芯片。 它将HDMI信号转换为标准VGA信号它可以在适配器、智能电缆等设备中设计。 Capst…...

springboot启动忽略某些类

springboot启动忽略某些类 描述解决方案单拉一个提交&#xff0c;把所有的涉及kafka消费的都不注入容器通过配置ComponentScan的excludeFilters配置了不生效后续处理改之前改之后解释 总结 拆分环境 感触解决实现demo参考 描述 目前我这的开发环境和测试环境数据库是两份&#…...

HCIA VLAN配置

目录 一、VLAN&#xff08;虚拟局域网 &#xff09; 二、VLAN配置思路 三、配置命令 1、创建vlan 单个创建&#xff1a; 批量创建&#xff1a; 2、交换机上的各个接口划分到对应的vlan中 单个操作&#xff1a; 批量操作&#xff1a; 3、trunk…...

微信小程序--原生

1&#xff1a;数据绑定 1&#xff1a;数据绑定的基本原则 2&#xff1a;在data中定义页面的数据 3&#xff1a;Mustache语法 4&#xff1a;Mustache的应用场景 1&#xff1a;常见的几种场景 2&#xff1a;动态绑定内容 3&#xff1a;动态绑定属性 4&#xff1a;三元运算 4&am…...

Django快速上手

1. 安装Django Django 4.x的版本只支持MySQL8及以上的版本了。如果mysql版本比较老&#xff0c;需要使用老版本的django。此处指定django版本为3.2.20 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple django3.2.202. 创建项目 创建项目 在指定目录使用命令行创建项…...

Android, 笔记+课表的app实现

NoteSchedule: 笔记课表&#xff0c;不同于超表和课程格子等笔记类软件&#xff0c;笔记课表的核心是将课表和笔记进行深度绑定&#xff0c;点击每个课表&#xff0c;就进入到笔记view中&#xff0c;点击其中的item就可以进入到笔记详情&#xff1b; 该应用已上线&#xff0c;…...

Openlayers实战:多数据分散聚合

在飞机、轮船等地图显示的应用中,很多时候会用到数据聚合,Openlayers中提供了Cluster这个API ,他作为souce的一部分,设定distance值,如果2个点的间距小于 distance 所设置的数时,就会以聚合的方式显示。从而解决了数据淤积显示的状态,非常实用。 效果图 源代码 /* * @…...

9、Kubernetes核心技术 - Volume

目录 一、概述 二、卷的类型 三、emptyDir 四、hostPath 五、NFS 5.1、master服务器上搭建nfs服务器 5.2、各个slave节点上安装nfs客户端 5.3、创建Pod 六、PV和PVC 6.1、PV 6.1.1、PV资源清单文件示例 6.1.2、PV属性说明 6.1.3、PV的状态 6.2、PVC 6.2.1、PVC资…...

HTML <small> 标签

定义和用法 <small> 标签呈现小号字体效果。 <small> 标签和它所对应的 <big> 标签一样&#xff0c;但它是缩小字体而不是放大。如果被包围的字体已经是字体模型所支持的最小字号&#xff0c;那么 <small> 标签将不起任何作用。 与 <big> 标签…...

网页版Java(Spring/Spring Boot/Spring MVC)五子棋项目(四)对战模块

网页版Java&#xff08;Spring/Spring Boot/Spring MVC&#xff09;五子棋项目&#xff08;四&#xff09;对战模块 一、约定前后端交互接口1. 建立连接接口2. 针对落子的请求和响应 二、实现前端页面三、实现后端1. 当用户进入房间&#xff0c;更新用户状态 OnlineUserManager…...

React实现关键字高亮

先看效果&#xff1a; 实现很简单通过以下这个函数&#xff1a; highLight (text, keyword ) > {return text.split(keyword).flatMap(str > [<span style{{ color: red, fontWeight: bold }}>{keyword}</span>, str]).slice(1);}展示某段文本时调用该函数…...

react-media如何使用

介绍 react-media 是 React 中用于响应式设计的一个很好的库。它可以用于在视口宽度满足特定条件时渲染组件。 主要功能包括: 媒体查询:通过 minWidth, maxWidth 和 width 等设置媒体查询条件。 渲染组件:当媒体查询条件匹配时渲染子组件。 默认样式:可以设置默认渲染的组件。…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...

云安全与网络安全:核心区别与协同作用解析

在数字化转型的浪潮中&#xff0c;云安全与网络安全作为信息安全的两大支柱&#xff0c;常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异&#xff0c;并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全&#xff1a;聚焦于保…...