渗透-01:DNS原理和HTML字符编码-HTML实体编码

news2024/9/23 1:34:05

一、DNS概念

DNS (Domain Name System 的缩写)就是根据域名查出IP地址(常用)
DNS分类:

  • 正向解析:已知域名解析IP
  • 反向解析:已知IP解析对应的域名

二、查询过程

工具软件dig可以显示整个查询过程

[root@node01 ~]# dig baidu.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.13 <<>> baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46760
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;baidu.com.                     IN      A

;; ANSWER SECTION:
baidu.com.              600     IN      A       110.242.68.66
baidu.com.              600     IN      A       39.156.66.10

;; Query time: 12 msec
;; SERVER: 100.100.2.136#53(100.100.2.136)
;; WHEN: Tue Aug 01 16:27:15 CST 2023
;; MSG SIZE  rcvd: 59

第一部分:查询参数和统计

[root@node01 ~]# dig baidu.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.13 <<>> baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46760
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

第二部分:查询内容

#  使用的A记录
;; QUESTION SECTION:
;baidu.com.                     IN      A


DNS的几种记录:
A :IPV4正向解析记录
AAAA:IPV6正向解析记录
CNAME:别名
MX:邮箱
PTR:反向记录

第三部分:DNS的答复

;; ANSWER SECTION:
baidu.com.              600     IN      A       110.242.68.66
baidu.com.              600     IN      A       39.156.66.10

上面结果显示,2个`A`记录,即2个IP地址。`600`是TTL值(Time to live 的缩写),表示缓存时间,即600秒之内不用重新查询。

第四部分:DNS服务器传输信息

;; Query time: 12 msec
;; SERVER: 100.100.2.136#53(100.100.2.136)
;; WHEN: Tue Aug 01 16:27:15 CST 2023
;; MSG SIZE  rcvd: 59

上面结果显示,本机的DNS服务器是`100.100.2.136`,查询端口是53(DNS服务器的默认端口),以及回应长度是59字节。

如果不想看到这么多内容,可以使用`+short`参数,只返回了对应记录的IP
[root@node01 ~]# dig +short baidu.com
39.156.66.10
110.242.68.66

三、域名的层级

DNS服务器通过递归查询和迭代查询来获取DNS,请仔细看前面的例子,每个域名的尾部都多了一个点。

域名最后哪一个小点是根域名。举例来说,www.example.com真正的域名是www.example.com.root,简写为www.example.com.。因为,根域名.root对于所有域名都是一样的,所以平时是省略的。

根域名的下一级,叫做"顶级域名"(top-level domain,缩写为TLD),比如.com.net;再下一级叫做"次级域名"(second-level domain,缩写为SLD),比如www.example.com里面的.example,这一级域名是用户可以注册的;再下一级是主机名(host),比如www.example.com里面的www,又称为"三级域名",这是用户在自己的域里面为服务器分配的名称,是用户可以任意分配的。

四、根域名服务器

DNS服务器根据域名的层级,进行分级查询。需要明确的是,每一级域名都有自己的NS记录,NS记录指向该级域名的域名服务器。这些服务器知道下一级域名的各种记录。所谓"分级查询",就是从根域名开始,依次查询每一级域名的NS记录,直到查到最终的IP地址,过程大致如下。

  1. 从"根域名服务器"查到"顶级域名服务器"的NS记录和A记录(IP地址)
  2. 从"顶级域名服务器"查到"次级域名服务器"的NS记录和A记录(IP地址)
  3. 从"次级域名服务器"查出"主机名"的IP地址

五、分级查询例子

上面命令的第一段列出根域名.的所有NS记录,即所有根域名服务器,根据内置的根域名服务器IP地址,DNS服务器向所有这些IP地址发出查询请求,询问math.stackexchange.com的顶级域名服务器com.的NS记录。最先回复的根域名服务器将被缓存,以后只向这台服务器发请求。

接着是第二段
上面结果显示.com域名的13条NS记录,同时返回的还有每一条记录对应的IP地址。然后,DNS服务器向这些顶级域名服务器发出查询请求,询问math.stackexchange.com的次级域名stackexchange.com的NS记录。


