成都网站建设设计

将想法与焦点和您一起共享

dns域名怎么解密 dns域名解析的两种方式

DNS加密传输

参考:

十载的宣威网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整宣威建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“宣威网站设计”,“宣威网站推广”以来,每个客户项目都认真落实执行。

DNS 欺骗 即域名信息欺骗是最常见的DNS 安全问题。当一个DNS 服务器掉入陷阱,使用了来自一个恶意DNS服务器的错误信 息,那么该DNS 服务器就被欺骗了。DNS 欺骗会使那些易受攻击的DNS 服务器产生许多安全问题,例如:将用户引导到错误的互联网站点,或者发送一个电子 邮件到一个未经授权的邮件服务器。

拒绝服务攻击(DOS)

黑客主要利用一些DNS 软件的 漏洞,如在BIND 9 版本(版本9.2.0 以前的 9 系列)如果有人向运行BIND的设备发送特定的DNS 数据包请求,BIND 就会自动关闭。攻击者只能使BIND 关闭,而无法在服务器上执行任意命令。如 果得不到DNS 服务,那么就会产生一场灾难:由于网址不能解析为IP 地址,用户将无方访问互联网。这样,DNS 产生的问题就好像是互联网本身所产生的问 题,这将导致大量的混乱。

分布式拒绝服务攻击(DDOS)

DDOS 攻击通过使用攻击者控制的几十台或几百台计算机攻击一台主机,使得服务拒绝攻击更难以防范:使服务拒绝攻击更难以通过阻塞单一攻击源主机的数据流,来防范服务拒绝攻击。Syn Flood 是针对DNS 服务器最常见的分布式拒绝服务攻击。

缓冲区漏洞

Bind 软件的 缺省设置是允许主机间进行区域传输(zone transfer)。区域传输主要用于主域名服务器与辅域名服务器之间的数据同步,使辅域名服务器可以从主域名服务器获得新的数据信息。一旦起用区域传输 而不做任何限制,很可能会造成信息泄漏,黑客将可以获得整个授权区域内的所有主机的信息,判断主机功能及安全性,从中发现目标进行攻击。

TSIG SIG0

DNS 的事务签名分为 TSIG (Transaction Signatures) 与 SIG0 (SIGnature)两种。该如何选择呢? 首先,要先判断客户端与服务器间的信任关系为何,若是可信任者,可选择对称式的 TSIG。TSIG 只有一组密码,并无公开/私密金钥之分;若是非完全信任者,可选择非对称式金钥的 SIG0,虽有公开/私密金钥之分,相对的,设定上也较复杂。至于要选用哪种较适合,就由自己来判断。通常区带传输是主域名服务器到辅助域名服务器。通常 在主域名服务器配置文件/etc/named.conf 的dns-ip-list 的访问控制列表(ACL,access control list)会列出一些IP 地址,它们只能为主域进行传输区带信息。

DNSSEC 主要依靠公钥技术对于包含在DNS 中的信息创建密码签名。密码签名通过计算出一个密码hash数来提供DNS 中数据的完整性,并将该hash 数封装进行保护。私/公钥对中的私钥用来封装hash 数,然后可以用公钥把hash 数译出来。如果这个译出的hash 值匹配接收者刚刚计算出来的hash 树,那么表明数据是完整的。不管译出来的hash 数和计算出来的hash 数是否匹配,对于密码签名这种认证方式都是绝对正确的,因为公钥仅仅用于解密合法 的hash 数,所以只有拥有私钥的拥有者可以加密这些信息。

在Windows下使用加密DNS(DoH)

本文在我博客  王权之首の秘密基地 中同步发布

为什么要使用加密DNS(DoH)

由于部分运营商网络的问题,很多宽带自带的DNS存在劫持问题,甚至某些宽带存在劫持53端口,直接强制使用运营商DNS。这就有可能会造成DNS解析结果的异常或者污染,也有可能具有个人隐私泄露的风险。所以,要防止DNS污染,就需要使用加密DNS,对DNS请求的过程全程加密,这样运营商即使获取到了你的数据包,也无法对其解密,更无法对其进行修改。这篇文章将会教你如何将你的Windows设备接入DNS服务商提供的公共加密DNS服务

前置条件

1.系统要求:Windows 10 build19628及以上,建议Windows11

设置步骤

