@_小沫 感覺好像沒get到點(diǎn)子,如下面這段話:
截獲真實(shí)客戶端的HTTPS請(qǐng)求,偽裝客戶端向真實(shí)服務(wù)端發(fā)送HTTPS請(qǐng)求
接收真實(shí)服務(wù)器響應(yīng),用Charles自己的證書偽裝服務(wù)端向真實(shí)客戶端發(fā)送數(shù)據(jù)內(nèi)容
我的意思是, 如果Charles作為中間商能代替client與服務(wù)器進(jìn)行通信, 那是不是可以理解Charles==client = true? 那么Charles代替客戶端收收發(fā)消息的話, 為啥還存在Charles解析不了的包?
我猜測下, 是不是這樣的原因: 如果Android沒有root, 那么在Android執(zhí)行https請(qǐng)求的時(shí)候, android系統(tǒng)ssl驗(yàn)證用的是系統(tǒng)證書, 而不是用戶證書(Charles證書已經(jīng)安裝在用戶證書列表里) , 然后當(dāng)Android請(qǐng)求發(fā)出后, Charles發(fā)現(xiàn)自己識(shí)別不了, 然后原封不動(dòng)的把請(qǐng)求包轉(zhuǎn)發(fā)給了服務(wù)器(這個(gè)時(shí)候Charles扮演純代理), 服務(wù)器返回給客戶端數(shù)據(jù)包時(shí), Charles無法解析,一個(gè)是顯示unknown, 一個(gè)是轉(zhuǎn)發(fā)給客戶端?
請(qǐng)問是這樣嗎?
淺談Charles抓包原理類似Charles這樣的抓包工具,對(duì)于高效程序員是必不可少的;本文不會(huì)介紹Charles的安裝及使用,主要是淺顯的探討其抓包原理;Charles的安裝及使用相關(guān)內(nèi)容可以參考以...