5.Android逆向協議-初識HTTP和HTTPS協議

免責聲明:內容僅供學習參考,請合法利用知識,禁止進行違法犯罪活動!

內容參考于:微塵網校

上一個內容:4.Android逆向協議-詳解二次打包失敗解決方案

從現在開始正式進入協議分析了。

首先客戶端與服務端之間是如何通信的?實際上就是客戶端向服務端發送一個網絡請求(HTTP、UDP、TCP請求),服務端收到請求之后一般會給客戶端返回一些數據(服務端給客戶端發送一些數據),然后客戶端收到這些數據之后一般會解析、處理這些數據,這就是客戶端與服務端之間的通信。

最常見的就是瀏覽器,當輸入一個網址,瀏覽器會顯示一些畫面(圖片、文字、視頻),這些畫面就是服務端返回的數據。

比如輸入 CSDN計算機王然后按搜索按鈕,按了搜索按鈕就會給服務端發送請求,瀏覽器都是HTTP、HTTPS請求,然后服務端會根據 CSDN計算機王 這個關鍵字返回與它相關的數據

返回的相關數據(不打馬賽克會被搬),如下圖的畫面就是服務端返回給客戶端數據之后,客戶端處理之后的結果

然后協議是什么?協議就是一種規則,客戶端與服務端通信,客戶端給服務端發送請求,請求中會告訴服務端它想要什么,比如給服務端發送一個1表示要搜索的數據,2表示每天熱點新聞的數據,這個1和2這種的數據就是規則的實現,只要都按照這個規則那數據就是正常的。

然后是客戶端與服務端的連接,連接實際上是訪問服務器的ip地址和端口(它就是一個數字,等后面分析過程中就可以看到了現在沒法解釋的有畫面感),比如 www.baidu.com 這個是百度搜索引擎的網址,但它實際上是訪問的百度公司的服務器上的ip和端口

然后網絡協議一般指的是osi七層模型,它只是個理論,如下圖客戶端給服務端發請求 與 服務端給客戶端發請求協議的過程,經過這樣的過程(規則、協議)客戶端與服務端就可以正常的通信了

然后基于osi七層模型實現出了TCP/IP協議,最常用的就是TCP/IP協議,它只用了osi模型中的4個,分別是應用層、傳輸層、網絡層、鏈路層

應用層實際上的協議實現:

http、ftp、tftp、dns、smtp等,常用的就是http協議

傳輸層實際上的協議實現:

TCP、UDP

網絡層實際上的協議實現:

IP等

鏈路層實際上的協議實現:它是與網絡連接有關

幀中繼 (Frame Relay)、點對點、以太網、無線局域網

上方每層具體的實現沒有細說,原因對于逆向來說沒啥用,只要知道有這種東西就行,就算現在知道是什么了也不會用

然后常用的請求方式,POST、GET

POST:用于客戶端提交數據給服務端,它的數據在body中,可傳輸大數據

GET:用于客戶端獲取服務端上的數據,它的數據在header中(網址連接里),不能傳輸大數據

如下圖,輸入www.baidu.com然后回車,這就屬于GET請求,GET、POST后面開始分析協議的時候會經常見到,所以現在不理解也沒事,后面分析的時候看看它們具體是什么東西就能懂了

然后是服務器返回數據的狀態碼,就是說給服務端發送一個請求,這個請求有沒有發送成功?狀態碼就是用來解決這個問題的

創建的狀態碼

HTTP協議簡單說明

http它是應用層,使用tcp協議建立連接,也就是客戶端與服務端通過tcp進行連接,連接之后使用http協議 發送請求、接收請求

http分兩種:普通協議(http)、安全協議(https)

http通俗講就是數據(請求)明文傳輸、https是數據(請求)加密之后傳輸

下圖中ssl、tls知道有這個東西就行,我們用不到,操作系統都實現好了

加密算法,在協議分析非常常見

它有對稱加密、非對稱加密、哈希算法

對稱加密:

有流式、分組兩種,加密和解密都是使用同一個秘鑰,一般使用分組

它的加密常見的有:DES、AES-GCM、ChaCha2--Poly1305等,常用DES、AES-GCM

非對稱加密:

加密使用的秘鑰和解密使用的秘鑰是不一樣的,分別稱為公鑰、私鑰,公鑰和算法是公開的,私鑰是保密的,它性能低、安全性超強、加密的數據長度有限

