关于域名、DNS、ip、DNS劫持的理解

域名(英语:Domain Name),简称域名、网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名可以认为是主机在公网环境中的标识,在公网下,对应一个唯一的IP,例如我们访问百度的主页:www.baidu.com

主机名和域名的区别

实质上,主机名的含义是机器本身的名字,域名是方便记录IP地址才做的一种IP映射;通过上述介绍可以看到,二者有共性:都能对应到一个唯一的IP上,从应用场景上可以这么简单理解二者的区别:主机名用于局域网中;域名用于公网中

网域名称系统(DNS,Domain Name System,有时也简称为域名系统),域名和IP地址相互映射的一个分布式数据库,是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的系统,搭载域名系统的机器称之为域名服务器,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址数串。

IP地址 是Internet主机的作为路由寻址用的数字体标识,人不容易记忆。因而产生了域名这一种字符型标识。

举例:关于ping命令

ping 主机名与ping ip地址效果是一样的,它内部实现

这内部发生了什么事情呢?

在实际开发过程中,我们通常使用gethostbyname和gethostbyaddr这两个系统函数,其中gethostbyname表示通过主机名来查询IP地址,即传入一个主机名或域名,它就给你返回一个IP地址;gethostbyaddr表示通过IP地址来查询主机名;

Hosts文件

在linux系统中有个hosts文件来记录本机所在局域网中的主机的IP地址和对应的主机名,如下图所示:

可以看到host文件由一行行的IP和主机名的对应关系组成,其中每行的开始是一个IP地址,紧接着IP地址(隔着空格)的就是该IP对应的主机名;

如果局域网内的所有主机都想使用域名来代替IP进行通信,那么要求该局域网中每个主机上的hosts文件都要把本局域网中的所有主机的主机名和IP的对应关系都存起来。当局域网内的主机非常多的时候,维护起来就非常麻烦,例如IP有变更的时候就需要挨个把所有的主机的hosts文件都更新一遍。

那么有没有更好的办法来解决这个问题呢?方法就是通过搭建内网DNS服务来完成主机名和IP的映射;

DNS劫持 又叫域名劫持,指攻击者利用其他攻击手段,篡改了某个域名的解析结果,使得指向该域名的IP变成了另一个IP

参考原博文链接:https://blog.csdn.net/weixin_43876206/article/details/93023365

https://blog.csdn.net/houjixin/article/details/52604941?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值