首页 > 其他分享 >用Fiddler、Charles和mitmproxy进行手机抓包的配置教程

用Fiddler、Charles和mitmproxy进行手机抓包的配置教程

时间:2023-05-16 11:34:31浏览次数:44  
标签:Fiddler 配置 Charles mitmproxy 手机 安装

[用Fiddler、Charles和mitmproxy进行手机抓包的配置教程_程序员大飞1的博客-CSDN博客](https://blog.csdn.net/weixin_42512684/article/details/93534803)

写爬虫时,有些数据pc端并不能提供我们需要的数据例如抖音,就需要对手机端数据进行抓取,目前来说比较常用的app抓包软件:Fiddler,mitmproxy,Charles,这些软件在进行数据抓包之前都需要进行相应的代理配置:下载,保证pc端跟手机端在同一个局域网内,证书下载,端口配置等。

 

利用Fiddler代理配置方法

 

首先在在官网将Fiddler下载,下载地址:http://www.telerik.com/fiddler;下载到本地之后,按正常的安装流程即可。安装后打开的页面如下:

 

1.png

 

Fiddler抓取Android/Iphone的数据包,第一步,要保证电脑端Fiddler手机端跟电脑端在同一局域网,在这种情况下才能够实现Fiddler抓取手机端的数据;同一局域网就是有两台或以上的设备连接,并拥有相同IP网段的网络,例如pc端跟手机端连接同一个wifi,或者说电脑开热点手机连接。

 

第二步,对Fiddler进行相关设置:打开【Fiddler -> Tools ->options】;然后选中【Connections】选项 ,图中设置手机端需要连接Fiddler的服务器端口(一般默认即可),下面对选项[【Allow remote computers to connect】 (允许远程发送请求)进行勾选。

 

2.png

 

 

打开【Fiddler -> Tools ->  options】;选择HTTPS选项,勾选【Decrypt HTTPS traffic】 下面选择【from all process】选项,用来抓取手机端的https请求,如果想抓取https请求还需要在手机端安装安全证书。

3.png

 

第三步,手机端安装证书,先找到电脑的ip地址,在fiddler上方菜单栏里点击Online就能看到电脑的ip地址;用手机访问地址:http://IP地址:代理端口,点"FiddlerRoot certificate" 然后安装证书,例如:http://192.168.1.173:8888;有的手机在安装证书之前需要设置锁屏密码(例如小米),否则会安装不上。

接下来就是对对手机端的wifi修改代理设置;打开连接中的wifi,点记下面的代理切换到手动,以pc端的ip名为主机名,端口为Fiddler设置的端口进行填写,然后点击确定即可。

 

4.png

 

配置成功结果如下:

 

5.png

 

利用Charles代理配置方法

 

Charles官方下载地址:https://www.charlesproxy.com/;下载Charles,然后一键安装即可,下载后打开的页面如下,页面分为两种标签,一种是Structure,是按照域名进行区分;一种是Sequence,是按照访问时间先后进行排序:

6.png

 

先对Charles软件进行配置,打开客户端,点击菜单Proxy->Proxy Settings,设置服务器端口,自己也可以对端口进行修改,把下面【Enable  transpaent  HTTP  proxing】勾选上为了是让Charles自己设置成代理服务器实现抓包,对于本地系统发出的访问请求都会被截取下来。如果只是用Charles对手机抓包,菜单上的Windows proxing 就不需要勾选,可以避免pc端访问请求数据的干扰。

7.png

 

跟Fiddle一样,需要把电脑端和手机端配置到同一局域网;在获取Charles端口之后,也需要得到电脑端的ip地址,电脑IP地址查询方式:windows+R  输入cmd卡开命令行,然后输入ipconfig,IPv4即为本机的IP地址。

8.png

 

更改手机端WiFi的代理及端口:

9.png

 

有些小伙伴可能在配置成功的时候,手机端会出现"wifi已连接,但无法访问互联网“的现象,这时候可以先把wifi代理先转换成【无】,然后wifi断连再重新连接,这时候WiFi可以正常使用之后再更改wifi的代理,更改主级名以及端口保存即可,这时候手机就可以正常访问网络了。

 

用win10的小伙伴们注意一下,在进行设置之前最好先把防火墙关闭,配置成功之后,Charles的页面就如下图:

10.png

 

避免抓取本地或者移动端http数据乱码或者失败,需要相应配置SSL证书,电脑端跟移动端都需要相应进行配置。

电脑端安装证书,打开Charles客户端,选择菜单【 "Help" -> "SSL Proxying" -> "Install Charles Root Certificate"】

11.png

 

按步骤进行安装即可;

12.png

 

13.png

在选择证书储存位置时,只要选【个人】即可,一般来说选择的是第二项。

 

14.png

 

15.png

 

然后配置SSL的抓取域名:选中【"Proxy"->"SSL Proxying Settings"】,启用【Enable SSL Proxying】选项,选择add选项,Charles的Location配置是支持通配符的,因此在Host设置一个"*"就可以用来表示所有域名,port不用写。

16.png

 

之后如果配置某一个指定域名的时候,这里的port可以设置为443即可,这样就可以抓到指定域名的数据;

手机端SSL证书安装,打开Charles客户端,点击【"Help"-> "SSL Proxying" ->"Install Charles Root Certificate on a Mobile Device or remote Browser"】,

17.png

 

会出现,如下页面,意思就是让你手机端设置一个代理:192.168.2.173:1111,就是要保证移动端与pc端在同一局域网,然后用手机端浏览器访问chls.pro/ssl:

 

18.png

 

下载成功后,需要手机端本地安装,这里以红米为例,小米手机安装安全证书时需要提前设置解锁密码,否则安装不了,以下就是安装流程:

19.png

安装完之后,就可以利用charles抓取手机端http的数据了。

mitmproxy收机抓包的相关配置

 

mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler、Charles的功能,只不过它是一个控制台的形式操作。

 

mitmproxy还有两个关联组件。一个是mitmdump,它是mitmproxy的命令行接口,利用它我们可以对接Python脚本,用Python实现监听后的处理。另一个是mitmweb,它是一个Web程序,打开它是一个监视网页,我们可以很清楚地观察到mitmproxy捕获的请求。这里是以windows为实例来进行演示。

 

下载方式分为两种:一种是可以直接从官网中进行下载,网址:https://docs.mitmproxy.org/,另一种是借助于python安装包pip,利用pip  install  mitmproxy命令;下载完之后,找到mitmproxy的下载目录,把下载目录配置到系统的环境变量中,配置环境变量的教程网上有很多,可以自行学习;方便使用,我们可以借助命令行测试一下,看mitmproxy是否安装成功;windows不支持mitmproxy命令,但不影响,因为windows支持mitmdump和mitmweb命令。

 

20.png

 

这里可以能够直接获取得到mitmproxy的端口为8080,第二步跟Charles一样,确保手机端与电脑端在同一局域网,电脑端的IP地址获取方式与Charles中一样,配置成功后的mitmdump如下图:

 

21.png

 

与Charles一样,如果要通过mtmproxy抓取本地跟手机端的HTTP数据,则电脑端与手机端也需要安装相应的安全证书,安装方式与Charles中介绍的方式一样,证书的获取地址为在c盘存放mitmproxy地址:【C盘 -> 用户 -> 用户名 -> mitmproxy】 。

22.png

 

标签:Fiddler,配置,Charles,mitmproxy,手机,安装
From: https://www.cnblogs.com/ministep/p/17404425.html

相关文章

  • 抓包工具之Charles(windows)
    PC端如何配置才能抓取到https请求:1.安装证书:在顶部工具栏中选择“help--InstallCharlesCASSLCertificate”;   2.然后会弹出证书信息,选择安装证书,接下来将证书存储改为:受信任的根证书颁发机构,接下来都点“下一步”;   .最后一步前可能会弹一个安全警告的弹窗,点“......
  • Fiddler使用
    开启Fiddler会自启动全局代理,影响Python使用,注意关闭。AutoResponsor√EnableRules,√Unmatchedrequestspassthrough示例1:替换为本地htmlEXACT:https://www.baidu.com/F:\downloads\f2\baidu.html示例2detail.js替换为在线jsregex:g.ichunqiu.com.*detail.js(.*)$......
  • fiddler和F12的区别
    抓包工具抓包 抓的是协议,fiddler抓的是HTTP、HTTPS协议,                      wireshark抓的是其他协议1)F12只能对Web进行抓包,Fiddler既可以对Web应用进行抓包,也可以对客户端及App进行抓包;2)F12无法篡改请求数据,而Fiddler可以;fid......
  • 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(15)-Charles如何配置反向代理
    1.简介在App开发的过程当中,抓包是一个很常见的需求,而有些app的请求不会在网络设置代理时被抓到数据包,这里若是需要抓包就需要搭建反向代理。2.什么是代理?什么是代理,来一张图了解一下。 代理又分为正向代理和反向代理。3.什么是正向代理?先来看张图~【再举个栗子】某同......
  • fiddler按时间排序
    在Fiddler中,可以通过设置“Rules”来给每个请求添加时间戳。具体操作如下:打开Fiddler,选择“Rules”菜单,点击“CustomizeRules”。在打开的脚本编辑器中,找到以下代码:staticfunctionOnBeforeResponse(oSession:Session){//...} 在这段代码中,添加以下代码:......
  • 使用Fiddler抓取WebSockets协议包
    背景服务端通过SignalR用WebSockets通讯方式,与显示屏进行交互,除了显示屏软件上日志入口,也能通过抓包抓取对应报文。同时,可通过工具模拟与显示屏软件推送信息。那HTTP和WebSocket有什么区别呢?引用网友写的描述HTTP建立在TCP协议基础上而WebSocket通常建立在TCP上,也说明了为什......
  • Fiddler软件的安装
    1、准备好安装包,新建一个文件夹用来当安装路径,直接双击安装  ......
  • Fiddler使用技巧
    【Fiddler使用技巧】:弱网测试: 首先打开Fiddler,Rules->Performance->勾选SimulateModemSpeeds然后快捷键Ctrl+R打开设置窗口,设置speeds在if(m_SimulateModem){//Delaysendsby300msperKBuploaded.释义:每1kb上传/下载所需时间为0.3soSession["request-trickle-delay......
  • charles抓包——遇到的问题
    1、同一个手机,在a电脑抓包成功,b电脑抓包失败在a电脑抓包,接口登录成功,在b电脑抓包,接口登录失败。可以抓到接口问题:b电脑配置的host文件问题。接口访问a地址,自动转到aa地址去了。2、抓包一直unknown更新电脑证书、更新手机证书3、手机无法安装证书手机要与电脑连接到同一个网......
  • Charles简介
    Charles一、介绍​ 是一个http代理服务器,HTTP监控器,反转代理服务器,当浏览器链接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。​ 它允许开发者查看所有连接互联网的HTTP通信,这些包括request,response和httpheaders(包括cookies和caching信息)。二、主......