最近试了一下利用mitmproxy来抓取安卓手机流量,用于分析。前面使用过Charles,但是是图形化界面的,不方便把数据存下来,mitmproxy支持python编程,容易把数据存放起来,所以这里分享一下使用方法。

安装

  • 首先下载网易mumu模拟器,用于android手机模拟,这是因为真机有诸多的限制,所以用模拟器方便一点,下载链接为: http://mumu.163.com/
  • 然后需要安装mitmproxy,安装也很简单:
pip install mitmproxy

配置

  • 打开mumu模拟器
  • 配置mitmproxy

设置代理,其中ip为电脑本机的ip,在命令行中输入:ifconfig就可以得到,我的为:

  1. (base) ➜ ~ ifconfig

  2. lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384

  3. options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>

  4. inet 127.0.0.1 netmask 0xff000000

  5. inet6 ::1 prefixlen 128

  6. inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1

  7. nd6 options=201<PERFORMNUD,DAD>

  8. gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280

  9. stf0: flags=0<> mtu 1280

  10. XHC20: flags=0<> mtu 0

  11. en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500

  12. ether f4:5c:89:ab:a4:3d

  13. inet 192.168.0.105 netmask 0xffffff00 broadcast 192.168.0.255

  14. media: autoselect

  15. status: active

安装证书:打开模拟器的浏览器,输入地址:mitm.it

选择对应平台并安装证书,安装完成后就可以抓 https 的包了

创建python demo.py

  1. import json

  2. from mitmproxy import ctx

  3. import pymysql

  4. HOST=''

  5. USER_NAME=''

  6. PASSWORD=''

  7. SPIDER_CAR_DB=''

  8. conn = pymysql.connect(host=HOST,

  9. user=USER_NAME,

  10. password=PASSWORD,

  11. database=SPIDER_CAR_DB,charset="utf8")

  12. def response(flow):

  13. url='url'

  14. cursor = conn.cursor()

  15. # text = flow.response.text

  16. # data = json.loads(text)

  17. # ctx.log.info(str(data))

  18. if flow.request.url.startswith(url):

  19. text = flow.response.text

  20. data = json.loads(text)

  21. print(data)

  22. ctx.log.info(str(data))

  23. sql = 'INSERT INTO yourdb(`information`) VALUES("%s");' %(str({'detail':data['detail']}))

  24. # INSERT INTO maihaoche(`information`) VALUES('{"sex": 1, "age": 18, "nick_name": "小萌"}');

  25. ctx.log.info(sql)

  26. try:

  27. cursor.execute(sql)

  28. conn.commit()

  29. except Exception as e:

  30. conn.rollback()

  31. ctx.log.info(str(e))

  32. ctx.log.info("connection error")

  33. response()

修改上述相应的配置为你的配置就行了。然后运行:

mitmweb -s demo.py

最后一步就是点机模拟器的APP,上面会打开一个网页,网页上面就会发现有相应的请求,然后再看你自己的数据库,应该会保存数据,如果有错误,则会报错。

参考文献

[1].一步一步教你 HTTPS 抓包. https://juejin.im/post/584b711d8e450a006c586ca6

[2].使用Charles抓包安卓模拟器(MuMu). https://www.jianshu.com/p/1d0360e50a01

