python使用mitmproxy和mitmdump抓包在手机上抓包(三)
现在手机的使用率远超过电脑,所以这篇记录用mitmproxy抓手机包,实现手机流量监控。
环境:win10 64位,Python 3.10.4,雷电模拟器4.0.78,android版本7.1.2(设置-拉至最底部-关于平板电脑),雷电模拟器自带adb版本(cmd进入相应路径后adb version)1.0.31


一、对手机模拟器进行代理设置
将被监控的手机和安装mitmproxy的PC使用同一个WIFI(同一个路由器或者同一个热点)。
获取PC的内网IP,比如:192.168.31.71(cmd下运行ipconfig)

在真机上,找到手机和pc公共的这个wifi,设置代理 手动
192.168.31.71
端口为8080(mitm默认的监控的端口,友情提示fiddler默认端口是8888)
本文对于雷电模拟器的操作:得到电脑的IP地址如192.168.31.71后,然后将模拟器内的wifi高级--代理设置为:电脑的IP,端口为8080。
(设置--点击WLAN---长按WiredSSID--修改网络--勾选高级选项--代理--手动--填入IP和端口,保存)





手机(模拟器)代理设置完毕。
在PC上运行mitmweb或者mitmdump。(打开后,中转代理服务器已运行,默认监控端口8080)

然后用手机浏览器访问 mitm.it,结果出现下图,说明有问题:数据没有流经mitmproxy。

在PC上运行已经设置好代理127.0.0.1:8080的360极速浏览器,可以抓包,说明mitmweb没问题。
那就是雷电模拟器的代理设置出现了问题。经过搜索和研究,确实是手机模拟器代理出现问题。
怎么设置才能有效呢?参考这篇文章有效:
雷电模拟器设置在WiFi设置代理不生效_雷电模拟器设置代理_sql1122的博客-CSDN博客
而且经过我的测试,对于手机模拟器,根本无需我之前上图中的繁琐的设置方式,adb连通模拟器后,直接运行指令就可以,非常方便,强烈推荐。

上图中的命令行汇总如下:
d:
cd D:/leidian/LDPlayer4/
adb.exe kill-server
adb connect 127.0.0.1:5555雷电模拟器的默认端口是5555
adb devices
adb.exe kill-server
adb devices
# 给模拟器设置代理
# ip是电脑的ip如192.168.31.71,port是抓包工具设置的端口如mitm默认是8080,fiddler是8888
adb shell settings put global http_proxy ip:port
运行完命令,即设置好了手机模拟器的代理。
BTW:顺便测试了下解除代理的命令如下:
adb shell settings delete global http_proxy&adb shell settings delete global global_http_proxy_host&adb shell settings delete global global_http_proxy_port
经测试,解除代理的命令也是好用的,不过运行完命令后,必须重启手机模拟器才能生效。

注意:一定要首先在电脑上先运行mitmweb或者mitmdump -s xxx.py默认端口是8080,如果这里端口为8889,手机上的端口也要为8889],根据是安卓还是苹果下载并安装证书。还有,手机有必须锁屏密码才能安装证书。
若没有在PC上运行mitmweb或者mitmdump,即中转站没有开启,手机模拟器上不了网。如下图:

在PC上运行mitmweb,然后在模拟器上访问网址,发现可以了,但不能抓https流量:

原因是手机模拟器上没有安装证书。
解决方法:手机浏览器访问mitm.it,下载对应的证书(雷电模拟器下载Android版)

下载完毕后,安装证书,给证书起个名称(需要手机有锁屏密码)。