上面结果显示stackexchange.com有四条NS记录,同时返回的还有每一条NS记录对应的IP地址。然后,DNS服务器向上面这四台NS服务器查询math.stackexchange.com的主机名。

上面结果显示,math.stackexchange.com有4条A记录,即这四个IP地址都可以访问到网站。并且还显示,最先返回结果的NS服务器是ns-925.awsdns-51.net,IP地址为205.251.195.157

六、HTML字符编码

网页包含了大量的文字,浏览器必须知道这些文字的编码方法,才能把文字还原出来。一般情况下,服务器向浏览器发送 HTML 网页文件时,会通过 HTTP 头信息,声明网页的编码方式。

字符的数字表示法

网页可以使用不同语言的编码方式,但是最常用的编码是 UTF-8。UTF-8 编码是 Unicode 字符集的一种表达方式。

举例来说,英文字母a的码点是十进制的97(十六进制的61),汉字“中”的码点是十进制的20013(十六进制的4e2d)。

由于下面的原因,不是每一个 Unicode 字符都能直接在 HTML 语言里面显示。

(1)不是每个 Unicode 字符都可以打印出来,有些没有可打印形式,比如换行符的码点是十进制的10(十六进制的A),就没有对应的字面形式。

(2)小于号(<)和大于号(>)用来定义 HTML 标签,其他需要用到这两个符号的场合,必须防止它们被解释成标签。

(3)由于 Unicode 字符太多,无法找到一种输入法,可以直接输入所有这些字符。换言之,没有一种键盘,有办法输入所有符号。

(4)网页不允许混合使用多种编码,如果使用 UTF-8 编码的同时,又想插入其他编码的字符,就会很困难。

HTML 为了解决上面这些问题,允许使用 Unicode 码点表示字符,浏览器会自动将码点转成对应的字符。

<p>hello</p>
<!-- 等同于 -->
十进制
<p>&#104;&#101;&#108;&#108;&#111;</p>
<!-- 等同于 -->
十六进制
<p>&#x68;&#x65;&#x6c;&#x6c;&#x6f;</p>

上面代码中,字符可以直接表示,也可以使用十进制码点或十六进制码点表示。

注意,HTML 标签本身不能使用码点表示,否则浏览器会认为这是所要显示的文本内容,而不是标签。比如,<p>一旦写成<&#112;>或者&#60;&#112;&#62;,浏览器就不再认为这是标签了,而会当作文本内容将其显示为<p>

七、HTML实体编码

数字表示法的不方便之处,在于必须知道每个字符的码点,很难记忆。为了能够快速输入,HTML 为一些特殊字符,规定了容易记忆的名字,允许通过名字来表示它们,这称为实体表示法(entity)。

实体的写法是&name;,其中的name是字符的名字。下面是其中一些特殊字符,及其对应的实体。

  • <&lt;
  • >&gt;
  • "&quot;
  • '&apos;
  • &&amp;
  • ©&copy;
  • #&num;
  • §&sect;
  • ¥&yen;
  • $&dollar;
  • £&pound;
  • ¢&cent;
  • %&percnt;
  • *$ast;
  • @&commat;
  • ^&Hat;
  • ±&plusmn;
  • 空格:&nbsp;

字符的数字表示法和实体表示法,都可以表示正常情况无法输入的字符,逃脱了浏览器的限制,所以英语里面称为“escape”,中文翻译为“字符的转义”。

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

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

相关文章

pytorch学习——卷积神经网络——以LeNet为例

目录 一.什么是卷积&#xff1f; 二.卷积神经网络的组成 三.卷积网络基本元素介绍 3.1卷积 3.2填充和步幅 3.2.1填充&#xff08;Padding&#xff09; 填充是指在输入数据周围添加额外的边界值&#xff08;通常是零&#xff09;&#xff0c;以扩展输入的尺寸。填充可以在卷…

重磅特性 - SpreadJS推出新插件甘特图,预览版下载体验中

