網絡傳輸過程

https傳輸過程

客戶端發起HTTPS請求


操作:用戶在瀏覽器輸入 https://www.example.com
技術細節:
客戶端向服務器443端口發起TCP連接
發送Client Hello消息(包含支持的TLS版本、加密套件、客戶端隨機數)
安全意義:建立安全通信的起點


服務器返回數字證書


操作:服務器響應并發送數字證書
技術細節:
包含公鑰A(通常為RSA/ECC公鑰)
證書包含:域名、有效期、頒發機構、公鑰信息
示例證書結構:
plaintext
證書版本:v3
序列號:00:aa:bb:cc...
簽名算法:sha256WithRSA
頒發者:CN=DigiCert Global CA
有效期:2023-01-01 至 2024-12-31
主體:CN=www.example.com
公鑰:RSA 2048位
X509v3擴展:
Subject Alternative Name: DNS:example.com
安全意義:提供服務器身份憑證


客戶端驗證證書


操作:客戶端驗證證書合法性
驗證流程:
檢查證書有效期
驗證證書鏈(從服務器證書→中間CA→根CA)
檢查CRL/OCSP吊銷狀態
驗證域名匹配(防止釣魚網站)
驗證失敗處理:
瀏覽器顯示警告(如NET::ERR_CERT_INVALID)
用戶可選擇是否繼續訪問


生成會話密鑰


操作:客戶端生成隨機對稱密鑰
技術細節:
生成256位隨機數(稱為Pre-Master Secret)
在TLS 1.3中稱為"Shared Secret"
結合客戶端隨機數、服務器隨機數生成最終會話密鑰
math
會話密鑰 = HKDF_Expand(
HKDF_Extract(Pre-Master, "TLS Key"),
ClientRandom + ServerRandom,
32
)
安全意義:確保每次會話使用唯一密鑰


加密傳輸會話密鑰


操作:用公鑰A加密會話密鑰
技術細節:
使用RSA加密:Ciphertext = (KEY^e) mod n
或使用ECDH密鑰交換(更安全的前向保密)
TLS 1.3中默認使用ECDHE密鑰交換
安全意義:防止中間人獲取對稱密鑰


服務器解密會話密鑰


操作:服務器用私鑰B解密
技術細節:
RSA解密:KEY = (Ciphertext^d) mod n
此時雙方擁有相同的會話密鑰
安全意義:建立端到端的加密通道基礎


切換加密模式


操作:雙方發送ChangeCipherSpec
技術細節:
客戶端→服務器:ChangeCipherSpec通知
服務器→客戶端:ChangeCipherSpec響應
啟用協商好的加密套件(如AES_256_GCM)
安全意義:正式啟用加密通信


加密數據傳輸(客戶端→服務器)


操作:客戶端發送加密的HTTP請求
技術細節:
python
# 加密過程
ciphertext = AES_GCM_encrypt(
key=會話密鑰,
plaintext="GET / HTTP/1.1...",
nonce=隨機數,
auth_data=附加數據
)
實際數據包:
hex
17 03 03 00 30 ? # TLS頭部
01 02 03 ... 3A ?# 加密后的應用數據
60 7B 91 A5 ? ? ?# 認證標簽(GCM)


加密數據傳輸(服務器→客戶端)


操作:服務器返回加密的HTTP響應
技術細節:
使用相同會話密鑰解密請求
生成加密響應:
python
response = "HTTP/1.1 200 OK..."
encrypted_res = AES_GCM_encrypt(key, response)
性能優化:
TLS會話恢復(Session Tickets)
0-RTT數據(TLS 1.3特性)


連接關閉


操作:加密通信結束
技術細節:
發送加密的close_notify警報
安全關閉TCP連接
安全意義:防止截斷攻擊
關鍵安全機制總結:
雙階段加密:
非對稱加密:安全傳輸會話密鑰(RSA/ECDH)
對稱加密:高效加密業務數據(AES/ChaCha20)
證書信任體系:
三級驗證(服務器證書→中間CA→根CA)
OCSP在線證書狀態檢查
前向保密(PFS):
ECDHE密鑰交換
每次會話生成唯一密鑰
即使私鑰泄露,歷史會話仍安全
完整性保護:
HMAC-SHA256消息認證
AEAD模式(如AES-GCM)內置完整性校驗