本文以Windows11为例(因为我已升级至Windows11,目前身边没有Windows10设备)

大概方法 :

设置--网络Internet--WLAN/以太网

WLAN--硬件属性--编辑DNS设置--手动--开启IPv4和IPv6--填写dns地址

以太网--DNS服务器分配--手动--开启IPv4和IP v6--填写dns地址

详细步骤

1.在开始菜单中打开设置

2.进入网络和Internet 然后选择你所连接的网络(WLAN or 以太网)

3.点击硬件属性(以太网不需要走这一步)

4.找到DNS服务器分配,然后点击编辑

5.将DNS获取方式从DHCP改为手动

6.输入你想用的DNS服务器(这里推荐cloudflare的1.1.1.1和Google的8.8.8.8,文章末尾还有其他推荐的)

7.添加你所选的DNS服务器到WindowsDNS列表(8.8.8.8和1.1.1.1等权威DNS提供商不需要这一步)

因为Windows默认认证的DNS少的可怜,所以需要手动将DNS服务器加入Windows服务器列表

同时按下Windows 徽标键 + X打开Windows终端(管理员)

然后输入(这里以Open DNS为例)

netsh dns add encryption 208.67.222.222 "" no no netsh dns add encryption 208.67.220.220 “” no no

输入完成后按Enter键

8.将DNS加密设为仅加密

由于国内互联网环境比较特殊,建议先测试所选DNS在大陆加密后能否正常试用,比如说四川电信就无法使用加密了的cloudflare1.1.1.1和Google8.8.8.8,我的解决方法是使用open DNS(服务器地址在下文“其他”中)

其他:

DNS的Wiki:

DoT的Wiki:

我推荐的公共dns:

1.cloudflare的1.1.1.1

For IPv4 : 1.1.1.1 and  1.0.0.1

For IPv6 : 2606:4700:4700::1111 and 2606:4700:4700::1001

官网: 1.1.1.1 — the Internet’s Fastest, Privacy-First DNS Resolver

2.Google DNS:

The Google Public DNS IP addresses (IPv4) are as follows:

8.8.8.8

8.8.4.4

The Google Public DNS IPv6 addresses are as follows:

2001:4860:4860::8888

2001:4860:4860::8844

官网:

3.Open DNS:

For IPv4 :208.67.222.222  and  208.67.220.220

For IPv6 :2620:119:35::35  and  2620:119:53::53

4.腾讯

119.29.29.29

182.254.118.118

Public DNS+——DNSPod推出的域名递归解析服务

5.阿里 (不确定能否加密)

223.5.5.5

223.6.6.6

阿里DNS

6.百度 (不确定能否加密)

180.76.76.76

百度DNS - 帮助中心 - 公共DNS

7.CNNIC (不确定能否加密)

1.2.4.8

210.2.4.8

sDNS

网络相关

HTTP是超文本传输协议

get、post、 head、put、delete、options

如下图:

在发起一个http请求之前,需要通过tcp的三次握手建立链接(就是客户端和服务端的三次交互)。

HTTP建立链接步骤:

1.客户端 发送syn的同步报文到 server端

2.sever端 返回叫ACK的syn同步报文到 客户端

3.客户端会 回应一个确认报文到 server端

1.客户端 发送http请求到 server端

2.server 回应http响应报文

TCP的响应完成后,进行TCP 的四次挥手。比如客户端主动 发起链接断开:

1.客户端 发起FIN终止报文到 server端

2.server端收到终止报文之后,返回确认报文ACK给 客户端

3.某一时机, server端 发送FIN,ACK报文 给客户端

4.客户端发送 ACK确认报文到服务端

http特点:无连接、无状态

可节省tcp建立链接、释放链接的数量。

利用http的 中间人攻击 漏斗进行的。

1.客户端 向server端发送一个报文,报文包含(TLS版本号、客户端支持的加密算法、随机数C)

3.客户端收到server端的报文后:

4.server端:

6.server端也发送加密的握手消息给客户端,验证安全通道是否正确的完成。

(中间生成的随机数C、S,非对称加密传递的预主私钥都是为了后面得到会话秘钥做准备。

客户端、server端根据C、S、预主秘钥生成会话秘钥。进行传输)

会话秘钥 = 随机数S+随机数C+预主秘钥

对称加密、非对称加密

