当前位置: 首页 > 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.xdnf.cn/news/1117963.html

相关文章:

  • JSON/AJAX/XHR/FetchAPI知识点学习整理
  • 代码随想录算法训练营第三十二天|动态规划理论基础、LeetCode 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
  • std::sort的核心设计思想
  • 代码随想录算法训练营第十七天
  • MongoDB数据基本介绍
  • 从 Intel MacBook 迁移到 ARM MacBook 的完整指南
  • Windows怎样同步时间服务器?
  • 【网络实验】-BGP选路原则-11条
  • 攻防世界——Web题 very_easy_sql
  • 嵌入式 Linux开发环境构建之安装 SSH 软件
  • Spring AI 项目实战(十六):Spring Boot + AI + 通义万相图像生成工具全栈项目实战(附完整源码)
  • mapstruct与lombok冲突原因及解决方案
  • 2025年渗透测试面试题总结-2025年HW(护网面试) 44(题目+回答)
  • vue2入门(1)vue核心语法详解复习笔记
  • Agent篇
  • [Linux入门 ] RAID存储技术概述
  • 面向对象设计模式详解
  • 基于 STM32H743VIT6 的边缘 AI 实践:猫咪叫声分类 CNN 网络部署实战(已验证)中一些bug总结
  • OSPF 基础实验
  • 项目合作复盘:如何把项目经验转化为可复用资产
  • pthread_mutex_unlock函数的概念和用法
  • [办公及工程版浏览器]_Google Chrome 138.0.7204.101全屏启动插件
  • 专业PPT图片提取工具,操作简单
  • 欧拉系统安装UKUI桌面环境
  • spring--xml注入时bean的property属性
  • CentOS 7 升级系统内核级库 glibc 2.40 完整教程
  • 前四天综合总结
  • 事务失效场景@Transactional
  • Vue单文件组件与脚手架工程化开发
  • [特殊字符]使用 Nginx 将 HTTP 重定向到 HTTPS