- UID
- 1628227
- 熱心
- 252 值
- 嘉獎
- 0 次
- 違規
- 0 次
- 在線時間
- 52 小時
- 經驗
- 426 點
- 積分
- 11523
- 精華
- 1
- 最後登錄
- 2019-4-25
- 閱讀權限
- 60
- 註冊時間
- 2011-1-25
- 論壇幣
- 10545 幣
- 聯合幣
- 206 枚
- 幸運鑽
- 17 顆
- 招待卷
- 0 點
|
本帖最後由 大胖 於 2015-5-30 23:21 編輯
這陣子因為分析一款android遊戲 所以嘗試抓包
但發現古歌上 似乎沒人提供 ”針對指定app"實時"抓包”的方法,本人的方法不限定只抓http包(Fiddler),對網路環境的要求也非常低(標題誇大了些) 且能實時抓,雖然文章敘述冗長 實際上操作很簡單的
在此分享我的方法:
1.在電腦上使用 CCProxy 架設 socks5 server。
2.android端 借由 ProxyDroid,使APP透過電腦的socks5 server代{過}{濾}理聯網。
3.電腦執行 Wireshark,並使用Filter功能,過濾出APP和socks5 server間的通訊。
3.1 要過濾出我們要的信息 需要稍 為瞭解socks5協議,大體上流程:1.socks5 client與socks5 server 的特定port建立連接。2.client告訴 server 欲連結的host的 IP 和 Port,由server 向 host 建立連結。3.此後只要 client send server 什麼,server就send host 什麼;server從host recv 什麼,client 就從 server recv什麼,socket協議不會額外包裝訊息。
3.2 Capture Filter:(src 192.168.23.1 and src port 10800 and dst 192.168.23.2) or (src 192.168.23.2 and dst 192.168.23.1 and dst port 10800) , 說明: 192.168.23.2 是 android端IP,192.168.23.1是電腦IP,10800是socks5 server的 port。Capture Filter語法很直觀,src代表 source ip ; dst代表 destination ip
我表達能力不好,將就將就...文中很可能有錯誤的理解 還請各位指出 謝謝哦~
補充: 雖然我的網路環境是 android連上電腦分享的 wifi , wireshark對無線網路的介面監聽
其實無論 android使用何種方式連網 甚至 android和電腦不同局網 此方法都適用的(例如手機3G上網也可以)
只要你知道 android端的 ip和 socks5 server的 ip(本機 IP),即可透過 wireshark的 filter過濾出來(因為有過濾,不會有其他雜訊的)
缺點是,同時只能對一個 app抓包 若 android上有一個以上的 app透過同一個 socks5 server連網,wireshark將無法分辨是哪一個app的封包。
補充:
關於 Capture Filter, 我認為應該再說清楚些!
src dst
APP -----------------> socks5 server
IP 定值 IP 定值
port 不定 port 定值
因此 (src 192.168.23.2 and dst 192.168.23.1 and dst port 10800)
_______________________________________________________
src dst
socks5 server -----------------> APP
IP 定值 IP 定值
port 定值 port 不定
因此 (src 192.168.23.1 and src port 10800 and dst 192.168.23.2)
另外如果有無線網卡的話,可以共享個熱點,Wireshark完全可以抓熱點的包..
當然,socks5也是一種方法...
純粹分享,如果喜歡請評分或回覆一下讓我知道,我才有動力繼續分享
|
|