iT邦幫忙

2024 iThome 鐵人賽

DAY 16
0
Mobile Development

我的 Android 工具箱系列 第 16

Day 16 - [追查API] 05-使用 Postman Proxy 快速建立 API 文件與範例

  • 分享至 

  • xImage
  •  

情境

接手舊專案,但沒有 API 文件,有時候註解寫的 Request 欄位也不完全正確。一個一個查很花時間,不如就讓 Postman Proxy 來幫你整理 API 文件吧。

Postman 介紹

Postman 是一個開發者常用的工具,可以用來模擬、測試使用者打 API 的情境。也可以用來整理 API 文件,和他人共享。除此之外,他還提供很多附加功能,像是今天要介紹的 Proxy,他可以紀錄流經 Proxy 的封包內容,讓開發者可以 Debug、重現問題。

使用步驟

電腦端要啟用 Proxy Server,手機端要設定 Proxy 連線。

電腦端-啟動 Proxy Server

下載Postman: https://www.postman.com/downloads/

  1. 打開 Postman,右下角的工具列有一個 Start Proxy
  2. Proxy 預設是 5559 port,也可自行調整
  3. 啟動 Proxy

Start Proxy

啟動之後要特別注意,你的電腦網路可能也會「貼心」的被指向 Proxy,造成一般網頁無法開啟。本篇的主題,只有要紀錄手機端的 API,電腦本身的連線不需經過 Proxy。因此若遇到相同問題,請到 系統設定 > 網路 > 詳細資訊 > 代理伺服器 > 關閉「安全網頁代理伺服器」

System Proxy Setting

手機端-設定連向 Proxy

Proxy 原理和的手機端的設定方式,在之前的文章([追查API] 02-Burp Suite 監聽封包)說明過,這邊就不再重複。

Android Setting

開始紀錄封包

以上都設定好,之後之要手機有任何 Http Request 封包,都會被 Postman Proxy 紀錄。API 資訊,包含 URL、Http Method、Reqest、Response,相當完整。
Postman Proxy Result

最後,也是最重要的一步,將完整 API 紀錄儲存起來,再為他們改個名,你就擁有完整的API文件(包含真實的 Request/Response 範例)。很棒吧!!
Postman Save Result

操作影片:
Yes

Postman Proxy vs Burp Suite Proxy

參考前幾天的 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!

參考資料



上一篇
Day 15 - [追查API] 04-使用手機簡易檢查API-PCAPdroid
下一篇
Day 17 - [Debug] 01-Android Studio Logcat 使用技巧:寫好 Log、找對 Log
系列文
我的 Android 工具箱30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言