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

DHS及HTTPS工作过程

Ubuntu虚拟机上遇见的问题:
proxychains curl http://www.goole.com 访问不了

root@zym-VMware-Virtual-Platform:/usr/local/vulhub-master/cacti/CVE-2022-46169# vim docker-compose.yml
主要用来记录和定义多个容器服务的配置和关系

在这里插入图片描述

image:vulhub/cacti:1.2.22 ————镜像地址
ports:-"8080:80" ————映射端口,将容器的这个端口映射到Ubuntu的这个端口上
depends_on:-db ————依赖db,说明安装了数据库

命令 docker ps -a 用于列出你系统上的所有 Docker 容器,包括运行中的和已停止的容器

root@zym-VMware-Virtual-Platform:/usr/local/vulhub-master/cacti/CVE-2022-46169# docker rm -f $(docker ps -aq)  ----清理容器
root@zym-VMware-Virtual-Platform:/usr/local/vulhub-master/cacti/CVE-2022-46169# docker images ----显示所有镜像
REPOSITORY     TAG       IMAGE ID       CREATED       SIZE
vulhub/shiro   1.0.0     d5dc19e5a241   2 years ago   331MB
vulhub/shiro   1.5.1     392023941693   4 years ago   289MBroot@zym-VMware-Virtual-Platform:/usr/local/vulhub-master/cacti/CVE-2022-46169# docker rmi $(docker images | awk '{print $3}')
docker images 会列出所有的镜像
awk '{print $3}' 会提取每个镜像的 IMAGE ID(第三列)
docker rmi $(...) 会将这些 IMAGE ID 传给 docker rmi 命令,从而删除对应的镜像docker-compose up -d ----拉取镜像

在这里插入图片描述

进入某个容器:
t@zym-VMware-Virtual-Platform:/usr/local/vulhub-master/cacti/CVE-2022-46169# docker exec -it 44fef5802a1c /bin/bash  
docker exec -it 容器id
如何验证:cd /ll ----查看是否有.dockerenv这个文件
退出:exit		

在这里插入图片描述

进入docker容器之后如果行进行一些操作,因为docker是最小化安装,很多软件是没有的,这时就有三种选择:1.update安装;2.将文件拷贝到自己电脑当中,修改完成之后再拷贝回去。3.VS code直接修改。推荐第三种方法,最简便。

拷贝文件:
docker cp 容器id:文件路径 本机地址

DNS解析

两种解析方法:
nslookup www.baidu.com
dig www.baidu.comwindows下只能用nslookup

在这里插入图片描述

过程:

1.首先查看本地DNS缓存表。如果这个域名对应的IP地址,这个解析过程就结束。

2.如果缓存表中没有的话,就去查看host文件(最适合劫持,Linux通常在/etc/hosts,而在 windows 中可以通过配置 C:\Windows\System32\drivers\etc\hosts 文件来设置)。如果host文件能找到的话就直接解析。

这两步是在本地电脑上完成的。

3.在host文件中找不到时,就要用到我们网络配置中的 “DNS 服务器地址” 了。操作系统会把这个域名发送给本地DNS服务器,如果可以命中,则解析结束。

4.如果本地DNS服务器没有命中,则会向根DNS服务器发送解析请求。

5.根DNS服务器会向本地DNS服务器发送一个顶级DNS服务器地址,如.com、.cn、.org等,全球只有13台左右。

6.根服务器向顶级DNS服务器发送解析请求。

7.接受请求的顶级 DNS 服务器查找并返回此域名对应的 Name Server 域名服务器的地址。

8.本地DNS服务器再向NameServer服务器发送解析请求,NameServer服务器返回正确的解析结果给本地服务器。

9.本地DNS服务器在收到正确的解析结果后,会缓存这个域名和IP的对应关系,缓存时间由TTL控制。

10.本地DNS服务器把解析的结果返回给本地电脑,本地电脑根据 TTL 值缓存在本地系统缓存中。

11.本地电脑得到IP之后想要访问网站(比如说百度),还需要与百度的服务器建立三次握手,三次握手成功以后才能请求访问百度这个网站,百度服务器收到以后才会把这个请求下发回来,这个时候才能访问百度网站。

客户端到本地DNS服务器是属于递归查询,而DNS服务器之间使用的交互查询就是迭代查询

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

主机在与百度服务器成功建立三次握手之后,客户端向服务器发送一个HTTP request的一个请求。

HTTPS

http由于是明文传输,存在三个风险:

  • 窃听风险
  • 篡改风险
  • 冒充风险

完整性、安全性、保密性

HTTPS在HTTP和TCP层之间加入了TLS协议,用来解决上述风险。

在这里插入图片描述
在这里插入图片描述

私钥加密公钥解密:签名(防篡改)

公钥加密私钥解密:加密

过程:
1.客户端和服务端进行三次握手,成功以后进行TLS握手。

2.客户端发送ClientHello报文,其中包含TLS版本号、客户端随机数C、密码套件(RSA)。服务端在收到后会回复一个ServerHello报文,其中包含TLS版本号、服务端随机数S、密码套件。然后再发送CA证书Cercificate以及ServerKeyExchange报文。

客户端证书验证流程:客户端在收到服务端的证书后,其中的包含了未被处理的原始信息和被Hash算法处理过又被CA私钥加密的信息。客户端用CA公钥解密后得到HASH值(H1),又将原始信息通过Hash算法计算得到H2,将H1和H2比较,一样则认为证书可靠,验证完成。

3.此时客户端会生成一个预加密密钥pre-master,再用服务端公钥D加密pre-master传送给服务端。

4.服务端用自己的私钥解密得到pre-master

5.双方利用客户端随机数C+服务端随机数S+pre-master得到会话密钥M。

6.之后双方改用密钥M进行加密通信与数据传输。

抓包:

在这里插入图片描述

http://www.lryc.cn/news/586643.html

相关文章:

  • 【Java Stream】基本用法学习
  • vue2入门(1)vue核心语法详解复习笔记
  • 算法学习笔记:18.拉斯维加斯算法 ——从原理到实战,涵盖 LeetCode 与考研 408 例题
  • 一扇门铃,万向感应——用 eventfd 实现零延迟通信
  • 14.使用GoogleNet/Inception网络进行Fashion-Mnist分类
  • 4. 观察者模式
  • Java行为型模式---观察者模式
  • Typecho分类导航栏开发指南:从基础到高级实现
  • 低代码引擎核心技术:OneCode常用动作事件速查手册及注解驱动开发详解
  • Pytorch实现感知器并实现分类动画
  • 深入理解观察者模式:构建松耦合的交互系统
  • 为什么玩游戏用UDP,看网页用TCP?
  • 【C++详解】STL-priority_queue使用与模拟实现,仿函数详解
  • 信息收集实战
  • 【读书笔记】《C++ Software Design》第九章:The Decorator Design Pattern
  • 设计模式:软件开发的高效解决方案(单例、工厂、适配器、代理)
  • 基于无人机 RTK 和 yolov8 的目标定位算法
  • 一文认识并学会c++模板(初阶)
  • AI 助力编程:Cursor Vibe Coding 场景实战演示
  • 基于 Redisson 实现分布式系统下的接口限流
  • 牛客网50题
  • 【C/C++】编译期计算能力概述
  • [Python] -实用技巧篇1-用一行Python代码搞定日常任务
  • python-range函数
  • 校园幸运抽(抽奖系统)测试报告
  • 第七章应用题
  • HT8313功放入门
  • HashMap的原理
  • 数据结构与算法之美:线索二叉树
  • 蒙特卡洛树搜索方法实践