渗透D1---基础知识回顾

news2024/11/23 9:01:34

端口:

http 80

https 443

ftp 20 21

telnet 23

ssh 22

DNS 53

DHCP 67 68

mail smtp 25

pop3 110

ladp 389 域控制器

3306 mysql 关系型

sqlserver 1433 c#

oracle 1521

3389 windows 远程连接端口

redis nosql 6379

编码介绍:

主要有两类: 一类为非Unicode编码;一类是Unicode编码;

常见编码种类:

1、ASCII码:

ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)

是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。

常见换算单位:

bit 位,计算机中最小的表示单位

8bit = 1bytes 字节,最小的存储单位,1bytes缩写为1B

1KB=1024B

1MB=1024KB

1GB=1024MB

1TB=1024GB

2、GBK 和 GB2312

对于我们来说能在计算机中显示中文字符是至关重要的,然而ASCII表里连一个偏旁部首也没有。

所以我们还需要一张关于中文和数字对应的关系表。一个字节只能最多表示256个字符,要处理中文显然一个字节是不够的,所以我们需要采用两个字节来表示,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。

3、Unicode

但最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。

现代操作系统和大多数编程语言都直接支持Unicode。

现在,分析一下ASCII编码和Unicode编码的区别:

ASCII编码是1个字节,而Unicode编码通常是2个字节。

字母A用ASCII编码是十进制的65,二进制的01000001;

字符0用ASCII编码是十进制的48,二进制的00110000;

4,、UTF-8

基于节约的原则,出现了把Unicode编码转化为“可变长编码”的UTF-8编码。

UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间了。如下所示:

5、总结

从上面的表格还可以发现,UTF-8编码有一个额外的好处,就是ASCII编码实际上可以被看成是UTF-8编码的一部分,所以,大量只支持ASCII编码的历史遗留软件可以在UTF-8编码下继续工作。

在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。

tabindex

class

id

DNS原理:

简介:DNS域名解析服务器

DNS(Domain Name System,域名系统),实质上就是域名和IP地址相互映射的联机分布式数据库系统;

作用:根据域名查出IP地址;

例子:若要访问一个地址为www.baidu.com的网页,则首先要通过dns查出他的IP地址是xxx.xxx.xxx.xx ,才得以访问;

域名服务器:

根域名服务器:(root name server)

最高层次,也是重要的;

任何一个根域名服务器都知道所有顶级域名服务器的域名和IP地址;

本地域名服务器将域名转换IP地址的过程中,只要自己无法转换,就首先求助于根域名服务器。

假定所有根域名服务器都挂了,则整个互联网的DNS系统也都挂了。

根域名服务器并不直接把待查询的域名直接转换成IP地址(根域名服务器也没有这种信息),而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。

顶级域名服务器:(TDL服务器)

负责管理在该顶级域名服务器注册的所有二级域名;

当收到DNS查询请求时,就给出相应的回答

(可能是最后的结果,也可能是下一步应当找的域名服务器的IP地址)

权限域名服务器:

DNS采用划分区的方法解决:

域名服务器数量过多,运行效率低下的现象;

一个服务器所管辖的(或者有权限的)范围叫做区;

每个区都设置相应的权限域名服务器,用来保存该区中所有主机的域名到IP地址的映射;

本地域名服务器:(local name server)

当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器;

当所要查询的主机也属于同一个本地ISP时,该本地域名服务器立即就能将所查询的主机名转换为IP地址,而不需要再访问其他域名服务器。

DNS解析流程:

递归查询 和 迭代查询;

递归查询:

主机向本地域名服务器查询一般都采用递归查询;

如果主机所询问的本地域名服务器不知道被查询域名的IP地址是什么的时候----->?

本地域名服务器就以DNS客户的身份向其他根域名服务器继续发送查询请求报文(即替该主机继续查询),而不是让主机自己进行下一步查询;

简而言之:别人帮本地域名服务器找去找