它的加密常見的有:RSA、DSA、ECDSA、DH、ECDHE,常用RSA、DSA

對稱加密相當于一個門用一把鑰匙開門和鎖門,非對稱加密相當于鎖門有鎖門的鑰匙,開門有開門的鑰匙

哈希算法:

將任意長度的信息轉換為較短的固定長度的值,通過數據加密后會變小,它的算法不可逆,就是只能加密不能解密

常用算法:MD5、SHA-1、SHA-2、SHA-256,常用的是MD5、SHA-1

數字簽名:

數字簽名就是在數據的后面再加上一段內容(這個內容是經過哈希后的,這個內容被稱為數字簽名),這樣可以證明信息沒有被修改過

在HTTPS協議中它會使用非對稱加密算法加密對稱加密的秘鑰,然后用對稱加密算法加密數據,這樣的結合使用


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

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

相關文章

tkinter拖入txt文本并顯示

tkinter拖入txt文本并顯示 效果代碼 效果 代碼 import tkinter as tk from tkinter import scrolledtext from tkinterdnd2 import DND_FILES, TkinterDnDdef drop(event):file_path event.data.strip({})if file_path.endswith(.txt):with open(file_path, r, encodingutf-8…

Keepalived安裝-單節點

1.服務器信息 服務器版本服務器IPkeepalived版本安裝用戶CentOS Linux release 7.9.2009 (Core)192.168.10.244keepalived-2.2.8.tar.gzrootLinux常規基礎配置參考: Linux常規基礎配置_linux基礎配置-CSDN博客 2.keepalived安裝 -->進入opt目錄,創建keepalived子目錄 …

libpng warning iCCP cHRM chunk does not match sRGB警告解決指南

libpng warning: iCCP: cHRM chunk does not match sRGB警告解決指南 一、問題溯源 當使用 OpenCV 讀取 PNG 圖片時,出現了以下警告: libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: cHRM chunk does not match sRGB這些…

Seatunnel本地模式快速測驗

前言 SeaTunnel(先前稱為WaterDrop)是一個分布式、高性能、易于擴展的數據集成平臺,旨在實現海量數據的同步和轉換。它支持多種數據處理引擎,包括Apache Spark和Apache Flink,并在某個版本中引入了自主研發的Zeta引擎…

在Python asyncio中如何識別協程是否被block了

現在asyncio在Python中的使用越來越廣泛了,但是很多人對于協程(corotine)的一些使用方式還不太熟悉。在這篇文章中,我將會介紹如何識別協程是否被block了,并以常用的HTTP網絡庫requests/httpx為例來說明如何避免協程被block的問題。 為什么協程會被block 在Python中,可…

Django學習第二天

啟動項目命令 python manage.py runserver 動態獲取當前時間 javascript實現數據動態更新代碼 <script>setInterval(function() {var currentTimeElement document.getElementById(current-time);var currentTime new Date();currentTimeElement.textContent Curren…

經典的卷積神經網絡模型 - ResNet

經典的卷積神經網絡模型 - ResNet flyfish 2015年&#xff0c;何愷明&#xff08;Kaiming He&#xff09;等人在論文《Deep Residual Learning for Image Recognition》中提出了ResNet&#xff08;Residual Network&#xff0c;殘差網絡&#xff09;。在當時&#xff0c;隨著…

【List】判斷集合相等、集合拷貝

【List】判斷集合相等、集合拷貝 【一】判斷集合是否相等【1】☆使用list中的containAll【2】使用for循環遍歷contains方法【3】將list先排序再轉為String進行比較【4】使用list.retainAll()方法【5】使用MD5加密方式【6】轉換為Java8中的新特性steam流再進行排序來進行比較 【…

AI數字人直播源碼出售價格公布!

隨著數字人行業的興起&#xff0c;以數字人直播為代表的應用場景逐漸成為人們日常生活中不可分割的一部分&#xff0c;再加上艾媒研究數據顯示&#xff0c;超五成以上的被調查群體的企業使用過虛擬人技術&#xff0c;超三成被調查群體的企業計劃使用虛擬人技術等結論的公布&…

python-圖像模糊處理(賽氪OJ)

[題目描述] 給定 n 行 m 列的圖像各像素點的灰度值&#xff0c;要求用如下方法對其進行模糊化處理&#xff1a; 1. 四周最外側的像素點灰度值不變。 2. 中間各像素點新灰度值為該像素點及其上下左右相鄰四個像素點原灰度值的平均&#xff08;四舍五入&#xff09;輸入&#xff…

【C語言】inline 關鍵字

在C語言中&#xff0c;inline關鍵字用于建議編譯器對函數進行內聯展開&#xff0c;而不是像普通函數一樣調用。內聯函數的目的是減少函數調用的開銷&#xff0c;特別是對于簡單的、頻繁調用的函數。 內聯函數的定義和使用 定義內聯函數 要定義一個內聯函數&#xff0c;需要在…

《代號鳶》國服,能否推動國乙市場重新洗牌?

靈犀互娛《如鳶》順利拿到版號&#xff0c;再次攪渾了國乙市場這潭水。 六月份游戲版號審批公布后&#xff0c;靈犀互娛運營的《如鳶》引起了關注&#xff0c;這個與《代號鳶》原名《三國志如鳶》雷同的名字&#xff0c;竟然讓《代號鳶》玩家大面積破防了。 其實目前關于《如…

for循環中list觸發fast-fail或不觸發的原理和方法

Iterable和Iterator Iterator接口位于的位置是java.util.Iterator&#xff0c;它主要有兩個抽象方法供子類實現。hasNext()用來判斷還有沒有數據可供訪問&#xff0c;next()用來訪問下一個數據。 集合Collection不是直接去實現Iterator接口&#xff0c;而是去實現Iterable接口…

【Python】字典練習

python期考練習 目錄 1. 首都名?編輯 2. 摩斯電碼 3. 登錄 4. 學生的姓名和年齡?編輯 5. 電商 6. 學生基本信息 7. 字母數 1. 首都名 初始字典 (可復制) : d{"China":"Beijing","America":"Washington","Norway":…

HCM智能人力資源系統存在命令執行漏洞Getshell

0x01 閱讀須知 技術文章僅供參考&#xff0c;此文所提供的信息只為網絡安全人員對自己所負責的網站、服務器等&#xff08;包括但不限于&#xff09;進行檢測或維護參考&#xff0c;未經授權請勿利用文章中的技術資料對任何計算機系統進行入侵操作。利用此文所提供的信息而造成…

防爆對講終端是什么?在哪些行業中應用廣泛?

防爆對講終端是一種特殊設計的通信設備&#xff0c;它具備防爆性能和可靠的通信功能&#xff0c;確保在存在爆炸性氣體或粉塵的危險環境中使用時不會引發爆炸或火災等危險情況。這種設備通過特殊的設計和防護措施&#xff0c;如采用防爆材料、防靜電、絕緣、阻燃材料等&#xf…

ABAQUS軟件天津正版代理商億達四方:創新技術,驅動產業升級

在環渤海經濟圈的核心地帶——天津&#xff0c;隨著智能制造與高新技術產業的蓬勃發展&#xff0c;對高端仿真軟件的需求日益增長。億達四方&#xff0c;作為ABAQUS在天津的官方正版代理商&#xff0c;憑借其深厚的行業經驗和卓越的服務體系&#xff0c;正為這片熱土上的科研機…

2024年度濰坊市職業技能大賽——網絡搭建(網絡與信息安全管理員)職業技能競賽樣題

2024年度濰坊市職業技能大賽 ——網絡搭建&#xff08;網絡與信息安全管理員&#xff09;職業技能競賽樣題 網絡搭建職業技能競賽組委會 2024年6月 一、項目簡介 &#xff08;一&#xff09;競賽須知 1.技能操作比賽時間150分鐘&#xff0c;你需要合理分配時間。 2.如果沒…

Hive常用的內置函數

文章目錄 聚合類1.指定列值的數目2.指定列值求和3.最大值4.最小值5.平均值6.中位數函數7.分位數函數 數值類1.取整函數Round(a)2.指定精度取整ROUND(double a,int b)3.向上取整FLOOR()4.向下取整CEIL()5.隨機數 rand()6.絕對值函數 日期類獲取當前日期獲取當前時間戳日期前后日…

C++:枚舉類的使用案例及場景

一、使用案例 在C中&#xff0c;枚舉類&#xff08;也稱為枚舉類型或enum class&#xff09;是C11及以后版本中引入的一種更加強大的枚舉類型。與傳統的枚舉&#xff08;enum&#xff09;相比&#xff0c;枚舉類提供了更好的類型安全性和作用域控制。下面是一個使用枚舉類的案…