安装完成后,就可以正常访问https了。
在PC端的127.0.0.1:8081地址的页面上,就能看到流经手机上的数据包了。
相关文章:
python使用mitmproxy和mitmdump抓包在手机上抓包(三)
现在手机的使用率远超过电脑,所以这篇记录用mitmproxy抓手机包,实现手机流量监控。 环境:win10 64位,Python 3.10.4,雷电模拟器4.0.78,android版本7.1.2(设置-拉至最底部-关于平板电脑…...
react create-react-app v5 从零搭建(使用 npm run eject)
前言: 好久没用 create-react-app做项目了,这次为了个h5项目,就几个页面,决定自己搭建一个(ps:mmp 好久没用,搭建的时候遇到一堆问题)。 我之前都是使用 umi 。后台管理系统的项目 使用 antd-…...
在微信小程序中跳转到另一个小程序(多种实现方式)
方式一: 配置要跳转的appid和小程序页面路径 wx.navigateToMiniProgram({appId: 目标小程序appid,path: 目标小程序页面路径,//develop开发版;trial体验版;release正式版envVersion: release, success(res) {// 打开成功console.log("跳…...
beanstalkd 启动跟停止【经常使用 nohup 和 配合来启动程序,如: nohup ./test 同时免疫SIGINT和SIGHUP信号】
启动命令: nohup /usr/bin/beanstalkd -l 0.0.0.0 -p 11300 & >> /dev/null 2>&1 正常启动后,利用 【lsof -i:11300】查看 该服务是否正常启动 停止命令: /etc/init.d/beanstalkd stop 正常停止后,利用 【l…...
企业年报API的应用:从金融投资到市场研究
引言 在数字化时代,企业年报不再仅仅是一份财务报告,它们变成了宝贵的信息资源,可用于各种商业应用。企业年报API已经改变了金融投资和市场研究的方式,使得从中获取数据变得更加高效和灵活。本文将深入探讨企业年报API的应用&…...
基于Matlab实现评价型模型求解方法(附上源码+数据)
评价型模型求解方法是一种用于评估和比较不同方案或决策的方法。本文将介绍如何使用Matlab来实现评价型模型求解方法,并通过一个简单的案例研究来说明其应用。 文章目录 引言方法案例研究结果分析结论更多源码 引言 评价型模型求解方法在决策分析、风险评估和性能…...
Prettier - Code formatter格式化规则文件
文章目录 前言安装使用 前言 先前公司在规范代码时,由于个人业务繁忙跟技术总监是后端出身用的IDEA不熟悉vsCode;以及大多数时都自己一个人负责一个项目,当时并不看重这些;最近在整理vue3tsvite的脚手架模板(平时工作用的react),开始整理格式化代码,方便之后 vue 和 react 中应…...
用C++实现文件读写操作
文件读写操作是C编程中非常常见的操作之一。下面是一个简单的示例,演示如何使用C读取和写入文件。 读取文件: #include <iostream> #include <fstream>int main() {std::ifstream inputFile("input.txt");if (!inputFile) {std:…...
【我的创作纪念日】使用pix2pixgan实现barts2020数据集的处理(完整版本)
使用pix2pixgan (pytorch)实现T1 -> T2的基本代码 使用 https://github.com/eriklindernoren/PyTorch-GAN/ 这里面的pix2pixgan代码进行实现。 进去之后我们需要重新处理数据集,并且源代码里面先训练的生成器,后训练鉴别器。 一般情况下…...
背包算法(Knapsack problem)
背包算法(Knapsack problem)是一种常见的动态规划问题,它的基本思想是利用动态规划思想求解给定重量和价值下的最优解。具体来说,背包算法用于解决一个整数背包问题,即给定一组物品,每个物品有自己的重量和…...
“童”趣迎国庆 安全“童”行-柿铺梁坡社区开展迎国庆活动
“金秋十月好心境,举国欢腾迎国庆。”国庆节来临之际,为进一步加强梁坡社区未成年人爱国主义教育,丰富文化生活,营造热烈喜庆、文明和谐的节日氛围。9月24日上午,樊城区柿铺街道梁坡社区新时代文明实践站联合襄阳市和时…...
常用压缩解压缩命令
在Linux中常见的压缩格式有.zip、.rar、.tar.gz.、tar.bz2等压缩格式。不同的压缩格式需要用不同的压缩命令和工具。须知,在Linux系统中.tar.gz为标准格式的压缩和解压缩格式,因此本文也会着重讲解tar.gz格式压缩包的压缩和解压缩命令。须知,…...
第四十一章 持久对象和SQL - Storage
文章目录 第四十一章 持久对象和SQL - StorageStorage存储定义概览持久类使用的Globals注意 第四十一章 持久对象和SQL - Storage Storage 每个持久类定义都包含描述类属性如何映射到实际存储它们的Global的信息。类编译器为类生成此信息,并在修改和重新编译时更新…...
【Java接口性能优化】skywalking使用
skywalking使用 提示:微服务中-skywalking使用 文章目录 skywalking使用一、进入skywalking主页二、进入具体服务1.查看接口 一、进入skywalking主页 二、进入具体服务 可以点击列表或搜索后,点击进入具体服务 依次选择日期、小时、分钟 1.查看接口 依次…...
大学各个专业介绍
计算机类 五米高考-计算机类 注:此处平均薪酬为毕业五年平均薪酬,薪酬数据仅供参考 来源: 掌上高考 电气类 五米高考-电气类 机械类 五米高考-机械类 电子信息类 五米高考-电子信息类 土木类 五米高考-土木类...
linux 列出网络上所有活动的主机
列出网络上所有活动的主机 #!/bin/bash# {start..end}会由shell对其进行扩展生成一组ip地址for ip in 192.168.0.{1..255} ;do ping $ip -c 2 &> /dev/null ; # $?获取退出状态,顺利退出则为0 if [ $? -eq 0 ]; then echo $ip is alive fidone https://zh…...
基于vue+Element Table Popover 弹出框内置表格的封装
文章目录 项目场景:实现效果认识组件代码效果分析 封装:代码封装思路页面中使用 项目场景: 在选择数据的时候需要在已选择的数据中对比选择,具体就是点击一个按钮,弹出一个小的弹出框,但不像对话框那样还需…...
机器人过程自动化(RPA)入门 4. 数据处理
到目前为止,我们已经了解了RPA的基本知识,以及如何使用流程图或序列来组织工作流中的步骤。我们现在了解了UiPath组件,并对UiPath Studio有了全面的了解。我们用几个简单的例子制作了我们的第一个机器人。在我们继续之前,我们应该了解UiPath中的变量和数据操作。它与其他编…...
java导出word(含图片、表格)
1.pom 引入 <!--word报告生成依赖--><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.apache.poi</groupI…...
MySQL数据库记录的修改与更新
数据的修改和更新是数据库管理的核心任务之一,尤其是在动态和快速变化的环境下。本文将深入探讨如何在MySQL数据库中有效地进行记录的修改和更新。特别是将通过使用《三国志》游戏数据作为例子,来具体展示这些操作如何实施。文章主要面向具有基础数据库知识的读者。 文章目录…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
macOS 终端智能代理检测
🧠 终端智能代理检测:自动判断是否需要设置代理访问 GitHub 在开发中,使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新,例如: fatal: unable to access https://github.com/ohmyzsh/oh…...