DNS傳輸過程

客戶端發起DNS查詢

操作:用戶在瀏覽器輸入域名(如 www.example.com)
技術細節:
生成DNS查詢報文(UDP 53端口)
報文結構:
plaintext
Header:
ID: 0x4d20 ? ? ?// 隨機事務ID
Flags: RD=1 ? ? ?// 遞歸查詢請求
Questions: 1
Question Section:
QNAME: www.example.com
QTYPE: A ? ? ? ?// 請求IPv4地址
QCLASS: IN ? ? ?// Internet類
協議選擇:
默認使用UDP(報文<512字節)
大響應自動切換TCP

解析器檢查緩存

操作:本地DNS解析器查詢緩存
檢查內容:
瀏覽器DNS緩存
操作系統DNS緩存
路由器DNS緩存
ISP DNS服務器緩存
緩存時效:
根據TTL(Time to Live)值決定
典型TTL值:
根域名:48小時
TLD域名:24小時
主機記錄:5分鐘-1小時

查詢根DNS服務器

操作:解析器向根DNS服務器發起查詢
技術細節:
全球13組根服務器(a.root-servers.net ~ m.root-servers.net)
響應包含TLD服務器信息:
plaintext
Authority Section:
com. ? ?172800 ?IN ?NS ?a.gtld-servers.net.
com. ? ?172800 ?IN ?NS ?b.gtld-servers.net.
Additional Section:
a.gtld-servers.net. ?A ?192.5.6.30
b.gtld-servers.net. ?A ?192.33.14.30
關鍵點:根服務器不返回最終IP,只引導至正確TLD

查詢頂級域(TLD)DNS

操作:解析器向.com TLD服務器查詢
技術細節:
TLD服務器管理特定后綴(.com, .org, .cn等)
響應包含權威DNS信息:
plaintext
Authority Section:
example.com. ?86400 ?IN ?NS ?ns1.example.com.
example.com. ?86400 ?IN ?NS ?ns2.example.com.
Additional Section:
ns1.example.com. ?A ?192.0.2.1
ns2.example.com. ?A ?192.0.2.2

查詢權威DNS服務器

操作:解析器向域名注冊的權威DNS查詢
技術細節:
權威服務器持有最終DNS記錄
返回A記錄(IPv4)或AAAA記錄(IPv6):
plaintext
Answer Section:
www.example.com. ?300 ?IN ?A ?93.184.216.34
www.example.com. ?300 ?IN ?A ?93.184.216.35 ?// 可能多個IP
記錄類型:
A:IPv4地址
AAAA:IPv6地址
CNAME:別名記錄(如www→example.com)
MX:郵件服務器
TXT:文本驗證信息

緩存并返回結果

操作:解析器緩存結果并返回客戶端
緩存機制:
分層緩存:本地→ISP→公共DNS
緩存污染防護:
隨機事務ID(16位)
隨機源端口(DNS over TCP)
響應報文:
plaintext
Header:
ID: 0x4d20
Flags: QR=1, RA=1 ?// 響應+遞歸可用
Answer RRs: 1
Answer Section:
www.example.com. ?300 ?IN ?A ?93.184.216.34

客戶端建立連接

操作:客戶端使用IP建立TCP連接
后續流程:
TCP三次握手
如果是HTTPS:TLS握手
HTTP請求/響應
關鍵點:DNS只負責域名→IP轉換,不參與后續通信

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/88980.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/88980.shtml
英文地址,請注明出處:http://en.pswp.cn/web/88980.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【LeetCode 3440. 重新安排會議得到最多空余時間 II】解析

目錄LeetCode中國站原文原始題目題目描述示例1&#xff1a;示例2&#xff1a;示例3&#xff1a;示例4&#xff1a;講解1. 新規則&#xff0c;新挑戰2. 收益從何而來&#xff1f;兩種可能性的誕生3. 我們的終極策略4. 當策略被壓縮到極致第一次遍歷&#xff1a;從左到右&#xf…