摘要&#xff1a;本文由葡萄城技术团队于CSDN原创并首发。转载请注明出处&#xff1a;葡萄城官网&#xff0c;葡萄城为开发者提供专业的开发工具、解决方案和服务&#xff0c;赋能开发者。 甘特图对于业务场景中的工程项目管理、预算执行、生产计划等都能将原有的表格数据&…

【数据分析】numpy (二)

numpy作为数据分析&#xff0c;深度学习常用的库&#xff0c;本篇博客我们来介绍numpy的一些进阶用法&#xff1a; 一&#xff0c;numpy的常用简单内置函数&#xff1a; 1.1求和&#xff1a; a np.array([[1, 2],[3, 4]]) np.sum(a)10 1.2求平均值&#xff1a; np.mean(a…

《向量数据库》——怎么安装向量检索库Faiss?

装 Faiss 以下教程将展示如何在 Linux 系统上安装 Faiss: 1. 安装 Conda。 在安装 Faiss 之前,先在系统上安装 Conda。Conda 是一个开源软件包和环境管理系统,可在 Windows、macOS 和 Linux 操作系统上运行。根据以下步骤在 Linux 系统上安装 Conda。 2. 从官网…

[模拟电路]集成运算放大器

目录 一.前言二.集成运放的介绍及特性分析1.集成运算放大器2.集成运放由四个部分组成3.集成运放的特性 三.集成运放的线性应用&#xff08;引入负反馈&#xff09;1.两个基本运算电路——反相/同相比例运算电路2.同相比例运算电路的特例——电压跟随器3.反相加法运算电路4.同相…

Android组件化入门:一步步搭建组件化架构

1、前言 最近因为业务需求变更&#xff0c;有考虑采用组件化架构进行开发&#xff0c;这方面我之前没有接触过。关于组件化的文章很多&#xff0c;各方大神更是提出了各种的组件化方案&#xff0c;我也看了很多相关文章。但是学习新东西看的再多&#xff0c;不如动手做一次&am…

CAD产品设计逆向软件 FARO RevEng Crack

CAD产品设计逆向软件 FARO RevEng 软件平台能为用户带来全面的数字设计体验。该反向工程软件有助于利用三维点云创建和编辑高质量的网格和 CAD 表面&#xff0c;以实现反向工程工作流程。然后&#xff0c;工业设计师可以利用这些网格模型进行进一步设计或三维打印。 RevEng 的商…

element-ui分页编辑器的使用

代码&#xff1a; 准备好初始数据; total: ,page: {pageSize: 1,pageNumber: 10,}, 当前显示在第一页,每页10条数据。 一,页码改变的事件 handleCurrentChange(val) { this.page.pageSizeval 通过传入(this.page) 获取当前页的数据 } 二.页容量改变 handleSizeChange(val) …

剑指offer49.丑数

看完题想了一下&#xff0c;就想到了一点&#xff0c;它就是先用1分别乘2&#xff0c;乘3&#xff0c;乘5然后往后加&#xff0c;然后用2分别乘2&#xff0c;乘3&#xff0c;乘5往后加&#xff0c;但是如果这样就是1&#xff0c;2&#xff0c;3&#xff0c;5&#xff0c;4&…

更快的训练和推理: 对比 Habana Gaudi®2 和英伟达 A100 80GB

&#x1f917; 宝子们可以戳 阅读原文 查看文中所有的外部链接哟&#xff01; 通过本文&#xff0c;你将学习如何使用 Habana Gaudi2 加速模型训练和推理&#xff0c;以及如何使用 &#x1f917; Optimum Habana 训练更大的模型。然后&#xff0c;我们展示了几个基准测例&#…

春秋云镜 CVE-2020-5515

春秋云镜 CVE-2020-5515 Gila CMS 1.11.8 sql注入 靶标介绍 Gila CMS是一套基于PHP和MySQL的开源内容管理系统&#xff08;CMS&#xff09;。 Gila CMS 1.11.8版本中的/admin/sql?query存在SQL注入漏洞。该漏洞源于基于数据库的应用缺少对外部输入SQL语句的验证。攻击者可利…

