① 如何用burp抓包手機app內容(詳細)
需要設備:安裝有burp的電腦、一部能上網的安卓手機 、WiFi
讓安卓手機和電腦連入同一個WIFI,即是在同一個無線區域網環境下。
我以華為nova7手機為例
電腦端配置:
1)查詢電腦IP地址
2)打開burp,Proxy(代理)---Options(選項)---添加
綁定埠---指定地址---保存
埠:8080
地址:剛才ipconfig查看的IP地址
手機端配置:
設置---WLAN
操作如下圖:
顯示高級選項---代理---手動
手機顯示下面圖標表示代理開啟成功
證書導出導入
Proxy(代理)---Options(選項)---導入/導出CA證書---DER格式的證書
選擇保存的CA路徑,文件後綴命名為.cer,非常重要,因為手機只能安裝.cer的證書類型,默認的der格式是不能被識別安裝的。
成功導出
接下來將證書導入手機
找到剛才電腦導出的路徑,然後發送文件到手機,可以直接發送到微信。
手機打開文件
給證書命名,可以隨便取名,後綴為.cer即可---選擇「WLAN」---確定
管理裡面搜索「證書」---選擇「用戶憑證」
看到已安裝
一切准備就緒,准備開始抓包
首先burp狀態應為:Proxy(代理)---Options(選項)---攔截禁用
打開「攔截禁用」為「攔截請求」
再打開手機想要抓包的內容,比如說我隨便點開手機網路APP裡面的隨意一條新聞內容,這時候電腦端的burp就已經開始進行抓包了。
抓包完成burp出現內容:
以上就是詳細的burp抓包手機app過程。
② Fiddler抓包入門
抓包使用場景:
1、用手機APP或瀏覽器訪問一個頁面,查看請求的結果是否正確,請求的參數是否正確
2、在不修改任何環境的情況下,修改返回的結果,即通常所說的mock
3、復雜場景:
比如,同一個域名下的請求,/img/xxx的資源發送到ServerA上,請求/api/xxx資源發送到ServerB上
我們使用瀏覽器或者客戶端軟體都要與外界進行通信,就必然會有數據的發送和接收,有時候需要對這些傳遞的數據進行分析,因此需要截獲這些傳遞的數據。
其中對這些數據進行截獲、重發、編輯、轉存的過程叫做 抓包 。
本地應用與伺服器之間所有的Request 和Response都將經過Fiddler,由Fiddler進行轉發,此時Fiddler以代理伺服器的方式存在。
由於所有的網路數據都會經過Fiddler,因此Fiddler能夠截獲這些數據,實現網路數據的抓包,可以詳細地對HTTP請求進行分析,並模擬對應的HTTP請求。
1、本地化的工具,是一個使用本地 127.0.0.1:8888 的 HTTP 代理
(免費的web調試代理工具,支持任何瀏覽器、系統或平台)
啟動Fiddler後,通過瀏覽器訪問:http://127.0.0.1:8888
(1)任何能夠設置 HTTP 代理為 127.0.0.1:8888 的瀏覽器和應用程序都可以使用 Fiddler
(2)工具打開後,就自動設置了IE瀏覽器的代理,工具關閉後,IE的設置也將被還原
2、Fiddler本身對http協議支持較好,且操作簡單容易上手
3、具有抓包和分析功能,省去了安裝其他工具的必要
4、工具本身功能強大
(1)劫包:模擬介面不給前端返回數據,看前端怎麼處理,如果沒有工具,就只能採用斷網、停用伺服器
(2)篡改數據:假設沒法去模擬前端對於介面返回數據很長時,怎麼去展示,換行?截取?小屏幕上頁面扭曲?如果通過篡改數據,就能直觀的把數據返回給前端展示,很明顯的看到前端數據是什麼樣的,就不需要從底層改數據
(3)模擬低速、弱網環境等,有些元素載入不出來會導致樣式問題
網路爬蟲是自動爬取網頁的程序,在爬取的過程中必然會涉及客戶端與服務端之間的通信,也需要發送一些HTTP請求,並接受伺服器返回的結果。
有些網址變化肉眼是看不出規律的,這時配合抓包軟體會變得較容易。
案例:網頁底部「閱讀更多」
在瀏覽一些圖片網站時,瀏覽到最下面的時候會出現一個「閱讀更多」的字樣,此時單擊「閱讀更多」頁面上顯示更多內容,載入出來的內容跟原來的內容是在同一個網頁上展示的。我們直接看網址的變化是看不出任何規律的,便無法分析該請求是如何實現的,無法通過程序構造出該請求。
此時可以通過Fiddler 進行抓包,對這些數據進行分析,查看request headers 發現是通過Get請求來實現的,總共有3個參數:order_by、page、per_page
通過分析就可以知道頁面上只顯示20篇文章,之後就需要通過 閱讀更多 進行載入
每點擊一次 閱讀更多 ,相當於在修改page值
知道實現規律後,就可以通過編寫程序構造出對應的請求,並由程序自動地實現這些請求的發送。
假如修改page為3、4、5,在新窗口進行訪問,與頁面閱讀更多進行比對
Fiddler 默認是抓 http請求的,對於pc上的 https請求,會提示網頁不安全,這時候需要在瀏覽器上安裝證書
Fiddler可以通過偽造CA證書來欺騙瀏覽器和伺服器,大概原理就是在瀏覽器面前Fiddler偽裝成一個HTTPS伺服器,而在真正的HTTPS伺服器面前Fiddler又裝成瀏覽器,從而實現解密HTTPS數據包的目的。
1、檢查Fiddler設置
2、導出證書
3、導入到Firefox瀏覽器
測試下結果,打開網路網頁,成功了,接下來就可以進行抓包了
1、cls (或 clear) 清屏命令
清空會話列表中的所有會話
2、select 篩選某一類型的會話命令
如 select html ,輸入命令後敲回車鍵,在會話列表中所有html類型的會話都已被選中
3、? 查找網址中包含某些字元的會話信息
如 ?jianshu 可以查找出網址中包含「jianshu」字元串的會話信息,跟其他會話信息用不同顏色區分顯示
4、help 幫助命令
打開官方的使用頁面介紹,所有的命令都會列出來
5、bpu、bpafter 斷點命令
6、mp 快速保存
以 鐵路網的貨物跟蹤 為例
頁面有車號、貨票號、驗證碼三個欄位,通過輸入不同格式的值來觀察頁面提示與 Fiddler 抓包返回的 json值
1、先輸入格式正確的值,點查詢
2、修改貨票號的位數,點查詢
1、兩次抓包的介面是一樣嗎?第一個是post,第二個是get,不是同一個
2、第二個請求沒有發出去,應該是前端直接對數值的位數做了校驗的,這個時候就不會調介面,所以就沒有數據顯示了
如想更深入的使用Fiddler,請查看 進階篇
③ 抓包工具-Charles(花瓶)
Charles是一個HTTP代理/HTTP monitor/反向代理,它使開發人員能夠查看他們的機器和Internet之間所有HTTP/HTTPS通信,這包括請求、響應和HTTP頭(其中包含cookie和緩存信息).
1、安裝
官網地址: https://www.charlesproxy.com
首先需要給手機設置代理,
設置完成之後,基本就可以開始抓包了;
選中請求選項,右鍵選擇Map Local
在Local path選擇自己本地的數據文件即可;下次請求回直接走本地mock數據,如果取消mock,直接把清除Local path路徑,輸入*號,保存;
下次請求時就可以暫停,出現如下界面,
有一個Edit Request,在這個界面可以增加或刪除參數,或者直接雙擊name或者value進行編輯,修改完參數之後,點擊Execute。有返回之後,會出現如下界面
界面中有edit Response,同樣可以直接修改,修改完之後,點擊Execute,請求就完成了,返回的結果可以直接供前端來使用。
其他功能繼續更新...
④ 手機端抓包工具
Charles 手機抓包
介面測試之——fiddler抓包、過濾、斷點調試
AndroidHttpCapture---手機輕松抓包工具
AndroidHttpCapture使用方法:
【搭建環境】
1.在測試手機安裝AndroidHttpCapture即可。
2.如果測試手機使用移動網路,新增一個接入點,將其代理伺服器設置為127.0.0.1 埠為8888,別的參數參照已選中的接入點進行配置,保存後選擇該新增接入點即可。
如果測試手機使用WIFI,把WIFI代理設為127.0.0.1:8888。
3.首次進入AndroidHttpCapture時安裝CA證書,然後把自簽名證書添加到系統根證書目錄。
自簽名證書所在路徑:手機根目錄的har/littleproxy-mitm.pem。
自簽名證書添加方法:
首先用openssl命令計算證書的哈希值(可以打開Linux環境Git Bash命令窗口):
然後把上面的哈希值作為文件名,添加證書(可以打開Windows環境CMD命名窗口):
【使用方法】
https://github.com/JZ-Darkal/AndroidHttpCapture
【查看HAR文件】
http://h5.darkal.cn/har/
⑤ 三星手機更新如何抓包
1、首先電腦下載抓包軟體。
2、其次使用電腦連接三星手機並打開抓包軟體。
3、最後開始更新,即可進行抓包。