迭代查询:

本地域名服务器向根域名服务器的查询通常采用迭代查询

当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么直接给出所要查询的IP地址,要么告诉本地域名服务器下一步应该去哪一个域名服务器进行查询,然后让本地域名服务器进行后续的查询。

逐步按照域树的路径向下走直到节点,得到所要解析的域名的IP地址,然后把结果返回给发起查询的主机。

简而言之:让本地域名自己去查找

当然本地域名服务器也可以采用递归查询,这取决于最初的查询请求报文的设置是要使用哪一种查询方式。

解析流程:

解析实例:

假如客户端在浏览器的URL中输入y.abc.com,

即想要解析获取y.abc.com的IP地址。

(客户是第一次访问y.abc.com)

如果 本地域名服务器 采用迭代查询:(图a)

(1)客户端向 本地域名服务器(递归查询) 发出解析y.abc.com域名的请求。

本地域名服务器查看本地缓存,是否有缓存过y.abc.com域名,如果有直接返回给客户端;如果没有执行下一步;

(2)本地域名服务器采用迭代查询。它先向一个根域名服务器查询

(3)根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器dns.com的IP地址。

(4)本地域名服务器向顶级域名服务器dns.com进行查询。

(5)顶级域名服务器dns.com告诉本地域名服务器,下一步应查询的权限服务器dns.abc.com的IP地址。

(6)本地域名服务器向权限域名服务器dns.abc.com 进行查询。

(7)权限域名服务器dns.abc.com 告诉本地域名服务器,所查询的主机的IP地址。

(8)本地域名服务器最后把查询结果告诉m.xyz.com。

注:整个查询过程共用到了8个UDP报文;

如果 本地服务器采用 递归查询:(图b)

这里,本地域名服务器只需要向根域名服务器查询一次,

1、主机首先向其本地域名服务器进行递归查询。

2、本地域名服务器收到递归查询的委托后,也采用递归查询的方式向某个根域名服务器查询。

3、根域名服务器收到递归查询的委托后,也采用递归查询的方式向某个顶级域名服务器查询。

4、顶级域名服务器收到递归查询的委托后,也采用递归查询的方式向某个权限域名服务器查询。

当查询到域名对应的IP地址后,查询结果会在之前受委托的各域名服务器之间传递,最终传回给用户主机。

注:整个查询过程也是使用了8个UDP报文;

得到IP地址之后就要去访问该网站:

---->建立稳点且可靠的连接(TCP)从而进行三次握手Keepalive建立;

---->之后进行证书的匹配识别(HTTPS)

---->认证完毕之后将主机发送https-requset请求

---->请求完毕之后服务端将返回200OK证明请求成功

---->此时前端页面将渲染在客户端上;

DNS优化如何实现

1)增加DNS服务器数量

  减小服务器压力,当单位服务器需要处理的DNS请求数量较少时速度会更快;

2)全国多地分布DNS服务器

  用户网络访问速度跟用户计算机到服务器的距离有关,若可以让用户就近访问所在省份的服务器便可以加速DNS解析速度;

3)识别用户线路反馈相应线路IP

  当用户网络线路跟服务器网络线路一致时速度较快,而不一致时则较慢,如:用户使用电信的线路但服务器是联通的线路,这样就会造成用户访问网站速度下降,如果可以识别用户访问线路并反馈相应IP则会加速网站访问。

DNS为什么用UDP?

更正确的答案是 DNS 既使用 TCP 又使用 UDP。当进行区域传送(主域名服务器向辅助域名服务器传送变化的那部分数据)时会使用 TCP,因为数据同步传送的数据量比一个请求和应答的数据量要多,而 TCP 允许的报文长度更长,因此为了保证数据的正确性,会使用基于可靠连接的 TCP。