C++卸載了會影響電腦正常使用嗎?解析C++運行庫的作用與卸載后果

卸載C運行庫可能導致常用軟件癱瘓&#xff01;這些不起眼的組件為Photoshop、游戲等提供關鍵支持&#xff0c;多個版本共存是正常現象&#xff0c;隨意清理會引發程序報錯甚至閃退。一、前言&#xff1a;C不是“編程語言”那么簡單很多用戶在電腦中看到“Microsoft Visual C Re…

前端vue對接海康攝像頭流程

1、拆包攝像頭、插電源2、下載SADP&#xff08;設備網絡搜索&#xff09;&#xff0c;連接設備&#xff0c;獲取ip地址 下載地址&#xff1a;https://partners.hikvision.com/tools 找到自己的設備類型DS開頭3、攝像頭鏈接wifi、網線 登錄設備預覽配置網頁-配置網絡-可預覽等 4…

org.casic.javafx.control.PaginationPicker用法

org.casic.javafx.control.PaginationPicker 是 CASIC&#xff08;或某位作者&#xff09;基于 JavaFX 自制的分頁控件&#xff0c;功能比官方 Pagination 更完整&#xff0c;支持&#xff1a;首頁 / 上一頁 / 下一頁 / 尾頁按鈕頁碼快速跳轉每頁條數自定義總數據量、當前頁碼、…

下載 | Win10 2021精簡版,預裝應用極少!(7月更新、Win 10 IoT LTSC 2021版、適合老電腦安裝)

? 【資源A047】Win10 IoT LTSC 2021精簡版 &#x1f536;Windows 10 IoT 企業版 LTSC 2021 正式版更新中。LTSC是長期服務渠道版本&#xff0c;網友俗稱“老壇酸菜版”&#xff0c;相當于精簡版Win10&#xff0c;精簡了很多預裝應用&#xff0c;同時更新頻率也更低&#xff0c…

Web3:Foundry使用指南

Foundry目錄1. 前言2. 什么是Foundry3. 安裝與環境配置1. 安裝工具2. 重新加載 .bashrc3. 檢查環境變量 PATH4. 手動運行 foundryup4. Foundry的基本使用1.創建一個新的Foundry項目2. 編寫智能合約3. 編譯智能合約4. foundry.toml 主要作用5.部署智能合約5. Cli參考1. forge2. …

uniapp+unipush推送配置

APP推送記錄 一、使用框架 Uniappunipush推送插件 二、需要提前準備的 1.準備自有證書 可以用這個網站—香蕉云編&#xff08;用于安卓 ios證書生成&#xff09;https://www.yunedit.com/update/androidzhengshu/list 安卓證書生成后&#xff0c;下載證書&#xff0c;除了原文…

CentOS系統哪些版本?分別適用于那些業務或網站類型?

CentOS&#xff08;Community ENTerprise Operating System&#xff09;是一款開源的企業級 Linux 操作系統&#xff0c;因其穩定性、安全性和長期支持周期&#xff0c;廣泛應用于服務器環境。以下是 CentOS 的主要版本及其適用場景的詳細介紹。1. CentOS 主要版本CentOS 的版本…

【前端】【Iconify圖標庫】【vben3】createIconifyIcon 實現圖標組件的自動封裝

&#x1f9e9; Vue 圖標管理全攻略&#xff1a;Iconify createIconifyIcon 封裝最佳實踐 在前端項目中&#xff0c;圖標無處不在。按鈕需要圖標&#xff0c;導航需要圖標&#xff0c;提示信息也少不了圖標。如何優雅、高效地使用圖標&#xff0c;是每個中大型 Vue 項目不可回…

數據可視化全流程設計指南

一、需求定義階段1. 明確核心目標回答關鍵問題&#xff1a;2. 確定數據特性import pandas as pd data pd.read_csv(your_data.csv) print(f""" 數據概覽: - 維度: {data.shape[1]}列 {data.shape[0]}行 - 類型分布: {data.dtypes.value_counts()} - 缺失值: …

