在android下抓包,主要是為了分析應用請求的資料地址,從而進一步嗅探出重要的網路資源。下面來動手實踐一下,如何抓取android系統的網路通訊包。
一:準備
軟體名稱:
- tcpdump :抓包工具 【點擊下載】
- WireShark:PC上抓包也是解包的工具 【點擊下載】
- adb.zip:android調試工具 【點擊下載】
環境要求:
- 將adb.zip解包,並將其目錄配置到PC壞境變數中,目的只有一個,在cmd下,能夠識別adb命令。
- 一台已經root的手機。如果沒有,使用android模擬器即可(推薦模擬器)。
- 如果使用手機,確保操作過程中,資料線始終串連手機。
二:傳送抓包工具到手機
圖中可以看到,電腦串連了一台模擬器。
- 傳送抓包工具到手機
輸入命令:【adb push c:\tcpdump /data/local】
c:\tcpdump 是tcpdump的在pc上的路徑 , /local/data/tcpdump是tcpdump在手機模擬器或者真機中的路徑
三:進入手機,提升抓包程式許可權
- cmd視窗輸入,【adb shell】 ,進入手機系統
- 再輸入【cd /data/local】,進入目錄
- 再輸入【chmod 777 tcpdump】 給程式授權777 讀寫權限
四:進行抓包
- 緊接第三步,輸入【cd /】回退到根目錄
- 輸入【./data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap】 抓取的資料存放在手機/sdcard/capture.pcap 檔案中
注意 -p 後面是兩個v,而不是w,
五:將資料包從手機中取出
- 運行 【adb pull /sdcard/capture.pcap c:/capture.pcap】 ,將存放在sd卡中的資料檔案,轉移到PC的C盤根目錄,
六:分析資料包
- 將capture.pcap檔案,使用Wireshark工具開啟,可以看到抓取了一大堆各種協議的資料。
- 在Filter文字框中,輸入【http.request.uri】,即可篩選出HTTP協議的相關資料。
OK,到此我們就成功抓取到該應用與網路通訊的所有資訊。
由此看來,如果你的應用裡有一些比較重要的資源,加密通訊地址,實在是多麼重要啊。
免責聲明:本文僅供學習和交流使用,請勿光明正大幹壞事……
原文連結:http://www.67tgb.com/?p=498