<dd id="sga4y"><optgroup id="sga4y"></optgroup></dd>
<nav id="sga4y"><code id="sga4y"></code></nav>
  • <optgroup id="sga4y"></optgroup>

    原文地址:http://drops.wooyun.org/tips/12467

    0x00 摘要


    在移動逆向分析以及 App 開發的時候,總會需要對其網絡行為進行監控測試,本文總結一些抓包思路,并對其使用方法進行實踐

    筆者認為在抓包界,Wireshark 應該算是綜合排名第一的工具(其實 Wireshark 自帶的命令行工具 tshark 更牛逼)

    本文總結記錄了 5 種抓包方式,掌握其一即可進行實踐,歡迎大家一起交流分享

    0x01 基于 Wireshark


    實驗步驟:

    1.1 在電腦主機上使用獵豹 Wifi之類的工具,開啟熱點,將所要測試的手機連接該熱點,記錄其IP地址

    Alt text

    1.2 使用 Wireshark 對以上 IP 地址進行捕獲

    Capture——Options

    Alt text

    Alt text

    1.3 總結

    該方法簡單粗暴高效,可以將捕獲的數據包隨時保存下來,便于后續分析或者進行 PCAP 可視化分析。

    關于命令行工具 tshark 在此不做贅述,感興趣的讀者自行研究。

    0x02 基于 tcpdump


    實驗環境:

    下載安裝 Genymotion 安卓虛擬機,在該模擬器環境種進行實踐操作(基于實體手機亦然,前提是手機必須得 ROOT

    筆者僅在 Android 系統下測試,未在 iOS 系統下實驗

    實驗步驟:

    2.1 說明

    模擬器中自帶的 tcpdump 工具,位于: /system/xbin/ 目錄下

    2.2 數據包捕獲

    可以通過 adb shell 命令在 CMD 模式下連接模擬器,su 到 root 模式進行抓包

    #!bash
    tcpdump -vv -s 0 -i eth1 -w /sdcard/capture.pcap
    

    參數說明:

    捕獲結束,直接按 Ctrl + C 即可

    2.3 數據分析

    將捕獲到的數據包拖到本地使用 Wireshark 進行查看:

    #!bash
    adb pull /sdcard/capture.pcap C:\tmp
    

    TIPS:將數據包文件 push 到手機上命令為

    #!bash
    adb push C:\tmp\capture.pcap /sdcard/
    

    0x03 基于 Fiddler 4


    實驗步驟:

    3.1 下載 FIddler 4

    點擊下載 Fiddler 4

    3.2 設置 Fiddler 4

    打開Fiddler,Tools-> Fiddler Options (配置完成記得重啟 Fiddler)

    Alt text

    Alt text

    3.3 設置手機代理

    首先,獲取安裝 Fiddler 4 的 PC 對應的 IP 地址(ipconfig):

    Alt text

    確保手機和 PC 是連接在同一個局域網中!!!

    下面對手機進行設置(筆者使用小米測試機):點擊手機中“設置”——Wi-Fi——選擇已經連接的wifi——代理設置改為手動

    Alt text

    下載 Fiddler 的安全證書

    使用手機瀏覽器訪問:http://10.2.145.187:8888,點擊"FiddlerRoot certificate",然后安裝證書即可。

    至此,已經全部設置完畢。

    3.4 數據包捕獲

    重新打開 Fiddler 4,然后打開手機中的瀏覽器,訪問任意網址,Fiddler 抓包信息如下:

    Alt text

    Enjoy!

    0x04 基于 Charles


    實驗環境:

    win7 + Charles v3.11

    一般使用 Charles 都是基于 MAC OS ,筆者在 mac 平臺以及 windows 平臺均試驗過,操作過程和思路基本一致,因此,本文以 win7 為測試環境

    實驗步驟:

    4.1 捕獲 http 數據包

    手機設置代理:

    Alt text

    打開 Charles 即可捕獲數據包(Proxy —— Proxy Settings):

    Alt text

    Alt text

    4.2 捕獲 https 數據包

    手機端安裝證書:

    Android 手機或者 iPhone 均可直接訪問 http://www.charlesproxy.com/ssl.zip ,然后根據圖示點擊證書安裝

    Alt text

    Alt text

    Alt text

    設置 Charles:

    選擇 Proxy —— SSL Proxying Settings —— Locations —— Add

    在彈出的表單中填寫 Host 域名(也就是你想要抓包鏈接的主機名),以及對應的 Port 端口(此處相當于過濾作用)

    當然,你可以采用更加粗暴的方式:使用通配符,例如你想要捕獲所有的 https 包,這里也可以直接都為空,表示捕獲所有的主機和端口;或者都分別填“*”星號,匹配所有的字符,捕獲所有的 https。

    Alt text

    Alt text

    Alt text

    0x05 基于 Burpsuite


    實驗步驟:

    5.1 捕獲 http 數據包

    PC 端 Burpsuite 設置:

    Alt text

    手機端代理設置方法同以上 3.3 4.1

    打開 Burpsuite 即可捕獲 http 數據包:

    Alt text

    5.2 捕獲 https 數據包

    手機端設置好代理之后,使用瀏覽器訪問:http://burp/

    Alt text

    Alt text

    此處存在一個問題:下載的證書是 der 格式的,我們手機端安裝的是 crt 格式的,需要使用 firefox 瀏覽器轉一下格式:可以首先在 Brupsuite 中導出 der 格式證書,然后導入火狐瀏覽器,然后從火狐瀏覽器導出證書格式為 crt

    Alt text

    打開火狐瀏覽器:工具——選項——高級——證書——查看證書

    Alt text

    Alt text

    Alt text

    成功捕獲 https 數據包

    Alt text

    0x06 總結


    0x07 參考文獻


    1. 抓包工具Fidder詳解
    2. Mac上的抓包工具Charles
    3. 網絡抓包工具Charles的介紹與使用
    4. charles使用教程指南
    5. Android安全測試之BurpSuite抓包
    6. Android利用tcpdump和wireshark抓取網絡數據包

    97av