【零基础学Rust | 基础系列 | 基础语法】变量,数据类型,运算符,控制流

文章目录 简介&#xff1a;一&#xff0c;变量1&#xff0c;变量的定义2&#xff0c;变量的可变性3&#xff0c;变量的隐藏 二、数据类型1&#xff0c;标量类型2&#xff0c;复合类型 三&#xff0c;运算符1&#xff0c;算术运算符2&#xff0c;比较运算符3&#xff0c;逻辑运算…

KVM+SAN 如何实现多个主机访问同一个卷组

KVMSAN存储 KVM宿主机的HBA卡通过光纤线 <-----> 光纤交换机 <-----> SAN存储 联想SAN存储&#xff1a; 1、创建卷组 可使用卷组来创建可供主机访问的一个或多个卷。卷组是具有共同特性&#xff08;如 RAID 级别和容量&#xff09;的卷的容器。 2、创建卷 可创…

vue el-input 使用 回车键会刷新页面的问题

场景&#xff1a; vue项目中 在输入框输入字符并按下回车键搜索时&#xff0c;不会进行搜索&#xff0c; 而是会刷新页面 原因&#xff1a; 当form表单中只有一个input时&#xff0c;按下回车建会自动触发页面的提交功能&#xff0c; 产生刷新页面的行为 解决&#xff1a; 在…

【Matlab】绘图代码模板

matlab绘图代码模板 matlab官方帮助文档平面基本绘图(2D):单曲线图多曲线图 官网模板单曲线图条形图误差条形图极坐标图针状图散点图3D等高线图热图 进阶版绘图好看的折线图柱状图统计直方图离散数据杆状图二维曲线二维散点图二维渐变图条形图填充图多Y轴图二维场图三维曲线图三…

“华为杯”研究生数学建模竞赛2016年-【华为杯】A题:多无人机协同任务规划

目录 摘 要&#xff1a; 1. 问题重述 1 . 1 问题背景 1 . 2 需要解决的问题 2. 模型的假设 3. 符号说明 4. 问题一&#xff08;协同侦察&#xff09; 4 . 1 问题分析及模型建立 4 . 2 问题求解 4.2.1 加载 S-1 型载荷的无人机的航迹优化 4.2.2 加载 S-2 型载荷的无人机的航迹优…

【java安全】无Commons-Collections的Shiro550反序列化利用

文章目录 【java安全】无Commons-Collections的Shiro550反序列化利用Shiro550利用的难点CommonsBeanutils1是否可以Shiro中&#xff1f;什么是serialVersionUID&#xff1f;W 无依赖的Shiro反序列化利用链POC 【java安全】无Commons-Collections的Shiro550反序列化利用 Shiro5…

【JMeter】 使用Synchronizing Timer设置请求集合点,实现绝对并发

目录 布局设置说明 Number of Simulated Users to Group Timeout in milliseconds 使用时需要注意的点 集合点作用域 实际运行 资料获取方法 布局设置说明 参数说明&#xff1a; Number of Simulated Users to Group 每次释放的线程数量。如果设置为0&#xff0c;等同…

21.Netty源码之编码器

highlight: arduino-light Netty如何实现自定义通信协议 在学习完如何设计协议之后&#xff0c;我们又该如何在 Netty 中实现自定义的通信协议呢&#xff1f;其实 Netty 作为一个非常优秀的网络通信框架&#xff0c;已经为我们提供了非常丰富的编解码抽象基类&#xff0c;帮助我…

帕累托森林:IEEE Fellow唐远炎院士出任「儒特科技」首席架构官

导语 「儒特科技」作为一家拥有全球独创性极致化微内核Web引擎架构的前沿科技企业&#xff0c;从成立即受到中科院软件所和工信部的重点孵化及扶持&#xff0c;成长异常迅速。前不久刚正式官方融入中国五大根操作系统体系&#xff0c;加速为其下游上千家相关衍生OS和应用软件企…