当客户端向 DNS 服务器查询域名 ( 域名解析) 的时候,一般返回的内容不会超过 UDP 报文的最大长度,即 512 字节。用 UDP 传输时,不需要经过 TCP 三次握手的过程,从而大大提高了响应速度,但这要求域名解析器和域名服务器都必须自己处理超时和重传从而保证可靠性。

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

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

相关文章

Git实现同一个项目多个版本

需求: 最近项目有这样一个需求,就是同一个项目要求给不同的两个客户,这两个客户需要的功能和界面不一样但基础功能一样,然后修改基础功能时这两个项目的基础功能要同时修改。避免同样的代码在两个项目上各自再开发一遍。 解决办…

前端JS识别二维码内容

原文&#xff1a;https://www.cnblogs.com/houxianzhou/p/15030351.html <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>图片二维码识别</title><script src"https://cdn.bootcss.com/jquery/3.4.1/jque…

如何在3ds max中创建可用于真人场景的巨型机器人:第 5 部分

推荐&#xff1a; NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. After Effects 中的项目设置 步骤 1 打开“后效”。 打开后效果 步骤 2 我有真人版 我在After Effects中导入的素材。这是将 用作与机器人动画合成的背景素材。 实景镜头 步骤 3 有背景 选定的素材…

halcon微积分原理生成卡尺,异形产品宽度测量

1.普通测量项目中&#xff0c;我们可以利用halcon的测量模型&#xff0c;例如add_metrology_object_line_measure。很方便的测量直线&#xff0c;圆&#xff0c;椭圆&#xff0c;矩形等。这些工具都有一个缺点是&#xff0c;需要提前绘制测量位置&#xff0c;然后利用仿射变换跟…

力扣1116.打印零与奇偶数--------题解

题目描述 现有函数 printNumber 可以用一个整数参数调用&#xff0c;并输出该整数到控制台。 例如&#xff0c;调用 printNumber(7) 将会输出 7 到控制台。 给你类 ZeroEvenOdd 的一个实例&#xff0c;该类中有三个函数&#xff1a;zero、even 和 odd 。ZeroEvenOdd 的相同实…

使用langchain与你自己的数据对话(二):向量存储与嵌入

之前我以前完成了“使用langchain与你自己的数据对话(一)&#xff1a;文档加载与切割”这篇博客&#xff0c;没有阅读的朋友可以先阅读一下&#xff0c;今天我们来继续讲解deepleaning.AI的在线课程“LangChain: Chat with Your Data”的第三门课&#xff1a;向量存储与嵌入。 …

java整合chatGPT

