接手舊專案,但沒有 API 文件,有時候註解寫的 Request 欄位也不完全正確。一個一個查很花時間,不如就讓 Postman Proxy 來幫你整理 API 文件吧。
Postman 是一個開發者常用的工具,可以用來模擬、測試使用者打 API 的情境。也可以用來整理 API 文件,和他人共享。除此之外,他還提供很多附加功能,像是今天要介紹的 Proxy,他可以紀錄流經 Proxy 的封包內容,讓開發者可以 Debug、重現問題。
電腦端要啟用 Proxy Server,手機端要設定 Proxy 連線。
下載Postman: https://www.postman.com/downloads/
Start Proxy
5559
port,也可自行調整啟動之後要特別注意,你的電腦網路可能也會「貼心」的被指向 Proxy,造成一般網頁無法開啟。本篇的主題,只有要紀錄手機端的 API,電腦本身的連線不需經過 Proxy。因此若遇到相同問題,請到 系統設定 > 網路 > 詳細資訊 > 代理伺服器 > 關閉「安全網頁代理伺服器」
。
Proxy 原理和的手機端的設定方式,在之前的文章([追查API] 02-Burp Suite 監聽封包)說明過,這邊就不再重複。
以上都設定好,之後之要手機有任何 Http Request 封包,都會被 Postman Proxy 紀錄。API 資訊,包含 URL、Http Method、Reqest、Response,相當完整。
最後,也是最重要的一步,將完整 API 紀錄儲存起來,再為他們改個名,你就擁有完整的API文件(包含真實的 Request/Response 範例)。很棒吧!!
參考前幾天的 Burp Suite Proxy:[追查API] 02-Burp Suite 監聽手機封包
首先,兩者都是方便好用的 Proxy 工具,都可以用來紀錄並觀察 HTTP 封包。
差異就在,Burp Suite 的特色是可以一包一包的觀察,並且由你決定放行、竄改、丟棄每一個 Request。適用情境應該偏向資安領域,可以檢測封包內是否包含敏感資訊(身分證ID、電話等)。或是檢測後端程式有沒有做好檢核,竄改 Request 內容可能做到提權、獲取他人資料等。(好的檢核,不能只有前端做,後端也要做喔)
而 Postman Proxy 的功能相對單純,只有讓手機封包經過 Proxy 時,紀錄相關 Request/Response 內容。但這些資訊搭配 Postman 原有的 Collection 功能就能快速整理出漂亮的 API 文件。適用對象應該偏向開發者。
追查 API 的主題告一段落了,API 是我所有小主題中,最有心得的一塊。因為寫 APP 基本離不開 API,不連網的 APP 應該很少很少了吧?再加上以前和朋友參加過幾次 CTF 比賽,我沒有資工朋友的那些硬底子,PWN、Reverse 這類題目基本直接跳過,只能主攻網頁題,也因此練就攔截封包的各種技能XD
最後,感謝朋友提供的 Restful API,讓我順利完成本文的 Demo!