㈠ 安卓9無法安裝fiddler的ca證書,無法抓包,求大神解救
這個可以去找售後,,如果真的是系統問題就讓他們給你找或者推薦專門的軟體工程師來處理,不要自己胡亂嘗試。
㈡ 記一次android模擬器安裝系統證書
用到的工具
1、雷電模擬器android5.1版本,開啟root
2、openssl
3、adb
4、fiddler
生成證書
1、打開fiddler - options - https - actions
2、選擇Export Root Certificate to Desktop,將證書保存到桌面
3、我生成的證書名是FiddlerRoot.cer(證書名稱後面會用到
#1. 證書轉換,已經是pem格式的證書不需要執行這一步
In:openssl x509 -inform DER -in FiddlerRoot.cer -out cacert.pem
#2. 進行MD5的hash顯示
#openssl版本在1.0以上的版本的執行這一句
openssl x509 -inform PEM -subject_hash_old -in cacert.pem
#openssl版本在1.0以下的版本的執行這一句
openssl x509 -inform PEM -subject_hash -in cacert.pem
# window重命名 為符合android規范名稱
ren cacert.pem 269953fb.0
# 或 linux重命名
cp cacert.pem 269953fb.0
#傳入手機
adb push 269953fb.0 /sdcard
#獲取手機的root許可權
adb shell
#掛載系統目錄為可寫
mount -o rw,remount /system
mv /sdcard/269953fb.0 /system/etc/security/cacerts
#修改證書許可權
chmod 644 /system/etc/security/cacerts/269953fb.0
如果沒有意外的話,運行結束後,證書就已經安裝到系統證書中了,可以在模擬器中查看到。
遇到的問題
adb devices offline
adb版本太低
升級adb
㈢ 如何用Fiddler對Android應用進行抓包
1.場景還原之Fliddler
Fiddler是一款抓包神器,近日,由於項目中要嵌入H5頁面,公司又沒專門的UI設計師,所以你懂得,這個任務就要給我嘍!可憐的我並沒有藝術細胞,所以我想到求助抓包神器---Fliddler.話說Fliddler非常強大,是程序猿必備工具,好吧,今天我就跟大家分享一下如何使用Fliddler對Android應用進行抓包處理。
2.Fliddler以及手機端的配置工作
1.老套路,官網下載Fliddler:https://www.telerik.com/download/fiddler/fiddler4;
2.next到底安裝Fliddler;
3.打開Fliddler進行如下配置,如圖:
①點擊Tools-->Telerik Fliddler Options
②配置Https
③配置connections:
ok,你的PC端的Fliddler環境就搭好了。
4.手機端的配置(主要配置IP以及埠號,必須保證PC端與移動端在同一個網段中)
①打開手機的設置頁面:
②長按已連接的WiFI位置:(警告:此wifi必須是你電腦發出的,可以下載360wifi供應熱點,讓手機連接,這個非常重要,不然前功盡棄)
③查詢PC端ip:
那麼本地Ip:192.168.0.107,埠號為剛在Fliddler手動設置的8888(個人喜歡設置)
④點擊手機端的修改網路,然後點擊高級設置,如圖,保證參數一致:
好了,點擊連接,然後打開手機瀏覽器,在網址欄輸入:http://192.168.0.107:8888,安裝Fiddler證書
安裝完成後開始抓包吧!
3.Fiddler抓包處理流程
這里我以"開眼」App為例:
1.打開app,照常瀏覽界面,然後你的Fliddler會出現:
2.點擊圖片按鈕,在右下邊點擊TextView,j就會顯示你瀏覽手機的當前圖片:
你的移動端:
Fliddler端:
3.點擊左邊的額json,再點擊右下邊的json,然後會出現你手機端的數據:
你的移動端:
Fliddler顯示:
㈣ 如何用Fiddler對Android應用進行抓包
用Fiddler對Android應用進行抓包的方法:
1、啟動Fiddler,打開菜單欄中的 Tools > Fiddler Options,打開「Fiddler Options」對話框。
㈤ Android 配置Fiddler抓包
將瀏覽器的代理設置成Fiddler能夠實現Fiddler抓取瀏覽器的請求。同理,Android手機配置Fiddler作為代理伺服器,從而讓Fiddler能夠截獲Android的流量來實現抓包。
可以通過ipconfig命令等查看,最簡單的就是將滑鼠移到Fiddler窗口右上角的online字樣上面,會自動提示當前電腦IP地址。
比如,我當前PC IP地址為172.20.224.63
打開Fiddler上Tools-->Options,選擇Connections選項卡,可以查看到代理埠地址。默認為8888。你可以自行配置成其他埠號。
還有,請勾選「Allow remote computers to connect」(這是允許Android手機通過代理進行網路訪問)。
手機連接和PC位於同一區域網的wifi,連接成功後,進入到高級選項中。(不同手機有不同的進入方法,早期手機是長按已經連接上的wifi,現在有些手機直接提供了進入配置的箭頭按鈕。)
將代理伺服器主機名修改為第一步獲取的IP地址,埠號為第一步獲取的埠號。然後保存。
以上配置OK,打開手機進行網路訪問吧,看看Fiddler上有沒有HTTP請求包。
實際測試,如果發現沒有數據包,你需要檢查Fiddler是否打開,是否允許遠程電腦訪問,以及埠號和IP地址是否配置正確,然後重啟試試看(重啟Fidder、手機重連Wifi,重新配置等)。
以上配置的僅僅是抓取HTTP請求,對於HTTPS請求,你還是看不到。下面介紹下,HTTPS抓包配置。
HTTPS也是需要通過Fiddler代理來抓取的,所以呢,前面的配置代理的過程不變。下面介紹其他涉及到證書安裝方面的。
打開Tools->Options,選擇HTTPS選項卡,按照下圖進行勾選。
PC上安裝好了根證書之後,還需要在手機上安裝根證書,才能保證Fiddller能夠正確解析出HTTPS包。(原理是,手機通過Fiddler做了代理後,HTTPS請求進行握手時候獲取的證書就是Fiddler自己生成的證書,這個證書在手機上默認不受信任,這樣會導致手機端認為服務端非法從而斷開HTTPS握手,導致請求失敗。所以,我們需要讓手機信任Fiddler的根證書。)
手機在配置好HTTP代理後,打開瀏覽器,輸入: http://ipv4.fiddler:8888/ 。實際上 ipv4.fiddler 會引導到Fiddler所在PC的IP地址上。所以,你輸入http://<pc ip>:<port>也是可以的。(題外話, ipv4.fiddler 這個域名不是外網通用域名,你知道為啥會正確解析不?猜想是Fiddler自己提供了本地DNS解析服務)
OK,以上是所有的配置。
配置成功後,觀察Fiddler,手機進行一些操作,看看HTTPS的請求能解析不。如果你遇到下面的異常:
很大可能是由於手機上沒有安裝Fiddler的根證書。當然,還有例外,如果手機Android系統為7.0以上,即便安裝了Fiddler的根證書,也會出現這個異常。原因請參考 https://www.jianshu.com/p/0711ca1121e9