1.连接建立过程中使用 非对称加密 ,非对称加密是很 耗时 的。

(因为加密和解密的方法不一样)

2.后续通信过程使用对称加密

有发送方、接收方。

1.发送方发送“hello”字符串,发送方通过 公钥 对“hello”进行加密。

2.经过TCP的连接传输到接收方。

3.接收方通过 私钥 进行解密。

(加密用公钥、解密就用私钥。加密用私钥、解密就用公钥)

1.发送方发送“hello”字符串,发送方通过 对称秘钥 对“hello”进行加密。

2.经过TCP的连接传输到接收方。

3.接收方通过 同一个秘钥 进行解密。

缺点:

秘钥需要通过tcp连接进行传递,server才能通过秘钥进行解密。在网络传输中如果有中间人攻击就会被捕获到。

比如说在应用层、传输层、IP层(网络层)传输过程进行解释:

应用层有个报文,可大可小。不管大小都不会进行拆分传给运输层。

应用层会把报文原封不动作为运输层UDP用户数据报的数据部分,拼接为UDP头部。

UDP数据报作为IP数据报的数据部分拼接到IP首部

这个就是多端口复用。

从接收方来说,IP层接收IP数据报数据,拆分成UDP数据报。每个数据报都会有对应的端口。就可以根据端口进行分发。

什么是TCP?

tcp特点、tcp功能

数据传输开始之前,需要建立链接,即三次握手。

数据传输结束时,需要断开链接,即四次挥手

为什么是三次握手?

假如是两次握手:

1.客户端发送syn同步报文给server端时,网络发生了超时。

2.客户端会启用超时重传策略,重新syn发送报文给server。server端就认为又要建立一个连接。

假如是三次握手:

客户端发送syn同步报文给server端,发生超时。

server端发送syn,ACK确认请求给客户端后,会等待客户端发送ACK确认信号。

此时超时了,客户端重启策略发送的是syn信号,不是ACK信号。等不到ACK信号,说明是链接超时了。

四次挥手为什么要客服端、服务端进行两方面的断开呢?

客户端发起终止报文FIN给给server端;

server发送ACK确认报文给客户端。

-- 此时客户端向服务端的链接已经断开了。server端还可以向客户端发送数据,客户端不可以向server端发送数据了。就是半关闭状态。

在一定时机内,server端会发起终止确认的报文,断开server端到客户端方向的链接。

客户端给server端ACK确认报文。

要进行两方面的断开,是因为客户端和server之间建立的TCP通道是全双攻的(一条通道两个端点都可以进行发送和接收)。

TCP是怎么样保证可靠传输的?(怎么保证报文: 无差错、 不丢失、 不重复、 按序到达)

可靠传输在TCP层面是通过【停止等待协议】实现的:

无差错情况下,客户端会按顺序的发送一个报文,得到server端响应后发送下一个报文。

客户端发送分组报文M1,server端给客户端确认。

客户端发送分组报文M2,server端给客户端确认。

客户端发送分组报文M3,server端给客户端确认。

如果因为网络等情况,在一定时间内,客户端没有收到server端的反馈:

客户端再次发送报文;

如果因为网络等情况,在一定时间内,客户端没有收到server端的反馈:

客户端再次发送报文;

如果因为网络等情况,在一定时间内,客户端没有收到server端的反馈:

客户端再次发送报文;

对于TCP,发送方和接收方各有一个缓冲区。发送方会把要发送的内容放在缓冲区,接收方接收到数据后也会放到缓冲区。

对于每次发送多少字节,由TCP连接根据情况决定。有可能把发送方的10个字节会拆分成6个字节、4个字节两次发送,有可能把发送方的5个字节、3个字节合并成8个字节一起发送。

通过【滑动窗口协议】实现的。

怎么理解滑动窗口协议?(第三轮面试)

总结:

【滑动窗口协议】

发送方定义为客户端

接收方定义为server端

简单描述TCP慢启动的特点:

考察的是TCP拥塞控制中:慢开始、拥塞避免。

横轴:交互次数

纵轴:窗口值的大小、拥塞窗口的多少

1.刚开始发送1个报文,如果没有发生拥塞就发送2个报文,仍旧没有拥塞就翻倍,发送4个报文、8个报文、一直到16个报文。这个过程以 指数规律增长 ,叫做 慢开始算法 。

