转载至https://www.cnblogs.com/lulianqi/p/11380794.html#l_2

实际操作步骤(Android)

笔者这里直接使用上面提到第3种方法(方法1在对于手机APP很难操作,方法2可能需要其他设备所以这里不使用),因为我们的测试对象是手机移动APP,所以我们首先要在手机上安装一个VPN,这里使用一个十分方便的VPN软件drony (介绍在这里https://github.com/SuppSandroB/sandrop/wiki/Drony-FAQ),drony会在你的手机上创建一个VPN,将手机上的所有流量都重定向到drony自身(不是流向vpn服务器) ,这样drony就可以管理所有手机上的网络流量,甚至可以对手机上不同APP的流量进行单独配置。

1:安装drony (这里手机使用的Android设备)

您可以在网络上搜索drony选择自己想要的版本进行安装,或者在这里下载(https://files.cnblogs.com/files/lulianqi/Drony_102.apk),安装完成后打开软件如下图

2:开启代理抓包软件(这里代理抓包软件使用的是Fiddler)

Fiddler的使用这里不再介绍,需要打开远程代理,并在手机中安装Fiddler根证书

这里笔者开启的远程代理的地址是192.168.2.244:8888

关于证书安装有些细节,Fiddler默认的根证书是cer格式,部分手机可能只能识别pem格式证书

直接使用openssl 转一下就行了 (openssl x509 -inform der -in FiddlerRoot.cer -out FiddlerRoot.pem)

openssl 在中 windows/mac 一般都安装有,命令直接使用就行了,使用生成的FiddlerRoot.pem安装到手机上就行了(Charles默认就是pem证书)

3:配置drony转发

打开Drony(处于OFF状态),滑动到SETING页,点击选择Networks Wi-Fi 进入配置

在网络列表中选择点击当前手机wifi连接的网络 (需要确保该网络与Fiddler代理服务器网络是联通的)

配置要为当前网络使用的代理入口(这里直接填写fiddler代理地址就可以),选择代理模式为手动(Manual)

注意Proxy type代理方式要选择 Plain http proxy

Filter default value 选择 Direct all ,然后点击下面的Rule设置应用规则

默认您的规则里应该是空的,这里直接点击上面的加号添加一个规则(符合规则要求的才会被转发)

说明一下后面的操作会以咸鱼或支付宝做演示说明,不过笔者当前测试项目并不是咸鱼或支付宝,也不是其公司的员工,选择这2个APP做演示是因为这些APP比较常用,且无法抓包的原因与笔者当前项目APP是类似的。

在Network id处 选择当前wifi的SSID

Action 选择 Local proxy chain

Application 选择需要强制代理的APP

Hostname 及 Port 不填 表示所有的都会被强制代理,因为APP可能会使用其他的网络协议不一定都是http,可能不希望把所有流量都引流到http代理服务器,这个时候就会使用这个配置指定ip及端口才转发

完成后保存即可,然后返回到SETTING主页,滑动到LOG页,点击下面按钮,使其处于ON的状态(表示启用)

这个时候启动支付宝或咸鱼,我们就可以在Fiddler上看到正常的流量。不过如果你的运气与笔者一样可能只能看到这些Tunnel to (TLS管道建立),如果您使用的是Charles在列表里看到的可能是一个个红叉。

当然笔者Fiddler根证书是安装成功的,Fiddler配置也是正确的(手机上的Chrome https抓包都是正常的)

python爬虫用drony转发进行抓包转发的更多相关文章

  1. Python 爬虫——抖音App视频抓包

    APP抓包 前面我们了解了一些关于 Python 爬虫的知识,不过都是基于 PC 端浏览器网页中的内容进行爬取.现在手机 App 用的越来越多,而且很多也没有网页端,比如抖音就没有网页版,那么上面的视 ...

  2. python爬虫01在Chrome浏览器抓包

    尽量不要用国产浏览器,很多是有后门的 chrome是首选 百度 按下F12 element标签下对应的HTML代码 点击Network,可以看到很多请求 HTTP请求的方式有好几种,GET,POST, ...

  3. python爬虫之分析Ajax请求抓取抓取今日头条街拍美图(七)

    python爬虫之分析Ajax请求抓取抓取今日头条街拍美图 一.分析网站 1.进入浏览器,搜索今日头条,在搜索栏搜索街拍,然后选择图集这一栏. 2.按F12打开开发者工具,刷新网页,这时网页回弹到综合 ...

  4. python爬虫构建代理ip池抓取数据库的示例代码

    爬虫的小伙伴,肯定经常遇到ip被封的情况,而现在网络上的代理ip免费的已经很难找了,那么现在就用python的requests库从爬取代理ip,创建一个ip代理池,以备使用. 本代码包括ip的爬取,检 ...

  5. Python爬虫连载1-urllib.request和chardet包使用方式

    一.参考资料 1.<Python网络数据采集>图灵工业出版社 2.<精通Python爬虫框架Scrapy>人民邮电出版社 3.[Scrapy官方教程](http://scrap ...

  6. Python爬虫入门教程 46-100 Charles抓取手机收音机-手机APP爬虫部分

    1. 手机收音机-爬前叨叨 今天选了一下,咱盘哪个APP呢,原计划是弄荔枝APP,结果发现竟然没有抓到数据,很遗憾,只能找个没那么圆润的了.搜了一下,找到一个手机收音机 下载量也是不错的. 2. 爬虫 ...

  7. Python开发【笔记】:抓包(实时分隔)

    抓包 进行linux系统抓包,并且定时分隔防止文件太大 #!/usr/bin/env python # -*- coding:utf-8 -*- import os import sys import ...

  8. Python爬虫实战:使用Selenium抓取QQ空间好友说说

    前面我们接触到的,都是使用requests+BeautifulSoup组合对静态网页进行请求和数据解析,若是JS生成的内容,也介绍了通过寻找API借口来获取数据. 但是有的时候,网页数据由JS生成,A ...

  9. Python爬虫入门教程 45-100 Charles抓取兔儿故事-下载小猪佩奇故事-手机APP爬虫部分

    1. Charles抓取兔儿故事背景介绍 之前已经安装了Charles,接下来我将用两篇博客简单写一下关于Charles的使用,今天抓取一下兔儿故事里面关于小猪佩奇的故事. 爬虫编写起来核心的重点是分 ...

随机推荐

  1. Go的安装和使用

    1.安装环境 进入Golang官网,进入下载页面. (如果打不开可访问Golang中国,或者Golang中文版,或者百度网盘,提取码:wfw5) 根据实际需求选择版本进行下载. 运行下载好的MSI安装 ...

  2. javascript 通信协议

    简介 javascript 通信协议是一个伪协议[1], 用于指定 URL 为 JavaScript 代码 语法: javascript:someScript; someScript 是一个或多个使用 ...

  3. pdfmake.js使用及其源码分析

    公司项目在需要将页面的文本导出成DPF,和支持打印时,一直没有做过这样的功能,花了一点时间将其做了出来,并且本着开源的思想和技术分享的目的,将自己的编码经验分享给大家,希望对大家有用. 现在是有一个文 ...

  4. front-end——HTML5/CSS3基础

    概述 1.什么是前端 前端即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页,随着互联网技术的发展,html5,css3,前端框架的应用,跨平台响应式网页设计能够适应各种屏幕分辨率,完 ...

  5. Spring集成Quartz定时任务

    1.导入jar包 2.配置applicationContext.xml文件 <!-- 任务调度1 --> <!-- bean id="simpleJob" cla ...

  6. Python os.read() 方法

    概述 os.read() 方法用于从文件描述符 fd 中读取最多 n 个字节,返回包含读取字节的字符串,文件描述符 fd对应文件已达到结尾, 返回一个空字符串.高佣联盟 www.cgewang.com ...

  7. PHP date_sunrise() 函数

    ------------恢复内容开始------------ 实例 返回葡萄牙里斯本今天的日出时间: <?php// Lisbon, Portugal:// Latitude: 38.4 Nor ...

  8. PHP simplexml_load_file() 函数

    实例 转换 XML 文件为 SimpleXMLElement 对象,然后输出对象的键和元素: <?php高佣联盟 www.cgewang.com$xml=simplexml_load_file( ...

  9. Qt 乱码

    个人认识: 乱码的原因: 在编写代码时-->文件的格式--->编译器对文件进行编译的时候看到的只是二进制(乱码就出现在这里) 应合适方法 通知编译器(为什么说通知编译器呢?因为个人觉得这样 ...

  10. 25-Object类的使用

    1.java.lang.Object类的说明: * 1.Object类是所Java类的根父类 * 2.如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object ...