如何在 android 手机上实现抓包? 财富值64

2016-10-06 09:43发布

如何在 Android 手机上实现抓包?
10条回答
范新惠
1楼 · 2016-10-06 09:49.采纳回答
先下载安装wireshark和360Wi-Fi,用360Wi-Fi建立热点,手机无线连接这个热点,然后用wireshark抓取流量包。
阎水江
2楼-- · 2016-10-06 09:50
两种方式,各有优劣且互补,一般第一种即可,对于不走代理的 App 选择第二种方式
第一种 Fiddler
利用 Fiddler 抓包,适合大多数走代理的应用,优点 (1) 无需 root (2) 对 Android 和 Iphone 同样适用 (3) 操作更简单方便(第一次安装配置,第二次只需设置代理即可) (4) 数据包的查看更清晰易懂,Fiddler 的 UI 更简单明了 。可见:trinea.cn/android/andro

Mac 下可以使用 Charles

第二种 Tcpdump
对于不走代理的 App 可以利用 tcpdump 抓取 andorid 手机上网络数据请求,利用 Wireshark 查看,可见:如何利用Tcpdump抓取andorid网络数据请求,Wireshark查看
米星米奇
3楼-- · 2016-10-06 09:53
使用 tPacketCapture [0] ,无需 root,可以保存下 pcap 格式的流量捕获,然后在电脑上打开分析。

它的原理是建立一个虚拟的 VPN 连接,让所有的流量都通过它。因此它捕获不到二层的信息,但这对于楼主的需求来说已经足够了。

[0] Google Play 的页面地址 play.google.com/store/a
气质如兰世难容
4楼-- · 2016-10-06 09:47
安装 Packet Capture play.google.com/store/a 这个 App 直接在手机上做抓包应该是比较简单的:
  1. 不需要 root(用 VPNService 这个接口实现的本地代理)
  2. 有 MITM Proxy,可以查看 https 流量(有这条还要什么三轮车>_<)
  3. 适用于不走系统代理的 App
顺带一提,这个 App 也是我见到的第一个实际使用 Kotlin 来写的 App


如果还需要简单改下 http request,可以考虑试试 HTTP Injector play.google.com/store/a 这个 App
,同样的它也不需要 root


如果有更复杂的需求,当然还是 Fiddler / Charles 比较好

一周热门 更多>