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

写爬虫时,有些数据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

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员大飞1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值