mac python3 利用mitmproxy抓取安卓手机流量包相关推荐

  1. Mac下利用RVI抓取iPhone网络数据包分析

    一.Remote Virtual Interface 在iOS5中新引入了"远程虚拟接口(remote virtual interface ,RVI)"的特性,可以在Mac中建立一 ...

  2. Charles 抓取安卓手机https包(安卓<华为>客户端应用,windows环境)

    charles下载安装 前提先安装配置好Java环境,官网下载安装Charles:https://www.charlesproxy.com/download/ 安卓手机安装证书 手机连接电脑代理: 首 ...

  3. MAC系统利用charles抓取微信小程序和手机APP数据包(http和https数据包)

    本文中使用的是mac上的抓包工具charles进行抓包,手机是华为荣耀8 下载并安装Charles for Mac Charles for Mac(HTTP信息抓包工具) V4.2.5 苹果电脑版 要 ...

  4. Fiddler抓取安卓手机上网数据2-1

    使用Fiddler可以抓取安卓手机的上网数据,主要分为三步:一是配置Fiddler:二是在手机中安装Fiddler的证书:三是配置手机的网络. 1 配置Fiddler 点击Fiddler菜单栏的&qu ...

  5. 抓取安卓机顶盒网络包方法

    抓取安卓机顶盒网络包方法 将tcpdump安装包放在adb目录下 tcpdump下载地址:链接: https://pan.baidu.com/s/1Vjn_wODZzzIT_-TBHy5lFg 提取码 ...

  6. 利用wireShark抓取iphone手机上的网络通信包

    说明 以前利用工具抓取网络请求时都是使用Charles,然后越来越觉得Charles有些卡,并且只能过滤HTTP协议.但是Charles过滤的网络请求数据显示的非常清晰. 后来就换着使用WireSha ...

  7. Mac电脑使用Charles抓取Android手机app的包

    一.安装Charles 1.通过Charles官网下载并安装Charles: ​ 二.在Mac电脑上安装Charles证书 1.启动Charles,选择Help-->SSL Proxying→I ...

  8. Burp Suite抓取安卓手机微信小程序数据包(HTTPS) 主机有线/无线连接两种方式

    主机有线连接 1.电脑放热点,然后用手机连接热点. 2.手机连接该热点,在电脑的移动热点-设置中可以看到连接的设备. 3.查看电脑无线网络的IP地址,cmd-ipconfig-无线局域网适配器 本地连 ...

  9. Burpsuite抓取安卓模拟器的包实现app抓包

    我相信大家能看到文章实际上就是希望能够迅速找到流程实现目的的,做过app测试的都知道如果可以使用模拟器就不会使用测试机,因为效率根本不在一个级别上:网上有很多沫子,看似流程写的非常清晰,但是根本没有细 ...

最新文章

  1. 将 CentOS 8 操作系统迁移到 Oracle Linux
  2. 浅议 JavaScript 的 Promises/Futures 模式
  3. Yabbly:让经验缔结因果
  4. TensorFlow(4)-TFRecord
  5. Jmeter BeanShell取样器操作变量(一)
  6. macbook linux 双系统,MacBook Air 安装 Ubuntu 双系统
  7. Trie(字典)树详解
  8. 课时4—切入切出动画
  9. [洛谷P2463][SDOI2008]Sandy的卡片
  10. 微信小程序地图polygons自己标点,三个点以上连成面
  11. Python百度指数抓取 一键生成指数信息导出到txt文件,制作可视化动态图表
  12. Linux内核4.14版本——mmc core(4)——card相关模块(mmc type card)
  13. 辅修计算机编程,求帮忙~计算机C语言的编程题!大学选的辅修课没去过,要考试了不会? 爱问知识人...
  14. 办公系统服务器搭建,搭建云桌面办公服务器
  15. SSS1623简易USB麦克风方案中文设计电路
  16. 程序人生与世界杯的火花
  17. abe.jar工具的安装
  18. 关于封包工具一上午的研究总结
  19. 支持MyIE/Green Browser浏览器的Google PR插件
  20. HLS第十五课(clahe)

热门文章

  1. C#值类型-引用类型
  2. 第9周项目6穷举法解决组合问题之警察抓小偷
  3. 【墨刀】用墨刀勾画原型--20230420
  4. 山东大学人工智能专业大数据管理与分析选修考试回忆版
  5. UniversalImageLoader实现无图模式
  6. 【GNN报告】考虑拓扑信息的图神经网络学习
  7. TOP命令参数详解-(转)
  8. Python-3反爬虫原理与绕过实战
  9. 双十一值得入手的运动耳机推荐,2022年好用排行榜运动耳机推荐
  10. 一辈子简单做人,平平淡淡过人生