public void test_chatGPT() throws IOException {String pro "127.0.0.1";//本机地址int pro1 7890; //代理端口号//创建一个 HttpHost 实例&#xff0c;这样就设置了代理服务器的主机和端口。HttpHost httpHost new HttpHost(pro, pro1);//创建一个 RequestConf…

Appium+python自动化(二十)- Monkey(猴子)日志(超详解)

简介 日志是非常重要的&#xff0c;用于记录系统、软件操作事件的记录文件或文件集合&#xff0c;可分为事件日志和消息日志。具有处理历史数据、诊断问题的追踪以及理解系统、软件的活动等重要作用&#xff0c;在开发或者测试软系统过程中出现了问题&#xff0c;我们首先想到的…

macOS Monterey 12.6.8 (21G725) 正式版发布,ISO、IPSW、PKG 下载

macOS Monterey 12.6.8 (21G725) 正式版发布&#xff0c;ISO、IPSW、PKG 下载 本站下载的 macOS 软件包&#xff0c;既可以拖拽到 Applications&#xff08;应用程序&#xff09;下直接安装&#xff0c;也可以制作启动 U 盘安装&#xff0c;或者在虚拟机中启动安装。另外也支持…

Google 登录支付,Firebase 相关设置

登录sdk: https://developers.google.com/identity/sign-in/android/start?hlzh-cn 支付sdk: https://developers.google.com/pay/api/android/overview?hlzh-cn Firebase sdk: https://firebase.google.com/docs/android/setup?hlzh-cn 登录设置&#xff1a; 创建凭据&…

U盘做PE系统盘

下载微PE工具箱 网址&#xff1a;https://www.wepe.com.cn/ 下载好后可以看到一个.exe文件 安装PE系统 先插入U盘到电脑&#xff0c;然后打开微PE工具箱&#xff0c;选择安装到U盘 等待制作成功 这时候U盘会被分成两个分区&#xff0c;EFI分区是PE微系统所在的分区&a…

蓝桥杯专题-真题版含答案-【最大公共子串】【阿姆斯特朗数】【出售金鱼】【亲密数】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 &#x1f449;关于作者 专注于Android/Unity和各种游…

Android开发核心技术还是Framework~

这几年&#xff0c;社会问题层出不穷&#xff0c;最头疼的就是民生就业问题&#xff0c;大厂裁员&#xff0c;小厂倒闭&#xff0c;每年大批量的应届毕业生也涌入就业市场。 近几日&#xff0c;统计局也发布了就业相关数据&#xff0c;全国失业青年达600多万&#xff0c;面对此…

Solr原理剖析

一、简介 Solr是一个高性能、基于Lucene的全文检索服务器。Solr对Lucene进行了扩展&#xff0c;提供了比Lucene更为丰富的查询语言&#xff0c;并实现了强大的全文检索功能、高亮显示、动态集群&#xff0c;具有高度的可扩展性。同时从Solr 4.0版本开始&#xff0c;支持SolrCl…

《Ansible自动化工具篇:ubuntu操作系统基于ansible工具一键远程离线部署之K8S1.24.12二进制版集群》

一、部署背景 由于业务系统的特殊性&#xff0c;我们需要针对不同的客户环境部署二进制版K8S集群&#xff0c;由于大都数用户都是专网环境&#xff0c;无法使用外网&#xff0c;为了更便捷&#xff0c;高效的部署&#xff0c;针对业务系统的特性&#xff0c;我这边编写了 基于a…

pytest 核心库 pluggy 详解

目录 前言&#xff1a; 代码案例 实例化: 添加到钩子定义中 (add_hookspecs): 注册插件 (register): 传递实现插件的实体类对象 运行插件 pm.hook.myhook(arg11, arg22):本质就是调用对象的call方法 前言&#xff1a; pytest 是一个广泛使用的自动化测试框架&#xff0c…

明星代言的益处:提升品牌价值与销售增长的有力策略

​在当今竞争激烈的商业世界中&#xff0c;企业为了脱颖而出&#xff0c;吸引更多目标消费者的关注&#xff0c;常常需要运用一系列巧妙的市场营销策略。而其中&#xff0c;明星代言无疑是一种备受瞩目的行之有效的手段。通过让明星成为产品或服务的代言人&#xff0c;企业能够…

freeBSD:(虚拟机和实体机)官网下载——安装

freebsdiso镜像获取 获取 FreeBSD | The FreeBSD Project 官网 根据你 计算机型号找对应的镜像&#xff0c;现在大部分都是amd64的 找寻你需要的镜像&#xff0c;我这里选择4g的镜像&#xff0c;点击即可下载 刻录u盘&#xff08;虚拟机用户可以跳过&#xff09; 这里我们使…

C# 存在重复元素

217 存在重复元素 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 &#xff0c;返回 true &#xff1b;如果数组中每个元素互不相同&#xff0c;返回 false 。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3,1] 输出&#xff1a;true 示例 2&#xff1a; 输…

【100天精通python】Day14:python 标准模块,自定义模块

目录 1 python 模块 2 标准模块 2.1 常见的标准模块 2.2 标准模块的导入 3 自定义模块 3.1 创建模块 3.2 导入模块 3.2.1 使用import 语句导入模块 3.2.2 使用from... import 语句导入模块 3.2.3 导入模块的全部定义 3.2.4 导入两个包含同名函数的模块 模块与函数的…