2.当增加 到门限值16 的时候,会采用 拥塞避免的策略 进行发送报文数量的增长。比如17个、18个,是一种 线性 的增长。当发送的报文数为24的时候,可能就会发生 网络拥塞 。

(网络拥塞的界定是很复杂的,简单理解为连续发送的三个报文的ACK确认都没有收到,就产生网络拥塞了)

3.网络拥塞产生后,就要采用 乘法减小 的策略,把发送的报文数量恢复到1,减小给网络层带来的压力。然后重新慢开始.... 同时把拥塞窗口值降低到之前的一半 ,例如之前是24,现在减小为12。

在达到 窗口门限值 之前使用慢开始,到达之后进行拥塞避免加法增大。

是基于慢恢复、拥塞避免实现的。

达到拥塞窗口的上限值之后,回到新的门限值位置开始新的拥塞避免。

你是否了解DNS解析?DNS解析是怎样的过程呢?

DNS解析是:域名到IP地址的映射,DNS解析采用UDP数据报,且明文。

客户端向server端发送请求的时候,需要经历一个域名到IP地址的映射过程:

1.客户端通过DNS协议向DNS服务器请求,进行相应域名的解析。

2.DNS服务器把解析的IP结果返回给客户端。

3.客户端向对应的IP Server发送网络请求。

1.客户端向DNS发起域名请求的时候,先访问本地DNS是否知道我要的IP地址,本地DNS知道就进行返回,不知道就去问根域名DNS。

2.根域名DNS知道就返回给本地DNS,本地DNS返回给客户端。根域名DNS不知道的话就去问顶级DNS.....依次类推。。

1.客户端向DNS发起域名请求的时候,先访问本地DNS是否知道我要的IP地址,本地DNS知道就进行返回,不知道就去问根域名DNS。

2.根域DNS不知道,说顶级DNS可能知道,你去问顶级DNS吧,然后本地DNS又去问顶级DNS。

DNS解析存在哪些常见的问题?****

DNS劫持问题

DNS解析转发问题

因为DNS解析是UDP数据报的,并且是明文的。

所以客户端在给DNS服务器发送请求的时候,会被钓鱼DNS劫持,返回一个错误的IP地址给客户端。导致请求的IP Server也是错误的。

1.客户端询问本地DNS服务器某一个域名的IP地址时,我们用的是中国移动,中国移动的DNS服务器就会进行域名解析。

某些域名服务商为了节省资源,转发给电信的DNS服务器,让电信DNS服务器解析。

2.电信DNS服务器会去权威的DNS服务器进行解析。权威DNS根据不同的服务商返回不同的IP。返回的就会是电信的IP。

这个就会导致用的移动网络,访问的服务器是电信网络的服务器处理请求。涉及到了跨网访问,有请求效率等问题。

DNS解析,其实是使用DNS协议向DNS服务器的53端口进行请求。

采用httpDNS请求,其实是: 使用HTTP协议向DNS服务器的80端口进行请求。 就不产生正常的DNS解析,就不会有DNS劫持了。

客户端向httpDNS server发送http get请求获取IP地址。

1.有客户端、客户端要请求的API server。客户端和API server中间建立一个长连server(可以理解为一个代理服务器)。

2.客户端和长连server中间建立一个长连通道。客户端直接通过长连通道把http请求发给长连server。

3.长连server通过内网专线进行请求。规避了公网DNS劫持的问题。

HTTP特点有:

无连接:需要有连接和断开的一个过程。比如三次握手、四次挥手。

无状态:同一个用户多次访问server端,server端并不知道是同一个用户。

session/cookie就是HTTP协议无状态特点的补偿。

客户端向server端发送请求,server端生成cookie返回给客户端。

客户端把cookie进行保存,每次请求的时候发送给server端。让server端区分用户。

客户端发送的cookie在http请求报文的cookie首部字段中;

服务端设置http响应报文的Set-Cookie首部字段;

cookie 主要用来记录用户状态,区分用户; 状态保存在服务端

session 状态保存在服务端

cookie 状态保存在客户端

session依赖于set-Cookie、Cookie这两个方法。


分享文章:dns域名怎么解密 dns域名解析的两种方式
URL链接:http://chengdu.cdxwcx.cn/article/ddcepco.html