Llama系列:Llama1, Llama2,Llama3內容概述

前言 參考視頻&#xff1a;大模型修煉之道(三): Llama系列講解 Llama1&#xff0c;Llama2, Llama3_嗶哩嗶哩_bilibili 本博客是基于視頻的學習筆記&#xff0c;以及相關知識點的擴充 Llama1 1. 動機 使用完全開源數據&#xff0c;性能媲美GPT3研究開源&#xff0c;禁止商用…

Docker 搭建本地Harbor私有鏡像倉庫

Docker 搭建本地Harbor私有鏡像倉庫 一、Harbor 核心價值與企業級特性解析 在容器化技術普及的背景下&#xff0c;鏡像倉庫作為容器生命周期的核心組件&#xff0c;其可靠性直接影響開發效率與生產穩定性。Docker 官方的 Registry 雖能實現基礎鏡像存儲&#xff0c;但存在明顯短…

AI 助力:如何批量提取 Word 表格字段并導出至 Excel

在日常辦公中&#xff0c;我們經常需要處理大量的 Word 文檔中的表格數據&#xff0c;如學生登記表、客戶信息表、報名表等。然而這些表格往往格式各異、字段命名不統一&#xff08;如“姓名”“名字”“Name”&#xff09;&#xff0c;甚至含有合并單元格或多余空白行&#xf…

在 Azure Linux 上安裝 RustFS

本文分享在 Azure Linux 上安裝并使用對象存儲 RustFS 的過程。 關于 RustFS RustFS 是一款用 Rust 語言編寫的分布式存儲系統&#xff0c;兼容 S3 協議&#xff0c;是 MinIO 的國產化平替。詳情可以前往 RustFS 官網。目前&#xff0c;RustFS 支持二進制、Docker 安裝方式&am…

實現在線預覽pdf功能,后臺下載PDF

<!-- PDF預覽模態框 --><n-modalv-model:show"pdfModalVisible"title"投訴統計報告預覽":closable"false":mask-closable"false"positive-click"closePdfModal"positive-text"關閉":width"900"…

華為VS格行VS中興VS波導隨身WIFI6怎么選?流量卡OR隨身WIFI,長期使用到底誰更香?

在移動互聯時代&#xff0c;流量焦慮成為現代人的通病。面對"辦流量卡還是隨身WiFi"的抉擇&#xff0c;許多人陷入兩難。本文從實際需求出發&#xff0c;用數據和場景幫你精準決策&#xff0c;尤其這五類人群建議直接選擇正規隨身WiFi。一、這五類人&#xff0c;隨身…

AI網絡搜索

作為AI應用程序開發人員在了解函數調用&#xff08;Function Calling&#xff09;特性調用本地函數時可能注意到列表型參數tools中每一個元素都攜帶有一個type值。而在大多數函數調用示例程序中&#xff0c;這個type值一直被設定為“function”&#xff0c;這意味著它還可能存在…

39.Sentinel微服務流量控制組件

雪崩問題 微服務調用鏈路中某個服務故障,引起整個鏈路中的所有微服務都不可用。 解決方案 1.超時處理:設置一個超時時間,請求超過一定時間沒有響應就返回錯誤信息,不會無休止的等待。(只能起到緩解作用,并不能從根本上解決問題) 2.艙壁模式:限定每個業務能使用的線程…

基于hadoop的競賽網站日志數據分析與可視化(下)

【基于hadoop的競賽網站日志數據分析與可視化&#xff08;上&#xff09;】講解了如何用hadoop對數據進行初步處理&#xff0c;本篇主要講解用python對結果數據進行可視化分析。 ------------------------------------------------------------------------------------------…

Python爬蟲打怪升級:數據獲取疑難全解析

一、引言 **??? 在大數據時代,數據就是價值的源泉。而 Python 爬蟲,作為數據獲取的得力助手,憑借 Python 簡潔的語法和豐富強大的庫,在眾多領域發揮著重要作用。無論是電商領域的價格監測、市場調研中的數據收集,還是學術研究里的文獻獲取,Python 爬蟲都能大顯身手。…