这阵子因为分析一款android游戏 所以尝试抓包
但发现古歌上 似乎没人提供 "针对指定app"实时"抓包"的方法
在此分享我的方法:
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和电脑不同局网 此方法都适用的
只要你知道android端的ip 和socks5 server的ip即可透过wireshark的filter过滤出来
缺点是,同时只能对一个app抓包 一个以上的话 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)
[培训]《安卓高级研修班(网课)》月薪三万计划,掌
握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法