Android 下网络抓包实现

Android下实现抓包的原理基本大多是通过MITM代理的方式实现的。

PC端工具

  • Fiddler
1.配置Fiddler允许监听https  
Tools->Fiddler Options  
decrypt https traffic  
ignore server certificate errors  
Export Root Certificater to Desktop
2.配置Fiddler允许远程连接  
Tools->Fiddler Options->connections  
->allow remote computers to connect,默认监听端口为8888  
重启Fiddler
3.Android配置代理ip和port
  • Charles
    官网

  • Burpsuite

  • Wireshark

新版Wireshark支持调用tcpdump,支持抓取Android数据包并实施显示
tcpdump需要root权限,Wireshark启动会先运行tcpdump -h 检查输出
Android WiFi项目就不显示了。可以用一个shell脚本替代它

#!/system/bin/sh  
su -c "/system/xbin/pcap/tcpdump $@"
  • Mitmproxy
    Github

  • Stetho

    自己开发的应用中集成stetho,然后在Chrome dev tools调试与抓包
    Stetho

Android端工具

  • Tcpdump
tcpdump - p -vv -s 0 -w /sdcard/capture.pcap

Tcpdump下载
Github
基于Busybox脚本
首先后台运行
adb shell < adb_tcpdump.sh &

#su
tcpdump -s 0 -w - | nc -l -p 11333

adb shell < adb_wireshark.sh

adb shell < adb_tcpdump.sh &
sleep 1
adb forward tcp:11333 tcp:11333
sleep 1
mkfifo /tmp/sharkfin
wireshark -k -i /tmp/sharkfin &
nc 127.0.0.1 11333 > /tmp/sharkfin

在执行sh adb_wireshark.sh

自行开发

  • VPNService API

参考

如何在 Android 手机上实现抓包
如何抓Android系统上的数据包
如何使用Burp和Magisk在Android 7.0监测HTTPS流量

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,466评论 25 708
  • 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者...
    保川阅读 5,989评论 1 13
  • 0×00 摘要 在移动逆向分析以及 App 开发的时候,总会需要对其网络行为进行监控测试,本文总结一些抓包思路,并...
    小兲阅读 927评论 0 3
  • 兴趣这个概念对我来说已经不再有效了,因为它太过主观。很多时候我们连自己真正想要什么都说不清楚,还总是拿“没有兴趣”...
    Mia蜜芽阅读 215评论 0 0
  • 或许 我们都是蚂蚁 我们都很匆忙 我们看不清远方 我们心中有希望 只是 我们曾经彼此擦肩 我们曾经彼此追逐 我们不...
    因为所以阅读 147评论 0 2